SIP协议的网络架构和请求的研究

时间:2022-06-17 07:07:34

SIP协议的网络架构和请求的研究

摘要:SIP(Session Initiation Protocol)是VoIP系统中的一种通信控制协议。SIP协议具有结构简洁、易于扩展和适合Internet接入等良好的特性,它可以有效地控制媒体网关,控制PC呼叫。在软交换技术即将成为下一代网络交换技术的大背景下,SIP以其诸多优势被认为可作为软交换技术的接入层核心协议,并被成功应用于诸多电信运营商的代表性系统中。

关键词:VoIP;SIP;软交换

中图分类号:TP302.1文献标识码:A文章编号:1007-9599 (2011) 16-0000-02

SIP Protocol Network Architecture and Requests Research

Song Qiuli,Jia Lei

(Shangqiu Institute of Technology,Shangqiu476000,China)

Abstract:SIP (Session Initiation Protocol) is a VoIP system in a communication control protocol.SIP protocol with a simple structure,easy to extend and well-suited to Internet access and other features,it can effectively control the media gateway,call control PC.Soft-switching technology in next-generation network switching technology will become the backdrop,SIP with its many advantages are considered as the access layer of soft switching technology core protocol,and was successfully applied to many other telecom operators in the representation system.

Keywords:VoIP;SIP;Softswitch

一、SIP概述

SIP是由IETF(Internet Engineering Task Force)组织提出的一种开放的IP信令协议,称为会话初始化协议,它的主要目的是为了解决IP网络中的信令控制,以及与软交换网络的通信。SIP协议的第一版本是在1999年3月的,到2002年6月IETF的SIP工作组又发表了rfc3261。这也是SIP协议的最新的版本。SIP可用来创建、修改以及终结多个参与者参加的多媒体会话进程。与会者之间可以通过组播方式、单播连网或者二者相结合的形式进行通信。

二、SIP体系结构

SIP协议在结构上可以粗略的分为四层,各层之间工作相对独立。分层是为了描述的方便,并不要求具体实现也要分层,而且并不是每个SIP实体都必须包含所有的层。

第一层是语法与编码层,SIP采用递增BNF语法编码。

第二层是传输层。它定义了客户端如何发送请求、接受应答,服务器端如何接受请求、发送应答。

第三层是事务层。事务是SIP的一个基本要素。一个事务包括客户端向服务器发送的请求和针对一个请求产生的所有应答。

第四层是事务用户层。事务层处理应用层的转发、针对请求产生应答以及对应用层的超时进行处理。

三、SIP的网络架构

一个标准SIP基本网络架构包含以下几部分:Internet、LocationServer、RegisterServer、User Agent。

用户终端:SIP终端是会话的发起者和响应者,包括UAC和UAS。UA可以是PC上的软件终端,也可以是集成在嵌入式系统中的硬件终端。其中服务器是SIP网络体系的桥式单元,它起到寻径和转发SIP消息的作用。

多个网络互连(不考虑防火墙的情况),上述的多用途SIP服务器还必须具有针对SIP和RTP消息的NAT(网址翻译)功能,也就是充当SIP多媒体业务网关。所有基于SIP的信令和媒体流经由它与外网交互。

(一)SIP注册服务器

现实情况下,用户可以在不同的终端接入到SIP会议中,因此每一次终端的改变都将导致用户地址的变更。当一个用户想要和另一个用户联络时,他并不知道对方当前的确切地址,而只知道对方的一个“注册地址”。他只需将请求发送到注册地址,对方域的服务器就会通过一种地址服务查找到该用户的当前真实地址,从而将消息转发给他。这些是SIP注册服务器的基本功能。

用户注册的SIP请求称为REGISTER请求。接受用户注册的服务器叫做注册机。注册机充当地址服务域的前端,根据REGISTER请求的内容读取和映射地址。同时,该注册域的SIP服务器也可以访问地址服务,来处理消息转发。

(二)SIP服务器

服务器在SIP网络内扮演着十分重要的角色。它的作用是把用户客户端的请求路由到用户服务器端,以及把用户服务器端的应答路由回用户客户端。在多个网络互联的情况下,一个请求从用户客户端到用户服务器端往往要经过多个服务器,每个服务器都可以对这个请求进行修改,根据目标地址做出它自己的路由选择,并把这个请求发送到下一站,应答又从相反的方向经过这个服务器传送到用户用户端。服务器只需要对用户的首次请求和应答进行转发。当用户之间建立起SIP对话关系后,它们已经了解了对方的当前接入地址,所以此后的SIP消息和媒体流数据传输都无需通过服务器了。

四、SIP请求

SIP请求消息的起始行由方法、Request-URI和SIP版本号等3部分顺序组成。三者之间用空格隔开。到目前为止,一共有6种方法。

(1)INVITE INVITE方法邀请其它用户加入会话,相应的消息体是对会话的描述,通常采用与SIP配套的SDP。描述的内容包括主叫可接收的媒体类型,可发送的媒体类型及相关参数。INVITE也可以用来修改一个已经存在的会话的参数。

(2)ACK ACK是用户客户机在接收到INVITE的最终响应之后发出的确认,没有响应消息,并且ACK只与INVITE捆绑使用。ACK请求也可以包含消息体。由于INVITE请求在呼叫双方建立对话(Dialog),所以被呼叫方需要呼叫方对其发出的最终应答进行确认,所以INVITE请求要进行三次握手。

(3)BYE当用户客户机准备释放一个呼叫时,可以向服务器发出BYE请求。主被叫双方都可以发出这一请求,相当于电话系统中的挂机操作。BYE请求是对话内请求,其DialogID,CSeq Number,Request-URI要满足对话内请求的条件。

(4)CANCEL CANCEL请求可以取消一个尚未完成的请求,即那些还未收到最终响应(200-699)消息的请求,此时要求CANCEL请求消息与将被取消的请求消息具有相同的CallID,To,From,CSeq Number,Top Via Branch。用户客户机和用户服务器都可以发出CANCEL请求。虽然CANCEL请求可以取消除ACK和CANCEL以外的其他所有请求类型,但它通常只用来取消INVITE请求。

(5)REGISTER用户客户机利用REGISTER请求消息将To域中的SIP URI和Contact域的具置信息的对应关系登记在定位服务器中。用户客户机在开机启动时将REGISTER请求以组播方式发送给公认的、代表所有SIP服务器的组播地址“”(224.0.1.75),但要保证该请求消息不超过Internet自治管理域的边界。

(6)OPTIONS OPTIONS请求用于查询用户服务器的能力。用户服务器在响应的Allow域中指明它能支持的方法。服务器和重定向服务器只将该请求消息前转而不指示他们自己的能力。

(一)SIP响应

SIP响应消息的起始行由SIP版本号、状态码和用自然语言描述的原因组成。状态码由3个阿拉伯数字组成,用于计算机判断具体响应的结果,原因部分则是出于帮助SIP用户更好地理解响应消息的目的而设计的。

(二)SIP头域

SIP用头域(Header)描述消息的属性,消息从哪里来,发送到哪里,有效时间等等信息都由各自的头域进行描述。SIP头域与HTTP头域十分相似,遵从以下格式:

field-name:field-value

(三)SIP消息体

SIP消息中可以包括信息体,SIP支持多种类型的信息体,通常可以在ALLOW头域中描述服务器支持的信息体类型。SIP应用必须支持Application/sdp类型的信息体,SDP信息体可以用来在通信双方之间协商通信的参数。在SIP消息中用Content-Type、Content-Encoding、Content-Length、Content-Disposition等头域描述关于信息体本身的信息。

五、SIP的工作机制

SIP的工作是由一系列事务构成的,事务是构成SIP工作最基本的要素。事务是指SIP客户端向SIP服务器发起的一次请求以及针对此次请求产生的所有应答的处理过程。事务分为客户事务和服务器事务两大类。客户事务是指发起请求一端(即客户端)的处理过程,服务器事务是指接受请求一端(即服务器端)的处理过程。事务还可以根据发起事务的请求是否为INVITE,分为INVITE事务和NON-INVITE事务。

六、论文小结

本章主要对SIP协议进行了介绍,内容包括SIP的休系结构、SIP消息体的构成、SIP事务和SIP服务器的构架。SIP是基于事务机制的,本章主要对SIP的消息和SIP的工作机制做了详细的介绍,SIP消息分为请求和应答两种,SIP消息包含SIP头域和SIP消息体;SIP的事务有四种,分别为INVITE和NON-INVITE客户事务及INVITE和NON-INVITE的服务器事务。

参考文献:

[1]黄智伟.下一代网络的核心技术-软交换[J].中国数据通信,2002,8:23-35

[2]李琳.SIP协议在开放的VOIP模型中的实现[J].计算机工程,2002,s1:223-227

[3]Joon work Address Translators(NATs)[J].Firewalls and H.323,2000,10:32-64

[作者简介]宋秋丽,女,中共党员,助教,现任商丘工学院机电工程学院教学秘书。

上一篇:浅谈煤仓支护施工工艺 下一篇:可靠性电价理论与算例分析