简介:GSM-R智能网系统技术文档,基于CAMEL3协议系统阐述铁路专用移动通信智能网架构,面向铁路通信工程师、网络规划人员、运维人员及通信相关专业读者。文档从智能网起源与发展讲起,逐一剖析gsmSSP、gprsSSP、SCP、HLR、VLR、IP、SMP、SMAP、SCEP等核心节点的职责与数据交互,并详解SCP异地冗余设置及主备数据实时同步、SSP的OVERLAY与目标网两种组网方式的选型依据。系统功能方面,涵盖电路与分组交换呼叫控制、USSD、短消息业务、补充业务通知、移动性管理、用户数据监控等基本和扩展能力;接入矩阵结合EIRENE规范解析铁路调度中呼叫权限控制规则。全文为单独一篇doc文档,约759KB,便于离线阅读和标注。目前已有249人学习下载,可作GSM-R技术学习、网络规划设计和铁路通信培训的参考材料。
1. GSM-R智能网系统到底解决了铁路调度里的什么问题
调度员按车次号呼叫一列行进中的动车,司机用"司机-本务"这样的功能号接通,列车刚跨过调度分界点,呼叫就自动接到了新任调度台——这些"手机号根本不透明"的铁路业务,靠的就是 GSM-R 智能网系统。它把电信网里"业务与交换分离"的思路搬进铁路专用移动通信网,在 MSC/MSS 之上叠加 SSP/SCP 控制点,通过 CAMEL 机制把呼叫暂时拦停、查一次业务库、改一次被叫号码或换一条路由,再放回到交换网里继续接续。对铁路通信工程师来说,它直接解决调度通信里"找不到该找的人、接不到该接的台、紧急呼叫抢不通"三个老大难问题。要想知道这套系统怎么落地、参数怎么设、什么环节最容易翻车,下面的内容按架构、数据配置、信令调测到现场排障的顺序逐步展开。
2. 移动智能网如何变成铁路专用:GSM-R智能网的架构与业务映射
2.1 智能网四类实体在GSM-R里各管什么
智能网不是单独一台设备,而是一套把"接续逻辑"从交换机里抽出来、集中控制的架构。GSM-R 智能网系统沿用智能网标准模型里的四类功能实体:SSP 负责识别"这个呼叫需要交给智能网处理";SCP 负责执行业务逻辑,比如查功能号表、做号码翻译;SDP 负责存业务数据,车次号与手机号的绑定关系、小区与调度区的对应表都在这里;SCE 则用来在线编辑和下发业务逻辑。在工程实施中,SCP 和 SDP 多数情况下合设为一台设备,SSP 则由 MSC/MSS 兼任,并不需要额外插一台独立交换机。
GSM-R 智能网与公网移动智能网的最大区别在于业务重心。公网智能网里跑得最多的是预付费和彩铃,对话模型是"收到 InitialDP 后查余额、扣费、播放提示音";GSM-R 智能网里则完全围绕调度身份来组织业务,SCP 上的核心逻辑是"收到呼叫信息后,去查功能号表或者位置映射表,返回一个真实可接续的号码"。这个差异决定了后续所有数据配置的重心都落在号码变换和位置匹配上,而不是计费账目上。理解这一点,就明白为什么同一套 CAMEL 机制在两个网络里调测的侧重点完全不同。
2.2 CAMEL 触发点:智能网怎么"接管"一次 GSM-R 呼叫
GSM-R 智能网对呼叫的接管依赖 CAMEL 机制,核心是移动用户 HLR 里的 CSI(CAMEL 签约信息)。MSC/SSP 会根据 HLR 下发的 O-CSI 和 T-CSI 中的触发点设置,在呼叫的某个特定时刻暂停处理,并向 SCP 发出 InitialDP 请求。GSM-R 工程里最常见的是两类触发:
| 触发类型 | 通俗说法 | 典型 GSM-R 业务 | 关键数据 |
|---|---|---|---|
| O-CSI | 主叫拨号后被拦停 | 主叫功能号预处理、呼出限制 | 主叫 IMSI、主叫号码、被叫号码 |
| T-CSI | 来话到达被叫侧后被拦停 | 功能寻址、基于位置的寻址 | 被叫接入号、被叫号码、位置信息 |
| 组合触发 | 一次呼叫先后在主叫侧和被叫侧各拦一次 | 号码分析 + 位置再分析 | 两次 InitialDP 的 serviceKey 不同 |
需要特别注意,一次 GSM-R 智能网呼叫可能产生两次触发。主叫侧 O-CSI 先触发一次,SCP 可以在这里判断主叫是否有权发起该业务;后续被叫号码收集完成后,由被叫侧 T-CSI 再触发一次,SCP 这时才真正去查功能号绑定表或者位置映射表。很多初次调测的人只关注 T-CSI,结果主叫侧数据没配,信令跟踪里连第一次 InitialDP 都看不到。
2.3 五类 GSM-R 业务落到智能网侧变成什么
GSM-R 网络里的传统调度业务并不是全靠智能网才能实现,但智能网能让它们从"靠交换局数据硬顶"变成"靠业务逻辑灵活配置"。工程上常见的业务映射有以下几类:功能寻址把"车次号+功能码"翻译成当前担当该功能的司机手机号,SCP 返回的是真实 MSISDN;基于位置的寻址根据呼叫所在的小区或位置区判定当前调度区,再把呼叫接给对应调度台;呼叫优先级识别 eMLPP 级别,在智能网层面为高优先级呼叫提供排队和接续保障;组呼 VGCS 和广播呼叫 VBS 则借助 SCP 下发的组成员列表和组 ID,让 MSC 快速建立组呼信道。
这里要澄清一个误区:GSM-R 里的无线预占和 eMLPP 资源抢占,由 BSS 和交换侧的 MLPP 机制完成,智能网不负责"抢信道"。智能网在优先级业务里的角色是识别呼叫类别、决定是否排队、以及在呼叫接续参数中传递优先级标记。所以实际调测时,千万别在 SCP 上试图去实现无线侧的抢占逻辑,那是把两套不同层面的机制混为一谈了。
3. 让业务跑起来的基础数据:HLR签约、SCP数据与MSS触发配置
3.1 HLR侧T-CSI/O-CSI签约:一个配置片段看懂所有参数
GSM-R 智能网的数据配置从 HLR 签约开始。没有 CSI,MSC 就不会往 SCP 发 InitialDP,后面一切业务逻辑都是空谈。下文给出一个设备无关的签约数据示例,实际做数据时按厂商网管界面的等价操作完成:
// HLR CAMEL 签约数据示例:按厂商网管界面等价操作理解 ADD CAMEL-SUB: IMSI="460010312345678", T-CSI=100, GSMSCF-ADDR="86700210001", SERVICEKEY=21, DEFAULT-CALL-HANDLING="RELEASE", TRIGGER-TYPE="T-CSI", TRIGGER-DP="ROUTING-ADDRESS-ANALYSIS";这段配置里值得逐一说明的参数有五个。IMSI 必须绑定用户唯一标识而不是 MSISDN,因为 GSM-R 终端在机车和司机之间频繁换插,按手机号签约很容易出现"号在人不在"的错配。T-CSI 是 HLR 里区分不同触发类别的编号,它和 SCP 侧的业务键 SERVICEKEY 不一定相同,两边映射关系要单独核对。GSMSCF-ADDR 填的是 SCP 的 GT 地址,MSC 靠它做 SCCP 层寻址,这个地址一旦写错,信令直接走不到 SCP。
DEFAULT-CALL-HANDLING 是 SCP 故障或超时情况下 MSC 的兜底动作,取值只有 RELEASE 和 CONTINUE 两种。铁路调度通信里我一般建议选 RELEASE,理由很直白:调度呼叫宁可接不通,也不能因为 SCP 故障把紧急呼叫错误接到一个不相干的普通用户那里。TRIGGER-DP 决定在呼叫的哪个阶段拦停,常见做法把触发点设在"路由地址分析"阶段,这样被叫号码已经收集完整,SCP 拿着完整号码去查库才有意义。
3.2 SCP业务数据:功能号表与调度区映射怎么建
SCP 侧数据是 GSM-R 智能网真正跑业务的地方。工程交付时,最花时间的往往不是信令调测,而是把两条业务表做扎实。第一条是功能号绑定表,核心字段包括车次号、功能码、当前绑定 MSISDN、生效时间和失效时间。需要注意,车次号与司机的绑定不是永久关系,司机上车值乘时通过注册流程写入 SCP,退乘后必须解除绑定,否则调度呼叫会接到一个已经下班的司机手机上。
第二条是位置映射表,核心字段包括位置区编号 LAC、小区标识 CI、调度区编号和该调度区对应的调度台号码。建表时最容易忽略的是"跨区覆盖"场景:一个小区覆盖扇区伸到相邻调度区边界,列车在这个小区下呼叫,按主服务小区映射会接错调度台。常见做法是把边界小区同时配置归属主调度区,并加一条优先级字段,让 SCP 按"先精确小区、再位置区"的顺序匹配。SCP 上业务数据的增加和修改一般通过 SCE 完成。
3.3 MSS/SSP侧触发数据:GT翻译与IMSI分析的核对项
HLR 和 SCP 两侧数据都配好后,MSS/SSP 侧还有几个核对项,缺一个业务就起不来。第一是确认 MSC 的 IMSI 分析数据里对该号段启用了 CAMEL 触发,否则 MSC 收到 CSI 也不会真的去触发智能网。第二是核对 SCCP 层 GT 翻译,MSC 到 SCP 方向的路由要有一条,SCP 回 MSC 方向的路由也要有一条,这两条经常只配了一边。第三是确认两边配置的子系统号 SSN 一致,SCP 侧 SSN 配置错误时,MSC 发过去的报文会在 TCAP 层直接超时。
再有一个是 CAMEL 版本配套。不同阶段版本的 MSC 和 SCP 在 InitialDP 里的字段支持度差异很大,例如位置信息字段在 CAMEL2 里并非必选,而基于位置的寻址业务必须要用这个字段。遇到"SCP 侧收到了 InitialDP 但看不到小区号"这类问题,多半是版本协商后字段没带上。这些核对项全部过一遍后,GSM-R 智能网才具备拨测条件,下一步才能谈信令参数。
4. 功能寻址一次呼叫的完整信令路径:从InitialDP到Connect的关键参数
4.1 功能寻址呼叫的信令路径:每一步往哪看
把 GSM-R 智能网的功能寻址业务跑一遍完整呼叫,能直观看到信令参数在哪一步起作用。假设调度员要呼叫车次号 G1234 的司机,拨号是接入码加车次号加功能码,完整信令路径如下:
- 主叫 MSC 根据 O-CSI 触发智能网,先向 SCP 发出一条 InitialDP,携带主叫号码和原始被叫接入号。
- SCP 收到 O-CSI 触发的 InitialDP 后,检查主叫权限,然后返回 Continue,告诉 MSC 继续收集被叫号码。
- MSC 完成号码收集后,被叫侧 MSC 根据 T-CSI 触发第二次 InitialDP,这时 SCP 才去查功能号绑定表。
- SCP 查到 G1234 当前绑定司机手机号后,向 MSC 返回 Connect,携带 destinationRoutingAddress 作为真正的被叫号码。
- MSC 按普通呼叫接续流程向该手机号发起寻呼,呼叫进入正常的 GSM-R 语音通道。
工程上我把这条路径当作 GSM-R 智能网调测的"标准流"。凡是功能寻址不通,先按这个顺序查:第一次 InitialDP 有没有发出、第一次之后有没有收到 Continue、第二次 InitialDP 有没有带上完整被叫号码、Connect 里的号码对不对。四次交互中任何一次缺失,信令跟踪里一眼就能看出来,不用靠猜。
4.2 CAP消息关键字段:locationInformation和destinationRoutingAddress
GSM-R 智能网的信令参数主要集中在 CAP 消息里。调测时重点关注下面几个字段,它们几乎决定了所有业务能否正确执行:
// CAP InitialDP 关键字段逻辑示意,非真实 ASN.1 编码 { "operationCode": "initialDP", "serviceKey": 21, "imsi": "460010312345678", "calledPartyNumber": "0089961234", "callingPartyNumber": "00898654321", "locationInformation": { "cellGlobalId": "460-XX-LAC-CI", "ageOfLocationInformation": 3 } }InitialDP 里的 serviceKey 是 SCP 识别业务逻辑的入口,HLR 签约数据里的 T-CSI 和 SCP 的 SERVICEKEY 需要映射正确;IMSI 和 calledPartyNumber 是 SCP 做号码翻译的输入;locationInformation 中的 cellGlobalId 在基于位置的寻址里是核心判断依据,MSC 必须把这个字段真实上报,否则 SCP 不知道呼叫从哪个区来。Connect 消息里的 destinationRoutingAddress 是 SCP 翻译后的真实被叫号码,这个号码的 TON/NPI 参数必须和 MSC 的路由分析数据一致,不然交换机拿到号码后照样翻译不出去。
4.3 超时、缺省动作与优先级传递:三个方向的参数取舍
GSM-R 智能网里还有一类参数不直接决定业务逻辑,但决定业务稳定性。SCP 响应超时计时器就是最典型的一个:MSC 发出 InitialDP 后,SCP 需要在规定时间内返回 Continue 或 Connect,超时后 MSC 按 HLR 签约数据里的 DEFAULT-CALL-HANDLING 执行兜底动作。这个计时器设多少需要权衡,太短会让 SCP 负载稍高时就误释放正常呼叫,太长则会让调度员在守候时觉得呼叫"卡住"了。我一般按厂商模板取 5 到 10 秒,再结合 SCP 处理能力动态调整。
另一个需要关注的参数是呼叫释放原因 cause。SCP 主动拒绝某一呼叫时,会在 ReleaseCall 里携带 cause 值,这个值最终会透传到交换机的呼叫记录里。工程上建议把 SCP 内各类失败场景的 cause 编码统一规划,例如业务键错误、号码绑定不存在、位置映射失败各用不同 cause,这样后续查话单和信令跟踪时,不用逐条抓包就能快速归类故障。
优先级传递方面需要单独提醒:eMLPP 优先级在 CAMEL 对话里不是靠 SCP 控制无线资源的,SCP 能做的是在 InitialDP 里读取呼叫优先级标记、决定是否让高优先级业务插队,并在 Connect 后续接续时把优先级参数带回给 MSC。如果工程现场出现"紧急呼叫被智能网排队排住了"的问题,大概率是触发条件里没排除高优先级呼叫类别,而不是 SCP 本身业务逻辑有问题。
5. GSM-R智能网现场避坑:5个高发故障的定位与处置
5.1 CSI 没下发导致呼叫根本不触发
现场最常见的故障是"HLR 里明明配了签约,但拨功能号没有任何反应",信令跟踪里连 InitialDP 都看不到。这类问题的原因是 VLR 里缓存的用户签约数据没更新,或者终端入网时 HLR 尚未完成 CSI 下发;还有一种情况是 MSC 的 CAMEL 版本较老,只支持 O-CSI 不支持 T-CSI。解决办法是让终端做一次重新位置更新或者开关机,强制从 HLR 拉取最新签约数据,同时核对 MSC 的 CAMEL 功能开关。工程交付时,我会要求核心网侧在割接后主动触发一次批量位置更新,避免列车车载终端长时间不关机、带着旧签约数据一直跑。
5.2 被叫号码的 TON/NPI 错配导致翻译翻车
另一种高频故障是 SCP 返回的号码在信令里看着正确,但 MSC 出局时路由失败,呼叫直接释放。抓包分析会发现 Connect 消息里的 destinationRoutingAddress 携带的 TON/NPI 和 MSC 号码分析数据不一致。比如 SCP 按 unknown 格式返回号码,MSC 侧则按国内号码规则分析,两边对不上,交换机自然不认。解决方法是全网统一编号计划:SCP 侧返回号码时统一按 E.164 格式化,TON 设为 national、NPI 设为 ISDN,MSC 侧路由分析按同一规则配置。这个坑在功能寻址业务里尤其高发,因为调度员拨的是接入码加车次号,而 SCP 返回的是完整手机号码,两者的号码属性天然不同。
5.3 边界小区映射错位导致基于位置的寻址误判
基于位置的寻址出现"列车在 A 区却接到 B 区调度台"的故障时,多数人第一反应是小区表配错了,实际查下来常常是边界小区归属模糊。GSM-R 网络里很多基站覆盖远端延伸到相邻调度区,列车在边界地带的主服务小区可能一会儿切到 A 区、一会儿切到 B 区,如果映射表只按 LAC 粗粒度配置,就会出现误判。解决方法是位置映射表做到小区粒度,配置 CGI 而不是只配 LAC,并且把边界区域的越区覆盖小区明确归属到管辖区;验收时安排列车在调度分界点往返跑两次,对比两次呼叫接续的调度台是否一致。血的教训是:边界场景永远不要拿单一地点的一次拨测结果下结论。
5.4 双MSC共用SCP时GT翻译不一致
组网规模稍大后,GSM-R 智能网经常是两台 MSC 共用一台 SCP,故障表现却很怪:在 MSC1 下业务一切正常,终端漫游或切换到 MSC2 后,功能寻址完全失效。原因是 MSC2 侧的 SCCP 层 GT 翻译数据没配全,或者 SCP 回程地址在 MSC2 上没有对应翻译,更隐蔽的是两台 MSC 的 CAMEL 阶段版本不同,MSC2 老版本不支持 SCP 下发的某个字段。排查时先在 MSC2 侧做 SCCP 环回测试,确认 GT 路由双向可达,再核对两端的 CAMEL 版本协商结果。SCP 侧也可以按 MSC 地址分别配置业务键,避免不同 MSC 上报的业务数据互相干扰。
5.5 紧急呼叫被智能网拦截引发优先级业务冲突
最危险的一类故障是紧急呼叫被智能网拦住了。司机按下紧急呼叫后,本应立即通过 eMLPP 预占资源接通调度台,结果却没反应或者被排到队列里。查信令会发现紧急呼叫类别被 O-CSI/T-CSI 当成普通呼叫触发了智能网,SCP 处理过程中的排队逻辑把高优先级呼叫给拖住了。解决方法是交换侧触发分析数据里必须把紧急呼叫类别排除在智能网触发条件之外,让这类呼叫绕过 SCP 直通;SCP 侧如需要识别优先级,应通过 InitialDP 携带的优先级字段做快速放行,而不是进入普通业务队列。任何涉及行车安全的呼叫都不应该依赖 SCP 的正常业务处理时长,这必须作为一条硬性设计要求写进实施方案。
6. 交付验收这样验证GSM-R智能网:信令过滤与场景呼叫矩阵
GSM-R 智能网系统验收阶段,我一般不会只做"拨个号打通就算过",而是用两层验证兜底。第一层是信令级验证,在 MSC 侧信令监测点抓 SCCP 承载的 TCAP 消息,过滤出 CAP 报文,重点核对关键路径上的三组消息:HLR 位置更新后的 CSI 下发、呼叫触发时的 InitialDP、SCP 应答的 Connect/ReleaseCall。现场抓包时按一次呼叫的对话 ID 关联全部消息,检查 InitialDP 里的 locationInformation 是否携带 CGI、Connect 里的 destinationRoutingAddress 的 TON/NPI 是否统一。第二层是业务级验证,按场景矩阵逐项拨测,不能只测正常路径,还要测边界和异常路径。
| 测试场景 | 拨测方法 | 预期结果 | 信令核查点 |
|---|---|---|---|
| 功能寻址 | 调度台拨"车次号+功能码" | 接通当前绑定司机 | InitialDP → Connect 号码是否与绑定一致 |
| 基于位置的寻址 | 列车在调度分界点两侧分别拨测 | 分别接至对应调度台 | locationInformation 内 CGI 与映射表一致 |
| 紧急呼叫 | 模拟 eMLPP 最高优先级呼叫 | 快速接通且不排队 | 信令中无 SCP 拦截记录 |
| SCP 主备倒换 | 主用 SCP 手动倒换 | 新呼叫恢复且存量呼叫记录可查 | SCP 侧业务恢复时间达标 |
验收现场最容易漏掉的是 SCP 负荷较高时的超时行为,我会专门做一次断点测试:在 SCP 侧临时把一条业务数据的查询延时调大,观察 MSC 侧是否按 DEFAULT-CALL-HANDLING 正确动作。还有一次教训让我印象深刻:功能寻址在测试环境一直正常,上了真实列车环境就偶发接错调度台,查了一个下午才发现是功能号绑定表里塞了两条数据,动检车次和旅客车次绑到了同一个司机号上。从那以后我养成习惯,每次验收前先让数据维护方导出一份绑定表做人工复核,而不是直接扎进信令里查。验证 GSM-R 智能网,先把数据看住,再谈链路和信令,顺序反了会多走很多弯路。希望帮到你。
本文还有配套的精品资源,点击获取