selfhtml.de - Alles für den Webmaster!

 

Empfehlung:

wix.com

Kostenlose Homepage

Besuchen Sie auch:

Jobs:

Problem mit Jain SIP 1.2

Autor: Zip
Datum: 21.05.2010 09:07:25

Hallo,

Ich programmiere gerade mit JAIN SIP 1.2.

Programmablauf:
Zwei unabhänge Programme (P1 und P2), jeweils eine Klasse, die das Interface SipListener implementiert.
Erstes hört auf http://127.0.0.1:70, zweites auf http://127.0.0.1:80

P1 schickt INVITE 1 an P2.
P2 bekommt INVITE 1 - schickt neues INVITE (INVITE 2) an P1.
P1 bekommt INVITE 2 - schickt RINGING 2 an P2.
P2 bekommt RINGING 2 - schickt RINGING 1 an P1.
P1 schickt OK 2 an P2.
P2 bekommt OK 2 - schickt ACK 2 an P1.
P1 bekommt ACK 2.
P2 schickt OK 1 an P1.
P1 bekommt OK 1 - schickt ACK 1 an P2.

Kurz gesagt, es wird eine Art "Invite rerouting" gemacht wobei P1 Teilnehmer A und Teilnehmer B simuliert.

Das klappt auch alles soweit ganz gut.

Das Problem, das ich habe ist, dass wenn ich bei den property Einstellungen "javax.sip.AUTOMATIC_DIALOG_SUPPORT", "OFF"
setze, die ACKs nichtmehr ankommen.
Und wenn ich es auf "ON" lasse, wird das OK 1 automatisch mehrfach retransmittet, obwohl ich das ACK 1 erhalte, was ein TransactionTerminatedEvent auslösen sollte.
Hier ist allerdings komisch, dass die erhaltenen ACK 1 (sind ja mehrere, da P1 für jedes OK 1 ein ACK 1 schickt) zu keinem Dialog gehören (requestEvent.getDialog() == null).

Die im Internet gefunden Beispiele hierzu helfen mir nicht und ich habe bisher noch keine Informationen über dieses Problem gefunden.

Bei bedarf kann ich auch den Sourcecode schicken/posten, jedoch ist er sehr umfangreich ( ca. 2mal 500zeilen).

Vielen Dank
Zip