[Home]

Summary:ASTERISK-27843: res_pjsip_session.c: Wrong RTP port used on 200 OK when 180 Session Progress specifies a different port
Reporter:Ross Beer (rossbeer)Labels:pjsip
Date Opened:2018-05-08 11:58:31Date Closed:2020-01-14 11:13:44.000-0600
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Resources/res_pjsip_session
Versions:13.20.0 GIT Frequency of
Occurrence
Constant
Related
Issues:
Environment:CentOS 7, Fedora 23Attachments:( 0) Continued_RTP_Stream.jpg
Description:When a 180 Session Progress indicates a port and the subsequent 200 OK requests a different port destination RTP port. Asterisk continues to send RTP to the port specified in the 180 Session Progress.

180 Session Progress:

{noformat}
User Datagram Protocol, Src Port: 44228, Dst Port: 5060
Session Initiation Protocol (183)
   Status-Line: SIP/2.0 183 Session Progress
       Status-Code: 183
       [Resent Packet: False]
       [Request Frame: 10895]
       [Response Time (ms): 152]
   Message Header
       From: << DATA REMOVED >>
       To: << DATA REMOVED >>
       Call-ID: << DATA REMOVED >>
       CSeq: 27600 INVITE
       Via: SIP/2.0/UDP << DATA REMOVED >>
       Contact: << DATA REMOVED >>
       User-Agent: << DATA REMOVED >>
       Content-Type: application/sdp
       Content-Length: 222
   Message Body
       Session Description Protocol
           Session Description Protocol Version (v): 0
           Owner/Creator, Session Id (o): << DATA REMOVED >> 2197197964 0 IN IP4 << DATA REMOVED >>
           Session Name (s): SIP_CALL
           Connection Information (c): IN IP4 << DATA REMOVED >>
           Time Description, active time (t): 0 0
           Media Description, name and address (m): audio 45056 RTP/AVP 8 101
           Media Attribute (a): rtpmap:8 PCMA/8000
           Media Attribute (a): rtpmap:101 telephone-event/8000
           Media Attribute (a): fmtp:101 0-15
           Media Attribute (a): sendrecv
{noformat}

200 OK - Answer:

{noformat}
User Datagram Protocol, Src Port: 44228, Dst Port: 5060
Session Initiation Protocol (200)
   Status-Line: SIP/2.0 200 OK
       Status-Code: 200
       [Resent Packet: False]
       [Request Frame: 10895]
       [Response Time (ms): 8946]
   Message Header
       From: << DATA REMOVED >>
       To: << DATA REMOVED >>
       Call-ID: << DATA REMOVED >>
       CSeq: 27600 INVITE
       Via: SIP/2.0/UDP << DATA REMOVED >>
       Contact: << DATA REMOVED >>
       User-Agent: << DATA REMOVED >>
       Allow: REGISTER,INVITE,ACK,BYE,REFER,NOTIFY,CANCEL,INFO,OPTIONS,PRACK,SUBSCRIBE,UPDATE
       Content-Type: application/sdp
       Content-Length: 222
   Message Body
       Session Description Protocol
           Session Description Protocol Version (v): 0
           Owner/Creator, Session Id (o): << DATA REMOVED >> 2197197964 1 IN IP4 << DATA REMOVED >>
           Session Name (s): SIP_CALL
           Connection Information (c): IN IP4 << DATA REMOVED >>
           Time Description, active time (t): 0 0
           Media Description, name and address (m): audio 30024 RTP/AVP 8 101
           Media Attribute (a): rtpmap:8 PCMA/8000
           Media Attribute (a): rtpmap:101 telephone-event/8000
           Media Attribute (a): fmtp:101 0-15
           Media Attribute (a): sendrecv
{noformat}
Comments:By: Asterisk Team (asteriskteam) 2018-05-08 11:58:33.329-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: Ross Beer (rossbeer) 2018-05-09 04:06:28.249-0500

Rolling back to an earlier release the issue isn't present.

Looking at changes, maybe this commit has caused the issue:

https://gerrit.asterisk.org/#/c/6251/2/res/res_pjsip_session.c

By: Joshua C. Colp (jcolp) 2018-05-09 04:29:27.413-0500

SDP in a 200 would be an answer, not an offer. That code is also only executed in a particular DTMF scenario when it is changed through a dialplan function.

By: Joshua C. Colp (jcolp) 2018-05-15 02:33:59.314-0500

The Asterisk side of things is also needed for this to see exactly what is going on with debug.

By: Asterisk Team (asteriskteam) 2018-05-29 12:00:00.989-0500

Suspended due to lack of activity. This issue will be automatically re-opened if the reporter posts a comment. If you are not the reporter and would like this re-opened please create a new issue instead. If the new issue is related to this one a link will be created during the triage process. Further information on issue tracker usage can be found in the Asterisk Issue Guidlines [1].

[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines