分享
 
 
 

SIP、SAP及SDP协议组合应用的研究

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

摘 要 SIP、SAP、SDP是NGN与3Tnet中涉及的重要协议。本文在介绍与分析SIP、SAP、SDP协议的基础上,给出了一个基于三种协议组合而实现的多媒体会议应用实例。

要害词 SIP SAP SDP

1 引 言

SIP(Session Initiation Protocol,会话初始协议)、SAP(Session Announcement Protocol,会话通告协议)、SDP(Session Description Protocol,会话描述协议)是三个与会话(Session)有关的既有联系又有区别的RFC协议。在本文中,我们将对这三个协议做简单分析并给出一个利用这三个协议实现的具有一定实用价值的多媒体应用。

2 协议分析

2.1 SIP协议介绍与分析

会话初始协议(SIP)是一信令协议用于初始、治理和终止分组网络中的语音和视频会话,具体地说就是用来生成、修改和终结一个或多个参与者之间的会话。SIP是互联网工程任务组(IETF)多媒体数据和控制体系结构的一个组成部分,因此它与IETF的许多其他协议都有联系,例如RTP(实时传输协议)和本文提到的SAP、SDP协议。

SIP主要提供了与会话建立和终结相关的五个方面功能,它们是:

(1)用户定位:用于通信的终端系统的决定;

(2)用户可用性:被呼叫方参与通信的意愿的决定;

(3)用户能力:使用的媒体和媒体参数的决定;

(4)会话建立:“振铃”,呼叫和被呼叫方会话参数的建立;

(5)会话治理:包括转移和终结会话,修改会话参数,以及调用业务等。

SIP网络由四种类型的逻辑SIP实体组成。每一实体具有特定的功能,并且作为客户机(初始请求),或作为服务器(响应请求),或作为两者的结合参与到SIP通信中。一个“物理设备”能够具有多于一个逻辑SIP实体的功能性。例如,作为代理服务器的网络服务器可同时具备注册服务器的功能。

下面是四种功能实体:

(1)用户代理

在SIP中,用户代理(UA)是端点实体。用户代理通过交换请求和响应初始和终止会话。UA作为一应用程序,它包含用户代理客户机和用户代理服务器,如下:

· 用户代理客户机(UAC):客户机应用程序,它初始SIP请求。

· 用户代理服务器(UAS):服务器应用程序,当接收到SIP请求时它联系用户并且代表用户返回一响应。

在SIP网络中具有UA功能的设备是:工作站,IP电话,电话网关,呼叫代理,自动应答服务。

(2)代理服务器

代理服务器是同时作为服务器和客户机的中间实体,其目的是代表其他客户机生成请求。请求被内部处理或可能在翻译之后将其传递到其他服务器。假如需要,代理在转发之前可解释和重写请求消息。

(3)重定向服务器

重定向服务器接受SIP请求,并将被呼叫方的SIP地址映射成零个(假如没有可知地址)或更多的新地址并且将它们返回客户机。不像代理服务器,重定向服务器不传递请求到其他服务器。

(4)注册服务器

注册服务器是接受REGISTER请求的服务器,其目的是根据用户在请求中规定的联系信息更新位置数据库。

SIP通过E-mail形式的地址来标明用户地址。每一用户通过一等级化的URL来标识,它通过诸如用户电话号码或主机名等元素来构造(例如:SIP:user@company.com)。因为它与E-mail地址的相似性,SIP URLs轻易与用户的E-mail地址关联。

SIP有两种类型的消息,它们是:

(1)请求:从客户机发到服务器的消息。

(2)响应:从服务器发到客户机的消息。

其中请求消息包括:

· INVITE:初始呼叫,改变所以参数(re-INVITE)。

· ACK:确认INVITE的最终应答。

· BYE:终止呼叫。

· CANCEL:撤消搜索和振玲。

· OPTIONS:查询另一方能力。

· REGISTER:注册位置服务。

· INFO:发送会话中信息而不改变会话状态。

· PRACK:与ACK作用相同,但是用于临时响应。

· SUBSCRIBE:该方法用来向远端端点预订其状态变化的通知。

· NOTIFY:该方法发送消息以通知预订者它所预定的状态的变化。

· UPDATE:答应客户更新一个会话的参数而不影响该会话的当前状态。

· MESSAGE:通过在其请求体中承载即时消息内容实现即时消息。

· REFER:其功能是指示接受方通过使用在请求中提供的联系地址信息联系第三方。

响应消息包含数字响应代码。SIP响应代码集部分基于HTTP响应代码。有两种类型的响应,它们是:

· 临时响应(1XX):临时响应被服务器用来指示进程,但是不终结SIP事物。

· 最终响应(2XX,3XX,4XX,5XX,6XX):最终响应终止SIP事物。

每条SIP消息由以下三部分组成:

(1)起始行(Start Line):每个SIP消息由起始行开始。起始行传达消息类型(在请求中是方法类型,在响应中是响应代码)与协议版本。起始行可以是一请求行(请求)或状态行(响应)。

(2)SIP头:用来传递消息属性和修改消息意义。它们在语法和语义上与HTTP头域相同(实际上有些头就是借自HTTP),并且总是保持格式:<名字>:<值>。

(3)消息体:用于描述被初始的会话(例如,在多媒体会话中包括音频和视频编码类型,采样率等)。消息体能够显示在请求与响应中。SIP清楚区别了在SIP起始行和头中传递的信令信息与在SIP范围之外的会话描述信息。可能的体类型就包括本文将要描述的SDP会话描述协议。

2.2 SAP协议介绍与分析

SAP的全称是会话通告协议,其目的是为了通知一个多播的多媒体会议或其他多播会话而将相关的会话建立信息发送给所期望的会议参与者。SAP协议本身并不建立会话,它只是将建立会话所必要的信息,例如所采取的视频或音频编码方式通知给其他在一个多播组内的参与者,当参与者接收到该通知数据包后就可以启动相应的工具并设置正确的参数向该会议的发起者建立会话了(建立会话可以使用SIP协议)。

通知的发起者并不知道各参与者是否收到了会话通知,也就是说每个参与者并不向通知发起者回复“我收到了通知”的确认;因此,通知发起者只能够通过周期性地发送这个会话通知从而最大可能地使参与者收到通知。

SAP并不是向每个参与者一一发通知数据包,它是通过多播的机制(multicast)向一个已知的多播地址和端口一次性发送一个通知数据包,该多播组内的成员假如工作正常的化就会收到该通知数据包。因此,为了使会议的参与者都能够接收到通知,就要确保其参加到该多播组内。

一个通知数据报除了可以通知某会话将要发起外,还可以通知该会话取消了或该会话的某些通信参数已被修改了。当然,这需要相应机制使这几个通知都是针对同一会话的。

那么SAP如何描述会话的相关信息,这就需要借助SDP协议了。在SAP数据包的payload字段中一般情况下填充的就是SDP数据,它描述了建立会话所必要的基本信息。

SDP将在1.3节中介绍。

2.3 SDP协议介绍与分析

上面介绍的两个协议都用到了SDP,实际上SDP就是用来描述多媒体会话通告,多媒体会话邀请和其他形式的多媒体会话初始化的协议。SDP包通常包括以下信息:

(1)会话信息

· 会话名和目的。

· 会话活动时间。

由于参与会话的资源是受限制的,因此包括以下附加信息是非常有用的。

· 会话使用的带宽信息。

· 会话负责人的联系信息。

(2)媒体信息

· 媒体类型,例如视频和音频。

· 传输协议,例如RTP/UDP/IP和H.320。

· 媒体格式,例如H.261视频和MPEG视频。

· 多播地址和媒体传输端口(IP多播会话)。

· 用于联系地址的媒体和传输端口的远端地址(IP单播会话)。

SDP描述由许多文本行组成,文本行的格式为<类型>=<值>,<类型>是一个字母,<值>是结构化的文本串,其格式依<类型>而定。

3 SAP、SIP、SDP组合应用实例

在这个应用实例中,我们设计了这样一种场景:某公司领导需要与本公司各部门负责人召开电视会议。他使用的多媒体会议系统采用了本文所描述的这种SAP、SIP、SDP组合应用技术。该公司领导首先通过一台具有Web浏览功能的客户机登陆会议服务器,注册一个会议。在注册的同时,他就将各部门负责人纳入了本次会议的参与者之列(当然,还需要该公司领导和各部门负责人的客户机在同一个多播组内)。然后,他在页面上点击一个“会议通知”按钮,会议服务器就通过SAP协议向本次会议的各参与者(包括公司领导和部门负责人)所在客户机发送召开会议的通知。此时,若各参与者所在客户机是正常的连接到网络上并且SAP通知接收器正常工作的话,它就会以声音或图形的方式通知该参与者,同时预备好本客户机参加此次会议的客户端程序。当各参与者发现会议通知后,他在已经预备好的会议客户端程序上点击一个“参加会议”的按钮,客户端就通过SIP协议将该客户机轻松地加入到会议之中。当参与者到齐后,在会议主席(公司领导)的控制下,此次会议就可以正式开始了。

各参与者客户机上的SAP通知接收器接收到会议通知后,它会尽可能地调用客户机上的各种资源以满足本次会议的要求,假如实在不能够满足的话,它也可以以书面形式通知参与者本机所缺的资源。在整个会议的SAP、SIP交互过程中都用到了SDP协议来描述会话和媒体信息。简要流程如附图所示。

4 结束语

SAP、SIP、SDP都不是孤立的协议,只有在相互组合与协调并且与其他协议配合的情况下,才能够发挥它们应有的强大作用。本文给出了SAP、SIP、SDP组合应用

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有