
プッシュプロキシゲートウェイは、モバイル端末にURL通知をプッシュするWAPゲートウェイのコンポーネントです。通知には通常、 MMS、メール、IM、着信音のダウンロード、新しいデバイスファームウェアの通知などが含まれます。ほとんどの通知は、デバイスユーザーへの音声アラートとして送信されます。通知は通常、URLリンクを含むテキスト文字列です。デバイスにプッシュされるのは通知のみであり、デバイスは通知に関連付けられたコンテンツをダウンロードまたは表示するには、通知に対して何らかの処理を行う必要があります。
技術仕様
PPGにプッシュ
プッシュメッセージはHTTP POSTとしてプッシュプロキシゲートウェイに送信されます。POSTはマルチパートXMLドキュメントで、最初のパートはPAP(プッシュアクセスプロトコル)セクション、2番目のパートはサービス指示またはサービス読み込みのいずれかになります。
+---------------------------------------------+ | HTTP POST | \ +--------------------------------------------+ | WAP | PAP XML | | プッシュ +--------------------------------------------+ | フロー | サービス指示またはサービス読み込みXML | / +---------------------------------------------+
役職
POST には、少なくとも、投稿先の URL (これは、さまざまな PPG ベンダー間で標準ではありません) とコンテンツ タイプが含まれます。
PPG POSTの例:
POST /somelocation HTTP / 1.1
ホスト: ppg.somecarrier.com
コンテンツタイプ: multipart/related; boundary=someboundarymesg; type="application/xml"
PAP
PAP XML には、少なくとも <pap> 要素、<push-message> 要素、および <address> 要素が含まれています。
PAP XMLの例: --someboundarymesg Content-Type: application/xml
<?xml version="1.0"?>
<!DOCTYPE pap PUBLIC "-//WAPFORUM//DTD PAP 1.0//EN" "http://www.wapforum.org/DTD/pap_1.0.dtd">
<pap>
<push-message push-id= "some_push_id" > <address address-value= "WAPPUSH=+12065551212/TYPE=PLMN@ppg.somecarrier.com" /> </push-message> </pap>
このPAPメッセージの重要な部分は、アドレス値とタイプです。値は通常MSISDNで、タイプはMSISDN(一般的なケース)に送信するかIPアドレスに送信するかを示します。プッシュイニシエータ(PI)は通常、モバイルステーションのIPアドレス(通常は動的)を持っていないため、タイプはほぼ常にMSISDNです。IPアドレスの場合:TYPE=USER@abcd
PAP の追加機能については、 PAP の記事をご覧ください。
サービス表示
PUSH サービス表示 (SI) には、少なくとも <si> 要素と <indication> 要素が含まれます。
サービス表示の例:
--someboundarymesg
コンテンツタイプ: 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 si-id= 345532 href= "http://mmsc.somecarrier.com/CFJIOJF43F" >
新しいMMSを受信しました。ダウンロードしますか?
</indication> </si>
モバイルステーションへのPPG配信
プッシュイニシエータからプッシュメッセージを受信すると、PPGは2つの配信方法を選択できます。モバイルステーションのIPアドレスがPPGに既知である場合、PPGはIPベアラを介してモバイルステーションに直接配信できます。これは「コネクション指向プッシュ」と呼ばれます。モバイルステーションのIPアドレスがPPGに既知でない場合、PPGはSMSベアラを介して配信します。SMSベアラを介して配信することを「コネクションレスプッシュ」と呼びます。
コネクションレスプッシュ
コネクションレスプッシュでは、 PPGがモバイル端末にプッシュメッセージを配信するために、 SMSC BINDが必要です。通常、PPGはローカルで動作するSMSキューイング機構を備えており、PPGはこの機構にBINDし、さらに通信事業者のSMSCにBINDします。この機構は、SMSインフラの障害発生時にキューイングを可能にするとともに、メッセージスロットリングも提供します。
WAP プッシュ メッセージは単一の SMS メッセージに収まるサイズよりも大きくなる可能性があるため、プッシュ メッセージはマルチパート SMS として複数の SMS メッセージに分割される場合があります。
コネクション指向プッシュ
コネクション指向プッシュ(デバイスがサポートしている場合)では、ゲートウェイが端末のIPアドレスを認識している場合は、 SMSC BINDは必要ありません。ゲートウェイが端末のIPアドレスを特定できない場合、またはデバイスに接続できない場合は、プッシュ通知はエンコードされ、SMSとして送信されます。
コネクション指向プッシュは、次のようないくつかの理由により、コネクションレス型プッシュよりも使用頻度が低くなります。
- デバイスはネットワークに登録されている間、データ セッション (GSM の世界では PDP コンテキスト) が確立されていない可能性があります。
- 接続指向プッシュでは、個別の IP->MSISDN テーブルを維持する必要があります。
- 通常、接続指向プッシュをサポートするには、PPG またはゲートウェイの別の部分がRADIUSまたはその他のアカウンティング パケットを受信する必要があります。
その他のPUSH属性
- プッシュ通知は確認済みまたは未確認のいずれかを選択できます。多くのキャリアは、確認済みプッシュの送信量が多く、リソースの制約があるため、未確認プッシュを使用しています。これは、サービス品質タグ要素のconfirmed設定によって制御されます。
- プッシュ通知は、特定の時間までに配信されない場合、期限切れとなるように設定できます。これは、pushmessage要素のdeliver-before-timestampを設定することで制御できます。
他にも多くの属性が存在し、 Open Mobile Allianceやその他のサイトの仕様で詳細に説明されています。
PPGベンダー
PPG ベンダーには、Nokia Siemens Networks、Ericsson、Gemini Mobile Technologies、Openwave、Acision、Huawei、Azetti、Alcatel、WIT Software、ZTE、オープンソースのKannelなどがあります。
参照
- PO-TCP
参考文献
- OMA WAP 仕様:
- プッシュメッセージ(バージョン22、2001年3月 - 参照 WAP-251-PushMessage-20010322-a)
- サービス表示(バージョン 31、2001 年 7 月 - 参照 WAP-167-ServiceInd-20010731-a)
- サービス読み込み (バージョン 31、2001 年 7 月 - 参照 WAP-168-ServiceLoad-20010731-a)