Forum Discussion

satish_txt_2254's avatar
Jul 13, 2017
Solved

F5 SIP proxy load-balancer handle REGISTRATION

We have F5 base SIP proxy load-balancer and we have 2 server some reason i don't want F5 load-balance REGISTER method between two servers, i want

REGISTER
packet goes to
server1
and
INVITE
packet goes to server2 but if any one of server fail remaining server take care of both REGISTER/INVITE

How do i handle this kind of requirement using iRule?

  • Hi Sathish,

    Below is the requested iRule. Some correction. When SIP Request is REGISTER and server1 is up, REGISTER request will be send to server1. When SIP Request is other than REGISTER and server2 is up, SIP request will be send to server2.

    When either server1 is down or server2 is down, all request will be send to available server.

    when SIP_REQUEST {
        if { [SIP::method] eq "REGISTER" } {
            if { [LB::status pool pool_name member server1_ip server1_port] eq "up" } {
                pool pool_name member server1_ip server1_port
            }
        }
        else {
            if { [LB::status pool pool_name member server2_ip server2_port] eq "up" } {
                pool pool_name member server2_ip server2_port
            }
        }
    }
    

    Thanks

    Syed Nazir

3 Replies

  • Hi Sathish,

    Below is the requested iRule. Some correction. When SIP Request is REGISTER and server1 is up, REGISTER request will be send to server1. When SIP Request is other than REGISTER and server2 is up, SIP request will be send to server2.

    When either server1 is down or server2 is down, all request will be send to available server.

    when SIP_REQUEST {
        if { [SIP::method] eq "REGISTER" } {
            if { [LB::status pool pool_name member server1_ip server1_port] eq "up" } {
                pool pool_name member server1_ip server1_port
            }
        }
        else {
            if { [LB::status pool pool_name member server2_ip server2_port] eq "up" } {
                pool pool_name member server2_ip server2_port
            }
        }
    }
    

    Thanks

    Syed Nazir