[OpenSER-Devel] [ openser-Feature Requests-1747294 ] dialog offers no callbacks for replies to sequential replies

SourceForge.net noreply at sourceforge.net
Fri Nov 30 21:21:55 UTC 2007


Feature Requests item #1747294, was opened at 2007-07-03 22:48
Message generated for change (Settings changed) made by bogdan_iancu
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743023&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 devel
Status: Open
>Resolution: Accepted
>Priority: 7
Private: No
Submitted By: Ovidiu Sas (osas)
Assigned to: Bogdan-Andrei Iancu (bogdan_iancu)
>Summary: dialog offers no callbacks for replies to sequential replies

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: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2007-11-07 19:41

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

Hi Ovidiu,

The patch is not correct (from logic point of view) - I will try to
generate a small one, equivalent as functonality and send it to you for
testing.

Regards,
Bogdan

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

Comment By: Ovidiu Sas (osas)
Date: 2007-10-24 19:08

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

Hi Bogdan,

Here's an updated patch of the in-dialog requests.
Do you think that we can fix this issue for 1.3?
I did extensive testing on my setup and I found that is is working quite
well.

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

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

Comment By: Ovidiu Sas (osas)
Date: 2007-07-11 19: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 23: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-Andrei Iancu (bogdan_iancu)
Date: 2007-07-06 11: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 17: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-04 00: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=743023&aid=1747294&group_id=139143



More information about the Devel mailing list