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编辑  收藏  举报