[asterisk-users] Asterisk 13.1.0/PJSIP peer IP address issue

Sonny Rajagopalan sonny.rajagopalan at gmail.com
Fri Jan 9 08:47:41 CST 2015


Solved!

The issue was that RTP flows were being established to the wrong IP address.

I figured out this issue--I had to disable STUN in both SIP phones for this
to work correctly.

Still, I wish a working configuration for Asterisk, and two SIP phones in
the same 192.168.1.0/24 network would have helped me tremendously.

On Thu, Jan 8, 2015 at 8:03 PM, Sonny Rajagopalan <
sonny.rajagopalan at gmail.com> wrote:

> Well, I thought it worked, but it actually doesn't--I am able to get the
> caller pick up the phone, but for some reason, I cannot hear anything on
> either side no matter who does the calling. Again, my two SIP phones are on
> the local 192.168.1.0/24 network (do not go over the Internet) and the
> Asterisk server is located in the same network (not accessed over the
> Internet). Any help is appreciated.
>
> Does the fact that Asterisk is running on a VirtualBox VM on the same
> machine as one of the SIP phones matter? I am able to access the ARI REST
> interface of the Asterisk server quite fine on the host machine.
>
> I suspect it has to do with RTP not being set up, but all the codec
> support is there. Here's a log for the SIP request from 192.168.1.50:
>
> <--- Received SIP request (1229 bytes) from UDP:192.168.1.50:64009 --->
> INVITE sip:6002 at 192.168.1.139;transport=UDP SIP/2.0
> Via: SIP/2.0/UDP 146.115.163.234:64009
> ;branch=z9hG4bK-d8754z-5803642ad92cbd00-1---d8754z-
> Max-Forwards: 70
> Contact: <sip:demo-alice at 146.115.163.234:64009;transport=UDP>
> To: <sip:6002 at 192.168.1.139;transport=UDP>
> From: <sip:demo-alice at 192.168.1.139;transport=UDP>;tag=b661670b
> Call-ID: YmZiODE4Yzc2NmJmNzY5NDhkM2Y2ZDNhM2U4NTZmZmE.
> CSeq: 2 INVITE
> Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO,
> SUBSCRIBE
> Content-Type: application/sdp
> Supported: replaces, norefersub, extended-refer, timer, X-cisco-serviceuri
> User-Agent: Z 3.3.21933 r21903
>
> Authorization: Digest
> username="demo-alice",realm="asterisk",nonce="[removed]",uri="
> sip:6002 at 192.168.1.139
> ;transport=UDP",response="[removed]",cnonce="[removed]",nc=00000001,qop=auth,algorithm=md5,opaque="[removed]"
>
> Allow-Events: presence, kpml
> Content-Length: 245
>
>
> v=0
> o=Z 0 0 IN IP4 146.115.163.234
> s=Z
> c=IN IP4 146.115.163.234
> t=0 0
> m=audio 8000 RTP/AVP 0 3 110 8 98 101
> a=rtpmap:110 speex/8000
> a=rtpmap:98 iLBC/8000
> a=fmtp:98 mode=20
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-15
> a=sendrecv
>
>
> <--- Transmitting SIP response (319 bytes) to UDP:192.168.1.50:64009 --->
> SIP/2.0 100 Trying
> Via: SIP/2.0/UDP 146.115.163.234:64009
> ;rport=64009;received=192.168.1.50;branch=z9hG4bK-d8754z-5803642ad92cbd00-1---d8754z-
> Call-ID: YmZiODE4Yzc2NmJmNzY5NDhkM2Y2ZDNhM2U4NTZmZmE.
> From: <sip:demo-alice at 192.168.1.139>;tag=b661670b
> To: <sip:6002 at 192.168.1.139>
> CSeq: 2 INVITE
> Content-Length:  0
>
> Any help is appreciated. A topology is shown below in ASCII.
>
>
>                       < ( Big bad Internet ) >
>
>                          GW/NAPT/Router
>                                 |
>       ----------------------------------------------------------
>      /                                                           \
>
>     |                                                            |
>    Host A                                                       Host B
> -----------------
> -----------------
> | Alice         |                                               | Bob
>       |
> | 192.168.1.50  |                                               |
> 192.168.1.149 |
> |---------------|
> |---------------|
> | Asterisk sr   |
> |    (VM)       |
> | 192.168.1.239 |
> |---------------|
>
> On Thu, Jan 8, 2015 at 2:32 PM, Sonny Rajagopalan <
> sonny.rajagopalan at gmail.com> wrote:
>
>> Thank you for your note, Scott.
>>
>> I set rewrite_contact=yes for both contacts, and I also had to do
>> remove_existing=yes because I had to remove the existing contact
>> information (max_contacts = 1 was preventing new contact information)
>> using pjsip qualify demo-alice etc., after which the right IP addresses
>> showed in pjsip show endpoints. Anyway, it works as expected now, I
>> think. My pjsip.conf is now
>>
>> [transport-udp]
>> type=transport
>> protocol=udp
>> bind=0.0.0.0
>> local_net=192.168.1.0/24
>> ;Templates for the necessary config sections
>>
>> [endpoint_internal](!)
>> type=endpoint
>> context=from-internal
>> disallow=all
>> allow=ulaw
>>
>> [auth_userpass](!)
>> type=auth
>> auth_type=userpass
>>
>> [aor_dynamic](!)
>> type=aor
>> max_contacts=1
>> remove_existing=yes
>> ;Definitions for our phones, using the templates above
>>
>> [demo-alice](endpoint_internal)
>> auth=demo-alice
>> aors=demo-alice
>> mailboxes=box_a
>> rewrite_contact=yes
>> [demo-alice](auth_userpass)
>> password=demo-alice ; put a strong, unique password here instead
>> username=demo-alice
>>
>> [demo-alice](aor_dynamic)
>>
>> [demo-bob](endpoint_internal)
>> auth=demo-bob
>> aors=demo-bob
>> mailboxes=box_b
>> rewrite_contact=yes
>> [demo-bob](auth_userpass)
>> password=demo-bob ; put a strong, unique password here instead
>> username=demo-bob
>>
>> [demo-bob](aor_dynamic)
>>
>>
>> Thank you for your help!
>>
>> On Thu, Jan 8, 2015 at 11:48 AM, Scott Griepentrog <
>> sgriepentrog at digium.com> wrote:
>>
>>> It would appear that you have the Asterisk server on a public IP
>>> address, your two endpoints are behind a NAT, and you have rewrite_contact
>>> enabled in pjsip.conf.
>>>
>>> In which case, what you are seeing is correct.  In order to be able to
>>> send a call to an extension where it is behind NAT, Asterisk must update
>>> the contact to have the current IP and port that the phone registered via
>>> (i.e. the WAN IP of the NAT, and the WAN port that it is retaining state
>>> for).
>>>
>>> On Thu, Jan 8, 2015 at 10:15 AM, Sonny Rajagopalan <
>>> sonny.rajagopalan at gmail.com> wrote:
>>>
>>>> I am following the instructions in
>>>> https://wiki.asterisk.org/wiki/display/AST/Basic+PBX+Functionality and
>>>> I am trying to make a call from extension Alice (6001) to extension for Bob
>>>> (6002). When I make the call, I can hear the ringing on Alice's phone
>>>> (caller), but Bob's phone (callee) doesn't ring, or show a call coming in
>>>> from Alice. My setup and environment is as follows: Alice, Bob and Asterisk
>>>> all in the same 192.168.1.0/24 network, and they are able to register
>>>> to the Asterisk server running 13.1.0/PJSIP. The rest of the configuration
>>>> is the same as the aforementioned wiki page, but is shown here for clarity:
>>>>
>>>> root at asterisk13FFP:/var/log/asterisk# more
>>>> /etc/asterisk/extensions.conf
>>>> [from-internal]
>>>> exten=>6001,1,Dial(PJSIP/demo-alice)
>>>> exten=>6002,1,Dial(PJSIP/demo-bob)
>>>> exten=>6003,1,Answer()
>>>> same =>6003,n,Playback(hello-world)
>>>> same =>6003,n,Hangup()
>>>>
>>>>
>>>> What I do observe is that I when I request the output of pjsip show
>>>> endpoints, I get Contact information for the two SIP peers that have
>>>> registered different from their actual IP addresses. I suspect this has
>>>> something to do with their calls being routed elsewhere. If my assumption
>>>> is correct--how do I fix this? Alice should be at 192.168.1.50 and Bob
>>>> should be at 192.168.1.149, instead, they (both) show IP address
>>>> 146.115.163.234. Any help is deeply appreciated. Thanks.
>>>>
>>>> asterisk13FFP*CLI> pjsip show endpoints
>>>>
>>>>  Endpoint:  <Endpoint/CID.....................................>
>>>>  <State.....>  <Channels.>
>>>>     I/OAuth:
>>>>  <AuthId/UserName...........................................................>
>>>>         Aor:  <Aor............................................>
>>>>  <MaxContact>
>>>>       Contact:  <Aor/ContactUri...............................>
>>>>  <Status....>  <RTT(ms)..>
>>>>   Transport:  <TransportId........>  <Type>  <cos>  <tos>
>>>>  <BindAddress..................>
>>>>    Identify:
>>>>  <Identify/Endpoint.........................................................>
>>>>         Match:  <ip/cidr.........................>
>>>>     Channel:  <ChannelId......................................>
>>>>  <State.....>  <Time(sec)>
>>>>         Exten: <DialedExten...........>  CLCID:
>>>> <ConnectedLineCID.......>
>>>>
>>>>  =========================================================================================
>>>>
>>>>  Endpoint:  demo-alice
>>>> Unavailable   0 of inf
>>>>      InAuth:  demo-alice/demo-alice
>>>>         Aor:  demo-alice                                         1
>>>>       Contact:  demo-alice/sip:demo-alice@*146.115.163.234*:38519
>>>>  Unknown               nan
>>>>
>>>>  Endpoint:  demo-bob                                             Not in
>>>> use    0 of inf
>>>>      InAuth:  demo-bob/demo-bob
>>>>         Aor:  demo-bob                                           1
>>>>       Contact:  demo-bob/sip:demo-bob@*146.115.163.234*:38321;tra
>>>>  Unknown               nan
>>>>
>>>>
>>>> --
>>>> _____________________________________________________________________
>>>> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>>>> New to Asterisk? Join us for a live introductory webinar every Thurs:
>>>>                http://www.asterisk.org/hello
>>>>
>>>> asterisk-users mailing list
>>>> To UNSUBSCRIBE or update options visit:
>>>>    http://lists.digium.com/mailman/listinfo/asterisk-users
>>>>
>>>
>>>
>>>
>>> --
>>> [image: Digium logo]
>>> Scott Griepentrog
>>> Digium, Inc · Software Developer
>>> 445 Jan Davis Drive NW · Huntsville, AL 35806 · US
>>> direct/fax: +1 256 428 6239 · mobile: +1 256 580 6090
>>> Check us out at: http://digium.com · http://asterisk.org
>>>
>>> --
>>> _____________________________________________________________________
>>> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>>> New to Asterisk? Join us for a live introductory webinar every Thurs:
>>>                http://www.asterisk.org/hello
>>>
>>> asterisk-users mailing list
>>> To UNSUBSCRIBE or update options visit:
>>>    http://lists.digium.com/mailman/listinfo/asterisk-users
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20150109/21de1d84/attachment-0001.html>


More information about the asterisk-users mailing list