SIP中的角色与IMS中的网元

来源:互联网 发布:淘宝没有投诉卖家选项 编辑:程序博客网 时间:2024/04/28 15:54

    SIP是IMS的核心协议,SIP中定义了多种角色,而IMS中也有多种网元,因此,很容易让初学者搞混淆。实际上,无论是SIP还是IMS中定义的这些角色或网元,都是些逻辑概念,都是为了方便在各自层面上对一些功能进行抽象——SIP从协议层面上,IMS从网络层面上。正像Internet中有WWW服务器、MAIL服务器、FTP服务器等之分,但谁又说一台物理服务器只能实现做其中的一种功能呢?实际情况刚好是往往是一台物理服务器充当了多种角色。
    SIP中的各种角色跟IMS中的各种网元没有严格的一一对应关系,但是SIP中定义的各种角色都在IMS中的各种网元中得到了融合、改进。下面我们就针对其中的一些重要概念进行解释。

==SIP中的角色:
UAC(User Agent Client,用户代理客户端):
因为SIP是基于C/S模型的协议,在一个事务中通信两端有client和server之分。在一个事务中,发起请求并接收响应的一端称作UAC。

UAS
(User Agent Server,用户代理服务端):
在一个事务中,接收请求并处理后返回响应的一段称作UAS。
【注意】因为在一个会话中往往有多个事务,因此通信两端在一个会话中往往有时是UAC,有时是UAS。这也是一个SIP终端必须同时实现UAC以及UAS功能的原因。

UA(User Agent,用户代理):
一个同时实现了UAC以及UAS功能的终端称作UA。

B2BUA(Back-to-Back User Agent,“背靠背用户代理”):
这是一种典型的UA,因为它同时具有UAC和UAS的功能。它“坐”在通信两端之间,作为一个UAS,从一端接收请求,然后又作为一个UAC向另外一端发起请求,并且接收响应,然后再作为一个UAS将响应返回给请求发送端。相比Proxy,B2BUA是最“尽责”的,它将一个用户会话切分成两个不同的会话,并且保留两个会话的完整状态。它无情的将两个用户的会话切成两段,又完整的将这两段对接起来,因此B2BUA对通信两端用户来说是透明的,但同时又能完全“插足”会话,因此在IMS中往往用来实现需要针对用户会话提供相应服务的AS(Application Server)。
【注意】B2BUA跟Proxy最大的不同在于:
前者将一个会话变成两个会话,后者则是在维护同一个会话。

Proxy/Proxy Server(代理/代理服务器):
在这里,Proxy与Proxy Server的概念不加区别。SIP中Proxy除了完成SIP请求以及响应(以下统称SIP消息)的路由转发外,还可以完成一些策略的执行,这些功能非常丰富现实,比如完成对用户的鉴权,SIP消息的解压等。这跟现实世界中明星的经济人有点相似。
代理服务器通常分为有状态代理服务器和无状态代理服务器。

Redirect Server(重定向服务器):
重定向服务器是一种UAS,它仅对SIP请求发回3xx响应,通过响应的contact头域返回一组地址。以便消息请求者确定该消息的后续发送地址。

Registrar(注册服务器):
SIP中有注册的概念,这为其对移动性的支持提供了基础条件。注册服务器也是一种UAS,它只接收并处理REGISTER消息,它将REGISTER中的相关信息存储到其所在域的一个定位服务中,以便请求到来时将用户的AoF(Address-of-Record,记录地址)映射成其注册时的具体联系地址
【注意】注册服务器仅仅完成以上工作,并不承担对用户的鉴权、收费等任务。并且,注册服务器并不是必须的,完全可以通过手工配置映射关系来实现。
【说明】
SIP中的记录地址可以对应于IMS中的公共用户身份(IMPU)。
其中IMPU就是用户的公开地址,别人呼叫他是使用的就是这个地址。一个IMS终端可以注册多个IMPU,以便该终端可以通过多个地址到达。
而私人用户身份(IMPI)在REGISTER请求的Authoraization的username参数中,只用于内部的身份认证等,不用于路由。
一个IMPI对应一个物理终端,对应一个可寻址的contact地址,在网络侧对应一个安全上下文。可以从不同的物理终端(对应不同的IMPI)针对同一个IMPU发起注册,而该IMPU作为被叫时通过SIP的fork机制实现统一呼叫。
SIP中的设备地址是被注册到Registrar中的对应设备地址,比如E-MAIL地址,固定电话号码,移动电话号码,网址等等。

Location Service(定位服务):
正如其名字,定位服务并不是SIP中的一种独立角色,它需要跟其他角色配合使用,比如重定向服务器和注册服务器,这有点像一个程序中调用的库函数。



==IMS中的网元:
UE(用户终端):
这个比较显而易见,我们用的手机就是一个UE。
IMS中UE可以大概理解为SIP中的UA。

CSCF(Call Session Control Function,呼叫会话控制功能):
如果按照汉语的习惯,我更愿意把其翻译成“呼叫会话控制功能体”。正如其名字,CSCF是IMS中的会话控制功能体。CSCF在IMS中实现了多媒体呼叫中主要的软交换控制功能,可以看作SIP中的各种基本Server的集合。
CSCF又分为三类:P-CSCF、S-CSCF、I-CSCF,我们一般分别昵称之为:P,S,I

P-CSCF(Proxy CSCF):
P是用户接入核心网的节点,在IMS的CSCF中离用户最近。对外转发着UE的消息并且将从外面收到的SIP消息返回给UE。P可以看作SIP中的Proxy。

S-CSCF(Serving CSCF):
S是IMS中核心中的核心,处于IMS的核心控制地位,基本上任何SIP消息都要经过它的处理,包括路由、AS业务触发、重定向等主要控制功能。S可以看作SIP中的Registrar、Proxy以及Redirect Server。

I-CSCF(Interrogating-CSCF):
I是一个网络的边界节点,主要对外来呼叫中的被叫的S进行定位,从而隐藏该网络的拓扑结构,因为若所有外来呼叫都要经过该网络的I,则外面的用户无从知道该网络内部S以及P等网元的分布情况。I是可选的,也就是说可以不需要这样一个网元,如果你不想刻意隐藏自己的网络结构。因为进入的呼叫都要经常I,虽然I的功能较为单一,但负担比较重,因此一个网络一旦使用了I,一般就不止一个,以便进行负载均衡。也正因为如此,I是不会关心会话状态的。当然,因为I的特殊位置,也可以借助I做些其他工作,比如过滤外来请求,统计呼叫数据等。I通常还接受自己网络内的REGISTER请求,并为其指定一个S。I可以看作SIP中的Proxy、Redirect Server。

HSS(Home Subscriber Server,归属签约用户服务器):
是用于集中存放用户数据(认证信息、业务信息、漫游信息、原始计费信息等)的地方,用户数据总是存放在其归属域(开户地)的HSS中,可以跟HSS打叫道的有I,S和AS等,UE不会跟HSS有直接接触。
一个网络可以配置多个HSS,这时就需要SLF(ubscriber Location Function,签约用户位置功能)将一个用户地址映射到对应HSS。这时SLF就是SIP中的一个Redirect Server。

AS(Application Server,应用服务器):
用于实现具体业务的服务器。通常AS由S根据用户请求以及触发条件进行触发,它是作为SIP中的B2BUA实现的。IMS中的这种触发机制正是其支持业务与承载分离的基础。

各种网关(MGCF,BGCF等):
用户实现SIP与其他信令(PSTN,ISDN等)的互联互通。

其他网元:
实现媒体资源控制、QoS、计费等功能的网元,比如PDF、MRFC等。
原创粉丝点击