[Home]

Summary:ASTERISK-27303: [patch] chan_sip: Choppy MoH when channel on hold and bridge is native_rtp
Reporter:Vitezslav Novy (vnovy)Labels:patch
Date Opened:2017-09-29 16:01:29Date Closed:2019-01-02 08:52:52.000-0600
Priority:MinorRegression?
Status:Closed/CompleteComponents:Channels/chan_sip/General
Versions:13.17.2 14.6.2 15.0.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Debian LinuxAttachments:( 0) framehook.patch
( 1) scenario1.pcap
( 2) scenario1-full.log
( 3) scenario1-sip.conf
( 4) scenario2.pcap
( 5) scenario2-full.log
( 6) scenario2-sip.conf
Description:Scenario:
answered call A <--> B, both chan_sip, bridged with bridge_native_rtp
HOLD button is pressed on phone B
reINVITE with a=sendonly is sent from B to asterisk

Now there are 2 variants
1/ direct media is in action
asterisk answers to reINVITE with IP address of A as media endpoint but puts A on hold and starts to feed A with MoH
Phone A receives 2 RTP streams one with MoH from asterisk, one directly from B

2/ media via asterisk
answer to reINVITE is without problem here
A is put on hold
MoH generator started
function  native_rtp_framehook in bridge_native_rtp.c receives AST_CONTROL_HOLD from channel A and stops the bridge, which is good state
But immediatelly after that same function recieves AST_CONTROL_UPDATE_RTP_PEER and starts the bridge
Result is A receives 2 RTP streams, one from MoH genetartor, one from phone B via bridge


Comments:By: Asterisk Team (asteriskteam) 2017-09-29 16:01:30.697-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) 2017-10-02 16:01:57.543-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: Vitezslav Novy (vnovy) 2017-10-03 20:06:59.133-0500

I attach requested files for scenario 1
alice 10.10.10.2
bob 10.10.10.100
asterisk 10.10.10.103

Alice calls Bob, Bob answers, presses hold button, then unhold and then hangs up.

directmedia=yes

By: Vitezslav Novy (vnovy) 2017-10-03 20:08:41.366-0500

Info for scenario2. Same config and steps like in scenario1, except direcmedia=no


By: Vitezslav Novy (vnovy) 2017-10-03 20:34:15.263-0500

I'm testing attached patch. (for asterisk 13). It works to me, but it would be nice if someone more experienced checked it does not incorrectly affect some other scenarios.

By: Rusty Newton (rnewton) 2017-10-16 16:14:59.671-0500

You should submit the patch to Gerrit for review: https://wiki.asterisk.org/wiki/display/AST/Gerrit+Usage

Not many watch the individual JIRA issues for patches, and the review process is handled through Gerrit.

By: Asterisk Team (asteriskteam) 2017-10-31 12:00:01.188-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