SIP是一项类似于HTTP的基于文本的协议。比较有意义的是,SIP可以减少应用特别是应用的开发时间。而且,由于HTTP和SIP之间存在相似之处,已有许多人准备采用SIP来生成应用。
有两种类型的SIP消息:
● 请求:从客户机发到服务器
● 响应:从服务器发到客户机
SIP请求消息包含三个元素:请求行、头、消息体。
SIP响应消息包含三个元素:状态行、头、消息体。
请求行和头域根据业务、地址和协议特征定义了呼叫的本质,消息体独立于SIP协议并且可包含任何内容。
SIP定义了下述方法:
INVITE——邀请用户加入呼叫。
BYE——终止一呼叫上的两个用户之间的呼叫。
OPTIONS——请求关于服务器能力的信息。
ACK——确认客户机已经接收到对INVITE的最终响应。
REGISTER——提供地址解析的映射,让服务器知道其它用户的位置。
INFO——用于会话中信令。
1、名字翻译和用户定位:无论被呼叫方在哪里都确保呼叫达到被叫方。执行任何描述信息到定位信息的映射。确保呼叫(会话)的本质细节被支持。
2、特征协商:它允许与呼叫有关的组(这可以是多方呼叫)在支持的特征上达成一致(注意:不是所有方都能够支持相同级别的特征)。例如视频可以或不可以被支持。总之,存在很多需要协商的范围。
3、呼叫参与者管理:呼叫中参与者能够引入其它用户加入呼叫或取消到其它用户的连接。此外,用户可以被转移或置为呼叫保持。
4、呼叫特征改变:用户应该能够改变呼叫过程中的呼叫特征。例如,一呼叫可以被设置为“voice-only”,但是在呼叫过程中,用户可以需要开启视频功能。也就是说一个加入呼叫的第三方为了加入该呼叫可以开启不同的特征。
SIP中有两个要素。SIP用户代理和SIP网络服务器。用户代理是呼叫的终端系统元素,而SIP服务器是处理与多个呼叫相关联信令的网络设备。
用户代理本身具有一客户机元素(用户代理客户机UAC)和一服务器元素(用户代理服务器UAS)。客户机元素初始呼叫而服务器元素应答呼叫。这允许点到点的呼叫通过客户机-服务器协议来完成。
SIP服务器元素提供多种类型的服务器。有三种服务器形式存在于网络中--SIP有状态代理服务器,SIP无状态代理服务器和SIP重定向服务器。由于呼叫者未必知道被呼叫方的IP地址或主机名,SIP服务器的主要功能是提供名字解析和用户定位。可以获得的是email形式的地址或与被呼叫方关联的电话号码。使用该信息,呼叫者的用户代理能够确定特定服务器来解析地址信息--这可能涉及网络中很多服务器。
SIP代理服务器接收请求,决定将这些请求传送到何处,并且将它们传送到下一服务器(使用下一跳路由原理)。在网络中可以有多跳。
有状态和无状态代理服务器的区别是有状态代理服务器记住它接收的入请求,以及回送的响应和它转送的出请求。无状态代理服务器一旦转送请求后就忘记所有的信息。这允许有状态代理服务器生成请求以并行地尝试多个可能的用户位置并且送回的响应。无状态代理服务器可能是最快的,并且是SIP结构的骨干。有状态代理服务器可能是离用户代理最近的本地设备,它控制用户域并且是应用服务的主要平台。
重定向服务器接收请求,但不是将这些请求传递给下一服务器而是向呼叫者发送响应以指示被呼叫用户的地址。这使得呼叫者可以直接联系在下一服务器上被呼叫方的地址。
1、用户定位
2、用户能力
3、用户可用性
4、呼叫建立
5、呼叫处理
6、呼叫前转,包括:(1)等效800类型的呼叫,(2)无应答呼叫前转,(3)遇忙呼叫前转,(4)无条件呼叫前转
7、呼叫号码传递,该号码可以是任何命名机制。
8、个人移动性,例如通过一个单一的、位置无关的地址来到达被呼叫方,即使被呼叫方改变了终端。
9、终端类型的协商和选择:呼叫者可以给出选择如何到达对方,例如通过因特网电话,移动电话或应答业务等。
10、终端能力协商
11、呼叫者和被呼叫者鉴权
12、不知情和指导式的呼叫转移
13、多播会议的邀请
更多精彩内容,请登入维库电子通(wiki.dzsc.com)