您好,欢迎来到外链网!
当前位置:外链网 » 站长资讯 » 专业问答 » 文章详细 订阅RssFeed

sdp信息,SDP产品

来源:互联网 浏览:160次 时间:2023-04-08
1 概述

SDP制订的目的是描述多媒体会话,如会话通知、会话邀请或其他发起多媒体会话的形式。

SDP是纯粹的会话的描述格式而不是一个传输协议。它可以使用不同的传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIME扩展协议的电子邮件以及超文本传输协议(HTTP),SDP并不描述广播地址的分配,或者详细的消息描述,并且SDP也不是为沟通媒体编解码而设计的。

SDP被设计成一个用于通用目的,它可以广泛的用于网络环境和应用。

2 SDP的使用

SDP是一种多媒体会议的会话描述协议,SDP通常的使用模式为:一个客户机定期的向已知的广播地址和端口广播通知报文(announcement Packet),来通知一个会议的会话(conference session)。这是一种广播通知(Multicast Announcements)的形式。主要使用Session Announcement Protocol (SAP)来承载。

文本静荷(The text payload)是一个SDP会话描述。文本静荷的长度不应该超过1 Kbyte。如果使用SAP的话,一个报文只能承载一个会话通知。

除了使用SAP进行广播性的通知,电子邮件和WWW也可以传送会话描述。对于email 和WWW,MIME类型”application/sdp”是必须要使用的。这使为作为会话参与者的WWW客户端和邮件的读者提供的应用程序可以以一种标准的方式自动运行。

注意的是仅仅通过email和WWW通告的多播会话并不包含会话通知的接收者有能力接收这个会话的属性。因为多播会话可能在范围上受局限,连接到WWW服务器或接收电子邮件有可能超出了这一局限。SAP 通告不会有这样的问题。

3 SDP的内容

SDP的目的是传送多媒体会话中的媒体流的信息,以使会话描述的接收者可以参加会话。所以,SDP应该包含足够的信息来发起会话或使接收者加入会话。

SDP应该包含:

l 会话名和会话目的 l 会话激活的时间 l 会话由何种媒体组成 l 接收这些媒体的信息(地址,端口,格式等等)l 会话所用到的带宽信息。 l 连接信息

通常情况下,SDP应该传送加入会话的足够的信息 (包含可能的特殊的加密钥匙)并且通知未参与者可能要用到的资源。

3.1 媒体信息 Media Information

SDP包含:

l 媒体类型(video, audio, etc)l 传输协议(RTP/UDP/IP, H.320, etc)

l 媒体格式(H.261 video, MPEG video, etc)

对于IP多播会话,应该包含:

l 媒体的多播地址和媒体的传输端口

对于IP单播,需要传输以下信息:

l 媒体的目的地址和传输端口

这里的地址和端口与媒体和传输协议的定义有关。缺省情况下,地址和端口是发端的地址和端口及收端的地址和端口,可是,有些媒体可以定义使用这些来为实际的媒体流建立一个控制通道。

3.2 时间信息 Timing Information

会话可以是有时间限制也可以是无时间限制的,但是不管有无时间限制,他们都只能在有限时间内活动。
SDP可以传送:

l 一个任意的会话的起止时间范围的列表

l 每一个时间段可以循环的时间范围,如”every Wednesday at 10am for one hour”

这些时间信息是全局一致的,与本地的时间无关。

3.3 私有会话 Private Sessions

可以创建公共会话,也可以创建私有会话。私有会话主要通过经过加密的会话描述来传输。加密的细节主要与传输SDP的机制有关,可以参考SAP。
如果会话通告是私有的,那么就可以使用这个私有的会话通告来传输会话中vps云服务器的媒体解码所需的密码钥匙。其中包含每一个媒体所使用的加密方案。

3.4 预留 Obtaining Further Information about a Session

会话描述应该传输足够的信息,以使用户决定是否参与会话。SDP可以在Universal Resources Identifiers (URIs)加入额外的标记,以提供会话的更多的信息。

3.5 分类Categorisation

当SAP或其他的通告机制传输几种会话描述,那么应该可以过滤这些通告,决定哪些是感兴趣的,那些不是。SDP支持一种会话的分类机制,这是可以自动完成的。

3.6 国际化 Internationalization

SDP规范推荐使用UTF-8 encoding (RFC 2044)中的ISO 10646 字符集,以使不同的语言都可以表达。可是,为了简洁的表述,SDP也可以使用其它的字符集,如ISO 8859-1,国际化仅仅由free-text fields (会话名和背景信息)使用, 并不是所有的SDP都要使用。

4 SDP格式

SDP会话描述全部是基于文本的,使用UTF-8 encoding制定的ISO 10646 字符集,SDP域的名称和属性的名称只使用UTF-8中的US-ASCII子集, 但文本域和属性值可以使用完整的ISO 10646字符集。

选择文本编码形式是基于简便,以便使用不同的传输方式,允许更好的柔韧性和使用基于文本的工具来产生和处理会话描述。 因为给所有的SAP通告的整个带宽的分配是有严格限制的,所以编码尽量做得紧凑。又因为通告可能会通过一些不可靠的传输途径 (如: email)或者被一些中间的缓存服务器损坏,编码就必须被设计成有严格的顺序和格式,这样大多数的错误就会更容易被检测和丢弃。这也可以让没有密码钥匙的用户快速的监测和丢弃有密码保护的通告。

一个会话描述由一个会话级描述(session-level description,整个会话和所有媒体流都接受的细节)和几个媒体级描述(media-level descriptions单个媒体流接受的细节)组成。

一个通告由一个会话级部分(session-level section)和0个或几个媒体级部分(media-level sections)组成。会话级部分由一个‘v=’行开始,后面跟随第一个媒体级部分。媒体描述由‘m=’行开始,后面跟随下一个媒体描述,或者是整个会话描述的结尾。通常情况下,会话级的值是所有媒体的缺省值,除非被媒体级的相同的值覆盖。

当SDP被SAP传输,每个包只允许一个会话描述。当SDP 被其他形式运载,几个SDP会话描述有可能会被组装到一起,(‘v=’行是上一个会话描述的结束,和新的会话描述的开始)。在每一个描述中,一些行是必需的,一些是可选的,但所有的必须按照下面的顺序出现(固定的顺序可以极大地提高错误检测并可以使用简单的解析器),可选行由‘*’标识。

SDP会话描述有以下三部分内容:会话描述、媒体描述、时间描述。
会话描述:
v= (协议版本protocol version)
o= (所有者和会话标识符owner/creator and session identifier).
s= (会话名session name)
i=* (会话信息session information)
u=* (URI的描述 URI of description)
e=* (邮件地址email address)
p=* (电话号码phone number)
c=* (连接信息connection information - not required if included in all media)
b=* (带宽信息bandwidth information)
One or more time descriptions (see below)
z=* (地区时间调整time zone adjustments)
k=* (加密钥匙encryption key)
a=* (0或多个会话属性行zero or more session attribute lines)
Zero or more media descriptions (see below)
时间描述:
t= (会话激活的时间time the session is active)
r=* (0或多个重复时间zero or more repeat times)
媒体描述:
m= (媒体名和传输地址media name and transport address)
i=* (媒体标题media title)
c=* (连接信息connection information - optional if included at session-level)
b=* (带宽信息bandwidth information)
k=* (加密钥匙encryption key)
a=* (0或多个媒体属性行zero or more media attribute lines)
更详细的说明请参考Rfc2327。

下面是国标对SDP协议的描述:






94485721