Summary: | ASTERISK-25918: SIP INFO (Key frame requests) not forwarded on | ||||
Reporter: | Ian Gilmour (tuxian) | Labels: | |||
Date Opened: | 2016-04-13 03:53:07 | Date Closed: | 2016-04-19 10:16:30 | ||
Priority: | Major | Regression? | |||
Status: | Closed/Complete | Components: | Channels/chan_pjsip Channels/chan_sip/General | ||
Versions: | 13.7.2 | Frequency of Occurrence | |||
Related Issues: |
| ||||
Environment: | centos 6.7 64-bit | Attachments: | |||
Description: | In a video call Linphone and PJSIP clients use SIP INFO to request a video key frame. These packets appear to be silently dropped by the Asterisk PJSIP channel. Asterisk chan_sip appears to send a 200 OK response. In both cases the pkts are never forwarded on and video quality can be poor as a result.
| ||||
Comments: | By: Asterisk Team (asteriskteam) 2016-04-13 03:53:09.407-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: Rusty Newton (rnewton) 2016-04-13 09:25:18.792-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: Rusty Newton (rnewton) 2016-04-13 09:25:47.816-0500 In addition please include the dialplan for the relevant call flow. By: Ian Gilmour (tuxian) 2016-04-19 02:37:56.978-0500 Hi - I was using Echo() to test this. Having looked at the code I have since discovered that Echo() doesn't forward on any AST_FRAME_CONTROL tagged pkts. The SIP INFO Key frame request is one such pkt. Fixed by changing the relevant section of app_echo() to the following: {noformat} if ((f->frametype == AST_FRAME_CONTROL) && (f->subclass.integer == AST_CONTROL_VIDUPDATE)) { ast_indicate(chan, AST_CONTROL_VIDUPDATE); } else if (f->frametype != AST_FRAME_CONTROL && f->frametype != AST_FRAME_MODEM && f->frametype != AST_FRAME_NULL && ast_write(chan, f)) { ast_frfree(f); goto end; } {noformat} This fixed my immediate problem. Any reason for not doing this? By: Richard Mudgett (rmudgett) 2016-04-19 09:24:58.751-0500 [~tuxian] You mean something like ASTERISK-25867 for app_echo which has already been merged? By: Ian Gilmour (tuxian) 2016-04-19 10:04:57.582-0500 Hi - yes, and that patch has the obvious advantage of requesting a key frame on the first received video frame. By: Ian Gilmour (tuxian) 2016-04-19 10:16:30.679-0500 Duplicate of ASTERISK-25867. |