sip与sdp
来源:互联网 发布:网络流行语2017口头禅 编辑:程序博客网 时间:2024/06/05 16:15
sip协议基础
会话初始协议(seesion initiation protocol)是一个控制发起,修改和终结交互式多媒体会话的信令协议。
sip是一个基于文本的协议。http请求与sip请求:
- 1
- 2
- 3
- 4
- 5
在http请求中,GET指明一个获取资源的动作,/index.html则是资源的地址,最后HTTP/1.1是协议版本号;而在SIP中,INVITE表示发起一次呼叫请求,seven@freeswitch.org.cn为请求的地址,第三部分的sip/2.0也是版本号。
sip和sdp:
Sip负责建立和释放会话,一般来说,会话会包含相关的媒体,如视频和音频。媒体数据是有sdp描述的。Sdp一般不单独使用,他与sip配合使用时会放到sip协议的征文(boby)中。
会话建立时,需要媒体协商,双方才能确定对方的媒体能力以及交换媒体数据。(这就是sdp的工作)
一个空行把sip头和sip正文部分隔开。
主要介绍一下sdp的内容:
1 v=:Version ,表示协议的版本号
2 o=: Origin,表示源。值域中各项的含义依次是username(用户名),sess-id(会话ID),sess-version(会话版本号),nettype(网络类型),addrtype(地址类型),unucast-address(单播地址)。
3 s=:Session Name,表示本sdp所描述的session的名称
4 c=:Connection Data 链接数据。其中值域中以空格分配的两个字段分贝是网络类型和网络地址,以后的RTP流就会发到该地址上。
5 b=:Badwidth type,带宽类型
6 t=:Timing ,起止时间,0表示无限
7 m=:audio Media Type,媒体类型。audio表示音频,50452表示音频端口号,RTP/AVR是传输协议;后面是支持的Codec类型,与RTP流中的PayloadType(载荷类型)相对应,在这里分别是8,0,98和101,8和0分别代表PCMA和PCMU,他们属于静态编码,大于95的编码都属于动态编码,需要在后面使用“a=rtpmap”进行说明。
8 a=: Attributes,属性。 它用于描述上面的音频的属性。如本例中98代表8000hz的ILBC编码,101代表RFC2833dtmf事件。a=sendrecv表示该媒体流可用于收和发,其他的还有sendonly(仅收),recvonly(仅发)和inactive(不收不发)
9 v=:Video,视频。
媒体流的协商过程称为soa。通俗的讲,他首先由一方提供支持的codec类型,由另一方选择。
Sip承载:http使用tcp承载的,而sip则支持tcp和udp承载。我们常见的sip都是用udp承载的,由于udp是面向无连接的,在大并发量的情况下与tcp相比较可也减少开销。但超出了ip层窗口的大小,在经过路由器的时候可能会被拆包,造成消息可能丢失,乱序,这时候就是用tcp.
转自: http://blog.csdn.net/duolezengjie/article/details/51089037
- sip与sdp
- sip与sdp
- SIP, SDP
- SIP、SAP、SDP
- RTP/RTCP/RTSP/SIP/SDP
- RTP/RTCP/RTSP/SIP/SDP
- SIP SDP Payload Type Definitions
- RTP/RTCP/RTSP/SIP/SDP
- RTP/RTCP/RTSP/SIP/SDP
- RTP/RTCP/RTSP/SIP/SDP
- RTP/RTCP/RTSP/SIP/SDP
- RTP/RTCP/RTSP/SIP/SDP
- SIP的early media和SDP协商
- SIP Using SDP with Offer/Answer Model
- SIP Using SDP with Offer/Answer Model
- RTP/RTCP/RTSP/SIP/SDP 关系
- RTP/RTCP/RTSP/SIP/SDP概念
- SIP Using SDP with Offer/Answer Model
- 判断double是否为整数
- table中数字右对齐
- Python的from import和import的区别
- 反射 取model值/属性
- 差分进化(Differential Evolution,DE)
- sip与sdp
- RUBY生成测试常用小工具
- IDEA修改虚拟机内存
- 【LAMP环境搭建】Apache和PHP结合、Apache默认虚拟主机
- 使用Pinyin4j进行拼音分词
- linux内核调优参考
- 7. 初步理解面向对象 【连载 7】
- iis网站发布后出现由于权限不足而无法读取配置文件
- 关于Linux下tomcat启动 java.net.MalformedURLException: Local host name unknown