[Users] Re: [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 iptel.org
> http://mail.iptel.org/mailman/listinfo/serusers
>





More information about the Users mailing list