Forum Discussion

telcentris_9103's avatar
telcentris_9103
Icon for Nimbostratus rankNimbostratus
Oct 08, 2010

Lookup spurce ip address from persist entries

Here is my scenario

 

 

SIP VoIP

 

 

A(1.1.1.1) SUBSCRIBE --> F5 VS(2.2.2.2) --> B(3.3.3.3)

 

A <-- F5 VS <-- 200OK B

 

A <-- F5 VS <-- NOTIFY B

 

 

My issue is on the NOTIFY. When F5 sends to A it still has F5 IP address in URI. How would I lookup the A IP address in the persist table so that I can use the irule to replace the uri?

 

 

Everything works fine in regards to persistence and flow.

 

 

So instead of uri looking like

 

NOTIFY sip:2.2.2.2

 

I need it to be

 

NOTIFY sip:1.1.1.1

 

 

Is there another way to store the IP address?

 

 

Tx

 

 

Darren

 

yahoo-darren_voip

 

  • Hey Darren,

     

     

    I will disclaim this by stating that my experience with the SIP profile on the LTMs is fairly limited, so I could be missing something critical in my analysis. I believe, though, you can use the IP::remote_addr to get the appropriate address. ( http://devcentral.f5.com/wiki/default.aspx/iRules/IP__remote_addr.html ) You might need to use the clientside/serverside commands ( http://devcentral.f5.com/wiki/default.aspx/iRules/clientside.html ) to be sure that this grabs the correct address, though.

     

     

    I believe the sample in the SIP::uri page attempts to accomplish something similar, actually: http://devcentral.f5.com/wiki/default.aspx/iRules/SIP__uri.html It seems like it would probably be wise to check the current SIP::uri to see if it mathes IP::local_addr and, if so, replace it with IP::remote_addr.

     

     

    Again, my SIP-fu is weak, so feel free to correct me if I have a fundamental misunderstanding of the protocol. (Which is likely.)

     

     

    // Ben