Summary: | ASTERISK-23106: pjsip: ACK to 200 OK sent to private IP address on outbound channel's INVITE request | ||
Reporter: | Matt Jordan (mjordan) | Labels: | |
Date Opened: | 2014-01-06 15:54:51.000-0600 | Date Closed: | 2014-01-31 09:11:04.000-0600 |
Priority: | Major | Regression? | |
Status: | Closed/Complete | Components: | Resources/res_pjsip Resources/res_pjsip_nat |
Versions: | 12.0.0 | Frequency of Occurrence | |
Related Issues: | |||
Environment: | Attachments: | ( 0) freepbx_grandstream.tar.gz | |
Description: | Note: this only happens with GrandStream devices.
Scenario: * Dial between two GrandStream phones * Outbound channel's device sends 200 OK * Asterisk sends ACK to the private IP address of the outbound channel's device Note that we do send the 200 OK to the inbound channel device's public IP address. {noformat} [Jan 6 16:36:13] VERBOSE[19775] res_pjsip_logger.c: <--- Received SIP response (846 bytes) from UDP:74.87.121.99:53997 ---> ÿSIP/2.0 200 OK ÿVia: SIP/2.0/UDP 199.102.239.103:5060;rport=5060;branch=z9hG4bKPj533c2053-eb63-4896-a67d-d190de484d09 ÿFrom: "GXV3175" <sip:5003@199.102.239.103>;tag=7ef05a61-4081-4bcd-ad09-ec82e4cf11bf ÿTo: <sip:5002@74.87.121.99>;tag=547897211 ÿCall-ID: 475af947-6311-45a8-b058-49ec80e4a15e ÿCSeq: 3964 INVITE ÿContact: <sip:5002@10.4.0.148:53997> ÿSupported: replaces, path, timer, eventlist ÿUser-Agent: Grandstream GXV3140 1.0.7.74 ÿSession-Expires: 1800;refresher=uac ÿRequire: timer ÿAllow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE ÿContent-Type: application/sdp ÿContent-Length: 208 ÿ ÿv=0 ÿo=5002 8000 8000 IN IP4 10.4.0.148 ÿs=SIP Call ÿc=IN IP4 10.4.0.148 ÿt=0 0 ÿm=audio 36682 RTP/AVP 0 101 ÿa=sendrecv ÿa=rtpmap:0 PCMU/8000 ÿa=ptime:20 ÿa=rtpmap:101 telephone-event/8000 ÿa=fmtp:101 0-15 ÿ [Jan 6 16:36:13] VERBOSE[19776] res_pjsip_logger.c: <--- Transmitting SIP request (407 bytes) to UDP:10.4.0.148:53997 ---> ÿACK sip:5002@10.4.0.148:53997 SIP/2.0 ÿVia: SIP/2.0/UDP 199.102.239.103:5060;rport;branch=z9hG4bKPj0000bcab-f6c6-4ab6-bf2d-df9b08839477 ÿFrom: "GXV3175" <sip:5003@199.102.239.103>;tag=7ef05a61-4081-4bcd-ad09-ec82e4cf11bf ÿTo: <sip:5002@74.87.121.99>;tag=547897211 ÿCall-ID: 475af947-6311-45a8-b058-49ec80e4a15e ÿCSeq: 3964 ACK ÿMax-Forwards: 70 ÿUser-Agent: FPBX-12.0.1alpha6(12.0.0) ÿContent-Length: 0 ÿ ÿ {noformat} | ||
Comments: | By: Kinsey Moore (kmoore) 2014-01-13 15:24:54.319-0600 I have managed to reproduce this in the testsuite with only the contact address being private and only the 200 OK being sent back without the 100 and 180. This problem does not occur if the 200 has the correct address in the contact header regardless of the address in provisional messages. By: Kinsey Moore (kmoore) 2014-01-29 09:47:08.185-0600 I finally managed to get a trace in a similar scenario (albeit using chan_sip) and I am working on labbing this up to attempt to reproduce with actual phones under Asterisk 12/chan_pjsip. The biggest difference I see is that for the grandstream's response the addresses in the To: and Contact: headers differ while in the preliminary trace I got that works (SNOMs), the addresses in the To: and Contact: headers are identical. |