[OpenSIPS-Devel] [ opensips-Bugs-2940418 ] stale dialog after using call hold
SourceForge.net
noreply at sourceforge.net
Tue Feb 9 17:49:54 CET 2010
Bugs item #2940418, was opened at 2010-01-26 21:36
Message generated for change (Comment added) made by apogrebennyk
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=1086410&aid=2940418&group_id=232389
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: 1.5.x
>Status: Closed
Resolution: Invalid
Priority: 3
Private: No
Submitted By: Andrew Pogrebennyk (apogrebennyk)
Assigned to: Bogdan-Andrei Iancu (bogdan_iancu)
Summary: stale dialog after using call hold
Initial Comment:
I've found that if I call the other SIP account, put the call on and off hold (necessarily as a caller - if callee uses call hold this doesn't happen) and then end the call, OpenSIPS keeps thinking this is an active dialog and it just hangs there forever. I am attaching the tcpdump trace of just one problematic call made right on the opensips server and the opensips.log with debug level 3 (it's useful only in the sense that it shows there were no errors in dialog module, but if in increase debug level to 4 there are tons of useless info). This is the output of profile_list_dlgs command obtained after the call was ended.
# opensipsctl fifo profile_list_dlgs caller
dialog:: hash=3718:1395615021
state:: 4
user_flags:: 0
timestart:: 1264533523
timeout:: 60019
callid:: ZTkwOGQxYjdlZGYwMDljODE1ODQ3MmRmY2I5MjI0YzM.
from_uri:: sip:000100 at 68.166.6.122
from_tag:: ae344d3e
caller_contact:: sip:000100 at 77.122.227.73:6370
caller_cseq:: 3
caller_route_set::
caller_bind_addr:: udp:68.166.6.122:5060
to_uri:: sip:000101 at 68.166.6.122
to_tag:: 2135014f
callee_contact:: sip:000101 at 77.122.227.73:27436;rinstance=8c6d4f852faa42eb
callee_cseq:: 2
callee_route_set::
callee_bind_addr:: udp:68.166.6.122:5060
----------------------------------------------------------------------
>Comment By: Andrew Pogrebennyk (apogrebennyk)
Date: 2010-02-09 18:49
Message:
Thank you very much Bogdan - that explains it!
----------------------------------------------------------------------
Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2010-02-09 18:42
Message:
Hi Andrew,
I looked over the debug logs and it seams to me that it is a client bug.
The dialog module sets a "did" param in RR header -> this RR info is
persistent across all call, they are not to be changed or re-learned by any
other request within the dialog.
What happens in your case is that the first re-INVITE is collecting a new
set of RR (you probably do record-route() for sequential requests also) ->
this new RR does not have a did param ( as the dialog module does not set
it) and the client (against RFC) re-learns the RR set from re-INVITE
(instead of keep using the RR set that was collected by the original
INVITE). Once the did param was lost, the following requests do not match
anymore the dialog, so the BYE is lost.
So, the bug is that your client re-learns the RR ser during the dialog. To
avoid this, try not to do record_route() for sequential requests.
Regards,
Bogdan
----------------------------------------------------------------------
Comment By: Andrew Pogrebennyk (apogrebennyk)
Date: 2010-01-26 21:52
Message:
Oh and I'm using version 1.5.3
As for configuration script, I'm doing basically create_dialog() and then
set_dlg_profile() to insert dialog onto caller profile.
----------------------------------------------------------------------
Comment By: Andrew Pogrebennyk (apogrebennyk)
Date: 2010-01-26 21:48
Message:
I'm attaching below one the opensips log for another call, this time with
debug=4.
This is the stale dialog after after the call end:
dialog:: hash=3558:842134357
state:: 4
user_flags:: 0
timestart:: 1264534993
timeout:: 61487
callid:: YTQ3YjRjNTVjYWQwYWRmOTQ5ZDE3MmZjOTlhMGIyY2M.
from_uri:: sip:000100 at 68.166.6.122
from_tag:: 9673d152
caller_contact:: sip:000100 at 77.122.227.73:6370
caller_cseq:: 3
caller_route_set::
caller_bind_addr:: udp:68.166.6.122:5060
to_uri:: sip:000101 at 68.166.6.122
to_tag:: b542cf1c
callee_contact::
sip:000101 at 77.122.227.73:27436;rinstance=8c6d4f852faa42eb
callee_cseq:: 2
callee_route_set::
callee_bind_addr:: udp:68.166.6.122:5060
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=1086410&aid=2940418&group_id=232389
More information about the Devel
mailing list