A Push Proxy Gateway is a component of WAP Gateways that pushes URL notifications to mobile handsets. Notifications typically include MMS, email, IM, ringtone downloads, and new device firmware notifications. Most notifications will have an audible alert to the user of the device. The notification will typically be a text string with a URL link. Note that only a notification is pushed to the device; the device must do something with the notification in order to download or view the content associated with it.
A push message is sent as an HTTP POST to the Push Proxy Gateway. The POST will be a multipart XML document, with the first part being the PAP (Push Access Protocol) Section and the second part being either a Service Indication or a Service Loading.
+---------------------------------------------+ | HTTP POST | \ +---------------------------------------------+ | WAP | PAP XML | | PUSH +---------------------------------------------+ | Flow | Service Indication or Service Loading XML | / +---------------------------------------------+
The POST contains at a minimum the URL being posted to (this is not standard across different PPG vendors), and the content type.
An example of a PPG POST:
The PAP XML contains at the minimum, a
An example of a PAP XML:--someboundarymesgContent-Type: application/xmlThe important parts of this PAP message are the address value and type. The value is typically a MSISDN and type indicates whether to send to an MSISDN (typical case) or to an IP Address. The TYPE is almost always MSISDN as the Push Initiator (PI) will not typically have the Mobile Station's IP address - which is generally dynamic. In the case of IP Address:TYPE=USER@a.b.c.d
Additional capability of PAP can be found in the PAP article.
A PUSH Service Indication (SI) contains at a minimum an
An example of a Service Indication:
Once a push message is received from the Push Initiator, the PPG has two avenues for delivery. If the IP address of the Mobile Station is known to the PPG, the PPG can deliver directly to the mobile station over an IP bearer. This is known as "Connection Oriented Push". If the IP address of the mobile station is not known to the PPG, the PPG will deliver over an SMS bearer. Delivery over an SMS bearer is known as "Connectionless Push".
In Connectionless Push, an SMSC BIND is required for the PPG to deliver its push message to the mobile station. Typically, a PPG will have a local SMS queuing mechanism running locally that it BINDs to, and which in turn BINDs to the carrier's SMSC. This mechanism should allow for queuing in the event of an SMS infrastructure outage, and also provide for message throttling.
Since a WAP Push message can be larger than a single SMS message can contain, the push message may be broken up into multiple SMS messages, as a multipart SMS.
In Connection Oriented pushes (where the device supports it), an SMSC BIND is not required if the gateway is aware of the handsets IP Address. If the gateway is unable to determine the IP Address of the handset, or is unable to connect to the device, the push notification will be encoded and sent as an SMS.
Connection Oriented Push is used less frequently than Connectionless Push for several reasons including:
Many other attributes exist and are detailed in the specifications at the Open Mobile Alliance and other sites.
PPG vendors include Nokia Siemens Networks, Ericsson, Gemini Mobile Technologies, Openwave, Acision, Huawei, Azetti, Alcatel,WIT Software, ZTE, and open source Kannel.