A computer implemented method of federating communications between a first network and a second network, wherein the first network uses a SMS message format and the second network uses an Instant Messaging format, the method comprising: receiving, at an SMS gateway, a message from the first network and formatted in the SMS message format; accessing a database to determine the second network that a destination of the message is connected to, and then converting, at the SMS gateway, the message from the SMS message format to a unified format; sending the message formatted in the unified format to the second network; determining, at said second network after receiving the message formatted in the unified format, whether an Instant Messaging client (646, 656) of a user is currently online on the second network; in response to determining that the Instant Messaging client of the user is currently online on the second network: converting, at the second network, the message formatted in the unified format to the Instant Messaging format; and sending the message in the Instant Messaging format to the Instant Messaging client of the user on the second network, wherein the sending of the message in the Instant Messaging format comprises: querying the database to receive an identifier associated with the user, wherein the identifier comprises at least one of an Instant Messaging username and an SMS capable telephone number; and sending the message in the Instant Messaging format according to the identifier; and in response to determining that the Instant Messaging client of the user is not currently online on the second network: selecting, at the second network, a phone number associated with the user; returning, to the SMS gateway, the message formatted in the unified format; converting, at the SMS gateway, the message from the unified to the SMS format; and sending, from the SMS gateway, the message formatted in the SMS format to the first network using the selected phone number. receiving, at an SMS gateway, a message from the first network and formatted in the SMS message format; accessing a database to determine the second network that a destination of the message is connected to, and then converting, at the SMS gateway, the message from the SMS message format to a unified format; sending the message formatted in the unified format to the second network; determining, at said second network after receiving the message formatted in the unified format, whether an Instant Messaging client (646, 656) of a user is currently online on the second network; in response to determining that the Instant Messaging client of the user is currently online on the second network: converting, at the second network, the message formatted in the unified format to the Instant Messaging format; and sending the message in the Instant Messaging format to the Instant Messaging client of the user on the second network, wherein the sending of the message in the Instant Messaging format comprises: querying the database to receive an identifier associated with the user, wherein the identifier comprises at least one of an Instant Messaging username and an SMS capable telephone number; and sending the message in the Instant Messaging format according to the identifier; and in response to determining that the Instant Messaging client of the user is not currently online on the second network: selecting, at the second network, a phone number associated with the user; returning, to the SMS gateway, the message formatted in the unified format; converting, at the SMS gateway, the message from the unified to the SMS format; and sending, from the SMS gateway, the message formatted in the SMS format to the first network using the selected phone number. converting, at the second network, the message formatted in the unified format to the Instant Messaging format; and sending the message in the Instant Messaging format to the Instant Messaging client of the user on the second network, wherein the sending of the message in the Instant Messaging format comprises: querying the database to receive an identifier associated with the user, wherein the identifier comprises at least one of an Instant Messaging username and an SMS capable telephone number; and sending the message in the Instant Messaging format according to the identifier; and querying the database to receive an identifier associated with the user, wherein the identifier comprises at least one of an Instant Messaging username and an SMS capable telephone number; and sending the message in the Instant Messaging format according to the identifier; and in response to determining that the Instant Messaging client of the user is not currently online on the second network: selecting, at the second network, a phone number associated with the user; returning, to the SMS gateway, the message formatted in the unified format; converting, at the SMS gateway, the message from the unified to the SMS format; and sending, from the SMS gateway, the message formatted in the SMS format to the first network using the selected phone number. selecting, at the second network, a phone number associated with the user; returning, to the SMS gateway, the message formatted in the unified format; converting, at the SMS gateway, the message from the unified to the SMS format; and sending, from the SMS gateway, the message formatted in the SMS format to the first network using the selected phone number.