[Home]

Summary:ASTERISK-11770: Generated DTMF (from features) broken with some SIP providers
Reporter:Dmitry Andrianov (dimas)Labels:
Date Opened:2008-04-02 06:56:12Date Closed:2008-04-14 08:49:21
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/PBX
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:rfc2833 DTMF on outgoing calls do not for my voip provider (voipcheap.com) when generic bridge is used (I'm using DTMF features).
With the packet2packet brigde everything works just fine.

After analyzing packet captures I found this happens because SSRC on RTP packets Asterisk sends to voip provider changes each time DTMF is being sent.

As a workaound on my installation I just commented out

//      rtp->ssrc = ast_random();

in the ast_rtp_new_source (main/rtp.c) however it is clear, better solution needs to be found.

****** ADDITIONAL INFORMATION ******

The ast_rtp_new_source is called as reaction to AST_CONTROL_SRCUPDATE frame which ast_channel_bridge sends to each channel at the beginning and at the end. The ast_generic_bridge (and consequently ast_channel_bridge) exits each time DTMF is detected on "monitored" channel to let the calling code (ast_channel_bidge) to match these digits against feature list.

While I understand how it works, I do not think bridging/unbridgign channels on each digit is really a good idea. after all, it creates a flood of Link/Unlink AMI events. (which I do not care) And as in my case - changes SSRC several times (which I care because it breaks my SIP trunk)
Comments:By: daniel g (revolution) 2008-04-08 12:30:53

*sigh* going to have to co-sign on this for ast-1.4.19...

DTMF was working fine with file's patch to 1.4.18.1 -- however I moved up to 1.4.19 to test... and it only seems to recognize the first digit (in my case a pound as I'm testing with my cell's voicemail).

File -- what can I do to help you track this down?

By: Dmitry Andrianov (dimas) 2008-04-09 07:33:51

You may hit another issue actually.
In my case DTMF was not working completely, not just caused some digits to be missing.

You can easily verify if your issue is the same by commenting out single line of the code (see issue description) and rebuilding.

By: Bluce Ree (tasker) 2008-04-12 21:48:03

Isn't broken DTMF over SIP considered critical? This issues should be prioritized as critical, not normal.

I had to revert back to 1.4.18.1 because it broke DTMF with nearly every provider on my network.

By: Digium Subversion (svnbot) 2008-04-14 08:47:51

Repository: asterisk
Revision: 114100

U   branches/1.4/main/rtp.c

------------------------------------------------------------------------
r114100 | file | 2008-04-14 08:47:49 -0500 (Mon, 14 Apr 2008) | 4 lines

Don't change the SSRC when a new source comes into play, this might happen quite often and depending on the remote side... they might not like this.
(closes issue ASTERISK-11770)
Reported by: dimas

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=114100

By: Digium Subversion (svnbot) 2008-04-14 08:48:28

Repository: asterisk
Revision: 114101

_U  trunk/
U   trunk/main/rtp.c

------------------------------------------------------------------------
r114101 | file | 2008-04-14 08:48:28 -0500 (Mon, 14 Apr 2008) | 12 lines

Merged revisions 114100 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114100 | file | 2008-04-14 10:52:49 -0300 (Mon, 14 Apr 2008) | 4 lines

Don't change the SSRC when a new source comes into play, this might happen quite often and depending on the remote side... they might not like this.
(closes issue ASTERISK-11770)
Reported by: dimas

........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=114101

By: Digium Subversion (svnbot) 2008-04-14 08:49:21

Repository: asterisk
Revision: 114102

_U  branches/1.6.0/
U   branches/1.6.0/main/rtp.c

------------------------------------------------------------------------
r114102 | file | 2008-04-14 08:49:21 -0500 (Mon, 14 Apr 2008) | 20 lines

Merged revisions 114101 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r114101 | file | 2008-04-14 10:53:33 -0300 (Mon, 14 Apr 2008) | 12 lines

Merged revisions 114100 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114100 | file | 2008-04-14 10:52:49 -0300 (Mon, 14 Apr 2008) | 4 lines

Don't change the SSRC when a new source comes into play, this might happen quite often and depending on the remote side... they might not like this.
(closes issue ASTERISK-11770)
Reported by: dimas

........

................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=114102