Omnitouch 端口迁移管理器
为运营商提供号码可携带性管理 — 清算所集成、ENUM路由和OSS/BSS生命周期事件,配备操作团队的Web UI。
Omnitouch在我们的网络中部署了号码可携带性,与PortingXS进行实时集成,并在北美市场支持NPAC。
概述
Omnitouch 端口迁移管理器处理号码迁移操作的完整生命周期:提交和跟踪与清算所的请求,维护已迁移号码的ENUM路由数据库,并将生命周期事件传递给运营商的OSS/BSS。它与PortingXS在其43个国家的网络中集成,并与NPAC进行美国部署。
该平台旨在由大规模的OSS/BSS驱动,提供日常操作工作的Web UI — 审查端口状态、处理边缘案例、查询路由和验证已迁移号码的SMS交付。
在您继续阅读之前,有几点值得注意:
- 路由使用All-Call-Query��ENUM数据库进行查询,使用
npdi/rn参数,符合RFC 4694和3GPP TS 23.228 — 而不是静态范围表,这在后续端口中会静默失效 - 账户类型不匹配(最常见的拒绝原因)会自动重试,无需人工干预
- 平台拥有迁移工作流和路由;账户资格和服务生命周期保持在您的OSS/BSS中,并提供API钩子以连接它们
- 对于运行OmniCRM的运营商,OSS/BSS集成是预先构建的
Omnitouch 端口迁移管理器充当客户管理系统、外部迁移清算所、DNS/ENUM路由基础设施和计费平台之间的中央集成点。
集成架构
Omnitouch 端口迁移管理器围绕一个清晰的边界构建:它拥有迁移工作流和路由,而您的OSS/BSS拥有客户。这是有意为之。
运营商已经拥有一个BSS,知道客户账户是否良好,持有什么服务,以及服务终止时会发生什么。将该逻辑构建到迁移平台中将意味着要么重复它,要么与之对抗。相反,Omnitouch 端口迁移管理器公开了正确的钩子 — 资格检查调用您的BSS以获取答案,生命周期事件(端口完成、端口出授权)通知您的BSS采取行动。迁移平台完成其工作;您的BSS完成其工作。
在实践中,这意味着:
- 端口请求生命周期和清算所交互在此处完全管理
- 完成��路由会自动更新
- 账户资格、服务激活和账户关闭保持在您的OSS/BSS中 — 由来自该平台的事件触发,而不是被其替代
对于运行OmniCRM的运营商,此集成是预先构建的。对于有现有BSS的运营商,API提供了所需的事件钩子以进行连接。
Web UI为迁移团队提供了处理日常操作的工具 — 审查请求、处理待处理的端口、查询路由和诊断SMS交付问题。在规模上,期望通过API自动化端口提交和生命周期响应。
系统架构
核心组件
- 端口迁移管理器 — 协调迁移工作流并管理与号码可携带性清算所的交互
- DNS/ENUM服务器 — 管理呼叫路由和号码解析
- API和Web界面 — 提供程序化和用户访问迁移功能
集成点
- OmniCRM — 客户关系管理和服务提供
- 计费平台 — 计费和收入管理(CGrateS)
- PortingXS — 国际号码可携带性清算所
- NPAC — 美国号码可携带性清算所
- DNS/ENUM基础设施 — 呼叫路由和号码解析
端口迁移管理器
端口入工作流
- 请求发起 — 通过Web UI或API创建端口入请求
- 清算所提交 — 端口迁移管理器将请求提交给适当的清算所(国际市场为PortingXS,美国为NPAC)
- 状态监控 — 系统通过清算所事件流跟踪状态变化
- ENUM配置 — 在成功完成端口后,路由数据库自动更新
- 服务激活 — OmniCRM服务被激活并开始计费
- 计费集成 — 计费平台被通知开始计费
自动供方运营商检测
当提交端口入请求时,如果没有donornetworkoperator,Omnitouch 端口迁移管理器会自动根据号码范围确定供方运营商。这是大多数提交的推荐默认值 — 只有在需要覆盖自动检测结果时,才需要明确指定运营商代码。
自动账户类型重新提交
供方运营商拒绝的一个常见原因是账户类型不正确(拒绝代码35) — 请求中的预付费/后付费标志与供方的记录不匹配。端口迁移管理器在收到此拒绝时,会自动重试请求,切换账户类型(预付费→后付费或反之)。
重新提交会创建一个新的端口记录。在Web UI中,原始端口ID在新记录中以绿色显示,以便历史可追溯。通过API,GET /np_api/PortIn/{msgidentifier}在发生重新提交时会透明地解析为活动记录。
端口出工作流
- 请求接收 — 从获得运营商通过清算所接收端口出请求
- 服务验证 — 系统验证服务是否存在且符合条件
- CRM通知 — OmniCRM更新端口出状态
- ENUM去配置 — 路由数据库更新以将呼叫路由到获得运营商
- 服务终止 — 在预定的端口时间:在OmniCRM中停用服务,生成最终发票,关闭所有相关服务
清算所集成
PortingXS
PortingXS (PXS) 是一个广泛采用的国际号码可携带性清算所,在43个国家的四个地区运营:
| 地区 | 国家 |
|---|---|
| 美洲和加勒比 | 安提瓜和巴布达、巴哈马、巴巴多斯、开曼群岛、库拉索、多米尼克、格林纳达、圭亚那、牙买加、巴拿马、圣卢西亚、圣基茨和尼维斯、圣马丁、圣文森特和格林纳丁斯、特立尼达和多巴哥、土克凯科斯 |
| 欧洲 | 比利时、波斯尼亚和黑塞哥维那、直布罗陀、根西岛、爱尔兰、马恩岛、泽西岛、科索沃、黑山、斯洛文尼亚、荷兰、乌克兰 |
| 非洲 | 阿尔及利亚、贝宁、加纳、肯尼亚、纳米比亚、尼日利亚、卢旺达、塞内加尔、塞舌尔、多哥 |
| 中东和亚洲 | 亚美尼亚、孟加拉国、文莱、伊拉克、斯里兰卡 |
端口迁移管理器通过REST/SOAP API集成,并通过状态机管理完整的端口生命周期。
核心能力:
- 端口入/出管理,具有完整的状态机工作流
- 通过事件历史进行实时状态更新
- SOA/ENUM XML消息跟踪
- ENUM(IMS)和MAP/INAP/CAP(All Call Query)的集中路由数据库
- 手动路由覆盖
API端点:
| 方法 | 端点 | 描述 |
|---|---|---|
| POST | /PortIn/create | 提交新的端口入请求 |
| GET | /PortIn/list | 列出所有端口入请求 |
| GET | /PortIn/{msgidentifier} | 获取事件历史 |
| POST | /PortIn/{msgidentifier} | 发送继续指令 |
| DELETE | /PortIn/{msgidentifier} | 中止端口请求 |
| GET | /PortOut/list | 列出端口出请求 |
| POST | /PortOut/{msgidentifier} | 授权端口出 |
| DELETE | /PortOut/{msgidentifier} | 拒绝端口出 |
| GET | /route/{phone_number} | 查询当前路由 |
| POST | /route/{msisdn}/{operator}/{type} | 手动更新路由 |
运营商代码、号码格式和账户类型根据部署进行配置。
NPAC
对于美国运营,Omnitouch 端口迁移管理器与号码可携带性管理中心(NPAC)集成:
- NPAC服务订单(SO)创建和管理
- 本地服务提供商(LSP)交互
- 订阅版本(SV)管理
- 实时状态同步
- 符合美国迁移法规和时间表
DNS / ENUM服务器
DNS服务器为电信网络提供全面的DNS服务,支持标准数据包服务、漫游场景、IMS和号码可携带性呼叫路由。
3GPP网络区域
EPC区域 (epc.mncXXX.mccYYY.3gppnetwork.org) — 用于本地Diameter信令和漫游场景。使访问网络能够发现本地PGW资源。包含用于Diameter对等发现的SRV和NAPTR记录。
IMS区域 (ims.mncXXX.mccYYY.3gppnetwork.org) — 支持IP多媒体子系统操作。路由SIP信令并定位IMS用户的CSCF资源。支持VoLTE和RCS。
公共3GPP区域 (mncXXX.mccYYY.pub.3gppnetwork.org) — 提供对面向用户的服务的外部访问:XCAP服务器发现、GBA的BSF位置和VoWiFi的ePDG发现。
ENUM用于号码可携带性
DNS服务器使用e164enum.net区域实现RFC 3761 ENUM服务。
All-Call-Query (ACQ): 每个呼叫查询ENUM数据库以确定当前路由。
ENUM查询流程:
- 呼叫系统提取拨打的号码(例如 +1-555-0100)
- 号码转换为ENUM格式 (
0.0.1.0.5.5.5.1.e164.arpa) - 向ENUM服务器发出DNS NAPTR查询
- 服务器返回路由信息:运营商标识符、路由号码(RN)、服务提供商、自定义路由标签
OmniCall — Omnitouch的IMS和MSC平台 — 开箱即用地处理ENUM ACQ流程。无需额外的集成工作;OmniCall在每个呼叫中查询ENUM服务器,并根据NAPTR响应进行路由。对于同时运行OmniCall和Omnitouch端口迁移管理器的运营商,迁移号码的路由在端口完成的那一刻就是正确的,无需人工干预或单独的路由表维护。
迁移号码的路由方法
在RFQ 4694中定义的并被3GPP在TS 23.228 §4.18中采用的方法是对ENUM数据库进行All-Call-Query。每个呼叫查询ENUM以获取特定拨打号码的当前路由,响应直接携带服务运营商的路由号码。这就是号码可携带性在IMS网络中应有的工作方式 — 基于实时的每个号码数据进行路由决策,而不是需要手动维护并随着号码迁移而过时的范围表。
Omnitouch 端口迁移管理器完全实现了这一点。当端口完成时,NAPTR记录会自动推送到ENUM服务器,以便于迁移范围内的每个号码。响应携带两个参数:
rn— 当前服务运营商的路由号码。发起交换机路由到此,而不是拨���号码的原始运营商。npdi— 表示NP查找已完成。下游节点不得重新查询,这可以防止循环。
当端口完成时,Omnitouch 端口迁移管理器会自动为迁移范围内的每个号码推送NAPTR记录到ENUM服务器:
0.0.1.0.5.5.5.1.e164.arpa. NAPTR 10 10 "u" "E2U+pstn:tel"
"!(^.*$)!sip:\1;npdi;rn=<routing_number>@<carrier_ims_domain>!"
对于未迁移的号码,npdi被设置而没有rn — 确认查找已运行且号码未移动。无论哪种情况,发起IMS核心(S-CSCF/BGCF)都从DNS获得明确的答案,并在没有进一步数据库查询的情况下进行路由。
通过多个端口,路由保持正确,无需任何人工干预。ENUM服务器始终是唯一的真实来源。
计费平台集成
端口入
当号码成功迁移入时:
- 网关向计费平台发送激活通知
- 计费平台创建订阅者账户和计费档案
- 定期费用和使用计费立即开始
- 第一个发票可能根据端口完成日期进行按比例计算
端口出
当号码迁移出时:
- 网关向计费平台发送停用通知
- 在预定的端口时间,实时计费停止
- 生成最终账单:按比例计算的定期费用、未付使用费、提前终止费用(如适用)、信用/退款
- 以端口原因���码关闭订阅者账户
操作工作流
日常操作
- 早晨状态审查 — 检查过夜的迁移活动和清算所更新
- 行动项处理 — 处理待批准和客户确认
- 错误解决 — 调查并解决失败或被拒绝的端口
- 客户沟通 — 与客户协调即将到来的端口日期
监控
Omnitouch 端口迁移管理器提供自动监控:
- 清算所API连接性
- ENUM配置失败
- CRM同步错误
- 计费平台集成失败
- 异常的迁移拒绝率
合规性和审计
- 所有迁移活动都有完整的审计记录
- 符合监管迁移时间表
- 保留跨运营商通信记录
- 与清算所费用的财务对账
常见问题
端口停留在待处理状态 — 检查清算所API连接性,验证客户信息,查看事件日志以获取拒绝原因。
端口后路由未更新 — 确认端口状态为Number_Ported。使用路由查询检查当前状态。如有需要,使用推送路由手动纠正。
SMS验证失败 — 展开结果行以收集消息ID和事务ID。在升级时将这些提供给CPaaS提供商。
用户指南
入门
访问由API密钥控制。在首次加载时,您将被提示输入输入API密钥模态。输入您分配的API密钥并点击保存更改。凭据存储在浏览器的localStorage中,并在会话之间保持。要随时更新您的密钥,请点击导航栏右上角的更改API密钥。
您的账户级别决定可用的功能:
| 级别 | 访问权限 |
|---|---|
| 管理员 | 完全访问所有功能 |
| PXS用户 | 端口入/出管理和路由 |
| 只读 | 仅路由查询和SMS验证 |
导航
迁移请求 — 提交新的端口入请求
端口入 — 查看和管理所有端口入请求
端口出 — 审查并响应其他运营商的端口出请求
路由查询 — 查找任何号码的当前路由
推送路由 — 手动配置路由记录
验证SMS路由 — 通过多个CPaaS提供商发送测试SMS消息
更改API密钥 — 更新您的凭据(按钮,右上角)
新迁移请求
点击导航中的迁移请求以打开提交表单。

| 字段 | 描述 |
|---|---|
| 供方网络运营商 | 供方运营商的代码。选择自动以自动检测号码范围。 |
| 覆盖冷却期 | 仅在客户明确放弃冷却期时设置为真。默认:假。 |
| 账户类型 | 预付费或后付费 |
| 号码类型 | 移动或固定 |
| 第一个号码 | 号码范围的起始(本地格式,无国家代码) |
| 最后一个号码 | 范围的结束 — 对于单个号码端口与第一个号码相同 |
| 总号码 | 自动计算 |
| 电子邮件(联系人) | 此请求的联系电子邮件 |
| 授权号码 | 客户授权号码 — 如果留空则自动填充自第一个号码 |
点击提交以创建请求。成功消息将显示分配的消息标识符。
端口入仪表板

| 列 | 描述 |
|---|---|
| ID | 内部数据库ID |
| 端口ID | 清算所消息标识符 |
| 状态 | 当前迁移状态 |
| 请求时间 | 提交时间戳 |
| 更新 | 最后更新时间戳 |
| 运营商 | 供方网络运营商代码 |
| 目标 | 联系/授权号码 |
| 类型 | 移动或固定 |
| 服务类型 | 事件历史按钮 |
| 操作 | 状态依赖的操作按钮 |
如果端口已重新提交(例如,在账户类型不匹配后),原始端口ID以绿色显示。如果端口被拒绝,拒绝原因以红色显示。
端口入状态:
| 状态 | 意义 |
|---|---|
Waiting_for_Authorisation_Response | 请求已提交,等待供方响应 |
Waiting_for_Instruction | 供方已授权 — 确认继续 |
Waiting_for_Instruction_Response | 指令已发送,等待确认 |
Waiting_for_Ported_Response | 端口执行中 |
Number_Ported / Number_Ported_Complete | 端口完成,路由已更新 |
Aborted | 已取消 |
Rejected | 供方拒绝请求 |
TimeOut | 请求超时 |
操作:
Waiting_for_Authorisation_Response— 中止按钮(红色)取消请求Waiting_for_Instruction— 指令按钮(绿色)确认端口应继续
事件历史:
点击任何行上的事件历史以打开事件日志模态。

- 事件 — 每个状态转换的手风琴列表,包含事件类型和日志详细信息
- XML主体 — 所有SOA/ENUM XML消息的下载链接,分为出站(
Output_XML)和入站(Input_XML) - 详细数据 — 端口记录的完整JSON转储
端口出仪表板

| 列 | 描述 |
|---|---|
| ID | 内部数据库ID |
| 端口ID | 清算所消息标识符 |
| 状态 | 当前迁移状态 |
| 请求时间 | 提交时间戳 |
| 更新 | 最后更新时间戳 |
| 运营商 | 接收(获得)运营商代码 |
| 目标 | 正在迁移的号码范围 |
| 服务类型 | 事件日志按钮 |
| 操作 | 授权或拒绝按钮 |
操作(Waiting_for_Authorisation_Response):
- 授权(绿色) — 批准端口出并通知获得运营商
- 拒绝(红色) — 拒绝请求。仅在合法理由下使用:账户不匹配、未付余额、欺诈请求或号码未激活。
点击任何行上的事件日志以查看完整的消息交换。

路由查询
输入本地号码(自动添加国家代码)并点击检查路由。

响应是原始CGrateS ProcessEvent结果:
| 字段 | 描述 |
|---|---|
Event.E164Address | 查询的号码 |
Event.NAPTRAddress | NAPTR路由字符串 — IMS域或路由号码 |
Event.NAPTROrder | NAPTR顺序值 |
Event.NAPTRPreference | NAPTR优先值 |
MatchedProfiles | 与此号码匹配的CGrateS属性档案 |
推送路由

| 字段 | 描述 |
|---|---|
| 电话号码(不带国家代码) | 本地号码 — 自动添加国家代码 |
| 运营商 | 将此号码路由到的运营商代码 |
| 类型 | 移动或固定 |
用于紧急修正、初始配置或当自动后端路由失败时。
验证SMS路由

此工具的主要用例是验证来自外部CPaaS提供商的A2P(应用到个人)SMS消息是否正确路由到迁移号码。当号码被迁移时,新的运营商必须在每个提供商的路由表中正确配置 — 这并不总是自动发生,如果没有这样的工具,就没有简单的方法来检测这个差距。
通过从每个提供商向迁移号码发送测试消息,您可以确认哪些提供商已更新其路由,哪些尚未更新。返回错误或未能交付的提供商可以直接使用结果中的调试信息进行升级。
验证提供商接受了消息提交 — 不确认交付到手持设备。使用测试设备或SMSc日志检查确认交付。
- 输入目标电话号码(通常是最近迁移的号码)
- 选择一个或多个要测试的A2P提供商
- 点击检查路由
目标号码将从每个选定的提供商接收一条SMS,内容为来自{ProviderName}的测试。结果显示为绿色(接受)或红色(错误)。点击任何结果行以展开调试信息 — 在向CPaaS提供商升级路由问题时所需。
可用提供商:
| 提供商 | 备注 |
|---|---|
| 原生 | 原生平台SMPP交付 |
| CarrierA | 运营商直接 |
| CarrierB | 运营商直接 |
| Sinch | CPaaS提供商 |
| Twilio | Omnitouch有直接升级联系 |
| Vonage | Omnitouch有直接升级联系 |
| Telnyx | Omnitouch客户 — 直接团队联系 |
| Pilvo | Omnitouch有直接升级联系 |
Swagger / API Explorer
Omnitouch 端口迁移管理器在/np_api/doc处公开实时Swagger UI。



OpenAPI架构可在/np_api/swagger.json中获取,以便导入到Postman或其他API工具。
API参考
基础URL
/np_api/
交互式文档可在/np_api/doc处获取。
身份验证
有关身份验证设置和凭据管理,请参见管理员指南。
| 级别 | 功能 |
|---|---|
admin | 完全访问所有端点 |
pxs | 端口入/出管理和路由 |
read_only | 仅验证和号码信息端点 |
端口入端点
创建端口入请求
POST /np_api/PortIn/create — 授权: admin, pxs
| 字段 | 类型 | 必需 | 描述 |
|---|---|---|---|
donornetworkoperator | 字符串 | 否 | 供方运营商代码 — 留空以自动检测 |
email | 字符串 | 是 | 联系电子邮件 |
overridecooloff | 布尔 | 否 | 跳过监管冷却期(默认:假) |
contacttelephonenumber | 字符串 | 是 | 客户授权号码 |
Type_of_Numbers | 字符串 | 是 | "mobile"或"fixed" |
telephonenumberseriestart | 字符串 | 是 | 范围内的第一个号码 |
telephonenumberserieend | 字符串 | 是 | 范围内的最后一个号码 |
AccountType | 字符串 | 是 | "Prepaid"或"Postpaid" |
PortingState | 整数 | 否 | 初始状态覆盖(默认:0) |
curl -X POST https://your-host/np_api/PortIn/create \
-u "your_username:your_api_key" \
-H "Content-Type: application/json" \
-d '{
"donornetworkoperator": "DONOR",
"email": "ops@example.com",
"overridecooloff": false,
"contacttelephonenumber": "5550100",
"Type_of_Numbers": "mobile",
"telephonenumberseriestart": "5550100",
"telephonenumberserieend": "5550199",
"AccountType": "Prepaid"
}'
响应:
{
"result": "success",
"msgidentifier": "XX202501-CARR-00001",
"message": "端口入请求创建成功"
}
列出端口入请求
GET /np_api/PortIn/list — 授权: admin, pxs
返回最多30条记录,按最近的顺序排列。
获取端口入请求
GET /np_api/PortIn/{msgidentifier} — 授权: admin, pxs
返回完整记录,包括事件历史和号码范围��如果被重新提交所取代,则透明地返回较新的记录。
响应结构:
{
"port_in_id": 42,
"msgidentifier": "XX202501-CARR-00001",
"PortingState": 2,
"PortingStateString": "Waiting_for_Instruction",
"donornetworkoperator": "DONOR",
"email": "ops@example.com",
"contacttelephonenumber": "5550100",
"Type_of_Numbers": "mobile",
"AccountType": "Prepaid",
"overridecooloff": false,
"submission_timestamp": "2025-01-15T10:30:00",
"update_timestamp": "2025-01-15T14:22:00",
"failure_reason": null,
"original_porting_request": null,
"phone_number_ranges": [
{ "telephonenumberseriestart": "5550100", "telephonenumberserieend": "5550199" }
],
"events": [
{
"porting_in_event_id": 1,
"msgtype": "PortingRequest",
"direction": 0,
"eventlog": "已提交给清算所",
"submission_timestamp": "2025-01-15T10:30:00Z"
}
]
}
端口状态值:
| 值 | 状态 |
|---|---|
| 0 | NoPort |
| 1 | Waiting_for_Authorisation_Response |
| 2 | Waiting_for_Instruction |
| 3 | Waiting_for_Instruction_Response |
| 10 | Waiting_for_Ported_Response |
| 11 | Waiting_for_Change_Response |
| 20 | Number_Ported |
| 30 | Number_Ported_Complete |
| 97 | TimeOut |
| 98 | Aborted |
| 99 | Rejected |
拒绝原因代码(failure_reason):
| 代码 | 原因 |
|---|---|
| 0 | 未知 |
| 31 | 账户已暂停 |
| 32 | 账户问题 |
| 33 | 账单问题 |
| 34 | 存款超限 |
| 35 | 账户类型不正确 |
| 36 | 报告被盗或丢失 |
| 37 | 特殊 |
| 38 | 无冷却期(回归) |
| 39 | 预付费账单问题 |
| 99 | 一般拒绝 |
发送指令(确认端口)
POST /np_api/PortIn/{msgidentifier} — 授权: admin, pxs
确认端口应继续。仅在PortingState为Waiting_for_Instruction(2)时有效。
中止端口入
DELETE /np_api/PortIn/{msgidentifier} — 授权: admin, pxs
取消端口入。在状态中有效:Waiting_for_Authorisation_Response、Waiting_for_Instruction、Waiting_for_Authorisation。
列出XML文件
GET /np_api/PortIn/get_xml_list/{msgidentifier} — 授权: admin, pxs
返回端口的XML文件名数组。
下载XML文件
GET /np_api/PortIn/get_xml/{folder}/{filename} — 授权: admin, pxs
folder为output_XML(发送)或input_XML(接收)。
端口出端点
列出端口出请求
GET /np_api/PortOut/list — 授权: admin, pxs
获取端口出请求
GET /np_api/PortOut/{msgidentifier} — 授权: admin, pxs
响应结构:
{
"port_out_id": 99,
"msgidentifier": "XX202501-DONOR-00001",
"PortingState": 1,
"PortingStateString": "Waiting_for_Authorisation_Response",
"recipientnetworkoperator": "DONOR",
"Type_of_Numbers": "mobile",
"submission_timestamp": "2025-01-16T09:15:00",
"update_timestamp": "2025-01-16T09:15:00",
"phone_number_ranges": [
{ "telephonenumberseriestart": "5550200", "telephonenumberserieend": "5550249" }
],
"events": []
}
授权端口出
POST /np_api/PortOut/{msgidentifier} — 授权: admin, pxs
批准端口出并通知获得运营商。
拒绝端口出
DELETE /np_api/PortOut/{msgidentifier} — 授权: admin, pxs
拒绝端口出。仅在合法理由下使用:账户不匹配、未付余额、欺诈请求或号码未激活。
路由端点
查询号码路由
GET /np_api/route/{msisdn} — 授权: admin, pxs
返回CGrateS路由记录,包括NAPTR地址、顺序、优先级和HSS订阅数据。msisdn是完整的E.164号码,不带前导+。
推送路由更新
POST /np_api/route/{msisdn}/{operator}/{type} — 授权: admin, pxs
手动配置路由记录。operator是特定于部署的。type是mobile或fixed。
删除路由记录
DELETE /np_api/route/{msisdn} — 授权: admin, pxs
移除路由记录。
仅查询HSS
GET /np_api/route/hss_route/{msisdn} — 授权: admin, pxs
仅返回HSS订阅数据,不进行路由数据库查找。
验证端点
SMS路由验证
POST /np_api/validate/sms_validate — 授权: admin, pxs, read_only
通过指定的CPaaS提供商发送测试SMS。国家代码前缀自动添加。
| 字段 | 类型 | 描述 |
|---|---|---|
phone_number | 字符串 | 目标号码 |
Operator | 字符串 | Native、CarrierA、CarrierB、Sinch、Twilio、Vonage、Telnyx、Pilvo、ClickSend |
apiKey | 字符串 | 提供商API密钥(如需要) |
响应:
{
"result": "Sent",
"x-message-id": "SM1234567890abcdef",
"x-transaction-id": "8a2c925809bb403f01",
"x-message-timestamp": "2025-01-15T10:30:00.000Z",
"x-provider": "Twilio",
"x-provider-response": "..."
}
号码信息
GET /np_api/info/{msisdn} — 授权: admin, pxs, read_only
查询清算所的号码信息。以JSON格式返回原始清算所响应。
终止号码
DELETE /np_api/terminate/{msisdn}/{type_of_numbers} — 授权: admin, pxs
向清算所���交终止请求并移除路由记录。type_of_numbers为mobile或fixed。
清算所XML接收器
POST /np_api/{deployment_prefix}/recv/ — 授权: pxs(清算所凭据)
由清算所用于传递入站XML消息的内部端点。非直接使用。部署前缀根据安装进行配置。
| 消息类型 | 操作 |
|---|---|
authorisation_request | 创建新的端口出记录 |
authorisation_response | 更新端口入状态;在代码35上重试并切换账户类型 |
instruction_response | 将端口入推进到Waiting_for_Ported_Response |
ported | 标记端口完成,更新路由数据库,发送欢迎通知 |
timedout | 将状态设置为TimeOut |
terminated | 移除路由记录 |
错误响应
{
"result": "在...中引发异常",
"Reason": "错误详细信息"
}
| 状态 | 意义 |
|---|---|
| 200 | 成功 |
| 401 | 身份验证失败 |
| 403 | 找不到文件(XML下载) |
| 500 | 内部错误 — 检查Reason字段 |