BlackBerry® Mobile Data System (BlackBerry MDS) 4.1
Research In Motion® (RIM®) push requests
BlackBerry Mobile Data Service (BlackBerry Enterprise Server software version 4.0 and later)
The BlackBerry Mobile Data Service, included with BlackBerry® Enterprise Server software version 4.0, introduced the concept of reliable push technology. This means that a server-side application can be notified by the BlackBerry Mobile Data Service when pushed data has arrived on the BlackBerry device using a RIM push request. Specifying a URL in the X-RIM-Push-NotifyURL header (when pushing data to a BlackBerry device) tells the BlackBerry Mobile Data Service to send a notification to a specified URL when the push is delivered, or if a failure occurs.
The type of notification that you receive depends on if you have performed a RIM Push or a Push Access Protocol (PAP) Push.
If you have submitted a RIM Push, the notification is sent via an HTTP post, and the information regarding the push is sent in the header HTTP post request. For a RIM push notification, the following headers are added:
Note: The X-RIM-Push-ID matches the ID specified in the original push request. If it is not specified, the BlacKBerry Mobile Data Service generates a random push ID. The X-RIM-Push-Status indicates the success or failure of the push. A status of 200 indicates a successful push.
If you have submitted a PAP Push, the notification is still sent via an HTTP post; however, the information is sent in XML format instead of HTTP headers. The following is an example of the XML that might be returned.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE pap PUBLIC "-//WAPFORUM//DTD PAP 2.0//EN" "http://www.wapforum.org/DTD/pap_2.0.dtd" [<?wap-pap-ver supported-versions="2.0"?>]>
<pap product-name="Research In Motion Ltd. Mobile Data Service">
<resultnotification-message code="1000" message-state="delivered" event-time="2007-05-02T16:34:41Z" received-time="2007-05-02T16:34:38Z" sender-name="YOUR_MDS_CS_SERVER" sender-address="http://YOUR_BES_NAME:8080/pap" push-id="email@example.com">
BlackBerry MDS (BlackBerry Enterprise Server software version 4.1 and later)
RIM push notifications contain an X-RIM-Push-Destination header. This header contains the email address, personal identification number (PIN), or BlackBerry device user group name to which the RIM push request was sent.
Push notifications when pushing to multiple recipients
BlackBerry MDS, included with BlackBerry Enterpriser Server software version 4.1 and later, added the ability to accept RIM push requests for multiple recipients by specifying multiple email addresses, multiple BlackBerry device PINs, or a BlackBerry device user group. If multiple recipients are specified by using multiple email addresses or multiple BlackBerry device PINs, a unique push notification is sent from BlackBerry MDS for each push recipient.
Note: The push response can include status codes that pertain to the entire submission (for example, accepted for processing, duplicate push ID).
When pushing to a BlackBerry device user group, the result notification refers to the group address, not individual BlackBerry device users in the group. This means that the state of a message pushed to a group refers to all recipients; thus, the delivered state means that the message was delivered to all recipients in the group; timeout means that delivery timed out before all recipients received the message, although some may have received it.
For more information on pushing to multiple recipients, see this article.