Summary: | ASTERISK-09958: Wrong duration value in SIP INFO messages when sending DTMF | ||
Reporter: | Alexander Litnitskiy (litnialex) | Labels: | |
Date Opened: | 2007-07-25 13:24:08 | Date Closed: | 2007-07-26 18:03:11 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Channels/chan_sip/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) 1.1.1.1.log ( 1) bad.log ( 2) good.log | |
Description: | DTMF tones sent with INFO method from one Asterisk server are not understood by another Asterisk at all. I think it is due to bad Duration= field in SIP INFO message, which seems to indicate time in ms between DTMF presses (which can be very long interval) , instead of traditional 250ms. ****** ADDITIONAL INFORMATION ****** asterisk v. 1.4.9. OS Linux 2.6.16.13-4-smp, SUSE LINUX 10.1 (X86-64) zaptel v. 1.4.4 for ztdummy module Logs: both logs are recordered at asterisk-1.4.9 with ip 2.2.2.2 bad.log: call is received from another asterisk-1.4.9 with ip 1.1.1.1. DTMF INFO doesn't work good.log: call is received from asterisk-1.2.15 with ip 3.3.3.3. DTMF INFO is recognized properly SIP config on both asterisk-1.4.9 servers is the same: ------------ sip.conf ----------------------- [general] bindport=5060 ; UDP Port to bind to (SIP standard port is 5060) bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all) srvlookup=no ; Enable DNS SRV lookups on outbound calls disallow=all allow=alaw rtptimeout=60 rtpholdtimeout=60 ;we allow unauthenticated calls and send them to ivrmanager context context=ivrmanager ; Default context for incoming calls insecure=port,invite ;allow nat by default nat=yes dtmfmode=info [authentication] ----------- end of sip.conf ----------------- no peers are defined. Calls are sent using IP address without authentication and from the same LAN. | ||
Comments: | By: Mark Michelson (mmichelson) 2007-07-25 16:46:38 I appreciate your bringing this to our attention, but unfortunately in order to be able to debug this issue, we're going to need the log of asterisk box at 1.1.1.1 so that we can see how it generated that duration value. By: Joshua C. Colp (jcolp) 2007-07-25 16:47:21 We need to see the log information from the machine sending the INFO packet, and details of the channels involved. By: Alexander Litnitskiy (litnialex) 2007-07-26 00:59:57 The call flow is as follows: IAX client (4.4.4.4) <---> Asterisk (1.1.1.1) <----> Asterisk (2.2.2.2). I'm adding 1.1.1.1.log recordered at host 1.1.1.1 with both IAX2 and SIP debug enabled. Thanks for your attention. By: Digium Subversion (svnbot) 2007-07-26 18:01:50 Repository: asterisk Revision: 77460 ------------------------------------------------------------------------ r77460 | file | 2007-07-26 18:01:49 -0500 (Thu, 26 Jul 2007) | 4 lines (closes issue ASTERISK-9958) Reported by: litnialex If a DTMF end frame comes from a channel without a begin and it is going to a technology that only accepts end frames (aka INFO) then use the minimum DTMF duration if one is not in the frame already. ------------------------------------------------------------------------ By: Digium Subversion (svnbot) 2007-07-26 18:03:11 Repository: asterisk Revision: 77461 ------------------------------------------------------------------------ r77461 | file | 2007-07-26 18:03:10 -0500 (Thu, 26 Jul 2007) | 12 lines Merged revisions 77460 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r77460 | file | 2007-07-26 20:19:04 -0300 (Thu, 26 Jul 2007) | 4 lines (closes issue ASTERISK-9958) Reported by: litnialex If a DTMF end frame comes from a channel without a begin and it is going to a technology that only accepts end frames (aka INFO) then use the minimum DTMF duration if one is not in the frame already. ........ ------------------------------------------------------------------------ |