Instant Messaging (IM) is an application that allows exchanging messages in near real-time between two users or more. These messages can be sent within the context of a call (in-dialog) or outside a call (out-of-dialog). There can be different applications like chat box app, even control signals can be exchanged among users. Session Initiation Protocol (SIP) already developed the fundamental framework for real-time communication that IM requires, RFC 3428 extends SIP with the MESSAGE method that allows the transfer of IMs. Since, the MESSAGE request is just an extension, it has all the built in routing and security features of SIP. It carries the content in the form of MIME body parts. Usually the MESSAGE method does not create a dialog, each IM stands alone like a pager message. However, different limitations of SIP MESSAGE method have been resolved in RFC 4975 known as Message Session Relay Protocol (MSRP). MSRP is especially useful if the contents are multimedia in nature.
SIP IM Call flow
In the example message flow (RFC 3428), shown in the figure, an IM is sent from user agent 1 (UA1) to user agent 2 (UA 2) through s single proxy.

1.    MESSAGE UA1 -> PROXY
MESSAGE sip:[email protected] SIP/2.0
Via: SIP/2.0/TCP ua1.vocal.com;branch=z9hG4bK123abcabc
Max-Forwards: 70
From: <sip:[email protected]>;tag=12345
To: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 MESSAGE
Content-Type: text/plain
Content-Length: 13
Hello, there.

2.    MESSAGE PROXY -> UA2
MESSAGE sip:[email protected] SIP/2.0
Via: SIP/2.0/TCP proxy.vocal.com;branch=z9hG4bK123fsdfdvc
Via: SIP/2.0/TCP ua1.vocal.com;branch=z9hG4bK123abcabc;received=1.2.3.4
Max-Forwards: 69
From: <sip:[email protected]>;tag=12394
To: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 MESSAGE
Content-Type: text/plain
Content-Length: 13
Hello, there.

This message when received by UA2, displayed and a response is generated and sent to the proxy.

3.    MESSAGE UA2 -> PROXY
SIP/2.0 200 OK
Via: SIP/2.0/TCP proxy.vocal.com; branch= z9hG4bK123fsdfdvc;received=192.0.2.1
Via: SIP/2.0/TCP ua1.vocal.com; branch= z9hG4bK123abcabc;received=1.2.3.4
From: <sip:[email protected]>;tag=12394
To: sip:[email protected];tag=abc56abc
Call-ID: [email protected]
CSeq: 1 MESSAGE

4.    MESSAGE PROXY -> UA1
SIP/2.0 200 OK
Via: SIP/2.0/TCP ua1.vocal.com;branch=z9hG4bK123abcabc;received=1.2.3.4
From: <sip:[email protected]>;tag=12345
To: sip:[email protected];tag=abc56abc
Call-ID: [email protected]
CSeq: 1 MESSAGE

More Information

 

VOCAL Technologies has been in business for over 30 years and is an engineering design house that can provide a custom solution that meets your unique communication requirements.

Please contact us to discuss your communication application requirements.