[Home]

Summary:ASTERISK-18924: Linksys devices SIP INFO messages - dtmf-relay signal value uses 0-9, #, *, a-d. Asterisk looking for 0-9, #, *, A-D
Reporter:Kevin Taylor (taylork)Labels:
Date Opened:2011-11-25 06:13:34.000-0600Date Closed:2011-12-06 17:49:16.000-0600
Priority:TrivialRegression?
Status:Closed/CompleteComponents:Channels/chan_sip/General
Versions:1.8.5.0 1.8.6.0 1.8.7.0 1.8.7.1 10.0.0-rc2 Frequency of
Occurrence
Constant
Related
Issues:
causesASTERISK-19290 Voicemailmain password not recognized from Aastra 480i phone in versions past 10.0.1
Environment:Centos 5.5Attachments:
Description:Linksys devices don't follow the RFC for dtmf-relay, they use lowercase a-d; Asterisk is looking for uppercase. To make Asterisk more flexible it would be good to modify chan_sip.c to detect both lowercase and uppercase letters.

See example below
{code}
if (buf[0] == '*')
event = 10;
else if (buf[0] == '#')
event = 11;
else if ((buf[0] >= 'A') && (buf[0] <= 'D'))
event = 12 + buf[0] - 'A';
else if ((buf[0] >= 'a') && (buf[0] <= 'd'))
event = 12 + buf[0] - 'a';
else if (buf[0] == '!')
event = 16;
else
event = atoi(buf);
{code}

Example of Linksys INFO message
{noformat}
INFO sip:100@100.100.100.10:5060 SIP/2.0
Via: SIP/2.0/UDP 100.100.100.55:5060;branch=z9hG4bK-e9008444
From: 90 <sip:90@100.100.100.10>;tag=a2c58394b588e5e9o0
To: <sip:100@100.100.100.10>;tag=as0c82b1dd
Call-ID: 8721b930-7fe2ccfd@100.100.100.55
CSeq: 123 INFO
Max-Forwards: 70
User-Agent: Linksys/SPA2102-5.2.12
Content-Length: 24
Content-Type: application/dtmf-relay

Signal=a
Duration=100
{noformat}
Comments: