[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