[reSIProcate] onAckNotReceived issue
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