ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

IMS与PSTN/CS网络互通:从文献检索到工程实践

IMS与PSTN/CS网络互通:从文献检索到工程实践 简介一份围绕“IMS与PSTN/CS网络的互通”课题撰写的文献检索实习报告适用于通信工程、信息管理等相关专业学生参考课程报告结构、学习文献检索流程与方法。报告从课题分析入手完整展现了在CNKI期刊全文数据库、优秀博硕士学位论文库、万方及维普系统中构造检索词、执行“IMS and PSTN/CS网络”等检索式、记录命中结果并筛选高相关文献的过程同时摘录了关于IMS与PSTN/CS互通概述、固定网络向软交换及IMS演进等核心内容便于读者理解网络融合的技术背景与研究思路。资源包内含1个doc文档大小约506KB以排版清晰、记录详尽的报告正文为主可直接作为文献检索课程报告的撰写范本。目前已有127人学习适合需要快速掌握检索报告填写规范、了解IMS与PSTN/CS互通关键议题的在校学生参考使用。1. 一份十年前的文献检索报告为什么还值得拆这份资源是一份 2013 年的《文献检索》课程检索报告课题是 IMS 与 PSTN/CS 网络的互通。按课程要求报告依次在 CNKI 期刊库、硕博学位论文库、万方、维普、读秀以及中/美专利库中执行检索记录了检索式、命中数量和代表性文献。今天回看IMS 与 PSTN/CS 的互通已经从 3GPP R5 时代的热点变成 VoLTE 网络中的日常工程问题但很多人一上手就开始配 MGCF却说不清当 INVITE 走到 IAM 时中间发生了什么。这份报告恰好提供了一条从文献出发建立整体认知的路径先看协议边界再看路由实现最后落到专利里的工程方案是一份可以反复对照的检索样例。2. IMS 与 PSTN/CS 互通的协议栈与网元职责2.1 先理清 UMTS 里三个域的关系3GPP 在 UMTS Release 5 之后把 IMS 引入核心网UMTS 网络因此同时存在三个域电路交换域处理传统电话分组交换域承载数据业务IMS 则在分组承载之上提供 SIP 多媒体会话。问题是运营商不可能一夜之间拆掉 PSTN 和 CS 域尤其是大量集团用户和紧急呼叫业务仍然依赖电路交换。于是 IMS 必须与其他两个域互通否则 IMS 用户只能呼叫 IMS 用户价值非常有限。从协议角度看IMS 域的信令是 SIP媒体走 RTPPSTN/CS 域的信令是 ISUP媒体走 64 kbit/s 的 PCM 或压缩语音。两边的呼叫状态机不同、地址格式不同、计费和控制方式也不同。所谓“互通”核心就是做三件事信令协议转换、媒体格式适配、路由选择。报告里检索到的多篇文献主题都落在这三件事上。2.2 互通的骨干网元MGCF、IM-MGW、SGW在 IMS 架构中和 PSTN/CS 互通直接相关的网元主要有三个MGCF媒体网关控制功能、IM-MGWIP 多媒体媒体网关、SGW信令网关。它们的分工很明确MGCF 负责会话控制和 ISUP 与 SIP 的翻译IM-MGW 负责媒体流的编解码转换和资源管理SGW 负责底层传输协议转换比如把 M3UA/SCTP 转成传统 TDM 信令。网元所在域主要职责关键协议MGCFIMS 域控制呼叫状态、转换 SIP 与 ISUP、控制 IM-MGWSIP、ISUP、H.248IM-MGWIMS/CS 边界媒体编解码转换、回声抑制、资源分配RTP、H.248SGW信令面SCTP/IP 与 TDM 信令的承载转换M3UA、SCTP、TDM我在看报告时发现学生在维普数据库里找到的《浅谈 IMS 和 PSTN/CS 网络的互通》一文把 IMS 与 PSTN/CS 互通的必要性讲得很清楚但对网元的描述比较简短。真正把网元职责展开的是专利文献比如中兴在 CN101193034 里详细定义了呼叫状态控制实体和归属用户服务器之间的交互这说明学位论文和期刊适合搭框架专利适合挖细节。2.3 SIP 与 ISUP 的映射不能死记SIP 是文本协议ISUP 是二进制消息两者不是一一对应。常见做法是维护一张映射关系表再配合状态机来处理异常分支。下面这段 Python 代码可以表达最基础的映射关系适合用来做笔记或写测试桩。# sip_isup_map.py # 仅展示呼叫建立阶段的核心映射非完整状态机 mapping { INVITE: IAM, # Initial Address Message 100 Trying: ACM, # Address Complete Message 180 Ringing: ACM Progress Indicator, 200 OK: ANM, # Answer Message ACK: None, # ISUP 中不需要单独确认消息 BYE: REL, # Release } for sip_msg, isup_msg in mapping.items(): print(f{sip_msg:12} - {isup_msg})这段代码的逻辑是按 SIP 方法名查表得到对应的 ISUP 消息名。参数mapping里每个键值对代表一条规则实际项目里这些规则会放到配置文件里由 MGCF 加载后在呼叫建立阶段使用。需要注意100 Trying和180 Ringing在 ISUP 里可能都映射到 ACM但需要通过 Progress Indicator 区分是否在回铃。如果不做这个区分电话就会产生“早媒体”或“振铃丢失”的故障。2.4 检索结果串起来的主线从报告检索到的文献看研究方向有明显的三个阶段。早期文献集中在“IMS 和 PSTN/CS 为什么要互通”比如《浅谈 IMS 和 PSTN/CS 网络的互通》中期文献开始研究“怎么演进而不是推倒重来”比如《固定网结合智能化改造向软交换网及 IMS 演进的策略研究》和《PSTN 向下一代网络演进的研究》后期专利开始细化“某个具体问题怎么做”比如“IMS 网络和 CS 网络互通时选择路由的系统”和“单射频语音呼叫连续性方案”。这条主线对今天的启示是做 IMS 互通排障时先别急着抓包先判断问题属于哪一层——是信令转换层、路由选择层还是媒体适配层。3. 从报告反推文献检索的规范动作3.1 检索式不是简单堆关键词报告里出现了两个检索式IMS and PSTN/CS 网络和IMS or PSTN/CS 网络。前者命中 1 或 12 条后者命中 6 条差异很大。and要求两个词同时出现适合收窄范围or只要任意一个词出现适合查全。很多新手把and和or混用或者把同义词全部用and连接导致要么漏检要么噪音过大。我一般会先构造一个基础检索式再用分组和同义词扩展。通用模板如下# 主题1 AND (主题2 OR 主题3 OR 同义词) # 示例IMS 互通相关 keywordsIMS interworking_variantsPSTN OR \CS 网络\ OR \电路交换\ OR \ISUP\ OR \互连互通\ query${keywords} AND (${interworking_variants}) echo 检索式: ${query}这里的逻辑是用一个核心概念作为主限定把次要概念的多种说法放进括号里用OR连接再整体与主概念做AND。参数interworking_variants里的引号用于词组精确匹配避免“CS 网络”被拆分。实际执行时还需要根据数据库语法调整CNKI 里用and/or或*维普用AND/OR万方支持括号嵌套如果库里不识别英文操作符则换成中文“并且/或者”。3.2 数据库要按目的分开用报告里的数据库组合非常经典每种库解决一类问题。期刊库适合看最新研究进展学位论文库适合看背景综述和技术细节因为硕士论文的前两章通常会把体系架构讲透专利库适合看具体实现方案和竞争对手布局电子书适合建立完整知识框架。数据库资源类型适合回答的问题报告中的命中数量CNKI 期刊全文数据库期刊这个方向目前有哪些研究12CNKI 硕博学位论文库学位论文系统架构和演进策略是什么6万方期刊/会议与期刊库互证补充漏检5维普期刊验证同一篇文献的元数据1读秀知识库电子书有没有系统性的专著2中国专利全文数据库专利具体实现方法是什么20美国专利全文数据库专利国外同族专利和英文术语2在报告里学生用不同库检索同一主题结果数量差异很大这并不代表某个库不好而是因为收录范围、标引深度和检索字段不同。比如维普只命中 1 篇是因为检索字段选了“题名或关键词”且检索词包含斜杠“PSTN/CS”部分库会把“PSTN/CS”当成一个完整词组导致漏检。3.3 写一个关键词矩阵生成脚本为了避免每次手工拼检索式我会用一个小脚本自动生成多组关键词组合复制到数据库里轮询执行。import itertools # 核心概念词按主题维度分组 concepts { domain: [IMS, IP Multimedia Subsystem], target: [PSTN, CS 网络, 电路交换], action: [互通, 互连, 演进, 路由选择], } keys list(concepts.keys()) for r in range(1, len(keys) 1): for combo in itertools.combinations(keys, r): parts [] for key in combo: parts.append(( OR .join(concepts[key]) )) print( AND .join(parts))脚本逻辑是使用 Python 的combinations枚举主题词的自由组合每个维度内部的词用OR合并维度之间用AND连接。range(1, len(keys) 1)控制至少选一个维度最多选全部三个维度。输出结果会包含(IMS OR IP Multimedia Subsystem) AND (PSTN OR CS 网络 OR 电路交换)这类组合。执行时如果某个组合命中的记录太少就去掉action维度保留domain AND target如果命中太多则把action加上收窄。3.4 从检索结果里读出技术脉络检索不能止步于记录数量和篇名否则和搜索引擎没区别。报告中的做法是每库挑一篇最相关的文献记录完整摘要和关键词。更进一步的技巧是看分类号比如报告里记录的中图分类号TN929.5表示无线通信TN916.2表示电话交换网TN915.04表示通信协议。用分类号去同一个库里再查一次往往能找出没用“互通”一词但实际相关的文献。学位论文的绪论部分也是宝藏我通常会先把学位论文的第二章读完再回来看期刊和专利这样框架会比零散读摘要完整得多。4. 从专利文本看 IMS 与 CS 互通的路由与切换实现4.1 专利 CN101193034出口网关如何被选中报告里记录的中兴专利 CN101193034 解决的是 IMS 主叫呼叫 CS 被叫时的路由选择问题。传统做法是 IMS 网络把呼叫送到任意一个互联网关再由 CS 网络内部的七号信令去寻址容易造成话路迂回。该专利提出的方案是呼叫状态控制实体收到呼叫请求后先根据被叫识别码向归属用户服务器发起被叫位置查询拿到被叫当前所在的网络位置后再选择离被叫最近的出口网关。这个流程可以归纳为四步IMS 侧主叫用户发起呼叫呼叫请求到达呼叫状态控制实体。呼叫状态控制实体分析被叫号码向 HSS 发送被叫位置查询。HSS 根据被叫的注册信息返回位置信息。呼叫状态控制实体根据位置信息选择出口 MGCF/IM-MGW 组合完成与 CS 域的互通。与不做位置查询的静态路由相比这种动态选路能减少跨省或跨本地网的迂回缩短呼叫建立时延。具体实现中被叫位置信息可以是小区标识、MSC 编号或位置区码取决于 HSS 里保存的数据粒度。这个方案在 2008 年申请到了 VoLTE 时代类似的“先查位置再选出口网关”思路仍然被用于 vIMS 网络中的号码段路由和异网互通。4.2 单射频语音呼叫连续性里的锚定思想报告中的美国专利摘要是关于单射频语音呼叫连续性SRVCC的。场景是这样的用户正在 PS 域用 IMS 打电话信令锚定在 IMS 控制点ICP媒体锚定在接入网关AGW上。当用户移动到没有 LTE 覆盖的区域时PS 侧控制网元向增强型移动交换中心eMSC发起切换请求要求把 IMS 会话切到 CS 接入。eMSC 准备媒体链路后向 ICP 发送呼叫请求由 ICP 控制 AGW 把新链路和原来的远端媒体链路关联起来。这个设计的关键在于“锚定”。如果呼叫建立时媒体不锚定到 AGW切换时就不可能在不中断远端对话的情况下把媒体流改到 CS 域。实现时AGW 需要维护两个方向的外部接收地址一个是原 IMS 会话的远端媒体地址 F另一个是 eMSC 新分配的媒体地址 H。ICP 收到 eMSC 发来的 SIP 呼叫请求后把 H 与 F 关联同时给 eMSC 分配一个新的接收地址 J。这样切换完成后远端以为还是在和同一个 IMS 会话通信实际上媒体已经切到 CS 线路上了。切换阶段信令通道媒体通道控制实体切换前UE - IMS - 远端AGW 与远端直连ICP切换中eMSC - ICPAGW 同时连接远端和 eMSCICP切换后UE - eMSC - ICPAGW 与远端保持媒体经由 eMSCICP这段内容对做 VoLTE 互操作的人来说尤其重要因为今天的 SRVCC 实现依然沿用“信令锚定 媒体锚定 eMSC 桥接”的框架只是把 AGW 换成了更通用的 IMS AGW。4.3 互通场景怎么抓包和验证在实验室验证 IMS 与 PSTN/CS 互通时我一般会在 MGCF 的两侧同时抓包一边抓 SIP一边抓 ISUP 或 SIGTRAN。对于 SIP直接过滤 5060 端口即可。# 抓取双向 SIP 信令保留完整报文写入 pcap 文件 tcpdump -i eth0 -s 0 -w ims_pstn.pcap \ (udp port 5060) or (tcp port 5060) # 抓完后用 tshark 快速查看方法名和状态码 tshark -r ims_pstn.pcap -Y sip \ -T fields -e frame.number -e sip.Method -e sip.Status-Code \ -e ip.src -e ip.dst第一条命令中-i eth0指定抓包网卡-s 0表示不截断报文-w写入文件括号内的过滤表达式同时抓 UDP 和 TCP 的 5060 端口。第二条命令用tshark的-Y sip显示过滤器只保留 SIP 报文-T fields指定输出帧号、方法、状态码和 IP 地址。实际排查时重点看INVITE的 Request-URI 是否带国家码100 Trying之后是否出现180 Ringing或183 Session Progress以及200 OK的 SDP 里的连接地址是否是 IM-MGW 的 IP。如果INVITE后面直接跟480 Temporarily Unavailable多半是 HSS 位置查询失败或出口网关路由没配上。5. 把文献调研沉淀成一张互通知识卡片5.1 三层速查表文献读完不是终点最终要变成能指导操作的知识卡片。我会把 IMS 与 PSTN/CS 互通拆成三层路由层、信令层、媒体层。每一层对应一个核心问题呼叫往哪送、协议怎么翻、媒体怎么转。层次核心问题关键网元观察点路由层选择哪个出口网关S-CSCF、HSS、MGCF位置查询是否启用、号码段路由优先级信令层SIP 与 ISUP 如何对应MGCFIAM 中的 Called Party Number、Progress Indicator媒体层编码和地址如何协商IM-MGWSDP 中的编解码列表、回声抑制开关这张表可以直接贴在工位旁。遇到互通问题时先确定故障发生在哪一层再去查对应配置效率比从底层开始盲查快很多。5.2 用关键词共现统计判断研究热点如果你想把这套文献调研方法拓展到新的技术方向可以写一个简单的共现统计脚本判断某些关键词是不是研究热点。下面这个脚本读取当前目录下的摘要文本文件统计关键词出现在同一篇文章里的频率。import re from collections import Counter from itertools import combinations from pathlib import Path keywords [IMS, PSTN, CS, MGCF, SRVCC, 互通] co_occur Counter() for path in Path(abstracts).glob(*.txt): text path.read_text(encodingutf-8) present [kw for kw in keywords if re.search(kw, text)] for pair in combinations(present, 2): co_occur[pair] 1 for pair, count in co_occur.most_common(10): print(f{pair[0]} - {pair[1]}: {count} 次)脚本先遍历abstracts目录下的所有文本文件re.search判断关键词是否出现在摘要里然后取两两组合用Counter累加共现次数。combinations(present, 2)保证只统计同时出现的词对。最后most_common(10)输出排名前 10 的组合。如果“SRVCC”和“互通”的共现次数远高于其他词对说明这个方向已经形成明确的应用语义如果某个词对没有一次共现则可能是检索链路的断点值得去追踪原始标准。结合报告里的检索式把同样的方法用在今天的 5G 或边缘计算文献上就能快速建立新方向的知识地图。本文还有配套的精品资源点击获取
返回列表