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-0600 | Date Closed: | 2011-12-06 17:49:16.000-0600 | ||
Priority: | Trivial | Regression? | |||
Status: | Closed/Complete | Components: | 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: |
| ||||
Environment: | Centos 5.5 | Attachments: | |||
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: |