
简介这份PPT文档面向通信网络工程师、通信专业学生及技术研究者系统讲解IMSIP多媒体子系统的技术原理与发展趋势帮助读者理解这一由3GPP定义、支撑多媒体业务融合的核心架构。资源为单个pptx文件压缩包约3.81MB内容以图文并茂的幻灯片形式呈现便于课堂讲解与自学梳理。目前已有101人学习下载。文档从IMS概述、标准体系、产生背景切入逐层展开CSCF、MGCF、MRF等核心实体与SIP协议、鉴权安全、QoS策略等关键机制并深入剖析接入无关、归属地控制、统一策略控制等主要特征同时覆盖VoIP、视频通话、即时消息、多媒体彩铃等业务类型以及IMS在网络分层中的位置、与PSTN/PLMN的互通方式最后结合3GPP、GSMA RCS及5G演进梳理标准进展适合作为通信网络融合与IMS架构学习的参考材料。1. 一份 2013 年的 IMS 课件为什么现在翻出来还能打手头这份《IMS技术原理及发展趋势.pptx》是 2013 年 4 月网络二室薛淼做的内部培训材料内容覆盖 IMS 基本原理、标准进展、逻辑架构、网元功能、接口协议和业务模式。乍一看年份久远但 IMS 作为 3GPP 从 R5 引入、R7 基本成熟的核心网架构至今仍是 VoLTE、VoWiFi 和运营商多媒体业务的话音底座。你搜 vos ims 注册、pixel ims 注册不了这类问题根子往往就在这份课件讲的 CSCF 注册流程、HSS 鉴权和 iFC 触发逻辑里。它适合刚接触核心网的运维、想搞懂 SIP 注册链路的后端开发以及需要一份体系化 IMS 知识框架的通信从业者。下面我按「先立原理、再拆实体、后跑流程、最后避坑」的顺序把这份课件里真正能落地的部分拆开讲。2. IMS 架构拆解从 CSCF 到 HSS 的实体分工与接口协议2.1 为什么 IMS 要把业务、控制、承载三层彻底分开传统电路交换网络里交换机同时管业务、控制和承载TDM 交换矩阵和用户板绑死在一起想加一个新业务就得动交换机。软交换做了一步改良把呼叫控制和媒体网关拆开用 H.248 控制媒体网关但业务触发仍然偏静态。IMS 的解法更彻底业务层交给 AS应用服务器控制层交给 CSCF承载层交给 IP-CAN三层各管各的。课件里那张「业务/控制/承载集中 → 控制与承载分离 → 业务/控制/承载相分离」的演进图说的就是这件事。这么拆的好处是接入无关。无论用户从 LAN/xDSL、WLAN/WiMAX 还是 UMTS/CDMA 进来只要 IP 可达IMS 都能提供一致的会话控制。另一个关键设计是归属地控制呼叫控制和业务控制都由归属网络完成而不是像软交换那样由拜访地控制。这意味着用户漫游到外地业务体验和归属地一致私有业务扩展也更容易做。代价是信令链路更长注册和会话建立时延对网络质量更敏感这也是后来 VoLTE 对承载 QoS 要求极高的原因。2.2 CSCF 三种角色P、I、S 各管什么CSCF 是 IMS 的呼叫控制核心课件把它拆成三个逻辑角色实际部署时可以合设但逻辑功能必须分清。P-CSCFProxy-CSCF是 IMS 终端接入 IMS 的入口点相当于 SIP 代理。它负责 SIP 压缩和完整性保护Gm 接口产生 CDR 话单满足漫游/接入计费需求并把终端请求路由到正确的 I-CSCF 或 S-CSCF。终端注册时第一个接触的就是 P-CSCF所以 P-CSCF 地址配置错了注册直接失败——pixel ims 注册不了很多时候就是 APN 里 P-CSCF 地址没配对。I-CSCFInterrogating-CSCF是归属网络的入口查询点。终端注册时I-CSCF 向 HSS 查询为用户分配哪个 S-CSCF来话时I-CSCF 查询被叫注册在哪个 S-CSCF。它本身不保存用户状态只做查询和转发。S-CSCFServing-CSCF是真正的会话控制核心负责用户注册认证、业务触发和控制、会话路由。它从 HSS 下载用户签约数据其中最关键的是 iFCInitial Filter Criteria用 XML 描述业务触发规则。S-CSCF 按 iFC 优先级顺次把 SIP 消息转发到对应的 ASAS 处理完再返回 S-CSCF 继续后续触发。这个机制让业务部署从「改交换机」变成「配 iFC」是 IMS 业务灵活性的根基。2.3 HSS、SLF 与用户数据模型HSS 相当于 IMS 域的 HLR记录每个用户的四类数据用户标识IMPI、IMPU、隐式注册组、别名组、鉴权数据用于认证和授权、路由数据支持注册、记录跨系统位置信息、签约数据业务触发规则 iFCXML 描述。SLF 在域内存在多个 HSS 时用于选择用户数据存储的 HSS单 HSS 场景可以不用。这里有个容易混的点IMPI 是用户私有标识用于鉴权IMPU 是用户公有标识用于会话。一个 IMPI 可以关联多个 IMPU这就是隐式注册组的概念。配错 IMPU 会导致注册成功但呼叫不通因为被叫侧按 IMPU 寻址找不到人。2.4 互通域MGCF、IM-MGW 与 BGCF 怎么配合IMS 不是孤岛必须和 PSTN/PLMN 互通。BGCF 为被叫出 IMS 网络选择出口点被叫和 IMS 同网就选本网 MGCF非本网就交给另一个网络接口的 BGCF。MGCF 是控制面互通点IMS 侧与 I/S-CSCF 用 SIP 互通PSTN/CS 侧做 SIP 到 BICC/ISUP 的协议转换同时用 H.248 控制 IM-MGW。IM-MGW 是媒体面互通点提供声码器、回声消除、通知音、DTMF、会议桥等资源。课件里那张接口示意图标了各参考点GmUE-P-CSCF、MwCSCF 之间、ISCS-CSCF-AS、MgI-CSCF-MGCF、MiS-CSCF-BGCF、MjBGCF-MGCF、MrS-CSCF-MRFC、Cx/DxHSS-CSCF、ShHSS-AS。排查互通问题时先确认信令走的是哪个参考点再看对应接口的协议栈能省很多时间。2.5 接口协议速查SIP、Diameter、RTP 各管哪段协议定义来源主要接口作用SIPIETF RFC 32613GPP 增强Gm、Mw、ISC、Mg、Mi、Mj、Mr呼叫路由和接续方法有 INVITE/BYE/SUBSCRIBE/NOTIFY/UPDATE/REFERDiameterIETF3GPP 扩展Cx/Dx、Sh、Dh、Gq、Rf用户数据查询同步、QoS 和计费策略交互RTP/RTCPIETF媒体面传输各类媒体流H.248ITU-TMr、Mg、MnMRFC 控制 MRFP、MGCF 控制 IM-MGWSIP 是文本编码遵循应用层三次握手原则INVITE/200 OK/ACK这是排查注册和呼叫流程时抓包分析的基础。Diameter 用于 HSS 对外接口和策略控制Cx 接口完成 HSS-CSCF 间的用户数据查询和同步。RTP/RTCP 走媒体面和信令面分开所以信令通但没声音通常是媒体面 NAT 穿越或声码器协商问题。3. IMS 注册与会话流程从 SIP REGISTER 到 iFC 业务触发3.1 注册流程终端怎么找到自己的 S-CSCFIMS 注册是后续所有业务的前提。流程大致是终端向 P-CSCF 发 SIP REGISTERP-CSCF 转发给 I-CSCFI-CSCF 向 HSS 发 Cx 查询UAR/UAAHSS 返回为用户分配的 S-CSCF 能力或直接指定 S-CSCFI-CSCF 把 REGISTER 转发给 S-CSCFS-CSCF 向 HSS 发 Cx 查询MAR/MAA获取鉴权向量然后向终端发起鉴权挑战401终端带鉴权响应重新 REGISTERS-CSCF 验证通过后向 HSS 发 SAR/SAA 下载用户签约数据含 iFC注册完成。用 bash 抓包看注册流程时我一般这样过滤# 在 P-CSCF 或 S-CSCF 上抓 SIP 注册包过滤 REGISTER 和鉴权响应 tcpdump -i eth0 -s 0 -w ims_register.pcap port 5060 # 用 tshark 解析只看 SIP 方法为 REGISTER 的包 tshark -r ims_register.pcap -Y sip.Method \REGISTER\ -V # 过滤 Diameter Cx 接口的 UAR/MAR/SAR 消息 tshark -r ims_register.pcap -Y diameter.cmd.code 300 || diameter.cmd.code 303 || diameter.cmd.code 301第一段命令在网卡上抓 5060 端口的 SIP 流量存成 pcap第二段用 tshark 过滤出 REGISTER 方法并展开详情第三段过滤 Diameter 的 UAR300、MAR303、SAR301命令码。排查注册失败时先看 REGISTER 有没有到 P-CSCF再看 I-CSCF 有没有发 UAR最后看 S-CSCF 有没有发 MAR 和 SAR。哪一步断了问题就在那个网元。3.2 iFC 触发SIP 消息怎么被路由到正确的 ASiFC 是 S-CSCF 上的业务触发规则定义触发条件Trigger Point和目标 AS。触发条件基于 SIP 消息的方法、头域、SDP 内容等。S-CSCF 收到 SIP 消息后按 iFC 优先级从高到低匹配匹配成功就把消息转发到对应 ASAS 处理完返回 S-CSCFS-CSCF 继续匹配后续 iFC。一个典型的 iFC XML 片段长这样InitialFilterCriteria Priority1/Priority TriggerPoint ConditionTypeCNF1/ConditionTypeCNF SPT ConditionNegated0/ConditionNegated Group0/Group MethodINVITE/Method /SPT SPT ConditionNegated0/ConditionNegated Group0/Group SessionCase0/SessionCase /SPT /TriggerPoint ApplicationServer ServerNamesip:as.example.com/ServerName DefaultHandling0/DefaultHandling /ApplicationServer /InitialFilterCriteria这段 iFC 的意思是优先级 1触发条件是 SIP 方法为 INVITE 且会话场景为 Originating主叫匹配后转发到 sip:as.example.com。DefaultHandling 为 0 表示 AS 不可达时继续后续触发为 1 则拒绝会话。配 iFC 时最容易翻车的是 SessionCase 和 Method 的组合配错了要么业务不触发要么所有呼叫都被劫持到 AS。3.3 基本会话流程INVITE 到 200 OK 的完整链路主叫发起 INVITES-CSCF 按 iFC 触发主叫 ASAS 处理完返回 S-CSCFS-CSCF 查询 ENUM/DNS 把被叫号码转成 URI路由到被叫 I-CSCFI-CSCF 查询 HSS 找到被叫 S-CSCF被叫 S-CSCF 按 iFC 触发被叫 AS然后寻呼被叫终端终端回 183 或 180主叫侧回 PRACK 和 UPDATE 完成资源预留被叫振铃后回 200 OK主叫回 ACK媒体面 RTP 流建立。这个流程里 ENUM/DNS 查询是关键一跳。ENUM 负责电话号码到 URI 的转换DNS 负责 URI 到 IP 的解析。ENUM 配错会导致被叫号码无法路由表现为主叫听忙音或提示空号。排查时先确认 ENUM 查询有没有返回正确 URI再看 DNS 解析结果。3.4 业务触发模式SIP-AS、OSA 网关与 CAMEL SCP 的选型IMS 域有三种业务提供方式SIP-AS 直接提供方式、Parlay 网关提供方式、SCP 提供方式。SIP-AS 是最原生的AS 直接处理 SIP 消息适合新业务快速开发。Parlay 网关OSA-SCS把网络能力抽象成 API适合 IT 开发者调用。SCP 提供方式通过 IM-SSF 把 CAMEL 业务接入 IMS适合复用现有智能网业务。选型时看业务复杂度和团队能力简单 SIP 业务直接上 SIP-AS需要快速迭代的用 Parlay已有 CAMEL 智能网业务不想重写的走 IM-SSF。课件里那张业务层架构图把三种方式并列画出来实际部署时通常以 SIP-AS 为主其他两种作为补充。4. IMS 部署避坑注册失败、单通、iFC 不触发怎么排查4.1 终端注册失败REGISTER 发出去没响应现象终端显示 IMS 注册中或注册失败抓包看到 REGISTER 发出但没有 401 挑战或 200 OK。原因常见三种。一是 P-CSCF 地址配错或不可达REGISTER 根本没到 P-CSCF二是 I-CSCF 向 HSS 查询 UAR 失败HSS 没返回 S-CSCF 能力三是 S-CSCF 向 HSS 发 MAR 获取鉴权向量失败鉴权挑战发不出来。解决按注册流程逐跳抓包。先确认终端到 P-CSCF 的 IP 可达和端口通再看 P-CSCF 有没有转发 REGISTER 到 I-CSCF然后看 I-CSCF 的 UAR 有没有收到 UAA最后看 S-CSCF 的 MAR 有没有收到 MAA。哪一跳断了就查那个网元的配置和到 HSS 的 Diameter 链路。4.2 注册成功但呼叫不通INVITE 被拒现象终端注册正常但主叫拨号后收到 403 或 404呼叫建立失败。原因多半是 IMPU 配置问题或 iFC 触发异常。IMPU 配错导致被叫侧按 IMPU 寻址找不到人返回 404。iFC 配错导致 INVITE 被错误触发到不存在的 ASAS 返回 403。解决先查 HSS 里主被叫的 IMPU 和隐式注册组配置确认 IMPU 格式和路由规则匹配。再查 S-CSCF 的 iFC 配置确认 INVITE 的触发条件和 AS 地址正确。抓包看 INVITE 在 S-CSCF 上的触发路径对比 iFC 优先级和匹配结果。4.3 通话建立但单通或无声RTP 流不通现象信令面正常200 OK 和 ACK 都通了但一方或双方听不到声音。原因媒体面 NAT 穿越失败或声码器协商不一致。IMS 核心网和接入网之间如果有 NATSDP 里的媒体地址是私网地址对端无法直接发送 RTP。声码器协商失败则表现为媒体流建立但无法解码。解决检查 SBC 的 NAT 穿越配置确认 SDP 里的媒体地址和端口经过 SBC 修正。抓 RTP 包看有没有双向流用 tshark 分析 SDP 协商的声码器类型确认两端支持的声码器有交集。常见做法是在 SBC 上开启媒体代理强制媒体流经过 SBC 转发。4.4 iFC 配了但业务不触发AS 收不到 SIP 消息现象iFC 规则已配置但 AS 侧抓包看不到 SIP 消息业务不生效。原因触发条件不匹配或优先级被抢占。ConditionTypeCNF 配错导致条件逻辑反了或者 SessionCase 配错导致主叫/被叫场景不匹配。另一个常见原因是高优先级 iFC 先匹配并返回后续 iFC 不再执行。解决先确认 iFC 的 Trigger Point 和实际 SIP 消息匹配重点看 Method、SessionCase、Group 和 ConditionNegated 的组合。再检查 iFC 优先级顺序确认没有高优先级规则拦截。抓 S-CSCF 的 SIP 消息看 iFC 匹配日志确认匹配到哪条规则、转发到哪个 AS。4.5 Diameter 链路断HSS 查询超时现象注册或呼叫过程中 HSS 查询超时S-CSCF 或 I-CSCF 返回 500 错误。原因Diameter 链路断连或对端不可达。Cx 接口基于 Diameter底层用 SCTP 或 TCP链路断连会导致 UAR/MAR/SAR 无响应。解决检查 S-CSCF/I-CSCF 到 HSS 的 Diameter 链路状态确认 SCTP 关联或 TCP 连接正常。用 netstat 或 ss 看端口监听和连接状态抓 Diameter 包看有没有 CER/CEA 能力交换。常见做法是配置 Diameter 链路心跳和重连机制链路断连时自动切换备用链路。5. 从课件到实战用 Wireshark 验证 IMS 注册与 iFC 触发的三个技巧课件给的是原理框架真正落地时得靠抓包验证。我一般用 Wireshark 做三件事验证注册流程、验证 iFC 触发、验证媒体面协商。第一个技巧是给 SIP 流量打标签。在 Wireshark 里用sip.Method过滤 REGISTER、INVITE、BYE再用diameter.cmd.code过滤 Cx 接口的 UAR、MAR、SAR。把信令面和 Diameter 面放在同一个时间轴上看能快速定位是哪一跳断了。我习惯先看 REGISTER 有没有到 P-CSCF再看 I-CSCF 有没有发 UAR最后看 S-CSCF 有没有发 MAR 和 SAR。这个顺序走一遍注册问题基本能定位到具体网元。第二个技巧是导出 iFC 匹配日志。S-CSCF 通常有 iFC 匹配的调试日志开启后能看到每条 SIP 消息匹配了哪条 iFC、转发到哪个 AS、AS 返回什么响应。把日志和抓包对照能确认 iFC 配置是否生效。如果日志显示匹配成功但 AS 没收到消息问题就在 S-CSCF 到 AS 的链路上查 ISC 接口的 SIP 路由和网络可达性。第三个技巧是分析 SDP 协商结果。用sdp.media过滤 SDP 行看媒体类型、端口、声码器列表。主被叫的声码器列表取交集如果交集为空媒体流建立但无法解码。NAT 场景下重点看 c 行和 m 行的地址端口确认 SBC 有没有做媒体地址修正。我一般会在 SBC 两侧同时抓包对比 SDP 修正前后的差异。验证目标Wireshark 过滤表达式关键观察点注册流程sip.Method REGISTERREGISTER 是否到 P-CSCF401/200 是否返回Diameter 查询diameter.cmd.code 300iFC 触发sip.Method INVITE S-CSCF 日志INVITE 是否转发到 ASAS 是否返回媒体协商sdp.media声码器列表是否有交集媒体地址是否修正从那以后我每次排查 IMS 问题都强制走一遍「先抓包、再看 Diameter、后查 iFC 日志」的流程不靠猜。这份 2013 年的课件虽然老但 IMS 的核心架构和流程没变把它当底图配合抓包验证比啃最新规范快得多。希望帮到你。本文还有配套的精品资源点击获取