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的定义见RFC3551。

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

RFC3551定义了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 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15

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

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

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

SIP DTMF telephone-event相关推荐

  1. matlab 双音频信号的检测,双音频(DTMF)信号的产生与检测.doc

    双音频(DTMF)信号的产生与检测 XXXXXXX大学 毕 业 论 文 (设 计) 题目:双音频(DTMF)信号的产生与检测 学生姓名 学 号 专 业电子信息工程 班 级2008级1班 指导教师 学 ...

  2. 会话初始协议---SIP协议【详解】

    目录 ​ 一.SIP协议简介 二.SIP消息的两种会话模式 1.Session Model 2.Pager Model 三.SIP消息体格式 1.请求行(request-line) 2.状态行(sta ...

  3. SIP 请求方法(5)-SUBSCRIBE NOTIFY

    前面介绍了RFC3261里定义的六种SIP方法.接下来,我们看看SIP扩展的方法有哪些. SUBSCRIBE UA 使用SUBSCRIBE方法来建立订阅关系,以获取特定事件的通知(通过NOTIFY方法 ...

  4. SIP 协议扫盲分享

    下面这篇文章主要讲解一下sip协议中涉及的以下一些知识点: 协议简介 两种Sip会话模式Session Model与Pager Model: Sip 消息体结构 Sip 消息举例 一.Sip协议简介: ...

  5. SIP消息格式详解(基于XML消息体)

    SIP消息分为请求和响应,格式由一个请求行/状态行.几个标题头.一个空行和一个消息体(可选)组成,之间使用回车换行符表示终结,即使消息中未包含消息体,空行也不能省略: 1.请求行/状态行 <1& ...

  6. 开源的 JAIN-SLEE SIP 软交换 -- Mobicents

    卢政 , 2006 年 1 月 26 日 JAIN-SLEE 是一个容器标准,目标是提供移动技术与企业技术之间的整合.该标准类似于 EJB,不过是用于各种面向事件的应用程序,例如 IP 电话服务.分布 ...

  7. webrtc详细教程

    cdsn博客不支持word文件,所以这里显示不完全.可到本人资源中下载word文档: v0.3:http://download.csdn.net/detail/kl222/6961491 v0.1:h ...

  8. WebRTC详解-zz

    1.WebRTC目的 WebRTC(Web Real-Time Communication)项目的最终目的主要是让Web开发者能够基于浏览器(Chrome\FireFox\...) 轻易快捷开发出丰富 ...

  9. 实时音视频技术(WebRTC/voip/Linphone/P2P)

    实时音视频技术(WebRTC/voip/Linphone/P2P) 视频社交与语音社交???    实时视频(直播)/语音通信.多媒体技术团队在音视频编解码.前后处理.传输等技术:   在语音社交.视 ...

最新文章

  1. oracle结果集过大,多重子查询/大结果集查询问题
  2. macd java 源代码_MACD交易系统原理、用法及源代码
  3. metamask中的import account的代码实现
  4. php 模板 php + mysql + myodbc,连接MySQL数据库在ASP中,就用MyODBC
  5. exists sql用法_彻底弄懂sql select各种查询用法
  6. php导入excel文件 视频,PHP导入Excel文件
  7. 从source folder 下将其所有子文件夹的*.* 文件拷贝到 target folder (不拷贝文件夹名仅拷贝文件)...
  8. AOP 你想干什么 IOC 你服务什么
  9. .net的commandname领悟
  10. 【精品课设】经典PID与模糊PID控制的对比与分析(一)
  11. EIQ分析法_配送中心
  12. 使用VMWARE安装Mac OSX 雪豹操作系统并配置iphone开发环境
  13. 合成文字识别需要的训练竖排文字数据集
  14. MFC + MDI文件拖拽功能
  15. 利用函数求平均分及方差
  16. simucpp:C++搭建微分方程求解器框架(重写simulink)
  17. Java:Set接口
  18. 视频图像侦查的有效途径和方法
  19. 火狐打不开12306购票网站解决办法
  20. Node:找不到模块Error: Cannot find module

热门文章

  1. 简介WAP最新版本:WAP 2.0(转)
  2. 独立客户端——tortoiseSVN的使用教程
  3. Push Mail技术(转)
  4. SuperMap 的介绍和使用
  5. 外链优化技巧之网站如何正确发外链?
  6. 源码学习-net/http
  7. 教你如何下载wwwwg2021nel7l58764222JDHtWindows 10 光盘映像(ISO 文件)
  8. NOI OpenJudge 2722 和数
  9. 【Android开发】自定义圆角button样式
  10. 2021.8.16-8.23 人工智能行业每周技术动态