[reSIProcate] onAckNotReceived issue

sandeep a sandeep.a.sastry at gmail.com
Wed Apr 2 04:23:08 CDT 2008


Hi,

I have written a B2BUA over DUM. I have an issue with the below call flow,
please help me fix this.

UA1 ----INV----> B2B--------INV----->UA2
UA1 <----180---- B2B<--------180-----UA2
 UA1 <----200---- B2B<--------200-----UA2
                       B2B--------ACK----->UA2

Suppose the UA1 gets killed before sinding ACK after certain time, the DUM
timer fires and the onAckNotReceived call back is called.

void onAckNotReceived(InviteSessionHandler is)
{
   Here I can end the UA1 call leg by doing
   is->end();
   But how can I terminate UA2???????????????
   Even if I try to do something like the below, I get an error saying
"Handler invalid"
   ClientInviteSession *client_is =
<dynamic_cast(ClinetInviteSeeion*)>ish.get();  (dont worry about the syntax,
it may be wrong here, but i have taken care in the code)
   if(client_is == invalid)
   Cout << "Handler invalid";
   ClientInviteSessionHandler cis->getHandle();
   cis->end();
}

  Please help me in fixning the above issue. How do I terminate UA2 from
inside of onAckNotReceived().

Thanks,
-Sandeep A
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20080402/9287fbeb/attachment.htm>


More information about the resiprocate-devel mailing list