MSR系列路由器与港湾软终端对接无法正常显示主叫号码的经验案例
一、组网:
实际组网如下图,MSR路由器通过FXS口连接模拟电话,通过VE1接口与港湾的语音软终端连接。要求实现模拟电话与软终端之间的正常通话并能显示主叫号码。
二、问题描述:
如上图组网后,发现模拟电话和软终端能够正常通话,但是软终端上不能正常显示主叫号码。
三、过程分析:
打开路由器上调试开关,收集到如下的信息:
路由器调试信息:
<H3C>dis debug
ISDN Q921 debugging is on
ISDN Q931 debugging is on
ISDN CC debugging is on
H225 event debugging switch is on
H245 event debugging switch is on
RAS event debugging switch is on
IPP cmc debugging switch is on
IPP error debugging switch is on
IPP socket debugging switch is on
IPP rtp/rtcp debugging switch is on
*Sep 12 17:42:43:751 2007 T_MNS_MSR3020 IPP/7/VOICE:
IPP_CMC [ -1]: Send AccpSetup Msg when receive Called ACF Msg
*Sep 12 17:42:43:751 2007 T_MNS_MSR3020 IPP/7/VOICE:
IPP_CMC [ -1]: Send ACCP_SETUP Msg OK
*Sep 12 17:42:43:753 2007 T_MNS_MSR3020 IPP/7/VOICE:
IPP_CMC [ -1]: Receive ACCP_SETUP_ACK Message From CMC
*Sep 12 17:42:43:753 2007 T_MNS_MSR3020 CC/7/CC_Debug: Serial1/0:15
CC<-IVA: ISDN_SETUP_REQ
CallID=0xffff UserID=0xf41 PortID=0x2b3301 ServiceType=0x1 Channel=0x2 IsCompleted=0x1 Cause=0x00(No0)
szCallingNumProperty=0x1 szCallingNum=6300 szCalledNumProperty=0x1 szCalledNum=6021
*Sep 12 17:42:43:754 2007 T_MNS_MSR3020 CC/7/CC_Debug: Serial1/0:15
CC->Q931: PRIM_SETUP_REQ
CCIndex=0x740 L3Index=0xffff PortID=0x2b3301 CES=0x1 *SN_COM=a1 *bearer=04 03 80 90 a3 *chan_id=18 03 a1 83 81
*calling_n=6c 09 81 39 34 38 31 32 30 30 31 *called_n=70 05 81 32 30 32 34
*Sep 12 17:42:43:755 2007 T_MNS_MSR3020 Q931/7/Q931_Debug: Serial1/0:15
Q931->Q921 DL_I_Data_Req CES = 1
cr_length= 2 cr= 02 05 20 SETUP *send_comp=a1 *bearer=04 03 80 90 a3 *chan_id=18 03 a1 83 81 *calling_n=6c 05 81 36
33 30 30 *called_n=70 05 81 36 30 32 31
*Sep 12 17:42:43:755 2007 T_MNS_MSR3020 Q931/7/Q931_Debug: Serial1/0:15
ISDN L3 timer T303 started, Call Reference = 0x0520.
*Sep 12 17:42:43:756 2007 T_MNS_MSR3020 Q931/7/Q931_Debug: Serial1/0:15
ISDN Layer 3 call state change: CS_NULL -> CS_CALL_INITIATED
*Sep 12 17:42:43:756 2007 T_MNS_MSR3020 Q921/7/Q921_Debug: Serial1/0:15
User Tx: Len=34 00 01 12 1A 08 02 05 20 05 A1 04 03 80 90 A3 18 03 A1 83 81 6C 05 81 36 33 30 30 70 05 81 36 30 32 31
User Tx: sapi=00 tei=00 c/r=0 I ns=09 nr=0D p=0
上面的debug信息中的蓝色部分为ISDN协议的CC层在收到收到Q921建链成功的原语后,向Q931层发送PRIM_SETUP_REQ原语,发起呼叫建立请求。
该请求中各信息单元的含义:
*send_comp=al:发送完全,表示SETUP消息里携带了完整的被叫号码;
*bearer=04 03 80 90 a3:承载能力,表明业务类型;
*chan_id=18 03 a1 83 81:通道号;
*calling_n=6c 09 81 39 34 38 31 32 30 30 31:主叫号码;
*called_n=70 05 81 32 30 32 34:被叫号码;
这里我们着重了解一下calling_n单元,第三组的数据81表示不包含第3a个八位组(限制主叫号码),如果这里的数据是80则表示包含第3a个八位组(显示主叫号码)。
港湾的工程师认为我们发送这样的setup消息不符合规范,是导致软终端无法正常显示主叫号码的原因。但是在ITU_T Q931协议中并没有规定消息中是否强制显示第3a个八位组。在MSR的现有实现机制中,如果模拟电话采用SIP呼叫方式,则在Q931消息中带有第3a个八位组,形式如下:
*Sep 14 10:05:30:378 2007 AR4945 CC/7/CC_Debug: Serial3/0:15
CC->Q931: PRIM_SETUP_REQ
CCIndex=0x11 L3Index=0xffff PortID=0x2b3301 CES=0x1 *SN_COM=a1 *bearer=04 0
3 80 90 a3 *chan_id=18 03 a1 83 81 *calling_n=6c 09 01 80 33 30 31 36 31 30 30 *
called_n=70 05 80 38 38 32 31 *low_l=7c 03 80 90 a3 *h_lay=7d 02 91 81
如果模拟电话采用H323呼叫方式,则在Q931消息中不带有第3a个八位组,形式如下:
*Sep 14 10:06:29:267 2007 AR4945 CC/7/CC_Debug: Serial3/0:15
CC->Q931: PRIM_SETUP_REQ
CCIndex=0x12 L3Index=0xffff PortID=0x2b3301 CES=0x1 *SN_COM=a1 *bearer=04 0
3 80 90 a3 *chan_id=18 03 a1 83 81 *calling_n=6c 08 81 33 30 31 36 31 30 30 *cal
led_n=70 05 80 38 38 32 31 *low_l=7c 03 80 90 a3 *h_lay=7d 02 91 81
在以上两种情况下,对端设备都应该能自动解析字段,实现自适应,正常显示主叫号码,这也是行业中通用的实现方式。
四、解决方法:
为了解决问题,港湾的软终端必须实现自适应。最终港湾在软终端上打补丁解决了问题,正常显示了主叫号码。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作