[reSIProcate] dum behavior on call stale timeout

Gianluca Martiniello g.martiniello at unidata.it
Fri Oct 28 11:55:13 CDT 2005


Hi all,

I am using DUM to implement a simple user agent and I have noticed some 
strange behaviors exposed by DUM itself.

According to the DUM documentation 
(http://www.estacado.net/resip/sip/resiprocate/doxygen/html/classresip_1_1Profile.html#a18) 
a call is stale if UAC gets no final response within the stale call 
timeout whose default value is 3 minutes.
Therefore when a call becomes stale, according to RFC 3261 a CANCEL 
request should be issued (no final response has been received, only one 
or more provisional).

I have no idea of what DUM is able and what it is not able to manage but 
as I know it is able to automatically handle registration refreshes, the 
first time I faced the call stale condition I was expecting a CANCEL 
request automatically issued by DUM. And in fact DUM, after having 
notified the InviteSessionHandler about stale call timeout (with the 
onStaleCallTimeout() callback) automatically generated a request but 
with my big surprice I saw it was a BYE request! :-|

Then I decided to modify the code of my (dummy) user agent in such a way 
that on stale call timeout event a CANCEL request was generated (using 
the end() method of the associated AppDialogSet object) hoping that DUM 
layer after having sent this message avoided to send a BYE request. But 
again with my big surprice I saw that after the transmission of the 
CANCEL request DUM issued a BYE request! :-/
I have attached a log, generated with DEBUG level, which shows the 
behavior just described, maybe this is a bug in DUM... however if it is 
not a bug, my question is: what should I do to correctly generate a 
CANCEL request? (when I say "correctly" I mean "without having DUM to 
send a BYE request")

Thank you.

Gianluca



More information about the resiprocate-devel mailing list