[Asterisk-Dev] DTMF with ATA-186 devices and Cisco upstreams

John Todd jtodd at loligo.com
Mon Jun 16 19:41:26 MST 2003


This bug/problem/issue is really starting to drive me crazy.

DTMF outbound from SIP-based ATA-186 devices simply does not work when sent to other SIP devices that are Cisco-based.  I have not tried with non-Cisco devices, so I don't know if this is specific to Cisco or not, but I am fairly sure it is specific to ATA-186 devices.  I have almost no luck with getting Cisco end-units (either Iconnecthere's boxes, or my Cisco 3640's) to recognize DTMF sequences if they are originated with an ATA-186.  Now, I may be completely off base here, but I was under the impression that RFC2833 DTMF sequences were intercepted by Asterisk, and re-generated when transmitted to the other channel.  If that's the case, then why are some of them not making it through, even though it seems Asterisk can "see" those keypresses on the local channel?   I would expect Asterisk to clean up and re-transmit all of these RFC2833 messages, so they would be interpreted exactly the same by the far-end device.  That appears not to be the case.  My CVS version is about four hours old.



When terminating to Zap channels, sometimes the ATA-186 works... sometimes it doesn't.  It may even change within a call - it will work fine for the first few key presses, then fail for all others.  All keystrokes are shown correctly in the DEBUG output as "Sending pending DTMF", etc.  I also have flaky performance with the 7960 via Zap channels, so this is even more mud in the water.


Anyway, here's some more debug that I can predictably reproduce:

ATA-186 -> SIP -> Asterisk -> SIP -> Iconnecthere :
     No DTMF gets through*

7960 ->    SIP -> Asterisk -> SIP -> Iconnecthere :
     DTMF get through fine every time

*=Maybe one keystroke out of 10 makes it through and is recognized

In the output below, I see that there is extra debug in with the ATA-186 about "Difference is X, ms is Y" but I have no idea what that means, but it's the only difference I can see between the two.

Now, both devices use the same Asterisk server and the same Iconnecthere account, I'm just using different UA's here on my desk.  When I hit keys on the keypad on both units, I see these lines for each keypress:

Cisco 7960:
...
DEBUG[21521]: File rtp.c, Line 356 (ast_rtp_read): Sending pending DTMF
DEBUG[21521]: File rtp.c, Line 146 (send_dtmf): Sending dtmf: 49 (1)
DEBUG[21521]: File channel.c, Line 1115 (ast_read): Auto-deactivating generator
DEBUG[21521]: File rtp.c, Line 356 (ast_rtp_read): Sending pending DTMF
DEBUG[21521]: File rtp.c, Line 146 (send_dtmf): Sending dtmf: 49 (1)
DEBUG[21521]: File channel.c, Line 1115 (ast_read): Auto-deactivating generator
DEBUG[21521]: File rtp.c, Line 356 (ast_rtp_read): Sending pending DTMF
DEBUG[21521]: File rtp.c, Line 146 (send_dtmf): Sending dtmf: 49 (1)
...

Cisco ATA-186:
...
DEBUG[22545]: File rtp.c, Line 356 (ast_rtp_read): Sending pending DTMF
DEBUG[22545]: File rtp.c, Line 146 (send_dtmf): Sending dtmf: 51 (3)
DEBUG[22545]: File rtp.c, Line 791 (ast_rtp_raw_write): Difference is 4072, ms is 529
DEBUG[22545]: File channel.c, Line 1115 (ast_read): Auto-deactivating generator
DEBUG[22545]: File rtp.c, Line 356 (ast_rtp_read): Sending pending DTMF
DEBUG[22545]: File rtp.c, Line 146 (send_dtmf): Sending dtmf: 53 (5)
DEBUG[22545]: File rtp.c, Line 791 (ast_rtp_raw_write): Difference is 4096, ms is 532
DEBUG[22545]: File channel.c, Line 1115 (ast_read): Auto-deactivating generator
DEBUG[22545]: File rtp.c, Line 356 (ast_rtp_read): Sending pending DTMF
DEBUG[22545]: File rtp.c, Line 146 (send_dtmf): Sending dtmf: 56 (8)
DEBUG[22545]: File rtp.c, Line 791 (ast_rtp_raw_write): Difference is 4544, ms is 588
DEBUG[22545]: File channel.c, Line 1115 (ast_read): Auto-deactivating generator
...

sip.conf:

; The 7960
[2203]
type=friend
username=2203
secret=bungholiopassword
host=dynamic
mailbox=2203
context=intern
canreinvite=no
dtmfmode=rfc2833
nat=1


; The ATA-186
[2204]
type=friend
username=2204
secret=somesecretpassword
mailbox=2203
host=dynamic
context=intern
canreinvite=no
dtmfmode=rfc2833
nat=1


ATA-186 settings for v2.16:

   UIPassword: *******_____________
   ToConfig: 0___________________      
   UseTftp: 1___________________       
   TftpURL: 172.16.0.0__________
   CfgInterval: 1800________________
   EncryptKey: ____________________
   Dhcp: 1___________________
   StaticIP: 10.0.1.20________       
   StaticRoute: 10.0.1.1________
   StaticNetMask: 255.255.255.0_____
   UID0: 2205________________
   PWD0: ____________________
   UID1: 2204________________
   PWD1: ____________________    
   GkOrProxy: 10.0.1.55_______
   Gateway: 0___________________
   GateWay2: 0.0.0.0_____________
   UseLoginID: 0___________________
   LoginID0: 0___________________
   LoginID1: 0___________________
   AltGk: 0___________________
   AltGkTimeOut: 0___________________
   GkTimeToLive: 300_________________
   GkId: .___________________
   UseSIP: 1___________________
   SIPRegInterval: 240_________________
   MaxRedirect: 5___________________
   SIPRegOn: 1___________________
   NATIP: 0.0.0.0_____________
   SIPPort: 5060________________
   MediaPort: 16384_______________
   OutBoundProxy: 0___________________
   NatServer: 0___________________
   NatTimer: 0x00000000__________
   LBRCodec: 0___________________
   AudioMode: 0x00140014__________
   RxCodec: 2___________________
   TxCodec: 2___________________
   NumTxFrames: 2___________________
   CallFeatures: 0xffffffff__________
   PaidFeatures: 0xffffffff__________
   CallerIdMethod: 0x00019e60__________
   FeatureTimer: 0x00000000__________
   Polarity: 0x00000000__________
   ConnectMode: 0x00060400__________
   AutMethod: 0x00000000__________
   TimeZone: 17__________________
   NTPIP: 10.0.1.1________
   AltNTPIP: 0.0.0.0_____________
   DNS1IP: 0.0.0.0_____________
   DNS2IP: 0.0.0.0_____________
   TOS: 0x000000a0__________
   SigTimer: 0x01418564__________
   OpFlags: 0x00000002__________
   VLANSetting: 0x0000002b________
   NPrintf: 0.0.0.0.0___________
   TraceFlags: 0x0000000f__________
   RingOnOffTime: 2,4,25______________
   IPDialPlan: 1___________________
   DialPlan: *St4-|#St4-|911|1>#t  
   DialTone: 2,31538,30831,3100,3      
   BusyTone: 2,30467,28959,1191,1      
   ReorderTone: 2,30467,28959,1191,1
   RingBackTone: 2,30831,30467,1943,2
   CallWaitTone: 1,30831,0,5493,0,0,2
   AlertTone: 1,30467,0,5970,0,0,4
   CallCmd: Af;AH;BS;NA;CS;NA;Df....


JT




More information about the asterisk-dev mailing list