Forum Discussion

khumfleet's avatar
khumfleet
Icon for Nimbostratus rankNimbostratus
Feb 21, 2012

Stuck...Simple iRule? Not sure...req for Help

We are trying to use our LTM to route medical imaging (also known as DICOM) traffic to from our clients to one of two medical imaging archives (also known as a PACS) at our headquarters.

 

 

A little background on DICOM communication- to send a DICOM image to a PACS you need 3 things. An IP address, port number, and “Application Entity Title” (AKA- AE Title). Think of the AE Title as a host name for the PACS. The AE Title on the PACS must be unique to that network.

 

 

Our environment- Primary PACS communication happens on 192.168.1.10, port 12001, AE Title PACS_01. Backup PACS communication happens on 192.168.1.20 port 12001, AE Title PACS_02. We would like to have our clients point their systems to a VIP on the LTM so at the flip of a switch, route traffic to the backup PACS. The problem is, the AE Title. The backup PACS will refuse any traffic with an AE Title of PACS_01.

 

 

If we could have all of our clients point to VIP 192.168.1.15, Port 12001, AE Title INBOUND, we could modify the AE Title with an iRule, depending on which PACS we are routing to.

 

 

I have done some tcp captures and found the packet that the AE Title is contained in, however I am not sure how to code the iRule to do the TCP:payload replace. I was passed an example of the syntax that might help, but as I am a iRule Noob, I am having a hard time. Any help would be greatly appreciated.

 

 

Here is the code that I have:

 

 

when CLIENT_ACCEPTED {

 

TCP::collect

 

}

 

when CLIENT_DATA {

 

TCP::payload replace [lindex OLDTITLE 0] 8 NEWTITLE

 

TCP::release

 

}

 

}

 

13 Replies