[OpenSER-Devel] [ openser-Bugs-1841788 ] expired dialogs are not removed from the database

SourceForge.net noreply at sourceforge.net
Thu Dec 6 18:37:15 UTC 2007


Bugs item #1841788, was opened at 2007-11-30 17:13
Message generated for change (Comment added) made by bogdan_iancu
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1841788&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: Closed
Resolution: Fixed
Priority: 5
Private: No
Submitted By: Ovidiu Sas (osas)
Assigned to: Bogdan-Andrei Iancu (bogdan_iancu)
Summary: expired dialogs are not removed from the database

Initial Comment:
On openser restart, expired dialogs are no removed from the database.

I performed the following test:
 - set an dialog timeout of 20s
   modparam("dialog", "default_timeout", 20)
 - establish a dialog
 - stop openser
 - wait 30s
 - start openser

The dialog is already expired.
When openser restarts, the dialog is loaded and it is shown via the `openserctl fifo dlg_list'

The dialog should be removed from the memory and the db.


Regards,
Ovidiu Sas

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

>Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2007-12-06 20:37

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

OK - it should be fixed now.

Thanks and regards,
Bogdan

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

Comment By: Nobody/Anonymous (nobody)
Date: 2007-12-06 20:21

Message:
Logged In: NO 

I think a BYE should terminate a dialog nevermind what reply it gets or if
it gets any.
Once an end decides to close a call it doesn't matter to that party if the
BYE will be acknowledged or not (once I have put the phone on-hook I don't
care if the other side acknowledges my action). Even more it is possible
for a BYE to receive a negative reply like 481 Transaction does not exist
while the transaction is still there. Consider this scenario: there is a
call in progress. The device on one end loses power and reboots, loosing
any information on the session. The other end realizes after a while that
there is nobody on the other end anymore and finally decides to close the
call. The device will send a BYE which (if the device on the other end has
already restarted) will be replied with a 481 Call/Transaction doesn't
exist. The dialog is still active and must be terminated even though there
was a negative reply to BYE.

IMO the dialog should be terminated as soon as the BYE arrives (or at
least marked for deletion after a short delay necessary for catching the
following replies in case they need to be matched with the dialog before it
is actually deleted from memory).


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

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2007-12-06 19:47

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

Hi Ovidiu,

This is a matter of logic than a coding issue - what should you do with
the dialog if you get negative replies to BYE? actually should you care
about the BYE reply code or just terminate the dialog whatever you
receive.

regards,
bogdan

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

Comment By: Ovidiu Sas (osas)
Date: 2007-12-06 18:11

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

The following scenario doesn't work properly:
 1. establish a call
 2. stop openser
 3. terminate the call on both ends and waith for BYEs to timeout
 4. restart openser
 5. check that the dialog is still active
 6. terminate the dialog via fifo interface
 7. make sure that both ends are replying with 481 to openser's BYE
 8. check the dialog again: `openserctl fifo dlg_list'

The dialog is still present even after the timeout expiration.


Regards,
Ovidiu Sas

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

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2007-12-05 20:17

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

Hi Ovidiu,

I found the bug - it is fixed. If there are any other issues, please
reopen the report.

Thanks and regards,
Bogdan

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

Comment By: Ovidiu Sas (osas)
Date: 2007-11-30 22:18

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

Note:
On `openserctl fifo dlg_end_dlg', BYE messages are sent in both directions
and "481 Call/Transaction Does Not Exist" is received back.
After this, the dialog is still present in memory.  The dialog should be
destroyed.

Regards,
Ovidiu Sas

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

Comment By: Ovidiu Sas (osas)
Date: 2007-11-30 17:17

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

Note:
On `openserctl fifo dlg_end_dlg', BYE messages are sent in both directions
and "481 Call/Transaction Does Not Exist" is received back.
After this, the dialog is still present in memory.  The dialog should be
destroyed.

Regards,
Ovidiu Sas

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

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



More information about the Devel mailing list