[Serusers] Handling CANCELS when a UAC doesn't answer and t_relay has maintained state
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Thu Jun 16 22:36:10 CEST 2005
Evan,
The bug you describe is already fixed in OpenSER 0.9.4 (see the news
section "proper forking support in TM")- give it a try and see if it
fixes your problem.
regards,
bogdan
Evan Borgström wrote:
> Hello All,
>
> Looking for some input if anyone else has run into this situation
> and/or figured a way around it.
>
> - Call comes in from PSTN gateway to a local user
>
> - SER finds the user in the location table and t_relay pushes the
> request off to them
>
> - The user is behind an ACL and is not sending keep-alives (yes I know
> the client is broken) so the INVITE never makes it to them and hence
> no 180/183 Ringing message comes back
>
> - PSTN user gives up and hangs up the phone after 3 seconds of no ringing
>
> - PSTN gateway forwards the CANCEL message in and SER cancels the branch
>
> - However since t_relay is stateful and re-tries transmissions the
> INVITE is sent another time or two
>
> - Finally the connection times out and the failure_route set for the
> t_relay kicks in and the INVITE gets pushed off to the voicemail server.
>
> - Voicemail server OK's the INVITE and starts retransmitting the OK
> over and over and over since the PSTN GW doesn't ACK the OK since it
> knows that call-id as being cancelled.
>
>
> So, should I handle cancel's a little more explicitly by doing
> something similar to:
>
> if ((method=="CANCEL") && (t_lookup_request())) {
> t_release();
> };
>
> What side effects, if any, would this cause? Is there a better way
> to handle it?
>
> Thanks,
> -Evan
>
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
More information about the sr-users
mailing list