[reSIProcate] Multiple handles for same session
Hi,
Wishing all a very Happy New Year 2007 !!
So here it goes ... perhaps the first prob. for 2007 :)
The scenario:
I make a call to some peer UA (let's say
A
). Now A is registered with
Sipx SIP Proxy and is available. On receiving Invite, it sends back 180 Ringing. Now nobody picks up the call at
A, so after some time
Sipx Proxy
takes the chargs and sends a new 180 Ringing (the
to-tag is different in this, but the branch is same) followed by a 200 OK and the recorded message starts (IVR).
The
problem is that the new handle in onNewSession does not match with the
previously stored handle. But if I disconnect immediately, DUM sends
two BYE for each of the dialog. However, if I disconnect after some
time (say a couple of minutes), the previously stored handle is not
valid at all, so I am not able to close the call to proxy ... It seems
I should store the newly received handle for future actions, but what
happens to the previous one, is it destroyed automatically by DUM or
not. If yes, how !! ... and if no, is it a leak ??
Right now I refer DialogId to match handles, but is there
something else which I can refer through handle to match these two
handles of same branch but different Dialogs. This would save me
storing a new handle for same session everytime !!
Thanks,
Nilay