Nathan_Pearce_4
Apr 25, 2010Historic F5 Account
Need an ISO8583 Application Switch for card transactions?
What is ISO8583: ISO 8583 Financial transaction card originated messages — Interchange message specifications is the International Organization for Standardization standard for systems that exchange electronic transactions made by cardholders using payment cards.
The first two digits in the ISO8583 message aren't important. However, the next four are what tell us about the type of message we are processing.
For more information: http://en.wikipedia.org/wiki/ISO_8583
Using the rule below as a template you should be able to dynamically switch any ISO8583 message to the desired server.
See if this helps:
when CLIENT_ACCEPTED{
TCP::collect
}
This section collects the first 6 bytes and then uses 'switch' to find a match.
It allows to you decide where to send a request based on its message type.
You could also use this to simply log without performing a pool selection.
when CLIENT_DATA {
log local0. "in CLIENT_DATA"
set clientData [TCP::payload 6]
log local0. "Client Data raw: $clientData"
switch -glob $clientData{
"??0800"{
pool pool_EchoTestMessage
log local0. "This is a Network Management Message."
}
"??0810"{pool pool_ForClientAuthorizations}
}
TCP::release
}
when SERVER_CONNECTED {
TCP::collect
}
This section allows you to perform an action base on the message type of the response from the server.
You could log the message type or even manipulate it before sending it out.
when SERVER_DATA{
set serverData [TCP::payload 6]
log local0. "Response Data raw: $serverData"
switch -glob $serverData{
"??0810"{
log local0. "This is a Network Management Message."
}
"??0820"{log local0. "This is type XXX"
}
}
TCP::release
}