Terence Haddock
2006-Sep-08 06:04 UTC
[asterisk-users] Problems with KG1000 voip gateway and DTMF
I have a problem with a really weird piece of hardware, the KG1000 voip gateway. Information about this device is nonexistant, and I have been able to get it to work through trial-and-error except for one issue: DTMF. Basically, a call is initiated okay, but Asterisk ignores any DTMF signals sent, no matter what combination of DTMF mode I use in sip.conf and extensions.conf. What I noticed is that the device is sending the following SIP packet when a button is pressed: 07:44:34.028573 IP (tos 0x0, ttl 107, id 29088, offset 0, flags [none], proto: UDP (17), length: 366) 192.168.0.6.5566 > 192.168.0.2.5060: SIP, length: 338 INFO sip:192.168.0.2:5060 SIP/2.0 Via: SIP/2.0/UDP 192.168.0.6:5566;branch=0 From: "thaddock"<sip:100@192.168.0.2:5060;user=phone> To: <sip:0@192.168.0.2:5060;user=phone>;tag=as2bfb2f08 Call-ID: 29@192.168.0.6 CSeq: 3 INFO User-Agent: KG1000-S VOIP Gateway Content-Type: application/dtmf Content-Length: 17 v=0 t=255 d=5 But asterisk responds with: 07:44:34.028675 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto: UDP (17), length: 414) 192.168.0.2.5060 > 192.168.0.6.5566: SIP, length: 386 SIP/2.0 403 Unauthorized Via: SIP/2.0/UDP 192.168.0.6:5566;branch=0;received=192.168.0.6 From: "thaddock"<sip:100@192.168.0.2:5060;user=phone> To: <sip:0@192.168.0.2:5060;user=phone>;tag=as2bfb2f08 Call-ID: 29@192.168.0.6 CSeq: 3 INFO User-Agent: Asterisk PBX Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Contact: <sip:0@192.168.0.2> Content-Length: 0 It looks like the KG1000 is sending DTMF over INFO messages, but Asterisk is ignoring (or not understanding) them. I have tried dtmfmode=info as well as dtmfmode=inband in sip.conf, but nothing seems to help. Here is the sip.conf entry for the KG1000: [100] type=friend ;secret=test123 username=100 ;fromuser=phone ;fromdomain=192.168.0.2 host=dynamic dtmfmode=info sipdebug = yes And my current extensions.conf for the context: [default] exten => s,1,Answer exten => s,n,Wait,4 ; Wait a second, just for fun ;exten => s,n,SIPDtmfMode(info) exten => s,n,Background(thanks) ; "Thanks for calling press 1 for sales, 2 for support, ..." exten => s,n,WaitExten exten => 1,1,Dial(SIP/thaddock) exten => 2,1,Dial(SIP/myra) exten => 0,1,Goto(s,1) It's a long story, but I have calling an extension from the KG1000 working, but only for the intial connection. After that, Asterisk ignores any keypress and the KG1000 sends the INFO messages. Has anyone run into anything like this before? Is there some configuration parameters to allow Asterisk to understand those INFO messages? Are they even valid INFO messages? Is there any more information I can give that may help? Any help would be greatly appreciated, except for this point, Asterisk is working wonderfully for me. Sincerely, Terence Haddock