Patent ID: 8510466

Claim:
A computer-readable storage device comprising computer-executable instructions, the computer-executable instructions including: instructions for sending, by a client device prior to creating and sending a new message, a probe message to a device to obtain from the device a range of network addresses, any one of which an application layer gateway on a network device will not replace, within the new message when the application layer gateway processing the new message detects the any one of the range of network addresses in the payload of the new message, wherein the new message includes a header and the payload; instructions for receiving the range of network addresses from the device; instructions for selecting a first network address from the range of network addresses; instructions for creating, by the client device, the new message based on a message having a payload that includes a source network address, by replacing the source network address, in the payload of the message, with the first network address, wherein the source network address is incorrectly overwritten with a different address by the application layer gateway when the application layer gateway receives and processes the message; and instructions for sending the new message from the client device though the application layer gateway on the network device to a remote device, wherein the client device, the network device, and the remote device are different devices.