IP多媒体子系统

IP多媒体子系统（IP Multimedia Subsystem，IMS）或IP多媒体核心网络子系统（IP Multimedia Core Network Subsystem, IMCNS）是一个基于互联网协议提供多媒体业务的体系架构。传统移动电话使用类电路交换网络提供语音通话服务，而非使用计算机分组交换通信方式的网络。虽然已有很多方式在智能手机上提供网络电话与其他互联网多媒体服务，但并未形成行业标准，IMS则为此提供了一个标准化体系架构。

IMS的最初的版本（3GPP Rel-5）主要是给出了一种基于GPRS来实现互联网协议多媒体业务的方法。在这个版本的基础上，3GPP、3GPP2以及TISPAN进行了进一步的更新，以支持GPRS之外，诸如WLAN、CDMA2000和固定电话线等其他接入方式。

IMS在设计时优先使用属于IETF的协议，比如，会话发起协议。援引3GPP的说法，IMS并非刻意将应用标准化，而是帮助无线和有线终端的多媒体和通话应用提供一个接入方法，借此，辅助移动固网融合。方式是使用一个独立的控制层将网络接入的工作从服务层剥离出来。理论上讲，服务不再需要控制器，因为有单独的控制层负责统筹。但从实践情况看，此举并未对布网开销与复杂程度有太大帮助。

有线与无线网络中功能与IMS重叠的服务包括通用访问网络、软交换和SIP，可将上述服务混合使用达到替代IMS的效果。

现今有太多内容获取/绕过传统网络运营商与他人联系的方式，因此IMS的作用受到挑战。

基于IMS达成全球标准的例子可见多媒体通话，这是VoLTE和富通讯解决方案（又被称作joyn或进阶消息服务）的基础。

## 历史

- IMS最初是由一个名为3G.IP的行业论坛组织所定义的，并于1999年的成型。3G.IP开发的IMS架构后来被带入3GPP，成为其3G移动系统标准化工作的一部分。IMS的第一次出现是在3GPP标准版本5中，首次在3G网络中引入了分组域的多媒体业务，但主要是基于GPRS。
- 3GPP2（另一个3G标准化组织）基于3GPP IMS构建了他们的CDMA2000多媒体域（Multimedia Domain，MMD），为IMS增加了CDMA2000接入。
- 3GPP标准第6版加入了与WLAN的交互，支持用户通过WLAN接入IMS。
- 3GPP标准第7版，与TISPAN R1.1版本一起，增加了对固定网络的支持。AGCF（Access Gateway control function）和PES（PSTN Emulation Service）被引入，以继承PSTN的业务和终端。

## 架构

<image>

以下将简述上图所列的各个功能组。

IP多媒体核心子系统是由一系统功能组组成的。各个功能组之间由一组标准接口联链起来，组成一个IMS管理网络。一个功能组并非是一个节点（即硬件实体）：它的实现方式是开放的，允许将多个功能组布署在一个节点，亦允许一个功能组由多个节点实现。考虑到容量、负载均衡和管理等方面，还允许在一个网络存在有多个相同的功能组。

### 网络访问

使用者有多种途径访问IMS，最普遍的是使用互联网协议（IP）。IMS终端（如移动电话、个人数位助理（PDA）以及电脑）只需要使用IP协议并且运行会话发起协议（SIP）用户代理，就可以直接访问IMS，即使他们已经漫游到其它国家或网络。

IMS支援网络访问途径有：

固定线路访问（如数位用户线路（DSL）、缆线调制解调器以及以太网），移动访问（如WCDMA、CDMA2000、GSM以及GPRS），无线访问（如WLAN和WiMAX）。

另外像普通老式电话服务，H.323和非IMS兼容的网络电话系统等电话系统可以通过闸道器接入IMS。

### 核心网络

#### 归属用户服务器（HSS - Home Subscriber Server）

归属用户服务器是一个核心的用户数据库。它为IMS网络中实际管理通话的实体提供支持。如存取用户相关的信息（称之为用户配置），对用户认证和授权以及 提供用户位置IP地址等相关信息。它和GSM的归属位置寄存器（HLR - Home Location Regiser）和认证中心（AuC - Authentication Centre）相似。

在同时使用多个HSS时，需要用户位置功能组（SLF - Subscriber Location Function）映射用户保存的位置。即当查询某个用户配置时，由SLF指出哪个HSS保存了这个用户配置。

##### 用户标识

IMS可以使用多种用户标识：IP多媒体私有标识（IMPI - IP Multimedia Private Identity），IP多媒体公共标识（IMPU - IP Multimedia PUblic Identity），全局可路游用户代理统一资源标识符（GRUU - Globally Routable User Agent URI），通配公共用户标识（Wildcarded PUblic User Identity）。IMPI和IMPU是一种统一资源标识符（URI），它可以是数字（Tel URI，如 tel: +1-555-123-4567），也可以是字符标识符（SIP URI，如sip:john.doe@example.com）。

##### IP多媒体私有标识（IMPI）

IP多媒体私有标识是一种由主网络操作者永久性分派的全局性标识，它可以用于注册、认证、管理和计费等用途。每个IMS使用者可以有多个IMPI。

##### IP多媒体公有标识（IMPU）

当IMS使用者想要和其他使用者通讯时，需要使用IP多媒体公有标识（它可以写在那个人的名片上）。IMS允许一个IMPI上绑定多个IMPU。IMPU也可以和其它电话共享（就像一个家庭使用一个电话号码）。

##### 全局可路由用户代理统一资源标识符（GRUU）

全局可路由用户代理统一资源标识符是一个由IMPU和UE实例组成的标识符。IMS中有两类GRUU：公共GRUU(P-GRUU)和临时GRUU(T-GRUU)

- P-GRUU 明示了用户的IMPU并且长期有效
- T-GRUU 隐藏了用户的IMPU。当用户显式注销T-GRUU或者过了有效期时，T-GRUU就会失效。

##### 通配公共用户标识（Wildcarded PUblic User Identity）

通配公共用户标识表示一组相似的IMPU。

HSS用户数据库保存用户的IMPU，IMPI，国际移动用户识别码（IMSI），MSISDN，用户服务配置，服务开关和其它信息。

#### 呼叫会话控制功能（CSCF - Call Session Control Function）

会话发起协议（SIP）服务器和代理共同实现通话控制功能，称之为CSCF。它们在IMS系统中处理SIP信号数据包。

- 代理-CSCF（P-CSCF）是一个SIP代理，作为与IMS终端直联通讯点。它可以设置在公网中也可以设置在IMS本网中。某些网络在这个功能组中可能使用了会谈边界控制器（SBC）。P-CSCF其核心是一个特殊的SBC。该SBC使用的用户网络接口不仅保护网络，也保护了IMS终端。在IMS终端和P-CSCF之间传递加密信号时，使用附加的SBC是毫无意义同时也是不可用的。终端可以使用DHCP协议来找到它的P-CSCF，也可以使用配置（如出厂设定、3GPP IMS管理对象）、或是记录在ISIM中、或是在PDP环境（GPRS PDP Context）中赋值。
- 它在IMS终端注册之前就被分派给IMS终端，并且在注册期间不会改变。
- 它位于所有信号的通路，可以检查所有的信号。IMS终端必须忽略任何其它未加密的信号。
- 它提供用户的认证，并且为IMS终端建立一个IPsec或TLS连接。这样可以阻止欺骗攻击和重放攻击，并且保护用户的隐私。
- 它检查信号，确保IMS终端没有企图作弊（比如改变通常信号路游，不遵守IMS网络路游策略）。
- 它也可以使用SigComp压缩和解压缩SIP信息，以降低较慢的无线电链路的负载。
- 它也可以加入策略决择功能（PDF - Policy Decision Function）。它可以允许媒体水平的资源（如QoS）可以达到媒体水平。它也可以用作策略控制、带宽管理等等。PDF也可以作为独立的功能组。
- 它也产生费用记录。
- 服务-CSCF（S-CSCF）。从信号层面的来看，S-CSCF是IMS子系统的核心节点。它虽然是SIP服务器，但也负责会话的控制。它永远设置在IMS本网络中，径直地使用Cx和Dx接口访问HSS。它从HSS下载用户配置并且上传用户与S-CSCF关联信息。（出于对处理用户配置效率的考虑，S-CSCF会在其本地缓存用户配置。但它不会在本地对用户配置进行更改。）所有必要的用户配置信息都会从HSS那里加载。
- 它负责处理SIP注册。它会将用户位置（如终端的IP地址）和SIP地址进行绑定。
- 它位于所有在它那里注册的用户所发出的信号信息的通路上，可以检查所有的信息。
- 它负责决定SIP信息将抵达哪一个应用服务处理，以完成应用服务。
- 它提供路游服务，通常是使用电子号码（ENUM - Electronic Numbering）查找
- 它执行网络运营商的策略
- 出于分布式负载和高可靠性的原因，IMS网络中允许设置多个S-CSCF。这种情况下，由HSS在用户配置记录哪一个S-CSCF被关联到该用户，而后由I-CSCF来查询这些记录。
- 询问-CSCF（I-CSCF）是另一个位于管理域边缘的功能组。它的IP地址通过DNS发布，所以远程服务器可以查找到它，并把它作为向它所在的域传递SIP包的跳点。
- 它查询HSS，获取S-CSCF的地址并且分派给用户以完成SIP注册。
- 它也为S-CSCF传递SIP请求和回应。
- 直到IMS第6版，它是可以用来把内网隐藏起来，使外部网络无法获取内部网络的信息（加密部分SIP信息）。这里称之为隐藏内部网络拓扑闸道器（THIG - Topology Hiding Inter-network Gateway）。从第7版开始，这个功能从I-CSCF移走，作为互联边界控制功能组（IBCF - Interconnection Border Control Function）的一部分。IBCF被用作外部网络的闸道器，提供NAT和防火墙功能。IBCF实际上是NNI的会谈边界控制器的裁剪版本。

#### 应用服务器（AS - Application Server）

SIP应用服务器负责和提供服务。它与S-CSCF之间使用会话发起协议（SIP）。由3GPP开发的语音持续呼叫功能（VCC Server）就是一个应用服务器的典型案例。基于具体的服务不同，AS可以选择不同的SIP模式，如SIP代理模式，SIP用户代理（UA - User agent）模式和SIP B2BUA模式。AS可以设置在IMS本网内也可以设置在外部的第三方网络。如果位于本网，它还可以使用Sh或Si接口查询HSS。

- SIP AS：负责和提供IMS具体服务
- IP多媒体切换功能（IM-SSF - IP Multimedia Service Switching Function）：SIP和CAP之间的接口，用以与CAMEL应用服务器通讯。
- OSA服务性能服务器（OSA SCS - OSA Service Capability Server）：SIP和OSA框架之间的接口。

##### 功能模型

AD-ILCM和AS-OLCM用来保存事务状态并且可以根据特定服务的需要保存会话状态。对于S-CSCF来说，AS-ILCM接口是输入端，AS-OLCM接口是输出端。应用逻辑提供服务和AS-ILCM、AS-OLCM之间的交互。

##### 公共服务标识（PSI - Public Service Identity）

公共服务标识是用来标识应用服务提供的服务。作为用户标识，PSI可以提供SIP和Tel URI两种标识格式。PSI通常被HSS以完整PSI或通配PSI保存。

- 完整PSI包含完整的PSI标识，可以直接用来路游。
- 通配PSI表达一组PSI标识。

#### 媒体服务器

媒体资源功能组（MRF - Media Resource Function）提供与媒体相关的功能，包括媒体处理（如混音）、播放拨号音和语音提示。

MRF可以进一步划分为媒体资源功能控制器（MRFC - Media Reource Function Controller）和媒体资源功能处理器（MRFP - Media Resource Function Processor）。

- MRFC是信号层面的节点，它根据来自AS和S-CSCF的信息来操控MRFP。
- MRFP是媒体层面的节点，用来混合、产生或者处理媒体流。它也可以管理共享资源的访问权限。

媒体资源协商器（MRB - Media Resource Broker）是一个功能实体。负责收集已经发布的MRF信息，并且向AS这样的信息消费实体提供适当的MRF信息。MRB通常有两个模式：

- 查询模式：AS主动查询MRB相应的媒体并且建立使用MRB回应的呼叫。
- 线性模式：AS向MRB发送SIP INVITE，由MRB建立呼叫。

#### 出口网关控制功能

出口网关控制功能（BGCF - Breakout Gateway Control Function）是一个SIP代理，它处理来自S-CSCF的路由请求。BGCF有基于电话号码的路由功能，用来选择与PSTN网络的接口点。当BGCF发现被叫网络位于一个PSTN网络时，BGCF就选择一个媒体网关控制功能(MGCF)，将会话路由到MGCF，MGCF负责与PSTN网络交互。

#### 媒体网关控制功能

媒体网关控制功能（MGCF - Media Gateway Control Function）完成IMS网络与PSTN网络之间的呼叫控制协议转换。主要是将SIP消息转换成ISUP消息。并控制IM-MGW中媒体信道，管理PSTN网络的承载和与IMS网络的IP流间的连接。

### 界面描述

界面名称｜IMS entities｜描述｜协定

Cr｜MRFC, AS｜Used by MRFC to fetch documents (scripts and other resources) from an AS｜HTTP over dedicated TCP/SCTP channels

Cx｜I-CSCF, S-CSCF, HSS｜Used to communicate between I-CSCF/S-CSCF and HSS｜Diameter

Dh｜SIP AS, OSA, SCF, IM-SSF, HSS｜Used by AS to find a correct HSS in a multi-HSS environment｜Diameter

Dx｜I-CSCF, S-CSCF, SLF｜由 I-CSCF/S-CSCF 使用于 找寻正确的 HSS 在 multi-HSS environment｜Diameter

Gm｜UE, P-CSCF｜用于 UE 与 CSCFs 之间交换讯息｜SIP

Go｜PDF, GGSN｜Allows operators to control QoS in a user plane and exchange charging correlation information between IMS and GPRS network｜COPS (Rel5), Diameter (Rel6+)

Gq｜P-CSCF, PDF｜Used to exchange policy decisions-related information between P-CSCF and PDF｜Diameter

ISC｜S-CSCF, I-CSCF, AS｜用于 CSCF 与 AS 之间交换讯息｜SIP

Ma｜I-CSCF -> AS｜Used to directly forward SIP requests which are destinated to a Public Service Identity hosted by the AS｜SIP

Mg｜MGCF -> I-CSCF｜MGCF converts ISUP signalling to SIP signalling and forwards SIP signalling to I-CSCF｜SIP

Mi｜S-CSCF -> BGCF｜用于 S-CSCF 与 BGCF 之间交换讯息｜SIP

Mj｜BGCF -> MGCF｜Used to exchange messages between BGCF and MGCF in the same IMS network｜SIP

Mk｜BGCF -> BGCF｜Used to exchange messages between BGCFs in different IMS networks｜SIP

Mm｜I-CSCF, S-CSCF, external IP network｜Used for exchanging messages between IMS and external IP networks｜SIP

Mn｜MGCF, IM-MGW｜允许 user-plane resources 的控制｜H.248

Mp｜MRFC, MRFP｜用于 MRFC 与 MRFP 之间交换讯息｜H.248

Mr｜S-CSCF, MRFC｜S-CSCF and MRFC 之间交换讯息｜SIP

Mw｜P-CSCF, I-CSCF, S-CSCF｜Used to exchange messages between CSCFs｜SIP

Rf｜P-CSCF, I-CSCF, S-CSCF, BGCF, MRFC, MGCF, AS｜Used to exchange offline charging information with CCF｜Diameter

Ro｜AS, MRFC｜Used to exchange online charging information with ECF｜Diameter

Sh｜SIP AS, OSA SCS, HSS｜Used to exchange information between SIP AS/OSA SCS and HSS｜Diameter

Si｜IM-SSF, HSS｜用于 IM-SSF 与 HSS 之间交换讯息｜MAP

Sr｜MRFC, AS｜Used by MRFC to fetch documents (scripts and other resources) from an AS｜HTTP

Ut｜UE, AS (SIP AS, OSA SCS, IM-SSF)｜Facilitates the management of subscriber information related to services and settings｜HTTP(s), XCAP

另外，IMS要求一组垂直的接口规范来提供以下特性：

- 普遍的接口，在应用服务器上用于帐务、安全、签订服务的数据、业务控制以及用来给诸如presence functions等的“积木”提供服务。
- 协调后的和加强的QoS
- 在操作员控制下的基于会话的媒体关守
- 在各种业务、会话和传输层间关联的帐务和付费

以上这些能力导致IMSs有别于通常的会话控制的互联网应用。一个IMS是一种模型，在这种模型中，网络操作员和业务分别提供方控制网络和业务的接入，与此同时消费者会有消费账单。网络是完全透明的，并且所有的服务由终点（endpoint）提供——这与通常的互联网模型相反。至少在理论上，这种更易控制的环境导致的结果是：用户因为QoS、单点登录和客户服务而享受到了更好的体验。