2016-04-07 13 views
2

Wir arbeiten an SS7 CAMEL-Anwendung. Die Anwendung basiert auf jboss 5.10GA und Mobicents/Restcomm jss7 und Restcomms CAP Resource Adapter.JSS7 - TC-CONTINUE: Kein Dialog/Transaktion für ID:

In unserem Sbb erhalten wir InitialDP Nachricht und Delimiter vom Schalter. Nachdem wir das Trennzeichen erhalten haben, versuchen wir eine Verbindungsnachricht an den Switch zu senden.

Unfortunatelly, wenn wir .send() -Methode auf dem Dialog aufzurufen, die wir in onDelimiter Verfahren erhalten, schalten keine Nachricht gesendet wird und was wir in der Jboss-Log zu sehen ist:

TC-WEITER: Nein Dialog/Transaktion für 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(); 
      (...) 
     } 
    } 

Wenn es ein Problem mit unseren sccp Regeln ist dann, was die richtigen sccp Einstellungen für die folgenden Adressen sein sollte:

Switch: PC: 6801, SSN: 146, GT: 4794733271, AI: 18

Unser Server: PC: 5100, SSN: 146, GT: 442080000100, AI: 18

Here's the boot.log file

Here's the server.log file

+0

Können Sie die Protokolle freigeben? – Waqas

Antwort

1

Ich denke, Sie verwenden Restcomm Jainslee mit Cap RA?

Können Sie bitte server.log anhängen?

Br,

TN

+0

Ja, ich benutze Restcomm jainslee mit CAP RA. Ich habe die Protokolle von jboss an die ursprüngliche Nachricht angehängt –

+0

Hallo, Entschuldigung für spät. aber der Dialog von Delimeter() war kurz nachdem Ihre Anwendung diese Nachricht erhalten hat. Die Idee ist, einen neuen Dialog zu erstellen und zurückzusenden –

+0

Leider kann in unserer Lösung der Dialog nur auf der Switch-Seite initiiert werden. Daher können wir keinen neuen Dialog auf der Außenseite erstellen. –

1

Diese Meldung "TC-CONTINUE: Kein Dialog/Transaktion für ID: 67793592" bedeutet, dass ein TC-CONTINUE auf TCAP Stapel primitive kam aber keine solche lokalen Dialog. Es wurde keine Verarbeitung durchgeführt und die onDelimiter() -Methode wurde nicht aufgerufen.

Der wahrscheinlichste Grund ist, dass der TCAP-Dialog bereits abgelaufen ist. Sie benötigen: - entweder dialogTimeout Stapeloptionen (oft, weil es CAP ist) - oder innerhalb "CAPDialogListener.onDialogTimeout (CAPDialog capDialog)" aufrufen capDialog.keepAlive(); (Auf diese Weise müssen Sie überprüfen, ob der Dialog nicht zu lange gehalten wird.)

+0

überprüfen Wenn ich CAPProvider registrieren versuchen, erhalte ich: java.lang.UnsupportedOperationException bei org.mobicents.slee.resource.cap.wrappers.CAPProviderWrapper.addCAPDialogListener (CAPProviderWrapper.java:71) So erstelle ich eine Instanz von CAPProvider: Kontext ctx = (Kontext) new InitialContext().Nachschlagen ("java: comp/env"); CAPProvider provider = (CAPProvider) ctx.lookup ("slee/resources/cap/2.0/provider"); CAPProvider, den ich bekomme, ist eine Instanz von CAPProviderWrapper. Gibt es eine Möglichkeit, CAPProvider zu erhalten, die eine Instanz von CAPProviderImpl ist, oder fehlt mir etwas anderes? –