sip与sdp
2017-12-19 09:25
441 查看
sip协议基础
会话初始协议(seesion initiation protocol)是一个控制发起,修改和终结交互式多媒体会话的信令协议。
sip是一个基于文本的协议。http请求与sip请求:
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
会话初始协议(seesion initiation protocol)是一个控制发起,修改和终结交互式多媒体会话的信令协议。
sip是一个基于文本的协议。http请求与sip请求:
http: GET /index.html HTTP/1.1 SIP: INVITE sip:seven@freeswitch.org.cn SIP/2.01
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 offer/answer交换初探
- sip呼叫里SDP的一些字段的含义
- SIP SDP Profile-level-id解析
- RTP/RTCP/RTSP/SIP/SDP 关系(转)
- RTP/RTCP/RTSP/SIP/SDP 关系(直接看总结)
- 【Todo】RTP/RTCP/RTSP/SIP/SDP 等多媒体传输和会话协议
- SIP交换中的SDP及RTP的工作过程
- SIP SAP及SDP协议组合应用的研究
- SIP SDP Payload Type Definitions
- RTP/RTCP/RTSP/SIP/SDP 关系
- RTP/RTCP/RTSP/SIP/SDP
- SIP、SAP及SDP协议组合应用的研究
- 如何根据Sip协议的SDP和onvif摄像头进行视频媒体能力的协商 (1)
- inviteflood -SIP/SDP 泛洪攻击
- SIP、SAP、SDP
- SIP SDP RTP HTTP 相关标准列表
- RTP/RTCP/RTSP/SIP/SDP 关系
- 如何改写一个SIP Message中的SDP内容
- SIP SAP及SDP协议组合应用的研究
- SIP的early media和SDP协商