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

Re: [reSIProcate-users] No onTerminated callback getting called after CANCEL


Scott, others:

As always, you are right on.  Thanks again for your help!

Shaun

On Mon, Jun 15, 2009 at 4:12 PM, Scott Godin <sgodin@xxxxxxxxxxxxxxx> wrote:
I suspect that in Gateway 2 scenario, the 180 is non dialog creating (ie. no to-tag and/or Contact header).  Therefor you are not getting an onNewSession callback.  You should only expect to get an onTerminated callback, if you ever received an onNewSession callback.  

The gateway is not really doing anything wrong, your application will need to handle both scenarios.  : )  Note:  The AppDialogSet should get destroyed by DUM, if you need notification you could place something in your AppDialogSet destructor.

Scott

On Mon, Jun 15, 2009 at 4:42 PM, Shaun Dawson <scdawson@xxxxxxxxx> wrote:
Experts,

I have a program using DUM that is sending an INVITE, waiting 10 seconds, and then CANCELling (using the AppDialogSet::end() function).  If I try it against two different gateways, my program behaves as expected with one of them, and misbehaves on the other.  Here's what happens:

Gateway 1: Working gateway.

-> INVITE
<- 100 Trying
<- 183 Session Progress
<- 180 Ringing
-> CANCEL
<- 487 Request Terminated (response to the INVITE)
<- 200 OK (response to the CANCEL)
onTerminated() is called at about this point.

Gateway 2: Misbehaving gateway
-> INVITE
<- 100 Trying
<- 180 Ringing
-> CANCEL
<- 200 OK (response to the CANCEL)
<- 487 Request Terminated (response to the INVITE)
onTerminated() is never called

The two big differences between the behavior of the two gateways are:
  (1) The second, misbehaving gateway is not sending a 183 message.
  (2) The second, misbehaving gateway sends a 200 OK to the CANCEL before sending 487 Request Terminated.

I can imagine that this problem has something to do with the Dialog being in the early state or not, and thus #1 above is the culprit.  But am I missing something here?  Is there another callback (other than OnTerminated) that I should be looking for?

thanks,
  Shaun

_______________________________________________
resiprocate-users mailing list
resiprocate-users@xxxxxxxxxxxxxxx
List Archive: http://list.resiprocate.org/archive/resiprocate-users/