SIP/RTP/RTCP/RTSP 等
文章平均质量分 90
一叶知秋dong
好记性不如烂笔头,记录学习和工作中的一些东东。
展开
-
RTP/AVP 与 AVPF
RTP/AVP AVP audio video profile AVPF audio video profile feedbackSAVPF safe audio video profile feedbackRFC3551(RTP/AVP)在RFC3550的基础上针对RTP档次进行补充形成RTP/APVP档次,被用在具有最小会话控制的音视频会议中,是其它扩展档次的...原创 2020-03-12 15:00:41 · 8905 阅读 · 0 评论 -
EVS rtp 及sdp相关协议
MIME media type name : AudioMIME subtype name : Standards Tree - EVSRequired parameters : NoneOptional parameters :These parameters apply to RTP transfer only.ptime: defined in section 6 of R...原创 2019-12-25 21:29:33 · 3191 阅读 · 1 评论 -
AMR rtp 及sdp 相关协议
(RFC 3267 published June 2002, subtype last updated April 2007 per RFC4867)Media Type name: audioMedia subtype name: AMR-WBRequired parameters: noneOptional parameters: These paramete...原创 2019-12-25 21:27:02 · 2143 阅读 · 1 评论 -
ICE介绍 (RFC 5245)
1关于ICE的10个事实1 ICE使用STUN和TURN2 ICE是一种P2P的NAT穿越方式3 ICE只需要网络提供STUN或TURN服务器4 ICE允许在很复杂的网路环境下传输媒体流5 ICE只在确定媒体流可到达情况下才让电话进行振铃6 ICE动态发现终端间媒体流的最短路径7 ICE可以附带消除DoS攻击8 ICE可以几乎和任意类型的NAT和防火墙设备一起工作转载 2014-03-25 10:02:31 · 7328 阅读 · 0 评论 -
SIP 基本概念---Dialog,call,session 和 transaction .
如果你对Sip协议中Call, Dialog, Transaction和Message之间的关系感觉到迷惑,那么,那么我可以告诉你,你并不孤单,因为大多数初学者对于这些名词之间的关系都会感到疑惑.Messages(消息)消息是在服务器和客户端之间交换的独立文本, 有两种类型的消息,分别是请求(Requests)和响应(Responses).Transaction(事务)...转载 2014-03-04 17:31:21 · 2802 阅读 · 0 评论 -
linphone sip 处理
前言 linphone 是基于sip的voip call 方案,sip部分使用了exosip,本文分析一下linphone的sip部分。下文中简称为sip。 sip关键结构体struct Sal{ SalCallbacks callbacks; SalTransport transport; MSList *calls; /*MSList of SalOp */原创 2014-02-12 14:58:40 · 7635 阅读 · 0 评论 -
sip 认证
1. 认证和加密 认证(Authorization)的作用在于表明自己是谁,即向别人证明自己是谁。而相关的概念是MD5,用于认证安全。注意MD5仅仅是个hash函数而已,并不是用于加密。因为hash函数处理后的数据没法进行反向恢复,这样子的话别人没法盗取你认证身份的口令。 加密(Encryption)的作用在于对想传输的数据进行处理,在网络中即使被窃取也难以破解。加密的信息可以转载 2013-03-18 17:53:44 · 3896 阅读 · 0 评论 -
voip通话中SIP/SDP/RTP/RTCP的工作过程
一、SIP协议告知对方UDP端口号,协商媒体类型1.1 主叫方发给被叫方的INVITE请求 1.2 被叫方回给主叫方的180消息 二、RTP媒体流2.1 主叫方发给被叫方的一个RTP包,UDP端口号是SDP协商好的,包的序列号是32983 2.2 主叫方发给被叫方的下一个RTP包,UDP端口号是SDP协商好的,包的序列号是32984转载 2014-01-24 16:58:48 · 10234 阅读 · 1 评论 -
SIP呼叫流程典型流程图解及其详细解释 .
[+]注册流程注销流程基本呼叫建立过程会话更改流程正常呼叫释放过程被叫忙呼叫释放被叫无应答流程一被叫无应答流程二遇忙呼叫前转无应答呼叫前转流程呼叫保持呼叫等等1.注册流程:...12.注销流程:...33. 基本呼叫建立过程:...44. 会话更改流程:...55. 正常呼叫释放过程:...66. 被叫忙呼叫释放:...77.被叫无应转载 2014-01-23 17:10:30 · 9876 阅读 · 0 评论 -
SDP协议
1.SDP协议概述SDP(Session Description Protocol)是一个用来描述多媒体会话的应用层控制协议,为会话通知、会话邀请和其它形式的多媒体会话初始化等目的提供了多媒体会话描述;它是一个基于文本的协议,这样就能保证协议的可扩展性比较强,这样就使其具有广泛的应用范围;SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通转载 2014-01-23 15:37:10 · 12339 阅读 · 0 评论 -
IP网络视频丢包误码恢复技术
IP网络视频传输的丢包和误码会造成马赛克、花瓶等视频质量下降的问题,保障和恢复视频质量的技术在此总结一下。 1.重传,NACK 重传机制,即在发现丢包的情况下发送端重新发送丢失的包, NACK,需要借助视频缓冲 (video jitter buffer),以及RTCP协议, RFC 5104 定义了 RTCP 协议如何承载此控制流程,客户端需要在sdp里添加 a=rtcp-原创 2013-10-12 10:44:39 · 3853 阅读 · 2 评论 -
DTMF
DTMF 叫多音双拼,也叫二次拨号.voip 承载dtmf 有三种方法,inband, rfc 2833(最新rfc 为4733,ims里面引用),和 sip info 方法。inband方式是把按键产生的buffer放到语音rtp流里面一起传输而不是类似rfc 2833方式 定义特殊的rtp事件,而每个按键(1,2,3,4,5.。。。)的数据buffer产生可以通过算法生成,也可以直转载 2013-10-12 10:14:44 · 6666 阅读 · 0 评论 -
IP视频通信中的丢包—“恢复技术”
在IP视频通话中,即使是在丢包率很小的情况下也会对使用效果造成较为明显的影响。正是由于这个原因,自从上世纪九十年代中后期IP视频会议技术出现以来,在“有损耗”的IP网络上成功召开视频会议的能力一直是一项挑战。近年来,随着低成本,共享式的网络线路的普遍采用(如DSL,有线,卫星,LAN和WAN,公共互联网等)以及使用更高通话带宽(通常需要支持更高的视频分辨率)则使这一问题显得更为突出。 造成丢包转载 2013-10-12 10:05:14 · 2211 阅读 · 0 评论 -
SIP——MESSAGE方法
Instant Message是指用户间实时的短消息通信,这些消息一般都比较简短。IM一般以实时对话的模式使用,也就是说,消息在用户之间的来回传输时延足够小,能够满足用户间实时对话的要求。 以下是IETF定义的Instant Message系统模型。图表 1 IETF定义的Instant Message模型SIP协议中MESSAGE消息的扩展使得SIP能够支持IM通信。既转载 2013-09-11 11:33:14 · 12942 阅读 · 0 评论 -
SIP服务器,搭建自己的VoIP平台 (windows版本)
转载:http://blog.csdn.net/probezy/article/details/4740938 本快速指南的目的是想手把手教您使用SIP Server 2008搭建一个VoIP通讯系统,它描述了两个PC终端利用X-Lite软电话相互通讯的简单实例。 客户端A Server主机转载 2014-03-13 20:19:40 · 19138 阅读 · 0 评论 -
关于SIP防火墙穿越的汇总 .
术语和基础知识防火墙 一个防火墙限制私人内网和公众因特网之间的通讯,典型地防火墙就是丢弃那些它认为未经许可的数据包。在数据包穿越一个防火墙时,它检查但是不修改包里的 IP地址和TCP/ UDP 端口信息。网络地址转换(NAT) 当数据包穿过NAT时,NAT不仅检查同时也修改数据的包头信息,并且允许更多的在NAT后的主机分享少数公网IP地址(通常只有1个)。NAT的类转载 2014-08-22 10:24:04 · 7476 阅读 · 0 评论 -
linphone eventqueue
/** * Structure for filter's methods used as a callback to notify events. * @var MSFilterNotifyFunc */typedef void (*MSFilterNotifyFunc)(void *userdata, struct _MSFilter *f, unsigned int id, v原创 2014-10-22 10:41:11 · 1251 阅读 · 0 评论 -
RTP/RTCP的RFC协议簇
RTP是实时传输协议,RTCP是RTP控制协议,他们一起配合完成实时流媒体的打包传输、码流调整、同步、统计、FEC、重传等功能。发展到现在,已经有众多分支协议可以完成完善的流媒体传输功能。其中做实时流媒体需要重点关注的协议有:3550/3551/4585/4588/5104/5109/5450/6184/8285....原创 2019-10-10 18:28:00 · 1840 阅读 · 0 评论 -
借助rtcp实现NACK丢包重传
Qos.NACK一、RTP/RTCPRTP/RTCP协议是流媒体通信最基本协议。RTP协议定义流媒体数据在互联网上传输的数据包格式,而RTCP协议则负责可靠传输、流量控制和拥塞控制等服务质量保证。在很多项目中,如WebRTC中,RTP/RTCP模块作为传输模块的一部分,负责对发送端采集到的媒体数据进行进行封包,然后交给上层网络模块发送;在接收端RTP/RTCP模块收到上层模...转载 2019-10-10 17:55:08 · 4937 阅读 · 0 评论 -
RTP/RTCP协议族分析
一 前言RF3550定义实时传输协议RTP和它的控制协议RTCP。RTP协议是Internet上针对流媒体传输的基础协议,该协议详细说明在互联网上传输音视频的标准数据包格式。RTP本身只保证实时数据的传输,并不能提供可靠传输、流量控制和拥塞控制等服务质量保证,这需要RTCP协议提供这些服务。RTCP协议负责流媒体的传输质量保证,提供流量控制和拥塞控制等服务。在RTP会话期间,各参与者周期性...转载 2019-10-09 11:46:28 · 362 阅读 · 0 评论 -
SCTP
SCTP(Stream Control Transmission Protocol,流控制传输协议)是IETF(Internet Engineering Task Force,因特网工程任务组)在2000年定义的一个传输层(Transport Layer)协议,是提供基于不可靠传输业务的协议之上的可靠的数据报传输协议。SCTP的设计用于通过IP网传输SCN(Signaling Communicat转载 2017-08-14 20:14:16 · 2650 阅读 · 0 评论 -
UDP可靠传输那些事
有空来论坛走走,发现讨论udp可靠传输又热了起来,有人认为udp高效率,有人认为udp丢包重传机制容易控制,还有朋友搞极限测试,当然也有人推销自己的东西,这里写一点我个人的看法。 udp可靠传输其实非常非常的简单,我最开始接触udp可靠传输大约是在2005年,因为那时候开发FtpAnywhere,由于路由的映射和网关nat处理方面,认为udp具有天生优势,因此开始编写自己的udp可靠传输转载 2017-07-06 16:12:37 · 1114 阅读 · 2 评论 -
RTP传输中的负载类型和时间戳
最近被RTP的负载类型和时间戳搞郁闷了,一个问题调试了近一周,终于圆满解决,回头看看,发现其实主要原因还是自己没有真正地搞清楚RTP协议中负载类型和时间戳的含义。虽然做RTP传输,有着Jrtplib和Ortp这两个强大的库支持,一个是c++接口,一个是c语言接口,各有各的特点,各有各的应用环境,但是仅仅有库就能解决一切问题吗?可能仿照着一些例子程序,你能够完成主要的功能,但一旦问题发生了,不清楚原转载 2015-09-11 08:39:49 · 838 阅读 · 0 评论 -
XMPP协议的原理介绍
XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。 XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分;转载 2014-12-30 14:59:02 · 613 阅读 · 0 评论 -
openfire及其源码的开发和部署
一、openfire的Eclipse环境搭配 1、官网http://www.igniterealtime.org/ 2、Eclipse环境(包括JavaSE),Openfire的源代码包(例如:openfire_src_3_3_2.zip,可到jivesoftware官方网站下载),Mysql数据库V5以上(当然可以用其他数据库,但在此例中选用Mysql作为Openf转载 2014-12-30 15:02:23 · 844 阅读 · 0 评论 -
XMPP协议简介
XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM(IM:instant messaging,即时消息)协议之一,其他三种分别为:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。 在这四种协议中,XMPP是最灵活的。转载 2015-01-06 19:17:17 · 786 阅读 · 0 评论 -
RFC3921中文(xmpp)
本文转自http://wiki.jabbercn.org/index.php?title=RFC3921可扩展的消息和出席信息协议 (XMPP): 即时消息和出席信息关于本文的说明本文为互联网社区定义了一个互联网标准跟踪协议,并且申请讨论协议和提出了改进的建议。请参照“互联网官方协议标准”的最新版本(STD 1)获得这个协议的标准化进程和状态。本文可以不受限转载 2015-01-06 19:14:57 · 1421 阅读 · 0 评论 -
RFC3920中文(XMPP)
本文转自http://wiki.jabbercn.org/index.php?title=RFC3920可扩展的消息和出席信息协议 (XMPP): 核心协议关于本文的说明本文为互联网社区定义了一个互联网标准跟踪协议,并且申请讨论协议和提出了改进的建议。请参照“互联网官方协议标准”的最新版本(STD 1)获得这个协议的标准化进程和状态。本文可以不受限制的分发。转载 2015-01-06 19:13:25 · 2744 阅读 · 0 评论 -
linphone 内部线程分析
以下分析基于我内部修改过的linphone版本。linphone包含了sip协议解析,多媒体编解码和rtp传输等功能,这些功能是通过不同的组件分工合作完成的,下面我就来分析下linphone生命中出现过的那些线程。 第一个登场的当然是主线程,也就是ui线程,通常可认为是一个Activity,这个Activity主要负责界面的绘制、linphone内核库的初始化以及功能接口的调用原创 2012-06-20 16:55:02 · 6676 阅读 · 10 评论 -
H264编码 封装成MP4格式 视频流 RTP封包
一、概述本文讲述的是对H264编码且封装成MP4格式的视频流进行RTP打包过程时需要了解的一些基本知识。二、H264的基础知识1.H264的编码格式H.263 定义的码流结构是分级结构,共四层。自上而下分别为:图像层(picturelayer)、块组层(GOB layer)、宏块层(macroblock layer)和块层(block layer)。而与H.263转载 2013-03-22 17:01:36 · 2557 阅读 · 0 评论 -
rtsp 流服务器搭建(windows xp)
我使用了两种方式搭建rtsp流媒体服务器,一种是使用VLC,一种是使用达尔文。******************************************************************第一种:windows xp上使用vlc来搭建rtsp流媒体服务器。*******************************************************原创 2012-10-17 09:47:54 · 18544 阅读 · 0 评论 -
HTTP协议详解
当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HT转载 2012-10-08 10:18:12 · 1214 阅读 · 0 评论 -
RTSP协议详解
RTSP简介 RTSP(Real Time Streaming Protocol)是由Real Network和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,RTSP的作用相当于流媒体服务器的远程控制。服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类转载 2012-09-18 14:55:53 · 15651 阅读 · 1 评论 -
sipdroid 拨号流程
sipdoid拨号流程---> 在sipdroid的onCreate方法中设置了按键和触摸的监听器,点击拨号后会调用call_menu:1. call_menu()----------sipdroid.java | Receiver.engine(this).call() ||2.call() --------sipdroid原创 2012-08-24 16:46:47 · 1850 阅读 · 0 评论 -
解密回声消除技术之二(应用篇)
(接《解密回声消除技术之一(理论篇)》)从应用平台来看,根据笔者多年的经验,可以把回声消除分为两大类:基于DSP等实时平台的回声消除技术和基于Windows等非实时平台的回声消除技术。两者的技术难度和重点是不一样的。 三、基于DSP平台的回声消除技术回声消除技术传统的应用领域是各种嵌入式设备,包括各种电信网络设备和终端设备。网络设备比如交换机,网关等等,终端则包括移动电话终端,视频转载 2012-09-03 09:59:44 · 2840 阅读 · 1 评论 -
sipdroid 接听电话流程
sipdroid 内部有一个任务在等待接收sip消息,收到消息后并不处理,而是通过监听器的回调返回。1.run() -----------udpProvider.java | listener.onReceivedPacket(this, packet); ||2.onReceivedPacket(UdpProvider udp, UdpPacket pa原创 2012-08-24 17:01:14 · 2180 阅读 · 0 评论 -
解密回声消除技术之一(理论篇)
一、前言因为工作的关系,笔者从2004年开始接触回声消除(Echo Cancellation)技术,而后一直在某大型通讯企业从事与回声消除技术相关的工作,对回声消除这个看似神秘、高端和难以理解的技术领域可谓知之甚详。要了解回声消除技术的来龙去脉,不得不提及作为现代通讯技术的理论基础——数字信号处理理论。首先,数字信号处理理论里面有一门重要的分支,叫做自适应信号处理。而在经典的教材里面,回声转载 2012-09-03 09:59:02 · 1732 阅读 · 0 评论 -
speex库的使用
Speex 是近年来开发出的一套功能强大的语音引擎,能够实现高质量和低比特率的编码。它不仅提供了基于码激励线性预测(CELP)算法的编/解码模块,而且在其最新发布的版本中还提供了声音预处理和声学回声消除模块,为保障IP网络中的语音通信质量提供了技术手段。此外,Speex还具有压缩后的比特率低(2~44 kbps)的特点,并支持多种比特率。这些特点使得Speex特别适合VoIP的系统。虽然是转载 2012-08-31 11:44:03 · 4231 阅读 · 0 评论 -
Speex编/解码API手册
5.1 编码5.2 解码5.3 编解码选项(speex_*_ctl)5.4 模式查询5.5 封包和带内信令补充后记 The libspeex library contains all the functions for encoding and decoding speech with the Speex codec. When linking on a UNIX转载 2012-08-31 11:53:42 · 1897 阅读 · 0 评论 -
Speex 回声消除
为什么需要声学回声消除呢?在一般的VOIP软件或视频会议系统中,假设我们只有A和B两个人在通话,首先,A的声音传给B,B然后用喇叭放出来,而这时B的MIC呢则会采集到喇叭放出来的声音,然后传回给A,如果这个传输的过程中时延足够大,A就会听到一个和自己刚才说过的话一样的声音,这就是回声,声学回声消除器的作用就是在B端对B采集到的声音进行处理,把采集到声音包含的A的声音去掉再传给A,这样,A就不会听到转载 2012-08-31 11:50:02 · 4607 阅读 · 3 评论