[Home]

Summary:ASTERISK-22144: res_sip_dtmf_info: Support sending of 'raw' DTMF
Reporter:Matt Jordan (mjordan)Labels:Asterisk12
Date Opened:2013-07-20 17:14:55Date Closed:2013-08-22 17:10:33
Priority:MajorRegression?
Status:Closed/CompleteComponents:Resources/res_pjsip
Versions:12 Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Currently, {{res_sip_dtmf_info}} will parse an SDP that looks something like the packet below:

{noformat}
 <send retrans="500">
<![CDATA[

INFO sip:test@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
Max-Forwards: 70
Content-Length: [len]
From: test1 <sip:guest1@[local_ip]:[local_port]>;tag=[call_number]
To: test <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]
Call-ID: [call_id]
CSeq: 2 INFO
Supported: timer
Content-Type: application/dtmf-relay
Contact: sip:test@[local_ip]:[local_port]
Supported: replaces
User-Agent: Aastra 480i Cordless/1.4.3.1001 Brcm Callctrl/1.5.1.0 MxSF/v3.2.8.45

Signal=1
Duration=160
]]>
 </send>
{noformat}

Unfortunately, sometimes DTMF is sent without any parameters, i.e., no "Signal" or "Duration":

{noformat}
 <send retrans="500">
<![CDATA[

INFO sip:test@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
Max-Forwards: 70
Content-Length: [len]
From: test1 <sip:guest1@[local_ip]:[local_port]>;tag=[call_number]
To: test <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]
Call-ID: [call_id]
CSeq: 2 INFO
Supported: timer
Content-Type: application/dtmf-relay
Contact: sip:test@[local_ip]:[local_port]
Supported: replaces
User-Agent: Aastra 480i Cordless/1.4.3.1001 Brcm Callctrl/1.5.1.0 MxSF/v3.2.8.45

               1
]]>
 </send>
{noformat}

That's a DTMF "1". The duration is inferred.

The module should be able to handle this as well.
Comments: