< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[reSIProcate] Multiple handles for same session


Hi,

I bumped into a peculiar problem !!

Here is 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