Forum Discussion

Luis_Araujo_560's avatar
Luis_Araujo_560
Icon for Nimbostratus rankNimbostratus
Sep 30, 2017

SIP SBC Communication Fail

Hello @ALL.

 

I have a problem with a SIP Load Balance communication between F5 BIG-IP and SIP SBC.

 

My SIP Topology is:

 

Client > F5 > SBC > F5 > Capture Proxy.

 

The F5 BIG-IP is in on-arm into the topology. Then I need to use SNAT to the packet come back to F5 BIG-IP.

 

So far so good ...

 

The comunication between F5 and Capture Proxy is ok, because I use a iRule to manipulation source address, replace the IP from BIG-IP SNAT to client IP:

 

when SIP_REQUEST {

 

set addr [IP::client_addr]

}

 

when SIP_RESPONSE {

 

 Check for 302 responses 
if {[SIP::response code] == 302}{ 

    log local0. "302 OK"

      if {[scan [SIP::header value "Contact"] {%[^@]@%[^:]} a b ] == 2}{ 

        SIP::header replace "Contact" "${a}@$addr>" 

   } 
} 

}

 

But the traffic between F5 and SBC I aways receive the "Status: 403 Forbidden-Source Endpoint Lookup Failed"

 

I think that this problem can be with the SIP Request-Line and another header, but I change all SNAT IP to client IP by iRule:

 

when LB_SELECTED {

 

    set pool_member [LB::server addr]
    log local0. "[LB::server addr]"

}

 

when SIP_REQUEST {

 

set addr [IP::client_addr]

set pool_member [LB::server addr]

log local0. "Current uri: [SIP::uri] " 

SIP::uri [string map "[IP::local_addr] $addr" [SIP::uri] ]

log local0. "New uri: [SIP::uri]"

if {[scan [SIP::header value "To"] {%[^@]%s} a b ] == 2} {

    log local0. "Checking $a $b"

    SIP::header remove "To" 

    SIP::header insert "To" "${a}@187.60.52.80>"

    log local0. "New Header TO [SIP::to]" 

    }

}

 

Can someone help me about that??

 

Kinds Regards.

 

No RepliesBe the first to reply