2

我们正在开发 SS7 CAMEL 应用程序。该应用程序基于 jboss 5.10GA 和 Mobicents/Restcomm 的 jss7 和 Restcomm 的 CAP 资源适配器。

在我们的 Sbb 中,我们从交换机接收 InitialDP 消息和分隔符。收到分隔符后,我们尝试将连接消息发送到交换机。

不幸的是,当我们在 onDelimiter 方法中收到的对话框上调用 .send() 方法时,没有发送任何要切换的消息,我们在 jboss 日志中可以看到:

TC-CONTINUE:没有 id 的对话/事务:67793592

    public void onDelimiter(DialogDelimiter delimiter, ActivityContextInterface aci) 
    {
        try
        {
            CAPDialogCircuitSwitchedCall dialog = (CAPDialogCircuitSwitchedCall) delimiter.getCAPDialog();
            dialog.addRequestReportBCSMEventRequest(bcsmevents, extensions);
            dialog.addCallInformationReportRequest(requestsTypes, null, null);
            dialog.addConnectRequest(new DestinationRoutingAddressImpl(new ArrayList<CalledPartyNumberCap>(Arrays.asList(new CalledPartyNumberCapImpl(new CalledPartyNumberImpl("48602465380".getBytes()))))), null, new OriginalCalledNumberCapImpl(new OriginalCalledNumberImpl(cdr.getBNumber().substring(0,10).getBytes())), null, new CarrierImpl("9191".getBytes()), null, null, null, null, null, null, null, null, false, false, false, null, false);
            dialog.addContinueRequest();
            dialog.send();
            (...)
         }
     }

如果我们的 sccp 规则有问题,那么以下地址的正确 sccp 设置应该是什么:

交换机:PC:6801,SSN:146,G​​T:4794733271,AI:18

我们的服务器:PC:5100,SSN:146,G​​T:442080000100,AI:18

这是 boot.log 文件

这是 server.log 文件

4

2 回答 2

2

此消息“TC-CONTINUE: No dialog/transaction for id: 67793592”表示 TC-CONTINUE 原语来到 TCAP 堆栈但没有这样的本地对话。未进行任何处理,并且未调用 onDelimiter() 方法。

最可能的原因是 TCAP 对话已经超时。您需要: - 增加 dialogTimeout 堆栈选项(很多次,因为它是 CAP) - 或在“CAPDialogListener.onDialogTimeout(CAPDialog capDialog)”内调用 capDialog.keepAlive(); (这样你需要检查对话框是否没有保存太久)

于 2016-05-02T19:53:00.490 回答
1

我认为您正在使用带有 cap RA 的 Restcomm jainslee?

你能附上server.log吗?

溴,

TN

于 2016-05-02T14:37:54.440 回答