[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