Using NowSMS as a WAP Push Proxy Gateway (PPG)

Posted by on Oct 29, 2009 in Support Blog

Topic Keywords: , ,

NowSMS supports the Open Mobile Alliance (OMA) Push Access Protocol (PAP), which allows other applications to use NowSMS as a WAP Push Proxy Gateway (PPG).

Even though NowSMS has its own MMSC capability, we do have customers who are using NowSMS as a push proxy gateway for another vendor’s MMSC.
In addition to providing PPG support for MMS, NowSMS can be used as a push proxy gateway for other types of push messages, including, but not limited to SyncML DM, SyncML DS, Wireless Village/IMPS, OMA Digital Rights Management, OMA E-Mail Notification (EMN), Service Indication and Service Load.
To post a push message via the PAP interface, perform an HTTP POST to the “web” port configured for the NowSMS web interface (not the MMSC), posting to a URL of “/pap”. If user authentication is enabled in NowSMS, user identification can be included as URL parameters (e.g., “/pap?user=username&password=password”), or via an HTTP Basic Authentication “Authorization:” header.
A PAP post is a multipart MIME request, with the first MIME part being the PAP control document that specifies message recipient(s). The second MIME part is the data to be pushed.
An example of a service indication push being sent via PAP is shown below:
—————–BEGIN EXAMPLE—————–
POST /pap?user=username&password=password HTTP/1.0
Content-Type: multipart/related; boundary=mime-boundary; type=”application/xml”
Content-Length: xxxxx

Content-Type: application/xml

Content-Type: application/xml

<?xml version=”1.0″?>
[<?wap-pap-ver supported-versions=”2.0,1.*”?>]>
<push-message push-id=””>
<address address-value=”wappush=xxxxxxxxx/”></address>
Content-Type: text/

<?xml version=”1.0″?>
<indication href=”” created=”2009-10-25T15:23:15Z”
You have 4 new emails
—————–END EXAMPLE—————–
Note that the “/” included in the WAP Push address specification is optional for NowSMS, and will be ignored, as only the relevant destination phone number is parsed from the request.
NowSMS will perform XML to WBXML conversions for WAP push of the following content types:
  • text/
  • text/
  • application/vnd.oma.drm.rights+xml
  • text/vnd.wap.emn+xml (or application/vnd.wap.emn+xml)
  • text/
  • text/vnd.wap.connectivity-xml
Other types (including non WBXML based encodings such as “application/vnd.wap.mms-message” for MMS or “application/vnd.syncml.ds.notification” for SyncML SAN/DS) must be submitted via the appropriate binary encoding.
NowSMS supports the following text values for “X-Wap-Application-id”:
  • x-wap-application:push.sia
  • x-wap-application:push.syncml
Other “X-Wap-Application-id” header values must be submitted to NowSMS using their assigned decimal or hexadecimal value rather than the text name. (If using a hexadecimal value, preface the value with “0x” to indicate hexadecimal format.)
Further information on the WAP Push Access Protocol can be found from by downloading the WAP-247-PAP specification from
Note that NowSMS does not support guaranteed delivery or delivery notifications.
NowSMS does not support base64 encoding for PAP content, binary content should be posted as 8-bit data using Content-transport-encoding: binary. We further recommend that the MIME part that includes the binary content have a “Content-Length:” header to avoid the potential of extra bytes (such as blank lines) being interpreted as part of the binary stream.
NowSMS sends WAP Push messages using connection-less WDP (Wireless Datagram Protocol) over SMS. SMSC connection from the NowSMS Push Proxy Gateway can use either SMPP, UCP/EMI or CIMD2. GSM modem connections can also be used as the SMSC connection for smaller test environments.
Special considerations exist for WAP Push in CDMA and CDMA2000 environments, namely the SMSC needs to support WDP Adaptation for SMPP. This is described in more detail at

For comments and further discussion, please click here to visit the NowSMS Technical Forums (Discussion Board)...