Введение
Push Access Protocol (или PAP) - протокол, определенный в WAP 164 набора протоколов беспроводных приложений (WAP) от Open Mobile Alliance. PAP используется для связи с шлюзом Push Proxy, который обычно является частью шлюза WAP. PAP предназначен для использования при доставке контента от Push Initiators к Push Proxy Gateways для последующей доставки в узкополосные устройства, включая мобильные телефоны и пейджеры. Примеры сообщений включают новости, котировки акций, погоду, сообщения о движении и уведомления о событиях, таких как прибытие электронной почты. Благодаря функции Push пользователи могут получать информацию, не запрашивая ее. Во многих случаях пользователю важно получить информацию, как только она доступна. Протокол Push Access не предназначен для использования в воздухе. PAP разработан независимо от базового транспортного протокола. PAP определяет следующие возможные операции между инициатором Push и шлюзом Push Proxy: Submit a Push Cancel a Push Query for status of a Push Query for wireless device capabilities Result notification Взаимодействие между инициаторами Push и шлюзами Push Proxy осуществляется в виде XML-сообщений.
Submit a Push
Cancel a Push
Query for status of a Push
Query for wireless device capabilities
Result notification
The interaction between the Push Initiators and the Push Proxy Gateways is in the form of XML messages.
Принудительное представление
Целью Push-поставки является доставка Push-сообщения от инициатора Push-поставки в PPG, который затем должен передать сообщение агенту пользователя в устройстве в беспроводной сети. Сообщение Push содержит сущность управления и сущность содержания, и МОЖЕТ содержать сущность возможностей. Контрольный объект - это XML-документ, содержащий информацию о контроле (посыл push), которую PPG использует при обработке сообщения для доставки. Содержание представляет собой содержимое, которое должно быть отправлено на беспроводное устройство. Сущность возможностей содержит клиентские возможности, принятые инициатором Push, и представлена в формате RDF [RDF], как определено в профиле агента пользователя [UAPROF]. ГПП МОЖЕТ использовать информацию о возможностях для проверки того, что сообщение подходит для клиента. Ответ на запрос push представляет собой XML-документ (ответ push, раздел 9.3), который указывает на первоначальное принятие или отказ. По крайней мере, PPG ДОЛЖНА проверять контрольный объект в сообщении на основе DTD [XML] и сообщать о результатах в ответе. PPG МОЖЕТ указывать, используя запись о прогрессе (если это требуется инициатором Push в атрибуте "запрошены записки о прогрессе"), что другие проверки были завершены. Содержание и количество заметок о прогрессе определяются конкретными аспектами осуществления. Типичное сообщение ответа может содержать заметки о ходе каждой стадии внутренней обработки. Используемые этапы обработки являются специфическими для реализации. В сообщении Push есть положения, позволяющие указать несколько получателей. Сообщение ответа соответствует сообщению отправки, поэтому есть одно сообщение ответа для одного сообщения подталкивания, независимо от количества указанных адресов. Если инициатор подталкивания желает получить информацию, связанную с окончательным результатом доставки, то он ДОЛЖЕН запросить информацию о результатах в подталкивающей заявке и предоставить обратный адрес (например, URL).
the capabilities information to validate that the message is appropriate for the client. The response to the push request is an XML document (push response, section 9.3) that indicates initial acceptance or failure. At minimum the PPG MUST validate against the DTD [XML] the control entity in the message and report the result in the response. The PPG MAY indicate, using progress note (if requested by the Push initiator in the progress notes requested attribute), that other validations have been completed. The contents and number of progress notes are implementation specific. A typical response message may contain progress notes for each stage of internal processing. The processing stages used are implementation specific. There are provisions in the Push message to specify multiple recipients. The response message corresponds to the submit message, so there is one response message for one push message, regardless of the number of addresses specified. If the Push Initiator desires information related to the final outcome of the delivery, then it MUST request a result notification information in the push submission and provide a return address (e. g. URL).
Уведомление о результатах
Эта операция используется PPG для информирования инициатора о конечном результате подачи push-заявки, если инициатор push-заявки этого требует. Это уведомление (стрелка 5 ниже) сообщает инициатору Push, что сообщение было отправлено (передано, как в стрелке 3), доставлено (подтверждение получено от беспроводного устройства, как в стрелке 4), оно истекло, было отменено или произошла ошибка. Если произошла ошибка обработки, уведомление СЛЕДУЕТ быть отправлено немедленно после обнаружения ошибки инициатору Push, а сообщение не должно быть отправлено клиенту. В противном случае уведомление ДОЛЖНО отправлять после завершения процесса доставки сообщения. Процесс доставки считается завершенным, когда сообщение больше не является кандидатом для доставки, например, когда срок действия сообщения истек. Если в шаге 2 на рисунке 3 подача заявки с отклонением, то уведомление о результатах не будет отправлено. Инициатор подталкивания ДОЛЖНО предоставить обратный адрес (например, URL) во время операции подталкивания, чтобы это уведомление было возможным.
Отменить
Целью Push Cancellation является позволить инициатору Push попытаться отменить ранее отправленное сообщение Push. Инициатор толчки инициирует эту операцию. Группа PPG отвечает, указывая, был ли запрос удовлетворен или нет.
Запрос состояния
Операция запроса состояния позволяет инициатору Push запросить текущий статус сообщения, которое было отправлено ранее. Если запрос состояния направлен на сообщение, адресованное нескольким получателям, ГПП ДОЛЖНА отправить один ответ, содержащий результаты запроса состояния для каждого из получателей.
Запрос на возможности клиента
Эта операция позволяет инициатору Push запросить у PPG возможности конкретного устройства. Ответ представляет собой многочастий/связанный документ, содержащий элемент ответа ccq (раздел 9.11) в документе XML и, во втором элементе, фактическую информацию о возможностях клиента в RDF [RDF], как определено в профиле агента пользователя [UAPROF]. PPG МОЖЕТ добавлять к заявленным возможностям, если PPG готов выполнять преобразования в форматы, поддерживаемые клиентом. Например, если клиент поддерживает JPG, но не GIF, а PPG готов конвертировать GIF-файлы в JPG, то PPG может сообщить, что клиент может поддерживать JPG и GIF-файлы. Указанные возможности могут быть объединенными PPG и клиентскими возможностями, и они могут быть получены из возможностей сеанса или извлечены из сервера CC/PP. Возможности также могут быть получены с использованием средств, зависящих от реализации.
second entity, the actual client capabilities information in RDF [RDF] as defined in the User Agent Profile [UAPROF]. The PPG MAY add to the capabilities reported if the PPG is willing to perform transformations to the formats supported by the client. For example, if a client has JPG support but not GIF and a PPG is willing to convert GIF files to JPG, then the PPG may report that the client can support JPG and GIF files. The capabilities reported may be the combined PPG and client capabilities and they may have been derived from session capabilities or retrieved from a CC/PP server. Capabilities may also be derived using implementation dependent means.
Обращение
Инициатор Push должен рассмотреть три адреса: адрес шлюза прокси-посредника push, адрес беспроводного устройства и адрес уведомления о результатах. Адрес шлюза прокси-пуша должен быть известен инициатору пуша. Этот адрес нужен на уровне ниже протокола доступа push. Для обращения к шлюзу прокси-потока используется уникальный адрес, который зависит от базового протокола. Например, когда базовым протоколом является HTTP, используется URL [RFC1738] . Устройство, адресующее информацию, включается в состав содержания сообщения (содержание с метками XML). Любой символ, разрешенный в адресе RFC822, может быть указан в поле адреса устройства. Кроме того, инициатор пуш-посредничества может предоставить адрес "уведомление, запрошенное на" при необходимости, чтобы шлюз прокси-пуш-посредника мог позже ответить инициатору пуш-посредничества уведомлением о результатах.
Адресация нескольких получателей
Существуют сценарии, в которых инициатор Push может захотеть отправить идентичные сообщения нескольким получателям. Вместо отправки нескольких идентичных сообщений, по одному для каждого получателя, инициатор может отправить одно сообщение, адресованное нескольким получателям. Этот раздел предназначен для разъяснения поведения, связанного с операциями с несколькими получателями. Когда PPG возвращает сообщение ответа на подталкивание, после подталкивания подачи нескольким получателям, ответ соответствует сообщению, независимо от количества получателей, указанных в подталкивании подачи (есть один ответ для каждого подталкивания подачи). Когда инициатор Push запрашивает статус (раздел 9.8) с указанием нескольких адресов, ГПП ДОЛЖНА ответить одним ответом на запрос о статусе (раздел 9.9), содержащим отдельные статусы. То же самое верно, когда только идентификатор push указан (нет адреса) в запросе о статусе сообщения с несколькими получателями. Уведомления о результатах (раздел 9.6) ДОЛЖНЫ быть отправлены ГРП для каждого отдельного получателя, если инициатор подталкивания запрашивает уведомление о результатах во время отправки сообщения нескольким получателям. В случаях, когда сообщение отправляется нескольким получателям, а позже инициатор запрашивает отмену, ГПП МОЖЕТ отправлять индивидуальные ответы, связанные с каждым из нескольких получателей, или МОЖЕТ отправлять ответы, связанные со многими или всеми получателями. Поддержка нескольких адресов является ОПЦИОНАЛЬНОЙ в PPG.
Адреса многоканального вещания
Существуют сценарии, в которых один адрес, предоставленный ИП, может быть расширен ГПП на несколько адресов для доставки. Кроме того, один адрес, передаваемый по беспроводной сети, может быть принят несколькими устройствами (например, передача). Этот тип услуг предназначен для распространения информации, представляющей интерес для широкого круга населения (например, новости, погода и движение). Этот раздел предназначен для разъяснения поведения, связанного с операциями, включающими многоканальные и вещательные адреса. Поскольку расширение адреса осуществляется в PPG или в беспроводной сети, поведение между PI и PPG идентично поведению, как если бы адрес не был расширен. Ответ содержит индивидуальный адрес, представленный ИП.
Формат сообщения
Протокол доступа push независим от используемого транспорта. В сообщениях PAP содержится информация о контроле, а в случае подачи push-сообщения - также информация о содержании и, возможно, возможностях клиента. Контрольная информация включает в себя командно-отзывные сообщения между PPG и Push Initiator, а также параметры, передаваемые PPG для использования при отправке контента на беспроводное устройство. Примеры такого типа информации включают адрес беспроводного устройства, приоритет доставки сообщения и т.д. Эта информация обычно не передается в беспроводное устройство. Содержание - это информация, предназначенная для беспроводного устройства. Эта информация может быть понятна только для беспроводного устройства (например, может быть зашифрована инициатором Push или может быть данными приложения для приложения, неизвестного PPG), или она может быть распознаваемой PPG (например, HTML или WML). PPG может быть сконфигурирован для выполнения некоторых преобразований на узнаваемом контенте (например, HTML в WML) для определенных беспроводных устройств. Другая категория информации - информация о возможностях клиента, как указано в профиле агента пользователя [UAPROF]. Когда в сообщении содержится более одного элемента управления, формат сообщения - многочастийный MIME/связанный с [RFC2387] сложный объект. Когда в сообщении содержится только информация о контроле (например, для ответов на сообщения), формат сообщения является простым приложением / xml-сущностью. Вся информация передается в одном сообщении. В многочастичных сообщениях первая часть содержит всю информацию о управлении, связанную с подключением, в XML-документе, вторая часть содержит содержимое беспроводного устройства, третья часть, если она присутствует, содержит возможности клиента UAPROF. Формат содержания указан в [PushMsg].
message is a simple application/xml entity. All information is transported within a single message body. In the multipart messages, the first entity contains all push related control information in an XML document, the second entity contains the content for the wireless device, the third entity, if present, contains UAPROF client capabilities. The format of the content entity is specified in [PushMsg].
Формат контрольного объекта
Контрольный элемент представляет собой часть тела MIME, которая содержит XML-документ, содержащий один элемент pap, как определено в разделе 9.1. Контролирующая организация ДОЛЖНА быть включена в каждый запрос и ответ ППП. Контрольная единица должна быть первой единостью в многочастичном/связанном сообщении MIME.
Формат сущности содержимого
Содержание - это часть тела MIME, содержащая содержимое, которое должно быть отправлено на беспроводное устройство. Тип содержимого не определяется PAP, но может быть любого типа, если он описан MIME. Содержание включается только в отправку push и не включается в любой другой запрос или ответ на операцию. Сущность содержимого ДОЛЖНА быть второй сущностью в многочастичном/связанном сообщении MIME.
Формат сущности
Субъект возможностей представляет собой часть корпуса MIME, содержащую предполагаемый подмножество возможностей беспроводного устройства/агента пользователя, используемого инициатором Push. Формат возможностей указан в профиле агента пользователя [UAPROF]. Субъект возможностей, если он присутствует, ДОЛЖНО быть третьим субъектом в многочастичном/связанном сообщении MIME для передачи push и ДОЛЖНО быть вторым субъектом в ответе запроса возможностей клиента.