[asterisk-bugs] [JIRA] (ASTERISK-25666) chan_sip: Path header is ignored
Richard Mudgett (JIRA)
noreply at issues.asterisk.org
Sun Jul 15 10:22:54 CDT 2018
[ https://issues.asterisk.org/jira/browse/ASTERISK-25666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=244114#comment-244114 ]
Richard Mudgett commented on ASTERISK-25666:
--------------------------------------------
[~pbaines] *Your* issue is against *chan_sip* and yes it has not been resolved. I saw the reporter for the duplicate issue (ASTERISK-25856) attached a patch to fix it but has not followed through to get it into the code base. Remember, chan_sip is entirely community supported. [~volga629] is reporting a similar problem but against the *PJSIP* stack which receives active development and will have a different fix.
> chan_sip: Path header is ignored
> --------------------------------
>
> Key: ASTERISK-25666
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-25666
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Channels/chan_sip/Interoperability
> Affects Versions: 13.6.0
> Environment: Debian Jesse
> Reporter: Peter Baines
>
> I am adding a Path header before forwarding a REGISTER onto asterisk. The problem is when asterisk recieves an INVITE it does not use the value set in the Path header, instead it sends it directly to the device.
> I can replicate this on asterisk 13.6.0 and 11.13.1, however in 1.8.32.3 it works as expected (i.e. the INVITE is sent to the value set in the Path header).
> To replicate:
> In sip.conf I have uncommented:
> {noformat}
> supportpath=yes
> rtsavepath=yes
> {noformat}
> In users.conf I have got:
> {noformat}
> [6000]
> secret =
> host=dynamic
> context = default
> [6001]
> secret =
> host=dynamic
> context = default
> [6002]
> secret =
> host=dynamic
> context = default
> {noformat}
> In extensions.conf I have made default look like:
> {noformat}
> [default]
> ;include => demo
> exten => 6000,1,Dial(SIP/6000,18)
> exten => 6000,n,Hangup()
> exten => 6002,1,Dial(SIP/6002,18)
> exten => 6002,n,Hangup()
> exten => 6001,1,Dial(SIP/6001,18)
> exten => 6001,n,Hangup()
> {noformat}
> Below is the 6000 user REGISTER going from opensips (10.15.20.137:5060) into asterisk (192.168.68.68:5070) with the Path header.
> {noformat}
> U 2016/01/06 10:04:23.399170 10.15.20.137:5060 -> 192.168.68.68:5070
> REGISTER sip:10.15.20.137 SIP/2.0.
> Via: SIP/2.0/UDP 10.15.20.137:5060;branch=z9hG4bKcc2c.b40fb511.0.
> Via: SIP/2.0/UDP 10.15.20.53:52666;received=10.15.20.53;branch=z9hG4bK-d8754z-91422161f08a7943-1---d8754z-;rport=52666.
> Max-Forwards: 69.
> Contact: <sip:6000 at 10.15.20.53:52666;rinstance=d4284982f7c18786>.
> To: <sip:6000 at 10.15.20.137>.
> From: <sip:6000 at 10.15.20.137>;tag=9e95da50.
> Call-ID: OTQ1ZTdmZmE3OTM1ZWVkYzMzYWZiMDMzMDgyODhmOTU.
> CSeq: 2 REGISTER.
> Expires: 3600.
> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO.
> User-Agent: Bria 3 release 3.5.5 stamp 71243.
> Content-Length: 0.
> Path: <sip:10.15.20.137;lr>.
> {noformat}
> Below is the INVITE going from opensips to asterisk for 6000
> {noformat}
> U 2016/01/06 10:11:13.668929 10.15.20.137:5060 -> 192.168.68.68:5070
> INVITE sip:6000 at 10.15.20.137;transport=UDP SIP/2.0.
> Record-Route: <sip:10.15.20.137;lr;nat=yes>.
> Via: SIP/2.0/UDP 10.15.20.137:5060;branch=z9hG4bK8f77.9d6ef7e7.0.
> Via: SIP/2.0/UDP 188.39.51.2:35631;rport=35631;received=10.15.20.53;branch=z9hG4bK-d8754z-d46f3a0333dc5d49-1---d8754z-.
> Max-Forwards: 69.
> Contact: <sip:6001 at 10.15.20.53:35631;transport=UDP>.
> To: <sip:6000 at 10.15.20.137;transport=UDP>.
> From: <sip:6001 at 10.15.20.137;transport=UDP>;tag=870fdf72.
> Call-ID: YWVjN2VjMDZmYmZmNjg4MTE2MzJlZGU1ZDNjZGU2NDc..
> 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.
> Allow-Events: presence, kpml.
> Content-Length: 237.
> .
> v=0.
> o=Z 0 0 IN IP4 188.39.51.2.
> s=Z.
> c=IN IP4 188.39.51.2.
> t=0 0.
> m=audio 8000 RTP/AVP 3 110 8 0 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.
> {noformat}
> I would now expect asterisk to send the INVITE to the value of the Path header in the registration (10.15.20.137:5060) however it is sending the INVITE directly to the device (10.15.20.53:52666):
> {noformat}
> U 2016/01/06 10:11:13.671345 192.168.68.68:5070 -> 10.15.20.53:52666
> INVITE sip:6000 at 10.15.20.53:52666;rinstance=d4284982f7c18786 SIP/2.0.
> Via: SIP/2.0/UDP 192.168.68.68:5070;branch=z9hG4bK308a4ef5;rport.
> Max-Forwards: 70.
> Route: <sip:10.15.20.137;lr>.
> From: "New User" <sip:6001 at 192.168.68.68:5070>;tag=as3daea415.
> To: <sip:6000 at 10.15.20.53:52666;rinstance=d4284982f7c18786>.
> Contact: <sip:6001 at 192.168.68.68:5070>.
> Call-ID: 55202bc71f9e684d0b82c7cb2e8684ab at 192.168.68.68:5070.
> CSeq: 102 INVITE.
> User-Agent: Asterisk PBX 13.6.0.
> Date: Wed, 06 Jan 2016 10:11:13 GMT.
> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE.
> Supported: replaces, timer, path.
> Content-Type: application/sdp.
> Content-Length: 286.
> .
> v=0.
> o=root 887525354 887525354 IN IP4 192.168.68.68.
> s=Asterisk PBX 13.6.0.
> c=IN IP4 192.168.68.68.
> t=0 0.
> m=audio 12356 RTP/AVP 0 8 3 101.
> a=rtpmap:0 PCMU/8000.
> a=rtpmap:8 PCMA/8000.
> a=rtpmap:3 GSM/8000.
> a=rtpmap:101 telephone-event/8000.
> a=fmtp:101 0-16.
> a=maxptime:150.
> a=sendrecv.
> {noformat}
> Let me know if you require any further information / traces.
> Regards,
> Peter
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list