Forum Discussion

lmcarmm_165544's avatar
lmcarmm_165544
Icon for Nimbostratus rankNimbostratus
Dec 11, 2014

v11.6.0: SIP round robin load balancing not working if source port not equal to 5060

If a source port other than 5060 is used for a SIP call, then round robin load balancing does not work, instead the same pool member is always selected. Consider the following three cases using the SIPP test tool.

 

  1. When running one SIPP session, the source port and destination port = 5060. The LB converts the source port from 5060 and load balances (round robin) correctly.

     

  2. When running two SIPP sessions, the second SIPP session increments the source port (since 5060 is used), so the source ports = 5060 & 5061 and destination port = 5060. The LB converts the source port for 5060 and load balances that traffic correctly. However, when the source port is 5061, there is no source port conversion and the calls always use the same pool. This also happens when adding more sessions (i.e. source ports 5062, 5063, …)

     

  3. When running one SIPP session and forcing the source port to 5065 (SIPP –p parameter), there is no source port conversion and the calls always use the same pool.

     

This is seen clearly on the tcpdump and is reproducible.

 

We are using the LTM-2000s with 11.6.0 HF3.

 

Running SIP calls with different source ports worked fine using the LTM-1600 and v10.2.4.

 

Below are the relevant configs.

 

ltm virtual OPCO1_SIP_EXT_MOIP_VS_5060 { destination 10.120.195.8:sip ip-protocol udp mask 255.255.255.255 mirror enabled persist { MOIP_SIP_Persistence_Profile { default yes } } pool OPCO1_SIP_UDP_MOIP_Pool profiles { MOIP_UDP_Profile { } sip { } } rules { SIP_MOIP_Rule } source 0.0.0.0/0 vs-index 40 }

 

ltm persistence sip MOIP_SIP_Persistence_Profile { app-service none defaults-from sip_info match-across-pools disabled match-across-services disabled match-across-virtuals disabled mirror enabled override-connection-limit disabled sip-info Call-ID timeout 180 }

 

ltm pool OPCO1_SIP_UDP_MOIP_Pool { members { 192.168.19.1:sip { address 192.168.19.1 session monitor-enabled state up } 192.168.19.2:sip { address 192.168.19.2 session monitor-enabled state up } } monitor MOIP_SIP_Monitor service-down-action reset }

 

ltm pool OPCO1_MAS1_MOIP_Pool { load-balancing-mode least-connections-member members { 192.168.19.1:sip { address 192.168.19.1 session monitor-enabled state up } } monitor MOIP_SIP_Monitor service-down-action reset }

 

ltm pool OPCO1_MAS2_MOIP_Pool { load-balancing-mode least-connections-member members { 192.168.19.2:sip { address 192.168.19.2 session monitor-enabled state up } } monitor MOIP_SIP_Monitor service-down-action reset }

 

ltm profile udp MOIP_UDP_Profile { app-service none datagram-load-balancing enabled defaults-from udp idle-timeout immediate }

 

ltm profile sip sip { app-service none insert-record-route-header disabled insert-via-header disabled max-size 65535 secure-via-header disabled terminate-on-bye enabled }

 

ltm monitor sip MOIP_SIP_Monitor { cipherlist DEFAULT:+SHA:+3DES:+kEDH compatibility enabled debug no defaults-from sip destination : filter 200 interval 5 mode udp time-until-up 0 timeout 16 }

 

Has anyone else seen this problem or have any suggestions?

 

3 Replies

  • Hello, Was it working before? did you do changes? which software version are you using?

     

  • Hello, Was it working before? did you do changes? which software version are you using?

     

  • We are using the LTM-2000s with 11.6.0 HF3. Running SIP calls with different source ports worked fine using the LTM-1600 and v10.2.4. The configurations on both LBs are the same.