Forum Discussion

JM_52127's avatar
JM_52127
Icon for Nimbostratus rankNimbostratus
Mar 01, 2008

IRULE TO MODIFY SIP REQUEST OR RESPONSE

Hi guys,

 

I need help with 2 issues:

 

 

1-

 

Here is what I am trying to do:

 

 

--> Via: SIP/2.0/UDP x.x.x.x:5060;branch=z9hG4bK506071629608-1193128700110;received=x.x.x.x

 

 

How can I change the via header below to be like the one above using irules? See how it is missing the received section?

 

 

--> Via: SIP/2.0/UDP x.x.x.x:5060;branch=z9hG4bK506071629608-1193128700110

 

 

2-

 

 

Also here is invite for an incoming request to the bigip

 

 

---> User Datagram Protocol, Src Port: 55134 (55134), Dst Port: sip (5060)

 

 

When BigIP receives call and forwards it to a pool member, it is doing:

 

 

---> User Datagram Protocol, Src Port: 55134 (55134), Dst Port: sip (5060)

 

 

How can I use irules to tell the BIGIP to do this?

 

 

Any help is appreciated.

 

 

Thanks,

 

 

-----

1 Reply

  • Got it.

     

     

    Hi guys,

     

     

    I was able to fix this and wanted to send you the fix for future edification;

     

     

    LOAD BALANCING SIP GATEWAYS:

     

     

    Issue sender “A” requires a connection from UDP port 5060 to 5060

     

    A  LTM  Pool

     

    Pool Member LTM  A

     

    •A is the sender.

     

    •Pool members are SIP gateways.

     

    •Client only accept connection from the IP of the virtual server.

     

     

    Fix:

     

     

    I configured a virtual server to accept the SIP request.

     

    I configured a pool for my SIP gateways to be load balanced.

     

     

    1-Virtual server server configuration:

     

    a.Service port 5060

     

    b.Type standard

     

    c.Protocol UDP

     

    d.Do not use the SIP profile in this case so SIP profile is None.

     

    e.Address Translation enabled

     

    f.Port translation disabled

     

    g.SNAT Pool None

     

    h.Create an irule and apply it to the virtual server

     

     

    IRULE:

     

    when CLIENT_ACCEPTED {

     

    snat IP_Address_of_A 5060

     

    }

     

     

    2-Make sure that SNAT and NAT are enabled in the pool.

     

    3-SNAT for pool members: Configured SNAT LIST with translation address = IP_OF_SENDER_A Origin = to the IPs of the pool members.