[OpenSER-Devel] [ openser-Bugs-1747294 ] missing callback from tm->dialog module for 200ok (reINVITE)

SourceForge.net noreply at sourceforge.net
Wed Jul 11 18:28:22 CEST 2007


Bugs item #1747294, was opened at 2007-07-03 15:48
Message generated for change (Comment added) made by osas
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1747294&group_id=139143

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver 1.2.x
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Ovidiu Sas (osas)
Assigned to: Bogdan (bogdan_iancu)
Summary: missing callback from tm->dialog module for 200ok (reINVITE)

Initial Comment:
It seems that there are no callbacks into the dialog module from the tm module for 200ok for in call transactions (reINVITE).
The callback mechanism is working ok for the 200ok of the initial INVITE, but not for subsequent reINVITES.

----------------------------------------------------------------------

>Comment By: Ovidiu Sas (osas)
Date: 2007-07-11 12:28

Message:
Logged In: YES 
user_id=1395524
Originator: YES

Hi Bogdan,

Here's a patch (against 1.2) that seems to solve the problem.
I tested ok with and without noisy_ctimer,and with and without 100rel
(PRACK) enabled, and with reINVITEs.

The idea behind the patch is to register callbacks into the dialog module
for all in-dialog requests.


Regards,
Ovidiu Sas
File Added: in-dialog_requests.patch.gz

----------------------------------------------------------------------

Comment By: Ovidiu Sas (osas)
Date: 2007-07-06 16:57

Message:
Logged In: YES 
user_id=1395524
Originator: YES

Hi Bogdan,

I run a QoS module on top of the dialog module.  The QoS session needs to
be dialog aware and I need to catch reINVITES/200ok/ACK for SDP
re-negotiation.

I fixed my issue for now by registering callbacks back into the tm module
for reINVITEs (from the dlg_onreq() method).  Also, I needed to enable ACK
callbacks (those were missing).

The solution that I have is a workaround (works only for reINVITES, but
not for other in-dialog requests).


Regards,
Ovidiu Sas

----------------------------------------------------------------------

Comment By: Bogdan (bogdan_iancu)
Date: 2007-07-06 04:58

Message:
Logged In: YES 
user_id=1275325
Originator: NO

Hi Ovidiu,

yes, the replies for on-dialog requests were on purpose let aside as they
were complicated things (as code and as logic) too much and I saw no usage
case for them..

The problem at logical case is that you the callbacks will be called
several time for the same event, but once for the initial request (when the
dialog is created) and later for the on-dialog requests and this might get
confusing ......

do you have a usage case for that?
bogdan

----------------------------------------------------------------------

Comment By: Ovidiu Sas (osas)
Date: 2007-07-05 10:26

Message:
Logged In: YES 
user_id=1395524
Originator: YES

This seems to be a problem related to all responses to in-dialog requests.

----------------------------------------------------------------------

Comment By: Ovidiu Sas (osas)
Date: 2007-07-03 17:44

Message:
Logged In: YES 
user_id=1395524
Originator: YES

It seems that the first INVITE is handled by dlg_onreq() and here the
following callbacks are registered back with the transaction:
TMCB_RESPONSE_OUT|TMCB_TRANS_DELETED|TMCB_RESPONSE_FWDED.

reINVITEs are handled by the dlg_onroute() and no callbacks are registered
for subsequent responses (for the new transaction).  Somehow, while
handling the reINVITE inside dlg_onroute(), the callbacks for
TMCB_RESPONSE_OUT|TMCB_TRANS_DELETED|TMCB_RESPONSE_FWDED should be
registered.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1747294&group_id=139143



More information about the Devel mailing list