SIP 消息(4) -- Message Body
前面三章说的是SIP消息的Startline和Message header,下面说SIP消息的最后一个组成部分Message Body.本章非常枯燥。
前面在SIP入门已经提到过,SIP只是提供会话的,并不进行具体的流媒体传输.但会在会话中讲流媒体信息告诉对方(注意:我这里说的是流媒体信息而不是流媒体数据 ),这些信息,比如流媒体用的协议(例如,RTP,RTSP),流媒体的IP,流媒体的带宽,都会在SIP的Message Body中给出描述.而描述这个东西的也有自己的一个名称 - SDP.(Session Descripton Protocol).
我们看个例子先:
INVITE sip:zeng@alcatel.com SIP/2.0
Via:SIP/2.0/UDP server1.alcatel-sbell.com.cn
From:Kane Zeng <sip:zeng@alcatel-sbell.com.cn>
To:Yifei Liu<sip:liuyifei@sina.com.cn>
Call-ID:12345678@server1.alcatel-sbell.com.cn
Cseq:1 INVITE
Subject:Dinner
Content-Type:application/sdp
Content-Length:250
v=0
o=UserA 289044526 IN IP4 here.com
s=Session SDP
c=IN IP4 192.168.8.55
t=0 0
m=audio 49172 RTP/AVP 0
a=rtmpmap:0 PCMU/800
前面黑色字体部门就是SIP的内容,在SIP消息(2)-SIP Message Header中已经有描述了。
重点是蓝色字体部分就是SDP的内容.为什么下面就是SDP,因为SIP头中已经在Content-Type中指明了application/sdp了。
现在解释一下:
v=0 :代表SDP的版本号是0
o=UserA 289044526 IN IP4 here.com:UserA代表这个SDP的发起者是UserA,注意不要跟前面的Kane Zeng搞混淆了;289044526是说这个SDP消息的唯一标识;IN代表是Internet;IP4代表用的是IP4;here.com代表地址。
s=Session SDP:是指流媒体会话的名字叫Session SDP
c=IN IP4 192.168.8.55:是指这次流媒体连接的信息。标识通过IP4,并且通过192.168.8.55进行传输。
t=0 0:表示这次会话没有超时限制。
m=audio 49172 RTP/AVP 0:表示这次流媒体传输是通过音频,并且使用了RTP协议,并且使用了49172端口。
a=rtmpmap:0 PCMU/800:是指一些附加信息。
另外,不要认为所有的Message Body都是SDP,也可以是text/html,这种一般是对错误的SIP消息的具体描述。只不过SIP一般用于流媒体传输用,所以用SDP描述流媒体罢了。
posted on 2009-05-13 23:39 enjoyeclipse 阅读(1519) 评论(0) 编辑 收藏 举报