网络通信 频道

SIP:构筑下一代SoftSwitch的协议(1)

一、SIP的提出和发起

  SIP(Session Initiation Protocol,会话发起协议)是由IETF(Interne工程任务组) 提出的IP电话信令协议。它的主要目的是为了解决IP网中的信令控制,以及同SoftSwitch的通信,从而构成下一代的增值业务平台,对电信,银行,金融等行业提供更好的增值业务。其结构图如下所示。



  各功能模块说明如下:

  SoftSwitch: 主要实现连接,路由和呼叫控制,关守和带宽的管理,以及话务纪录的生成。

  Media Gateway: 提供电路交换网(即传统的PSTN网)与包交换网(即IP,ATM网)中信息转换(包括语音压缩、数据检测等)。

  Sinnaling Gateway:提供PSTN网同IP网间的协议的转换。

  Application Server:运行和管理增值业务的平台,与SoftSwitch用SIP进行通信。

  Media Server: 提供媒体和语音资源的平台,同时与Media Gateway进行RTP流的传输。

  使用SIP作为SoftSwitch和Application Server之间的接口,可以实现呼叫控制的所有功能。同时SIP已被SoftSwitch接受为通用的接口标准,从而可以实现SoftSwitch之间的互连。

  二、SIP的功能和特点

  正如其名字所隐含的,SIP用于发起会话,它能控制多个参与者参加的多媒体会话的建立和终结,并能动态调整和修改会话属性,如会话带宽要求、传输的媒体类型(语音、视频和数据等)、媒体的编解码格式、对组播和单播的支持等。

  SIP在设计上充分考虑了对其他协议的扩展适应性。它支持许多种地址描述和寻址,包括: 用户名@主机地址、被叫号码@PSTN网关地址和如Tel:010-62281234这样普通电话号码的描述等。这样,SIP主叫按照被叫地址,就可以识别出被叫是否在传统电话网上,然后通过一个与传 统电话网相连的网关向被叫发起并建立呼叫。SIP的最强大之处就是用户定位功能。SIP本身含有向注册服务器注册的功能,也可以利用其他定位服务器如DNS、LDAP等提供的定位服务器来增强其定位功能。

  三.SIP中服务器的分类和功能

  SIP中有客户机和服务器之分。客户机是指为了向服务器发送请求而与服务器建立连接的应用程序。用户代理(User Agent)和代理(Proxy)中含有客户机。服务器是用于向客户机发来 的请求提供服务并回送应答的应用程序。

  共有4类基本服务器:

  用户代理服务器:当接到SIP请求时联系用户,并代表用户返回响应。

  代理服务器:代表其他客户机发起请求,既充当服务器又充当客户机的媒介程序。它在转发请求之前可能改写原请求消息中的内容。

  重走向服务器:接收SIP请求,把请求中的原地址映射成零个或多个新地址,返回给客户机。

  注册服务器:接收客户机的注册请求,完成用户地址的注册。

  用户终端程序往往需要包括用户代理客户机和用户代理服务器。代理服务器、重定向服务器 和注册服务器可以看作是公众性的网络服务器。在SIP中还经常提到"定位服务器"的概念,但是定位服务器不属于SIP服务器。SIP服务器请求定位服务的方式也不在SIP的讨论范围之内。其在IP网络中的实现如下所示。



  SIP独立于低层协议,一般使用UDP等无连接的协议,而采用自己的应用层可靠性机制来保证消息的可靠传输。

  四、SIP的消息定义和格式

  SIP的消息定义完全基于文本的格式。分为消息头和消息体,其主要有如下几个字段。 To 注册的目的地址。 From 注册的头地址。如果是第一次注册,则与目的地址相同。 Content-Type 消息的类型 Content-Length 消息的长度 Request-URI 注册请求的目的地址 Call-ID 所有的来自一个客户机的注册都是用相同的Call-ID Cseq 以相同Call-Id的注册必须拥有递增的Cseq号。

  五、SIP的方法

  SIP主要用以下六个方法来实现对呼叫的控制。

  (1)INVITE

  INVITE方法说明一个用户或业务参加一个会话。消息体部分包含了被叫的信息说明。对于双方呼叫,主叫需说明他能接受和发送的媒质类型。示例如下: INVITE A -> Proxy 1

INVITE sip:UserB@there.com SIP/2.0

Via: SIP/2.0/UDP here.com:5060

From: BigGuy

To: LittleGuy

Call-ID: 12345600@here.com

CSeq: 1 INVITE

Contact: BigGuy

Content-Type: application/sdp

Content-Length: 147

v=0

o=UserA 2890844526 2890844526 IN IP4 here.com

s=Session SDP

c=IN IP4 100.101.102.103

t=0 0

m=audio 49172 RTP/AVP 0

a=rtpmap:0 PCMU/8000

  (2)ACK

  ACK方法主要用于确认客户端对INVITE方法的请求已经响应。

示例如下:

ACK sip:UserB@there.com SIP/2.0

Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2d4790.1

Via: SIP/2.0/UDP here.com:5060

Route:

From: BigGuy

To: LittleGuy ;tag=314159

Call-ID: 12345601@here.com

CSeq: 1 ACK

Content-Length: 0

 

转载地址:http://www.voipchina.cn/technology/2004-03-21/36789.shtml

0
相关文章