I have solved my problem. It comes from the Cseq of my 2nd 200 OK, it was Cseq : 1 INVITE instead of Cseq : 2 INVITE
I have another problem that you may help me :
When sending the 2nd INVITE, I close the streams with mediaManager.closestreams() for client A and B. I keep exactly the same source code for ProcessInviteOK and ProcessAck as the original one. But the new media session is not displayed (fireplayerStarting is not launched) but when checking with ethereal, there are video/audio flows between A and B. How can I display the new video stream?
Cheers,
David
···
----- Original Message -----
From: Lyly Yonkwa
To: dev@sip-communicator.dev.java.net
Sent: Monday, January 17, 2005 3:17 PM
Subject: Re: [sip-comm-dev] codec change during call session
hi David,
i don´t know if i really understand what you mean. as far as i understand you have to implement somethings like " processReInviteOK " if you want the SIPmanager to handle an OK comming from a ReINVITE differently. You also muss register your ProcessReinvite in the method ProcessResponse of the SIPManager. You have to introduce a Line like this in the SIPManager class:
else if (method.equals(Request.REINVITE)) {
callProcessing.processREInviteOK(clientTransaction, response);
in the ProcessReinvite you can now implement what you want thre SiPmanager to do if the 200 OK is coming from a REINVITE.
i hope this will help you.
Lyly
----- Original Message -----
From: David Le Kim
To: dev@sip-communicator.dev.java.net
Sent: Monday, January 17, 2005 2:18 PM
Subject: Re: [sip-comm-dev] codec change during call session
Hi Lyly,
Thank you for you explanation. You were right, I'm using dialog.sendRequest(inviteTransaction); and the Cseq of my second Invite is 2. I implemented the Re-Invite process in SipManager. ReinviteProcess handle the 2nd Invite but how can I do to make it able to take my 2nd 200 OK in charge? I don't understand why it send back an ACK as it doesn't handle the 2nd 200 OK...
Regards,
David
----- Original Message -----
From: Lyly Yonkwa
To: dev@sip-communicator.dev.java.net
Cc: emil_ivov@yahoo.com
Sent: Monday, January 17, 2005 12:31 PM
Subject: Re: [sip-comm-dev] codec change during call session
hi David,
did you use the first Dialog to send you second request? That mean you use some things like this:
" dialog.sendRequest(inviteTransaction); " instead of " inviteTransaction.sendRequest(); " check the packets by ethereal if the Cseq of you second Invite ist greather than 1, if it is the case, you are sending a RE-INVITE and that is the reason why the ProcessInvite of SIpmanager doesn´t reply.
regards
Lyly
----- Original Message -----
From: David Le Kim
To: dev@sip-communicator.dev.java.net
Cc: emil_ivov@yahoo.com
Sent: Monday, January 17, 2005 11:01 AM
Subject: [sip-comm-dev] codec change during call session
Hi,
I'm trying to implement change of codec during a call.
Here is the scenario :
INVITE sdpA1
A --------------------------------> B
180 RINGING
A <-------------------------------- B
200 OK sdpB1
A <-------------------------------- B
ACK
A --------------------------------> B
INVITE sdpA2
A --------------------------------> B
200 OK sdpB2
A <-------------------------------- B
ACK
A --------------------------------> B
The problem is that the 2nd 200 OK is not taken in charge by SipManager (I can't see any debugging messages in the shell -> no [entry/exit] ProcessResponse).
I check the packets by ethereal and all seems OK. And despite this fact, the 2nd ACK is well sent.
David