参考点

IMS协议栈架构 ims接口协议_IP

IMS网络设备间接口说明:

接口名称

连接的实体

作用

协议

Gm

UE, P-CSCF

用以在UE和CSCF间交换信息。

SIP

Mw

P-CSCF,
I-CSCF,
S-CSCF

用以在CSCF间交换信息。

SIP

ISC

I-CSCF,
S-CSCF,
AS

用以在CSCF和AS间交换信息。

SIP

Cx

I-CSCF,
S-CSCF,
HSS

用以在CSCF和HSS间交换信息。

Diameter

Dx

I-CSCF,
S-CSCF,
SLF

该接口被I-CSCF和S-CSCF用来在多HSS的环境下找到正确的HSS。

Diameter

Sh

SIP AS,
OSA SCS,
HSS

用以在SIP AS/OSA SCS和HSS间交换信息。

Diameter

Si

IM-SSF,
HSS

用以在IM-SSF和HSS间交换信息。

MAP

Dh

SIP AS,
OSA SCS,
SLF

该接口被SIP AS/OSA SCS用来在多HSS的环境下找到正确的HSS。

Diameter

Mm

I-CSCF,
S-CSCF,
external IP network

该接口被用来在IMS和其它网络间交换信息。

未指定

Mg

MGCF->I-CSCF

MGCF将ISUP消息转化成SIP消息,并通过该接口将其发送给I-CSCF。

SIP

Mi

S-CSCF->BGCF

该接口被用来在S-CSCF和BGCF间交换信息。

SIP

Mj

BGCF->MGCF

该接口被用来在BGCF和同一个IMS网络中的MGCF间交换信息。

SIP

Mk

BGCF->BGCF

该接口被用来在BGCF和另一个IMS网络中的BGCF间交换信息。

SIP

Mr

S-CSCF,
MRFC

该接口被用来在S-CSCF和MRFC间交换信息。

SIP

Mp

MRFC,
MRFP

该接口被用来在MRFC和MRFP间交换信息。

H.248

Mn

MGCF,
IM-MGW

在与CS域互联的时候,用以在MGCF和IM-MGW间交换信息。

H.248

Ut

UE, AS(SIP AS, OSA SCS, IM-SSF)

该接口使UE能够管理服务相关信息。

HTTP

Go

PDF, GGSN

该接口允许运营商能够在用户层控制QoS,并能在IMS和GPRS网络间传递计费关联信息。

COPS

Gp

P-CSCF, PDF

该接口被用来在P-CSCF和PDF间交互策略控制相关的信息。

Diameter

IMS协议栈架构 ims接口协议_IP_02

HSS: 归属用户服务器(HSS)和用户定位功能(SLF)

HSS是GSM网络中HLR的演进,用来存储用户相关数据,包括位置,鉴权,授权,用户资料以及分配给用户的S-CSCF
当一个IMS网络中的用户过多时,就可能会有多个HSS,这时候就需要SLF。SLF是一个简单的数据库,用来把用户地址映射到不同的HSS。
HSS和SLF都使用DIAMETER协议。

CCF: 发送计费相关的信息给计费采集功能实体。

iFC:基于iFC(初始过滤规则)的业务触发机制,实现呼叫控制和业务逻辑的分离。

IMS的业务触发机制是基于iFC(Initial Filter Criteria)实现的。业务的触发在S-CSCF中完成,业务数据在注册阶段从HSS中下载到S-CSCF中,包括Initial Filter Criteria。在收到用户会话请求后,S-CSCF首先检查Initial Filter Criteria中的触发标准是否满足,然后再进行到用户的路由和呼叫控制。如果满足则通过ISC接口的SIP消息,将业务触发到对应的业务平台。业务平台然后根据业务的既定逻辑流程,通过SIP消息对S-CSCF中的业务进行后续控制。

CSCF: Call Session Control Function

IMS系统中完成呼叫控制功能的核心组件,主要功能:信令路由,会话管理,资源分配,安全认证,业务触发,计费控制。

a)P-CSCF:代理呼叫会话控制功能

IMS系统中用户的第一个接触点 ,主要功能:

  • 作为SIP Proxy,在UE和S/I-CSCF间转发SIP请求和响应信令消息
  • 异常会话释放/注册时,充当SIP UA发起SIP事务
  • 检测紧急会话
  • 向CCF(计费采集功能)提供计费信息
  • SIP信令完整性和机密性保护
  • SIP消息的压缩和解压
  • 向S-CSCF订阅注册事件包
  • 执行媒体监管
  • 维护会话计时器

b)I-CSCF:问询呼叫会话控制功能

运营商归属网络中为所有连接到该运营商网络的用户的连接提供的一个联系点,主要功能:

  • 注册阶段指定S-CSCF
  • 获取S-CSCF的名字
  • 前转SIP消息和响应给S-CSCF
  • 向CCF提供计费信息
  • 拓扑隐藏功能

c)S-CSCF:服务呼叫会话控制功能

IMS的核心所在,位于归属网络,提供注册和呼叫控制服务,主要功能:

  • 注册服务功能
  • 基于AKA的认证
  • 从HSS下载用户信息和业务数据
  • 消息路由和转发
  • 会话控制功能
  • 与业务平台交互
  • E.164号码与SIP URI之间的转换
  • 维护会话计时器、执行媒体监管、支持紧急呼叫
  • 向CCF或OCS提供计费信息

协议说明:

IPSec

        IPSec(IP Security)产生于IPv6的制定之中,用于提供IP层的安全性。由于所有支持TCP/IP协议的主机进行通信时,都要经过IP层的处理,所以提供了IP层的安全性就相当于为整个网络提供了安全通信的基础.

        IPSec提供了两种安全机制:认证(采用ipsec的AH)和加密(采用ipsec的ESP)。

  · 认证机制使IP通信的数据接收方能够确认数据发送方的真实身份,以及数据在传输过程中是否遭篡改。

  · 加密机制通过对数据进行编码来保证数据的机密性,以防数据在传输过程中被窃听。

  AH(Authentication Header)和ESP(Encapsulating Security Payload,封装安全负载)都可以提供认证服务,不过,AH提供的认证服务要强于ESP。

Diameter

       Diameter是计算机网络中使用的一个认证、授权和审计协议(AAA).

       Diameter消息有一个Diameter header和一系列的AVP组成。

Diameter 基础协议的数据包格式显示如下:

Version:必须设置为1,表示 Diameter 版本1。

 Command Flags:八位标识。

Command-Code:使用3个八位组段,配合信息传送需求。

Application-ID:4个八位组,用来识别信息可使用到的应用程序。这个应用程序可以是一个认证程序,一个计费程序,也可以是运营商专用程序。

Hop-by-Hop Identifier:32位无符号整数段,用来匹配请求和回复。

End-to-End Identifier:32位无符号整数段,用来探测重复信息。

AVP:属性值对(AVP:Attribute Value Pair)是一种与 Diameter 信息相关的信息封装方法。一个 AVP 就像一种 RADIUS 属性。一些 AVP 是用于 Diameter 基础协议,另一些意向用于 Diameter 应用程序(如 NASREQ),更有一些是为使用 Diameter 的更高级终端系统应用程序所应用。Diameter AVP 头格式如下:

AVP Code:与运营商- ID 段相结合,唯一识别属性。AVP 数值从1到255供与 RADIUS 反向兼容所用。

AVP Flags:通知接收方每个属性必须如何处理。r(reserved)位表示预留位,不使用,应该设置为0。

AVP Length:三个八位组,表示 AVP 中所含八位组的数量,包括 AVP Code、AVP Length、AVP Flags、Vendor-ID field(如果存在)以及 AVP data。

Vendor-ID:可选段,如果 AVP Flags 段设置了 V 位,该段就存在。可选的四个八位组 Vendor-ID 段包括 IANA,它被分配了 SMI 网络管理专用企业代码值,并且以网络字节顺序编码。

参考:



https://datatracker.ietf.org/doc/html/rfc3588#page-11

http://sharetechnote.com/html/IMS_SIP_Registration.html

https://www.gsma.com/futurenetworks/wp-content/uploads/2014/05/FCM.01-v1.1.pdf

https://www.3glteinfo.com/volte-call-flow-procedures/

https://www.etsi.org/deliver/etsi_ts/129200_129299/129211/06.02.00_60/ts_129211v060200p.pdf

https://www.netmanias.com/en/post/blog/11082/lte-pcrf-volte/policy-control-over-the-rx-interface-using-diameter-for-volte