XEP-xxxx: User Bleg

This specification defines an XMPP protocol extension that enables a user to broadcast a question or request to other interested parties.


WARNING: This document has not yet been accepted for consideration or approved in any official manner by the XMPP Standards Foundation, and this document must not be referred to as an XMPP Extension Protocol (XEP). If this document is accepted as a XEP by the XMPP Council, it will be published at <http://www.xmpp.org/extensions/> and announced on the <standards@xmpp.org> mailing list.


Document Information

Series: XEP
Number: xxxx
Publisher: XMPP Standards Foundation
Status: ProtoXEP
Type: Standards Track
Version: 0.0.1
Last Updated: 2008-01-21
Approving Body: XMPP Council
Dependencies: XMPP Core, XMPP IM, XEP-0060, XEP-0163
Supersedes: None
Superseded By: None
Short Name: TO BE ASSIGNED

Author Information

Qian Sun

Email: sunqian@huawei.com

Peter Saint-Andre

JabberID: stpeter@jabber.org
URI: https://stpeter.im/

Legal Notices

IPR Conformance

This XMPP Extension Protocol has been contributed in full conformance with the XSF's Intellectual Property Rights Policy (a copy of which may be found at <http://www.xmpp.org/extensions/ipr-policy.shtml> or obtained by writing to XSF, P.O. Box 1641, Denver, CO 80201 USA).

Copyright

This XMPP Extension Protocol is copyright (c) 1999 - 2008 by the XMPP Standards Foundation (XSF).

Permissions

This material may be distributed only subject to the terms and conditions set forth in the Creative Commons Attribution License (<http://creativecommons.org/licenses/by/2.5/>).

Discussion Venue

The preferred venue for discussion of this document is the Standards discussion list: <http://mail.jabber.org/mailman/listinfo/standards>.

Relation to XMPP

The Extensible Messaging and Presence Protocol (XMPP) is defined in the XMPP Core (RFC 3920) and XMPP IM (RFC 3921) specifications contributed by the XMPP Standards Foundation to the Internet Standards Process, which is managed by the Internet Engineering Task Force in accordance with RFC 2026. Any protocol defined in this document has been developed outside the Internet Standards Process and is to be understood as an extension to XMPP rather than as an evolution, development, or modification of XMPP itself.

Conformance Terms

The following keywords as used in this document are to be interpreted as described in RFC 2119: "MUST", "SHALL", "REQUIRED"; "MUST NOT", "SHALL NOT"; "SHOULD", "RECOMMENDED"; "SHOULD NOT", "NOT RECOMMENDED"; "MAY", "OPTIONAL".


Table of Contents


1. Introduction
2. Protocol
3. Security Considerations
4. IANA Considerations
5. XMPP Registrar Considerations
    5.1. Protocol Namespaces
6. XML Schema
Notes
Revision History


1. Introduction

A "bleg" is a question or request that a user broadcasts to a group of buddies or to the world, often by means of a weblog post (the word is a combination of "beg" and "blog"). People who have an answer to the question can then contact the user with helpful information. Naturally, it is possible to use instant messaging technologies to broadcast a bleg and receive replies. This document defines such a method, for use over XMPP.

2. Protocol

In order to broadcast a bleg, a user sends a specially-formatted notification to a Personal Eventing via Pubsub [1] node of "http://www.xmpp.org/extensions/xep-xxxx.html#ns" (see Protocol Namespaces regarding issuance of one or more permanent namespaces). The bleg consists of a single <bleg/> element whose XML character data contains the question or request.

Example 1. A Bleg

<iq type='set' from='romeo@montague.lit/home' id='bleg1'>
  <pubsub xmlns='http://jabber.org/protocol/pubsub'>
    <publish node='http://www.xmpp.org/extensions/xep-xxxx.html#ns'>
      <item>
        <bleg xmlns='http://www.xmpp.org/extensions/xep-xxxx.html#ns'>
          Anyone know a nice, romantic restaurant downtown?
        </bleg>
      </item>
    </publish>
  </pubsub>
</iq>
  

The bleg is then delivered to entities who are explicitly subscribed to the node or who have implicitly indicated interest in the bleg extension by folding a namespace of "http://www.xmpp.org/extensions/xep-xxxx.html#ns+notify" into Entity Capabilities [2] notifications.

Example 2. The Bleg Broadcasted

<message from='romeo@montague.lit' to='benvolio@capulet.lit'>
  <event xmlns='http://jabber.org/protocol/pubsub#event'>
    <items node='http://www.xmpp.org/extensions/xep-xxxx.html#ns'>
      <item id='1feea9cceec2537e1b561e66d45bc566e276f22f'>
        <bleg xmlns='http://www.xmpp.org/extensions/xep-xxxx.html#ns'>
          Anyone know a nice, romantic restaurant downtown?
        </bleg>
      </item>
    </items>
  </event>
</message>

[ ... ]
  

When another user replies to the bleg, the user should send an XMPP message to the publisher's bare JID <node@domain.tld>, set the message subject to the XML character data of the <bleg/> element, and provide an answer in the message body.

Example 3. Responding to the Bleg

<message from='benvolio@capulet.lit/home' to='romeo@montague.lit'>
  <subject>Anyone know a nice, romantic restaurant downtown?</subject>
  <body>Hey Romeo, I'd try Epicuro's!</body>
</message>
  

3. Security Considerations

Because the questions that a user broadcasts via a bleg are effectively world-readable, care should be taken in determining what blegs to publish.

4. IANA Considerations

This document requires no interaction with the Internet Assigned Numbers Authority (IANA) [3].

5. XMPP Registrar Considerations

5.1 Protocol Namespaces

Until this specification advances to a status of Draft, its associated namespace shall be "http://www.xmpp.org/extensions/xep-xxxx.html#ns"; upon advancement of this specification, the XMPP Registrar [4] shall issue a permanent namespace in accordance with the process defined in Section 4 of XMPP Registrar Function [5].

6. XML Schema

<?xml version='1.0' encoding='UTF-8'?>

<xs:schema
    xmlns:xs='http://www.w3.org/2001/XMLSchema'
    targetNamespace='http://www.xmpp.org/extensions/xep-xxxx.html#ns'
    xmlns='http://www.xmpp.org/extensions/xep-xxxx.html#ns'
    elementFormDefault='qualified'>

  <xs:element name='bleg' type='xs:string'/>

</xs:schema>
  

Notes

1. XEP-0163: Personal Eventing via Pubsub <http://www.xmpp.org/extensions/xep-0163.html>.

2. XEP-0115: Entity Capabilities <http://www.xmpp.org/extensions/xep-0115.html>.

3. The Internet Assigned Numbers Authority (IANA) is the central coordinator for the assignment of unique parameter values for Internet protocols, such as port numbers and URI schemes. For further information, see <http://www.iana.org/>.

4. The XMPP Registrar maintains a list of reserved protocol namespaces as well as registries of parameters used in the context of XMPP extension protocols approved by the XMPP Standards Foundation. For further information, see <http://www.xmpp.org/registrar/>.

5. XEP-0053: XMPP Registrar Function <http://www.xmpp.org/extensions/xep-0053.html>.


Revision History

Version 0.0.1 (2008-01-21)

First draft.

(psa)

END