Res_pjsip Endpoint Config Object’s ‘identify_by’ Option Needs New Value “uri”.

Home » Asterisk Users » Res_pjsip Endpoint Config Object’s ‘identify_by’ Option Needs New Value “uri”.
Asterisk Users 4 Comments

Hello.

Asterisk 13.2. I transfer configs from chan_sip to res_pjsip. In chan_sip i have “match_auth_username=yes” and have nothing in pjsip.

I have a lot of endpoints and registrations on same SIP server. And it’s problem in pjsip now. Is not it?

I requesting to add new value for endpoint option identify_by. The value
‘uri’. Simple config (cutted):

[siptrunk]
type=registration transport=udp-transport outbound_auth=siptrunk server_uri=sip:sip.example.com client_uri=sip:1234567890@sip.example.com retry_interval`
contact_user=siptrunk-in

[siptrunk-in]
type=endpoint transport=udp-transport context=from-trunk disallow=all allow=ulaw outbound_auth=siptrunk aors=siptrunk identify_by=uri

Registration section has option “contact_user”. Incoming call from this registration will be INVITE sip:siptrunk-in@…. I offer to change res_pjsip_endpoint_identifier_user to realize endpoint identification by sip uri.

I think it will be usefull.

P.S. i hope issues will be rejected:
https://issues.asterisk.org/jira/browse/ASTERISK-22306 and SWP-6069

Dmitriy Serov

4 thoughts on - Res_pjsip Endpoint Config Object’s ‘identify_by’ Option Needs New Value “uri”.

  • I believe what you are looking for is already available. See the “identify”
    type (type=identify) section that is in the pjsip.conf file and the
    “identify” option for endpoints. These allow you to identify and endpoint by IP address.

    For more information see the pjsip.conf.sample file. Also take a look at configuring Asterisk for res_pjsip [1] specifically the part about configuring endpoint identification by IP address [2]. If you run into problems more information can also be found in the res_pjsip troubleshooting guide [3], specifically the section on “identify by IP
    address”

    [1] https://wiki.asterisk.org/wiki/display/AST/Configuring+res_pjsip
    [2]
    https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+Configuration_res_pjsip_endpoint_identifier_ip
    [3]
    https://wiki.asterisk.org/wiki/display/AST/Asterisk+PJSIP+Troubleshooting+Guide

    Hope that helps,

  • 07.03.2015 0:24, Kevin Harwell пишет:

    Thank you for answer. But… ones again: I have a lot of endpoints and registrations on same SIP
    server. And it’s problem in pjsip now. Is not it?

    Simple Example. I have two trunks with their own credentials (and did)
    to the same sip server:
    – for home
    – for bussiness

    [home-example.com-endpoint]

    [bussiness-example.com-endpoint]

    [home-example.com-registration]
    contact_user=home-example.com-endpoint

    [bussiness-example.com-registration]
    contact_user=bussiness-example.com-endpoint

    ;and ok… i wrote identify by IP section
    [example.com-identify]
    type=identify match=example.com endpoint= ???

    It is very! important for me to know what trunk passes through the incoming call: home or bussiness.
    1. Identify by IP. Do you have answer?
    2. Identify by username. What? I can’t make endpoints to all of my contacts.

    Ok. I can use contact_user in registraction and route incoming call by INVITE uri. Can i?

    Dmitriy Serov

  • I don’t think I fully understand the scenario, but if you have different named endpoints originating from the same address (or even different addresses) then these can be identified by the username portion of the sip uri. However, if you have endpoints for instance with the same name, but different addresses then these can be distinguished by using the identity type.

    Your scenario looks like the first option. The endpoint names are different, but the address is the same, so identification based on the username should be sufficient.

    However, if you have a mix of both types on your system, for instance multiple endpoints on two different systems (IP addresses) with the same names, then I am unsure how you would select the correct endpoint even while attempting to “identify_by” uri.

  • 07.03.2015 1:21, Kevin Harwell пишет:

    I have different named endpoints originating from the same address.
    >>then these can be identified by the username portion of the sip uri ok. A little more examples.

    case 1. Device!
    we have: endpoint in config and registered device. incoming call. In this case identification makes by username portion of sip uri “from”. And we know endpoint. Excellent!

    case 2. Trunk!
    we have: endpoint and registration of trunk1 to sip server
    “user@example.com” in config. Registration section have option contact_user. I can fill it by usefull value. For example: “201”
    and now… somebody@example.com makes call to user@example.com i have incoming call to my server:
    INVITE sip:201@
    to: 201
    from: somebody@example.com Question: how can i identify my endpoint?

    P.S. discussion of this issue goes in IRC #asterisk-dev now. And also difficult 🙁