Summary:ASTERISK-03496: [PATCH] recent change to AST_DIGIT_ANY causes incorrect "user=phone" to be sent
Reporter:Kevin P. Fleming (kpfleming)Labels:
Date Opened:2005-02-13 03:10:55.000-0600Date Closed:2008-01-15 15:25:14.000-0600
Versions:Frequency of
Environment:Attachments:( 0) sip_digit_check_rev1.diff.txt
Description:chan_sip (wrongly) uses AST_DIGIT_ANY to check the CLID to determine whether it should add "user=phone" to a header or not.

Recently this string was changed to include "ABCD" for DTMF detection, which causes chan_sip to send "user=phone" even if the CLID contains these characters.

The attached patch corrects this by changing the definitions in file.h to:

AST_DIGITS "0123456789"
AST_DTMF_COMMON "0123456789*#"
AST_DTMF_ALL "0123456789*#ABCD"

All existing users of AST_DIGIT_ANY are converted to AST_DTMF_ALL (which is a more accurate name now that it contains non-digits).


Disclaimer is on file.
Comments:By: Mark Spencer (markster) 2005-02-13 11:02:58.000-0600

Fixed in CVS head.  It's not strictly limited to DTMF, of course, since these digits could be represented in MF as well, so I just changed it to something that I think should be logically acceptable, especially given the advantage that it doesn't break out-of-tree modules needlessly.

By: Russell Bryant (russell) 2005-02-13 21:07:23.000-0600

this made me change my mind and just revert that original change in stable to preserve original behavior

By: Digium Subversion (svnbot) 2008-01-15 15:25:14.000-0600

Repository: asterisk
Revision: 5020

U   trunk/channels/chan_sip.c
U   trunk/include/asterisk/file.h

r5020 | markster | 2008-01-15 15:25:14 -0600 (Tue, 15 Jan 2008) | 2 lines

Fix user=phone stuff (bug ASTERISK-3496)