51学通信技术论坛

 找回密码
 立即注册
搜索
查看: 5802|回复: 5
打印 上一主题 下一主题

1.1 SIP概述 [复制链接]

Rank: 9Rank: 9

懒

跳转到指定楼层
楼主
发表于 2011-3-12 12:21:09 |只看该作者 |倒序浏览
一键分享 一键分享
本帖最后由 爱卫生 于 2011-3-12 16:20 编辑

SIP产生的背景
    我们之前了解到,在固定电话交换网络中使用 H.323实时传输多媒体信息流,该协议是由国际电信联盟(ITU)提出的,它从电信的角度来看待IP网络实时传输多媒体信息流所面临的问题,自然会将用于电信网络的协议经过修改,应用到IP网络。因此,H.323协议架构中的呼叫信令协议完全引用了ISDN的Q.931呼叫信令协议。但IP网络建立多媒体通信会话机制与电信网络建立端到端呼叫连接的过程并不完全相同。在电信网络中,呼叫连接建立过程,实际上也是在TDM网络中预留DS0电路的过程,只要完成呼叫连接过程,就能实现端到端的语音通信。但在IP网络中建立多媒体通信会话的过程和电信网络有较大不同,IP网络并不需要在传输通过经过的路由器或交换机上建立DS0交换电路,即使要预留用于传输多媒体信息流的资源(如带宽等),也不是由呼叫信令协议完成的。建立多媒体通信会话,关键在于同步发送方和接收方的状态,协调发送方和接收方的能力(如多媒体信息编码方式),获取双方用于传输RTP分组的传输地址(IP地址+端口号)。Q.931呼叫信令协议并不具备这些信息,建立呼叫连接实际上只是打开了用户传输H.245控制信令消息的控制信道,必须通过H.245的能力交换过程才能协调好会话双方的能力,通过打开双向逻辑信道,才能获取对方用于接收RTP分组的传输地址。因此,用H.323协议完成的多媒体通信会话的建立过程十分复杂。虽然ITU也提出了快速链接过程,以此弥补H.323协议的不足,但快速连接过程并不如标准的H.323协议兼容,因此,在实际应用中有着很大的限制。
   既然在IP网络中建立多媒体通信会话和在TDM网络中建立端到端呼叫连接有着如此大的区别,IETF自然想到提出适用于在IP网络上建立多媒体通信会话的协议,该协议要求简单、能够协调会话双方处理多媒体信息流的能力、可以获取会话双方用于接收RTP分组的传输地址,在网关之间建立多媒体通信会话时,又能中继传统TDM网络(如PSTN)的信令消息,这个协议就是会话初始化协议(SIP)。
概述
  SIP是一个信令协议,它的作用在于建立、修改、释放多媒体会话。当会话的一端向会话的另一端发出建立多媒体会话的邀请时,必须在SIP的邀请消息中给出描述会话特征的信息。对于SIP而言,可以用任何传输协议来完成多媒体会话所指定的多媒体信息流的传输,但在通常情况下,它用RTP作为多媒体信息流的传输协议。在IP网络中,SIP消息的传输路径和多媒体会话指定的多媒体信息流的传输路径是相互独立的,这种独立性使得用于控制多媒体会话的SIP消息可以经过一个或多个代理服务器或重定位服务器进行转发,而多媒体信息流可以直接在会话的两个端点之间进行传输。

www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

Rank: 9Rank: 9

懒

沙发
发表于 2011-3-12 13:13:00 |只看该作者

1.1.1 编址

本帖最后由 爱卫生 于 2011-3-12 13:20 编辑

   在PSTN中,用于唯一标识电话机的标识符为电话号码;在SIP网络中,用于唯一标识终端用户的标识符为同一定位标识符(URI)。URI由两部分组成:用户名和主机名(用户名@主机名的格式)。用户名通常用来指定某个特定的应用程序,而主机名用于唯一的标识SIP网络中的某个主机。因此,可以用IP地址或完全限定域名(FQDN)作为主机名。如果所有的主机名都可以直接用IP地址或完全限定域名给出,对于SIP操作来讲是一件好事。当某个终端希望和另一个终端建立多媒体通信会话时,终端用户通过应用程序接口输入另一个终端的URI,该终端可以直接用URI给出的目的终端的IP地址或通过DNS解析得到的目的终端的IP地址构成用于传输SIP信令消息的IP分组,并通过IP网络将该IP分组送达目的终端。
  在这里,URI的主机名有着两重意思,一重意思是用于唯一的标识SIP终端(或客户),另一重意思是作为可以直接通过DNS解析到IP地址的完全限定域名。作为完全限定域名,必须服从域名的分配原则;但作为SIP终端标识符,用户希望它有着便于记忆的、特定的编码规律。这两重意思有时是相互矛盾的。另一方面,在一个用于语音通信的大型SIP网络中,SIP终端的数量是十分惊人的(想象一下全国电话网中的电话机数),对所有终端分配完全限定域名,并由DNS负责解析这些完全限定域名所对应的IP地址,将大大增加DNS的处理负担,影响作为SIP网络承载网的IP网络的运行效率。
  在PSTN中,电话号码的分配是非常有规律的。对每一个本地局内的电话机,首先分配一个局号,所有属于同一本地局的电话机,它的局号都是相同的。再用局内号码唯一标识本地局内的任何一台电话机,每台电话机的局内号码在指定本地局内是唯一的,同一本地局内不可能有两台电话机分配相同的局内号码。因此,可以用局号和局内号码唯一的标识某个电话机(更大范围的PSTN还需要加上区号)。而且局号和局内编号适合于记忆,便于用户使用。当某个用户(主叫)希望和另一个用户(被叫)建立呼叫连接时,由主叫用户输入被叫用户的电话号码。被叫用户的电话号码首先被传输到本地局,本地局通过检验局号确定是否是局内号码。如果是局内号码,直接在局内建立交换电话连接;如果是其他本地局号码,先建立和目的本地局(号码所属本地局)的电路连接,再将被叫号码送达目的本地局。任何一台电话机一旦被分配了一个号码,就在本地局的用户设备中分配了一条线路,该线路和电话机相连,局内建立交换电路连接只需在用户设备中的两对用户线路之间完成跳接即可。当然,这种跳接由电路完成。如果将PSTN的思想引申到SIP网络,就可将大型SIP网络划分成若干控制区域,这些控制区域在PSTN中被称为本地局,在SIP网络中称为域,由域名唯一的标识每个域。这里的域名更像PSTN网络中的局号,而不是直接可以用DNS解析的完全限定域名。至于域内的每一个用户,可以用用户名唯一的标识,这样,“用户名@域名”就成了用于标识用户的URI。在本地局中,一旦电话机接入PSTN,就在用户设备中将连接电话机的用户先和分配给电话机的电话号码绑定在一起;但在SIP网络中,用注册服务器将用户名@域名和真正在IP网络中标识主机地址和主机中应用程序的用户名@主机号绑定在一起,就像每一个电话机必须由本地局分配电话号码和相应的用户线路一样。每一个控制域必须要有一台注册服务器完成用于标识SIP网络终端的用户名@域名和在IP网络中标识主机及应用程序的URI之间绑定,这种绑定通过注册过程实现。
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 9Rank: 9

懒

板凳
发表于 2011-3-12 13:29:42 |只看该作者

1.1.2 代理服务器

    就像每一个本地局都有一台本地交换机一样,每一个控制域都有一台代理服务器。代理服务器的作用和本地交换机有一些类似,主要用于完成SIP消息的路由。每一个SIP终端将请求消息发送给为它所在控制域服务的代理服务器,请求消息中必须给出目的SIP网络终端的用户名@域名。当代理服务器接收到该请求消息后,通过比较目的SIP网络终端的域名,确定是否是本控制域内呼叫请求。如果是的话,通过查找注册服务器,获取目的SIP网络终端的IP地址,将请求消息转发给目的SIP网络终端;如果是域间呼叫,代理服务器必须找出为目的SIP网络终端所在控制域服务的代理服务器,将请求消息转发给该代理服务器。根据目的SIP终端的用户名@域名,确定下一跳代理服务器的方法有多种,一是用户通过静态配置转发路由表,给出不同目的域的下一跳代理服务器;二是通过定位服务获取为目的控制域服务的代理服务器。由于域名只给出标识控制域的信息,并不是一个完全限定域名,不能简单地通过DNS完成定位服务。
  SIP是一种客户机/服务器协议,启动会话的一方为客户,响应会话请求的一方为服务器。在SIP中,客户称为用户代理客户(UAC),服务器称为用户代理服务器(UAS)。就像本地交换机一样,在会话建立过程中,代理服务器也需要对用户代理客户发送来的请求作临时响应,而且对于下一跳代理服务器而言,代理服务器本身也是一个用户代理客户UAC。因此,代理服务器通常同时具有UAC和UAS的功能。
  在SIP中,将一次请求---响应过程称之为事务,因此,UAC和UAS都是指某个特定的事务而言的。某个SIP终端在某个事务中可以作为UAC,在另一个事务中又可变为UAS。
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 9Rank: 9

懒

地板
发表于 2011-3-12 14:04:08 |只看该作者

1.1.3 SIP操作过程

本帖最后由 爱卫生 于 2011-3-12 16:20 编辑

   当某个SIP网络终端希望和另一个SIP网络终端建立多媒体通信会话时,多媒体应用程序通过用户接口获取目的SIP网络终端的用户名@域名,并以此构成SIP请求消息。如果了解H.323协议的话,我们知道在建立多媒体通信会话时,必须协调双方处理多媒体信息流的能力(如编码格式及所需带宽等),因此,在SIP请求消息中,还必须给出会话描述信息。SIP网络终端构建完SIP请求消息后,通过检测目的SIP网络终端的域名,确定是域内转发还是域间转发。如果是域内转发,代理服务器必须查询注册服务器,在获得目的SIP网络终端的IP地址信息后,将SIP请求消息转发给它;如果是域间转发,通过对定位服务器请求定位服务,获取为目的SIP终端所在控制域服务的代理服务器的IP地址,将SIP请求消息转发给下一跳代理服务器,再由下一跳代理服务器将SIP请求消息转发给目的SIP网络终端。两个不同的转发过程分别如下图1.1(a)(b)所示。

图1.1 域内和域间转发过程

   在SIP网络中,除了前面介绍的注册服务器、代理服务器和定位服务器外,可能还有重定位服务器。重定位服务器的功能只是根据目的SIP网络终端的用户名@域名,确定IP网络用于标识该目的SIP网络终端的地址信息(IP地址或完全限定域名),类似于DNS。在完成映射后,不是转发该SIP请求消息,而是通过响应消息将目的SIP网络终端的IP网络地址信息回送给源SIP网络终端。源SIP网络终端可以用目的SIP网络终端的IP网络地址信息构成SIP请求消息,直接将SIP请求消息发送给目的SIP网络终端1.2所示。

  

图1.2 SIP重定位操作

   在实际的SIP网络中,注册服务器、代理服务器、定位服务器及重定位服务器可以安装在同一个物理服务器上,而且实际应用中,代理服务器可以直接访问到注册服务器中有关标识SIP网络终端的用户名@域名和该SIP网络终端在IP网络中的地址信息(IP地址或完全限定域名)的绑定,同时,代理服务器也可通过访问用户配置的静态转发路由表来确定下一跳代理服务器。当然,代理服务器也可通过用其他协议访问定位信息库(如DNS)来获取下一跳代理服务器。

  从图1.1中可以看出,为目的SIP网络终端所在控制域服务的代理服务器发送给目的SIP网络终端的请求消息中给出的是标识SIP网络目的终端IP地址信息的URI(这里的pc2.work.com和pc.home.com均为完全限定域名),而不是用于标识SIP网络终端的SIP网络标识符。这里,需要弄清楚两个网络的概念:一个是SIP网络,用SIP进行相互作用,用SIP网络标识符标识SIP网络终端;另一个是作为承载网络的IP网络。由于SIP网络终端同时又是IP网络终端,因此,它具有双重标识符,即用于在SIP网络中唯一标识SIP网络终端的标识符和用于在IP网络中确定终端位置的IP地址信息,这两种标识符在SIP中均称为URI(统一资源标识符),需要仔细分辨。

  如下图1.3所示为建立多媒体通信会话的操作过程。

  源SIP网络终端发送给目的SIP网络终端的INVITE消息为请求消息,请求和目的SIP网络终端建立多媒体通信会话。在通常情况下,INVITE消息中需要包含会话描述信息,用于指出该会话所指定的多媒体信息流的编码格式及所需带宽。当目的SIP网络终端愿意和源SIP网络终端建立多媒体通信会话时,就回送一个OK响应。但为了避免源SIP网络终端重发定时器溢出,通常情况下,目的SIP网络终端在接收到INVITE消息后,立即回送一个临时响应消息,如图1.3中的Ringing消息。源SIP网络终端在接收到目的SIP网络终端发送给它的响应消息---OK响应消息后,获知目的SIP网络终端愿意接受多媒体通信会话的请求,发送ACK消息表示已经接收到目的SIP网络终端发送的OK响应消息,多媒体通信会话建立。在多媒体通信会话建立后,源和目的SIP网络终端可以开始相互传输多媒体信息流。在完成多媒体通信会话建立后,源和目的SIP网络终端可以开始相互传输多媒体信息流。在完成多媒体信息流传输后,任何一方可以发送BYE消息给对方,表示结束当前多媒体通信会话。对方接收到BYE消息后,回送OK响应消息作为对BYE消息的确认应答,多媒体通信会话结束。

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 10Rank: 10Rank: 10

5#
发表于 2012-6-12 13:37:51 |只看该作者
学习,其中注册服务器就是S-CSCF.
在SIP网络中,除了前面介绍的注册服务器、代理服务器和定位服务器外,可能还有重定位服务器。重定位服务器的功能只是根据目的SIP网络终端的用户名@域名,确定IP网络用于标识该目的SIP网络终端的地址信息(IP地址或完全限定域名),类似于DNS。

使用道具 举报

Rank: 10Rank: 10Rank: 10

6#
发表于 2012-8-21 17:22:00 |只看该作者
SIP的概念太多,有些还很容易引起混淆。

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

站长邮箱|Archiver|51学通信 ( 粤ICP备11025688 )

GMT+8, 2024-11-1 08:34 , Processed in 0.030732 second(s), 14 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部