Summary:ASTERISK-01620: Receive packets with DTMF from D-Link MGCP gateway
Reporter:Vit Bohacek (dudlik)Labels:
Date Opened:2004-05-14 11:01:50Date Closed:2004-09-25 02:45:05
Versions:Frequency of
Environment:Attachments:( 0) asterisk_debug.txt
( 1) gateway_debug.txt
( 2) mgcp_debug.txt
Description:I use DLink DG104S gateway and I have a problem with receive digits from the gateway connected to overloadet network.
Asterisk receives coupled digits and when I called number 245005111, Asterisk received and dialed number 2425450.....


I looked at debug and when I called number 245005111

the identifier of first digit (2) is 7152
then asterisk received  second digit (4), identifier 7153
this is OK but
then asterisk received third digit... (2) with identifier 7152

so, asterisk dialed number 24254......

I think that Asterisk doesn't sort received digits by identifier.

I tried to set my MGCP gateway to report DTMF in a block.
Default setting is comma separated, but it always reports comma separated.

I tried Asterisk varsions 0.7.2, 0.9.0 and some CVS versions of Asterisk, but my problem is with all versions.
Comments:By: cloos (cloos) 2004-05-14 17:51:27

Does mgcp use rfc2833 for dtmf?  or does it do something in mgcp itself rather than in rtp (ala sip info)?

If the former, my patch (currently in cvs HEAD) should alleviate dtmf duplication from out-of-order packets.

If the latter, then something similar to my patch to rtp.c needs to go into chan_mgcp.c....  (in fact the same is probably true of chan_sip.c for sip info dtmf.)

By: Mark Spencer (markster) 2004-05-14 23:54:56

I'm quite confident this is already fixed with CVS head.  Re-open if it isn't.

By: Vit Bohacek (dudlik) 2004-05-19 08:49:18

I use Asterisk CVS-HEAD-05/17/04-08:32:25 since the 17th of May.
But my problem wasn't fixed :(
My colleague called number 245005111 and asterisk received digits
2 identifier 7189
2 identifier 7189
4 identifier 7190
5 identifier 7191
4 identifier 7190
0 identifier 7192
0 identifier 7193
5 identifier 7194
1 identifier 7195
and now asterisk called number 224540051
1 identifier 7196
1 identifier 7197
1 identifier 7196
1 identifier 7197
1 identifier 7197
1 identifier 7197
1 identifier 7196

Asterisk didn't drop duplicate digits.

By: Mark Spencer (markster) 2004-05-19 22:19:44

MGCP doesn't make it especially easy to track this because the identifiers are not  guaranteed to be sequential.  Do you have any idea why the gateway device is repeating them?

By: Vit Bohacek (dudlik) 2004-05-20 04:35:37

I don't know, but this problem is only when my colleague downloads a lot of data from internet. There is a high latency in his network and DTMF tones don't come to Asterisk server in time. There is some dtmf timeout on gateway and Asterisk cannot send answer about digits which asterisk didn't receive.
So dlink is repeating the (lost) digits again and waits for an answer from Asterisk.

I'm attaching two files.
asterisk_debug.txt and gateway_debug.txt
It is a debug while my colleague was calling number 245005111

By: Mark Spencer (markster) 2004-05-21 01:53:57

Okay i've put some test code in to try to solve this problem but i don't have an MGCP gateway here to test with. Please find me on IRC if this doesn't solve it for you.

By: Mark Spencer (markster) 2004-05-21 01:54:10

Note this is in CVS head only.

By: Mark Spencer (markster) 2004-05-22 00:40:54

Since this is one of only a few remaining MAJOR bugs, please try to respond in as timely a fashion as possible.

By: Vit Bohacek (dudlik) 2004-05-24 02:22:39

your code didn't help me :(
Could you write any code that would parse incomming dtmf tones by endpoint identification (Endpoint: 'aaln/0@MARV') and a number of identifier ?
It would correct (drop) duplicate digits with the same identifier and endpoind.
This correct should help me.

By: Mark Spencer (markster) 2004-05-24 10:53:44

cvs update one more time, there was a typo.  If this still doesn't fix it, find me on IRC.

By: Vit Bohacek (dudlik) 2004-05-24 16:22:55

it looks very well :)
I think we can close this bug.
I'll test it next few weeks and I think it will be OK.
Thank you

By: Mark Spencer (markster) 2004-05-24 16:56:12

Fixed in CVS