A message interchange gateway, for transferring messages between different messaging systems, said messages exchanged between a first party and a second party, comprising:- • an ingress module, arranged to accept at least one message from the first party, • a session manager arranged to accept the at least one message from the ingress module, the MIG being arranged to extract and calculate a required destination of the second party from the message content, said session manager being further arranged in co-operation with, ∘ a storage device comprising data, said data arranged to comprise information concerning message content, timestamp, and read receipt of the at least one message, and, ∘ a message queuing module comprising at least one session-based message queue, and, ∘ at least, a first session handler (220 1) from one or more session handlers, comprising a first session, said first session handler being arranged to exclusively process the first session until said first session is terminated, and, said first session handler being arranged as initiated and maintained by the session manager on creation of a mapping by the MIG between a local session identifier associated with the MIG and a remote session identifier associated with the second party and the required destination of the second party, ▪ where the first session comprises related messages exchanged between the first and second parties, said first session being arranged to comprise a defined initiation, a period of interaction in one or both directions and a termination, and said first session being maintained between the first and second parties, • said first session handler (220 1) being arranged in co-operation with a first session-based message queue comprised in the at least one session-based message queue, for the processing of the at least one message according to an instruction from the session manager, ∘ said instruction being at least partially based on the data, • said first session handler (220 1) being further arranged to dispatch, after processing, the at least one message from the first session-based message queue to the second party. • an ingress module, arranged to accept at least one message from the first party, • a session manager arranged to accept the at least one message from the ingress module, the MIG being arranged to extract and calculate a required destination of the second party from the message content, said session manager being further arranged in co-operation with, ∘ a storage device comprising data, said data arranged to comprise information concerning message content, timestamp, and read receipt of the at least one message, and, ∘ a message queuing module comprising at least one session-based message queue, and, ∘ at least, a first session handler (220 1) from one or more session handlers, comprising a first session, said first session handler being arranged to exclusively process the first session until said first session is terminated, and, said first session handler being arranged as initiated and maintained by the session manager on creation of a mapping by the MIG between a local session identifier associated with the MIG and a remote session identifier associated with the second party and the required destination of the second party, ▪ where the first session comprises related messages exchanged between the first and second parties, said first session being arranged to comprise a defined initiation, a period of interaction in one or both directions and a termination, and said first session being maintained between the first and second parties, ∘ a storage device comprising data, said data arranged to comprise information concerning message content, timestamp, and read receipt of the at least one message, and, ∘ a message queuing module comprising at least one session-based message queue, and, ∘ at least, a first session handler (220 1) from one or more session handlers, comprising a first session, said first session handler being arranged to exclusively process the first session until said first session is terminated, and, said first session handler being arranged as initiated and maintained by the session manager on creation of a mapping by the MIG between a local session identifier associated with the MIG and a remote session identifier associated with the second party and the required destination of the second party, ▪ where the first session comprises related messages exchanged between the first and second parties, said first session being arranged to comprise a defined initiation, a period of interaction in one or both directions and a termination, and said first session being maintained between the first and second parties, • said first session handler (220 1) being arranged in co-operation with a first session-based message queue comprised in the at least one session-based message queue, for the processing of the at least one message according to an instruction from the session manager, ∘ said instruction being at least partially based on the data, • said first session handler (220 1) being further arranged to dispatch, after processing, the at least one message from the first session-based message queue to the second party.