我们正在开发SS7 CAMEL应用程序。该应用程序基于jboss 5.10GA和Mobicents/Restcomm的jss7和Restcomm的CAP资源适配器。
在我们的Sbb中,我们从交换机接收InitialDP消息和分隔符。收到分隔符后,我们尝试将connect消息发送到交换机。
不幸的是,当我们在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,GT: 4794733271,AI: 18
我们的服务器: PC: 5100,SSN: 146,GT: 442080000100,AI: 18
发布于 2016-05-03 03:53:00
这个消息" TC-CONTINUE : No dialog/transaction for id: 67793592“意味着TC-CONTINUE原语进入了TCAP堆栈,但没有这样的本地对话。未执行任何处理,也未调用onDelimiter()方法。
最可能的原因是TCAP对话框已经超时。您需要:-增加dialogTimeout堆栈选项(多次,因为它是CAP) -或者在"CAPDialogListener.onDialogTimeout(CAPDialog capDialog)“中调用capDialog.keepAlive();(这样,您需要检查对话框是否保存太长时间)
发布于 2016-05-02 22:37:54
我想你使用的是Restcomm jainslee和cap RA?
你能帮我附上server.log吗?
Br
TN
https://stackoverflow.com/questions/36469655
复制相似问题