我们正在研究SS7 CAMEL应用程序。该应用程序基于jboss 5.10GA 和Mobicents / Restcomm的jss7和Restcomm的CAP资源适配器。
在我们的Sbb中,我们从switch接收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, GT:4794733271, AI:18
我们的服务器: 电脑:5100, SSN:146, GT:442080000100, AI:18
答案 0 :(得分:2)
此消息“TC-CONTINUE:id:67793592没有对话框/事务”表示TC-CONTINUE原语进入TCAP堆栈但没有这样的本地对话框。没有进行任何处理,也没有调用onDelimiter()方法。
最可能的原因是TCAP对话框已经超时。你需要 : - 要么增加dialogTimeout堆栈选项(很多次因为它是CAP) - 或者在“CAPDialogListener.onDialogTimeout(CAPDialog capDialog)”中调用capDialog.keepAlive(); (这样你需要检查对话框是否保存时间过长)
答案 1 :(得分:1)
我认为你正在使用带有上限RA的Restcomm jainslee?
您能否附上server.log?
BR,
TN