博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SIP DTMF telephone-event
阅读量:3749 次
发布时间:2019-05-22

本文共 982 字,大约阅读时间需要 3 分钟。

SIP DTMF

SIP通常有三种支持DTMF的。

一种是带外(out of band),采用SIP的INFO消息。在这种情况下,DTMF数字如0,1,3等在SIP的INFO消息里携带。

一种是带内(in band),就是通过RTP中的Codec,例如G.711。SDP中Payload Type或者Codec的定义见。

不是所有的Codec都能够携带DTMF。比如G.729,因为压缩得厉害,就不能够携带DTMF。所以(注:对有更新)定义了一种专门的Payload Type来传递DTMF信号。从SIP的角度看定义的方式也是属于带内,因为它是在RTP流里面传而不是在信令里面传。但从RTP的角度看,他属于一种特殊的Payload Type,这种类型定义为“telephone-event”。RTP的角度看这种方式可能是带外,因为是在语音或视频Codec之外传DTMF。(Payload Type和Codec我认为是等价的,一回事,不知对不对。)

定义了96-127的Payload Type是Dynamic的。就是说这个范围内的数字本身没有定义Codec或Payload Type。

下面是截取的SIP消息中的SDP Body中的Payload Type部分。其中8和101代表的是两种Payload Type。8是静态的类型,代表”PCMA/8000”。101在96-127之间,是动态类型。需要直到后面的telephone-event才知道具体的Payload Type。

m=audio 2332 RTP/AVP 8 101a=rtpmap:8 PCMA/8000a=rtpmap:101 telephone-event/8000a=fmtp:101 0-15

按惯例101代表telephone-event,但只是惯例,最初大概是因为Cisco的设备用101代表telephone-event(见)。如下面消息,把101换成96在逻辑上和上面的消息是等价的。

m=audio 2332 RTP/AVP 8 96a=rtpmap:8 PCMA/8000a=rtpmap:96 telephone-event/8000a=fmtp:96 0-15

关于SIP的SDP Offer/Answer模型,参见。在中也有SIP的SDP Offer/Answer例子。

转载地址:http://lqcsn.baihongyu.com/

你可能感兴趣的文章
策略过滤器的灵活性分析
查看>>
POI的使用
查看>>
Anaconda和PyCharm的下载、安装和配置
查看>>
Mockito单元测试简述
查看>>
GUAVA的常用方法汇总
查看>>
装饰器和门面设计模式介绍
查看>>
创建型模式——克隆模式
查看>>
JVM关闭和Hook钩子
查看>>
线程中断处理
查看>>
消息队列积压问题处理
查看>>
并行流使用注意事项
查看>>
泛型擦除机制及相关问题
查看>>
Jackson日期反序列化时区问题
查看>>
《设计模式》
查看>>
单例设计模式
查看>>
面试题集锦(一)
查看>>
Calendar类方法——编写万年历的两种方式
查看>>
File类的使用——遍历所有文件及子文件以及遍历删除
查看>>
内存流的使用——基本使用
查看>>
RandomAccessFile 类的使用——基本使用
查看>>