[OpenSER-Devel] [ openser-Bugs-1791953 ] missing dialog callback for ACK (dialog module)

SourceForge.net noreply at sourceforge.net
Tue Oct 23 17:51:18 CEST 2007


Bugs item #1791953, was opened at 2007-09-10 16:41
Message generated for change (Comment added) made by osas
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1791953&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 dialog callback for ACK (dialog module)

Initial Comment:
Dialog callback are not run for ACKs.
Here's a small patch (for dev version) that will fix the issue.  Same patch can be applied to 1.2.

# svn diff
Index: dlg_handlers.c
===================================================================
--- dlg_handlers.c	(revision 2733)
+++ dlg_handlers.c	(working copy)
@@ -613,7 +613,7 @@
 		return;
 	}
 
-	if (event==DLG_EVENT_REQ && new_state==DLG_STATE_CONFIRMED) {
+	if ((event==DLG_EVENT_REQ || event==DLG_EVENT_REQACK) && new_state==DLG_STATE_CONFIRMED) {
 		DBG("DEBUG:dialog:dlg_onroute: sequential request successfully "
 			"processed\n");
 		dlg->lifetime = get_dlg_timeout(req);


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

>Comment By: Ovidiu Sas (osas)
Date: 2007-10-23 11:51

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

Hi Bogdan,

You are right.  The first patch is the right one.
In my mind I was mixing things with bug 1747294 (even there we need the
first patch).
Sorry for the confusion.

-ovi

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

Comment By: Bogdan (bogdan_iancu)
Date: 2007-10-23 11:42

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

Hi Ovidiu,

I was looking over the report and I'm a bit confused... Why should the
update take place only for ACK and not for the other sequential requests
too (as per original patch) ? The original idea was to allow you to grab
all sequential requests and to update the the dialog lifetime with each
sequential request.

Regards,
Bogdan

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

Comment By: Ovidiu Sas (osas)
Date: 2007-10-22 11:45

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

The right patch for this one would be to check only for ACK -
DLG_EVENT_REQACK (no need to chack for DLG_EVENT_REQ):
Index: modules/dialog/dlg_handlers.c
===================================================================
--- modules/dialog/dlg_handlers.c	(revision 2967)
+++ modules/dialog/dlg_handlers.c	(working copy)
@@ -590,7 +590,7 @@
 		return;
 	}
 
-	if (event==DLG_EVENT_REQ && new_state==DLG_STATE_CONFIRMED) {
+	if (event==DLG_EVENT_REQACK && new_state==DLG_STATE_CONFIRMED) {
 		LM_DBG("sequential request successfully processed\n");
 		dlg->lifetime = get_dlg_timeout(req);
 		if (update_dlg_timer( &dlg->tl, dlg->lifetime )!=-1) {

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

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



More information about the Devel mailing list