[OpenSIPS-Users] Load balancer and CANCEL requests

Bogdan-Andrei Iancu bogdan at voice-system.ro
Wed Sep 23 09:17:52 CEST 2009


Hello Peter,

First of all the script from the tutorial does LB only for initial 
requests, requests that are creating a dialog (like INVITE). All other 
sequential requests (in dialog requests) are routed based on Route 
header, directly to the FS where the call was sent.

The CANCELs are processed in a stateful way. The CANCELs are matched 
against the INVITE transaction and automatically sent to the same 
destination where the INVITE was sent. The relevant script part is:

        # handle cancel and re-transmissions
	if ( !t_check_trans() ) {
		if (is_method("CANCEL"))
			exit;
	}


So, the script does properly handle the CANCELs and there is nothing 
else required to make it work.

My question is, using the script as per tutorial (no changes of yours), 
what happens when OpenSIPS does receive a CANCEL?

Regards,
Bogdan

Peter P GMX wrote:
> Hello,
>
> I am using the load balancer in front of a Freeswitch cluster.
> Freeswitch is always in the SIP route.
> It handles Registers and Invites quite well.
>
> However CANCEL is not working according to the tutorial in
> http://www.opensips.org/index.php?n=Resources.DocsTutLoadbalancing
>
> CANCEL requests are aborted with 405 Method Not Allowed.
> I understand that CANCELS should not be balanced as it cannot be forseen
> which Freeswitch will receive this CANCEL request, right? Or does the
> load balancer handle this correctly based on a call id?
>
> So I tried to allow CANCEL in
>
>  if (!is_method("INVITE") && !is_method("REGISTER")) &&
> !is_method("CANCEL")) {
> ...
>
> This leads to "500 Service full", means some error occured.
>
> Question: How can I handle the CANCEL request correctly?
>
> Best regards
> Peter
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>   




More information about the Users mailing list