[Home]

Summary:ASTERISK-26003: Unexpected call termination when using PJSIP + SRTP
Reporter:Ian Gilmour (tuxian)Labels:
Date Opened:2016-05-07 09:43:59Date Closed:2016-05-12 03:19:03
Priority:MajorRegression?
Status:Closed/CompleteComponents:Channels/chan_pjsip
Versions:13.7.2 Frequency of
Occurrence
Related
Issues:
Environment:centos 6 (64-bit) asterisk 13.7.2 pjproject 2.4.5 libsrtp 1.5.2Attachments:
Description:Hi, I'm seeing calls consistently terminating ~29-30mins into the call (say to the Asterisk echo()) when using chan_pjsip (with TLS) and SRTP (media_encryption=sdes). If I change pjsip.conf to use RTP (media_encryption=no) it all works fine.

Should I be using another version of libsrtp? Or some other combination of source code packages?
Comments:By: Asterisk Team (asteriskteam) 2016-05-07 09:44:00.275-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: Joshua C. Colp (jcolp) 2016-05-09 05:35:00.271-0500

Thanks for the report and debug. However we also need protocol specific debug captured at the time of the issue. Please include the following:

* Asterisk log files generated using the instructions on the Asterisk wiki [1], with the appropriate protocol debug options enabled, e.g. 'pjsip set logger on' if the issue involves the chan_pjsip channel driver.
* Configuration information for the relevant channel driver, e.g. pjsip.conf.
* A wireshark compatible packet capture, captured at the same time as the Asterisk log output.

[1] https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information



By: Ian Gilmour (tuxian) 2016-05-11 09:05:16.892-0500

Problem traced to a misconfigured OpenSIPS server sitting between SIP client and Asterisk. This SIP server was failing to forward the client SIP UPDATE pkts (which contained the session timer update) on to Asterisk. The SIP client was requesting a 1800 sec session expiry, as a result of which Asterisk (PJSIP sip_timer.c) was setting up a timeout of 1800-32=1768secs. Because the session update never got received Asterisk correctly terminated the call after 29mins 28sec.