SIP INFO 携带 DTMF 的方法
VERSION 0.9 2009-9
本文主要来源为参考文献[1]。
一,方法:
1)dtmf-relay,Kapanga使用的方式
-----------------------------------------------------------------
INFO sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP alice.uk.example.com:5060
From: <sip:[email protected]>;tag=d3f423d
To: <sip:[email protected]>;tag=8942
Call-ID: 312352@myphone
CSeq: 5 INFO
Content-Length: 24
Content-Type: application/dtmf-relay
Signal=5
Duration=160
2)dtmf,较少见的方法,例如下面是传输DTMF5的INFO消息
-----------------------------------------------------------------
INFO sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP alice.uk.example.com:5060
From: <sip:[email protected]>;tag=d3f423d
To: <sip:[email protected]>;tag=8942
Call-ID: 312352@myphone
CSeq: 5 INFO
Content-Length: 1
Content-Type: application/dtmf
5
二、问题:
1,看起来,两种方法每次都只能携带一个DTMF按键?
2,某些实现中DTMF “*”“#”直接使用这两个键的字符表示,而非把它们转换成数字(RFC2833中10表示*11表示#),这是否具有普遍性?——Kapanga中也是使用字符表示。
三、其他:
1,没有找到相应的RFC文档。
2,另外有使用SUBSCRIBE/NOTIFY实现DTMF事件通知功能,参看[3]——并被认为更可靠。
3,INFO与NOTIFY的区别:INFO由发键方发起,收键方接收后获知按键;NOTIFY需要收键方先SUBSCRIBE?
[1] http://www.voip-info.org/wiki/view/SIP+Info+DTMF
[2] SIP INFO Method for DTMF Tone Generation, http://www.cisco.com/en/US/docs/ios/12_2t/12_2t11/feature/guide/ftinfo.html#wp1024388
[3] DTMF Events Through SIP Signaling, http://www.cisco.com/en/US/docs/ios/12_2t/12_2t11/feature/guide/ftnotify.html#wp1024644
[4] SIP SUBSCRIBE/NOTIFY Method for DTMF, http://www.dialogic.com/webhelp/IMG1010/10.5.0_WebHelp/WebHelp/Description/Interworking/SIP_Subscribe_NOTIFY.htm