[asterisk-dev] [Code Review] Fix double DTMF digits when 'dtmfmode=inband' and client sends both 'inband' and 'SIP INFO' packets
Alec Davis
reviewboard at asterisk.org
Fri Oct 19 03:25:54 CDT 2012
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2165/
-----------------------------------------------------------
(Updated Oct. 19, 2012, 3:25 a.m.)
Review request for Asterisk Developers.
Changes
-------
Testing: dtmfmode=auto is the only issue, now if only SIP INFO is sent by client they are ignored.
sip.conf client client client
dtmfmode inband rfc2833 info
auto 0 1 1 emits warning, and works - didn't work before changes
rfc2833 0 1 1 emits warning, and works - didn't work before changes
rfc2833 1 1 1 emits warning, and works - didn't work before changes
inband 1 1 1 emits warning, and works - didn't work before changes
auto 1 1 1 emits warning, and works - didn't work before changes
info 1 1 1 No warning, and works - did work before changes
info 1 0 1 No warning, and works - did work before changes
inband 1 0 1 emits warning, and works - didn't work before changes
auto 1 0 1 emits warning, and works - didn't work before changes
rfc2833 1 0 1 emits warning, doesn't work! - didn't work before changes
auto 0 0 1 emits warning, DOESN'T WORK! - DID WORK before changes
Summary
-------
Asterisk 1.8.16.0
file:/var/log/asterisk/dtmf when only '2' was hit once
[2012-10-17 19:46:17.879406] DTMF[17084] channel.c: DTMF begin '2' received on SIP/822-00000000
[2012-10-17 19:46:17.879467] DTMF[17084] channel.c: DTMF begin ignored '2' on SIP/822-00000000
[2012-10-17 19:46:17.950953] DTMF[17084] channel.c: DTMF end '2' received on SIP/822-00000000, duration 800 ms
[2012-10-17 19:46:17.951004] DTMF[17084] channel.c: DTMF end passthrough '2' on SIP/822-00000000
[2012-10-17 19:46:18.019135] DTMF[17084] channel.c: DTMF end '2' received on SIP/822-00000000, duration 51 ms
[2012-10-17 19:46:18.019228] DTMF[17084] channel.c: DTMF end passthrough '2' on SIP/822-00000000
In ASTERISK-20218 the attached file it can be seen that both PA2P.rtf has both 'inband' and 'SIP INFO' set.
This addresses bug ASTERISK-20218.
https://issues.asterisk.org/jira/browse/ASTERISK-20218
Diffs (updated)
-----
branches/1.8/channels/chan_sip.c 375136
Diff: https://reviewboard.asterisk.org/r/2165/diff
Testing
-------
Asterisk SVN-branch-1.8-r375111M
I was able to verify the same conditions on a Grandstream GXP2000.
Below is after proposed patch:
file:/var/log/asterisk/dtmf when '820' was entered
[2012-10-17 20:16:18.883821] DTMF[23460] channel.c: DTMF begin '8' received on SIP/822-00000004
[2012-10-17 20:16:18.883868] DTMF[23460] channel.c: DTMF begin ignored '8' on SIP/822-00000004
[2012-10-17 20:16:18.963537] DTMF[23460] channel.c: DTMF end '8' received on SIP/822-00000004, duration 89 ms
[2012-10-17 20:16:18.963559] DTMF[23460] channel.c: DTMF end passthrough '8' on SIP/822-00000004
[2012-10-17 20:16:19.263805] DTMF[23460] channel.c: DTMF begin '2' received on SIP/822-00000004
[2012-10-17 20:16:19.263851] DTMF[23460] channel.c: DTMF begin ignored '2' on SIP/822-00000004
[2012-10-17 20:16:19.363423] DTMF[23460] channel.c: DTMF end '2' received on SIP/822-00000004, duration 89 ms
[2012-10-17 20:16:19.363444] DTMF[23460] channel.c: DTMF end passthrough '2' on SIP/822-00000004
[2012-10-17 20:16:19.643830] DTMF[23460] channel.c: DTMF begin '0' received on SIP/822-00000004
[2012-10-17 20:16:19.643876] DTMF[23460] channel.c: DTMF begin ignored '0' on SIP/822-00000004
[2012-10-17 20:16:19.783561] DTMF[23460] channel.c: DTMF end '0' received on SIP/822-00000004, duration 140 ms
[2012-10-17 20:16:19.783582] DTMF[23460] channel.c: DTMF end passthrough '0' on SIP/822-00000004
Console:
-- Executing [s at voicemail-main:2] VoiceMailMain("SIP/822-00000004", "") in new stack
-- <SIP/822-00000004> Playing 'vm-login.gsm' (language 'en')
[2012-10-17 20:16:18.935436] WARNING[23399]: chan_sip.c:19239 handle_request_info: Ignoring DTMF_INFO message as DTMF_INBAND is set on channel SIP/822-00000004
[2012-10-17 20:16:19.325618] WARNING[23399]: chan_sip.c:19239 handle_request_info: Ignoring DTMF_INFO message as DTMF_INBAND is set on channel SIP/822-00000004
[2012-10-17 20:16:19.734910] WARNING[23399]: chan_sip.c:19239 handle_request_info: Ignoring DTMF_INFO message as DTMF_INBAND is set on channel SIP/822-00000004
-- <SIP/822-00000004> Playing 'vm-password.gsm' (language 'en')
asterix*CLI>
Thanks,
Alec
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20121019/901e4bef/attachment-0001.htm>
More information about the asterisk-dev
mailing list