SDP用于构建INVITE、200OK和ACK消息的消息体,供主被叫用户交换媒体信息。
1.媒体流的配置
(1)主被叫媒体描述必须完全对应主被叫的第n个媒体流(m=)对应,都包含a=rtpmap.这样的目的是易于适应静态净荷类型到动态净荷类型的转换。
(2)被叫不想接收主叫提出的某个媒体流则在响应中设置该媒体流的端口号为0.并且必须返回对应的媒体流行。
2.单播SDP值的设定
(1)只发媒体流,端口号无意义,应设为0。
(2)每个媒体流的净载荷类型例表应传送两个信息:能接受/发送的编译码,和用以标识这些编译码的RTP净载荷类型号。
(3)对某一媒体流,主/被叫没有公共的媒体格式,被叫仍然要求返回媒体流的m=行,端口好为0,同时,不列净载荷类型。
(4)如果所有媒体流均无公共的媒体格式,则被叫回送415响应(不支持媒体类型),并加入304警告头字段(不支持媒体类型)。
3.多播操作
(1)接受和发送的多播地址是相同的。
(2)被叫不允许改变媒体流的仅仅只发、仅仅只收或收/发特性。
(3)如果被叫不支持多播,则回送400响应和330警告(多播不可用)。
4.延时媒体流
由于主叫可能实际上是一个和其他协议(如H.323)类似协议的网关,与被叫要求呼叫建立后进行媒体协商。主叫可以先发不带SDP的INVITE,通过ACK携带SDP或重新发一个INVITE请求修改被叫的会话描述(SDP)。
5.媒体流保持
如果要求对方进入HOLD,即暂时停止发送一个或多个媒体流,此时可以用Re-INVITE请求携带SDP,该话描述和原来请求或响应中描述相同,只是“c=0.0.0.0”,还有就是Re_INVITE中的Cseq得递增。
6.对应于SIP中有3个实体字段
(1) Content-Type:指明消息体类型,例如:application/SDP表示是SDP会话描述。
(2) Content-Encoding:补充说明消息体类型,使用户可以采用压缩编码编辑消息体。
(3) Content-Length:给出消息体的字节数。