NowSMS as a WAP Push Proxy Gateway

NowSMS v5.50 and later support the WAP Push Access Protocol (PAP) to provide the ability to generate more specialised types of WAP Push messages. PAP is the standard defined by the Open Mobile Alliance for how applications can interface to a Push Proxy Gateway for sending WAP Push messages.

With support for PAP, NowSMS can be used as a push proxy for other vendor’s MMSCs. It also becomes possible to send other types of push messages, such as those related to SyncML, Wireless Village, and OMA Digital Rights Management.

An example of using PAP to send an OMA DRM rights message can be found in the following thread:

http://www.nowsms.com/discus/messages/485/3292.html

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”.

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 can be found below:

-----------------BEGIN EXAMPLE----------------- 

POST /pap HTTP/1.0 

Content-Type: multipart/related; boundary=mime-boundary; type="application/xml" 

Content-Length: xxxxx 



--mime-boundary 

Content-Type: application/xml 



<?xml version="1.0"?> 

<!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,1.*"?>]> 

<pap> 

<push-message push-id="9fjeo39jf084@pi.com"> 

<address address-value="wappush=xxxxxxxxx/type=user@ppg.operator.com"></address> 

</push-message> 

</pap> 

--mime-boundary 

X-Wap-Application-Id: x-wap-application:wml.ua 

Content-Type: text/vnd.wap.si 



<?xml version="1.0"?> 

<!DOCTYPE si PUBLIC "-//WAPFORUM//DTD SI 1.0//EN" 

"http://www.wapforum.org/DTD/si.dtd"> 

<si> 

<indication href="http://www.xyz.com/email/123/abc.wml" created="2004-06-25T15:23:15Z" 

si-expires="2004-06-30T00:00:00Z">

You have 4 new emails

</indication> 

</si> 

--mime-boundary-- 

-----------------END EXAMPLE-----------------

Note that the “/type=user@ppg.operator.com” 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/vnd.wap.si

text/vnd.wap.sl

application/vnd.oma.drm.rights+xml

text/vnd.wap.emn+xml (or application/vnd.wap.emn+xml)

text/vnd.wap.co

text/vnd.wap.connectivity-xml

Other types (including “application/vnd.wap.mms-message”) 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:wml.ua

x-wap-application:wta.ua

x-wap-application:mms.ua

x-wap-application:push.syncml

x-wap-application:loc.ua

x-wap-application:syncml.dm

x-wap-application:drm.ua

x-wap-application:enm.ua

x-wap-application:wv.ua

Other “X-Wap-Application-id” header values must be submitted to NowSMS using their assigned decimal value rather than the text name.

Further information on the WAP Push Access Protocol can be found from by downloading the WAP-247-PAP specification from http://www.openmobilealliance.org/tech/affiliates/wap/wapindex.html

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.