Abstract
Instant Messaging (IM) refers to the transfer of messages between users in real-time. This document provides a mechanism whereby endpoints can request Instant MessageDisposition Notifications (IMDN), including delivery, processing, and display notifications,for page-mode instant messages.
Comparing with the the GSM, there is delivery-report at MAP layer to provide a mechanism to update the status of delivery, processing and display notifications.
For the Instant Message in the IMS networks, there is the IMDN for the paging mode message.
From Spec 5438, it provides the deatils of the machianism.
The following is an example CPIM body of an IM where the IM Sender requests positive and negative delivery notifications, but not display notification or processing notifications:
=============================================================================================================================
From: Alice <im:alice@example.com
To: Bob <im:bob@example.com
NS: imdn <urn:ietf:params:imdn>
imdn.Message-ID: 34jk324j
DateTime: 2006-04-04T12:16:49-05:00
imdn.Disposition-Notification: positive-delivery, negative-delivery
Content-type: text/plain
Content-length: 12
Hello World
==============================================================================================================================
This is a CPIM message (in the RFC 3862) in the sip message payload.
Some Header:
NS: imdn <urn:ietf:params:imdn> : this is a namespace defined in the Spec.
imdn.Message-ID: 34jk324j:
The IM Sender MUST include the Message-ID header field in the IM for which he wishes to receive an IMDN. The Message-ID contains a globally unique message identifier that the IM Sender can use to correlate received IMDNs.
negative-delivery :
An IM Sender requests failure delivery notification by including a Disposition-Notification header field with value "negative-delivery".
positive-delivery:
A success notification is requested by including a Disposition-Notification header field with value "positive-delivery".
==============================================================================================================================
The IM Sender can request a processing notification by including a Disposition-Notification header field with value "processing".
The IM Sender can also request a display notification. The IM Sender MUST include a Disposition-Notificaton header field with the value"display" to request a display IMDN.
The absence of this header field or the presence of the header field with an empty value indicates that the IM Sender is not requesting any IMDNs. Disposition-Notification
header field values are comma-separated. The IM Sender MAY request more than one type of IMDN for a single IM.
The following is an example CPIM body of an IMDN:
==============================================================================================================================
From: Bob <im:bob@example.com
To: Alice <im:alice@example.com
NS: imdn <urn:ietf:params:imdn>
imdn.Message-ID: d834jied93rf
Content-type: message/imdn+xml
Content-Disposition: notification
Content-length: ...
<?xml version="1.0" encoding="UTF-8"?>
<imdn xmlns="urn:ietf:params:xml:ns:imdn">
<message-id>34jk324j</message-id>
<datetime>2008-04-04T12:16:49-05:00</datetime>
<recipient-uri>im:bob@example.com</recipient-uri>
<original-recipient-uri
>im:bob@example.com</original-recipient-uri>
<delivery-notification>
<status>
<delivered/>
</status>
</delivery-notification>
</imdn>
================================================================================================================================
In the IMDN, there is a XML in the content which is indicated in the Content-type as imdn+xml. The From, To header of IMDN (not SIP header) is same as the Request.
The XML is clear to show the message deliverly stauts, the Receiption,the dateime.