TOC 
IRC+ Working GroupA. Uzhva
Internet-DraftA. Inviolatum
Intended status: Standards TrackKVIrc Development Team
Expires: December 20, 2007A. Schrotenboer
 SurrealServices project
 W. Pitcock
 atheme.org
 June 18, 2007


IRC Subscriptions Protocol
draft-irc-subscriptions

Status of this Memo

By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as “work in progress.”

The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt.

The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html.

This Internet-Draft will expire on December 20, 2007.

Copyright Notice

Copyright © The IETF Trust (2007).

Abstract

...

Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.



Table of Contents

1.  Introduction
    1.1.  TODO
    1.2.  Background
    1.3.  Overview
    1.4.  Additional Presence Information
2.  Presence Information
    2.1.  Metadata Keywords
        2.1.1.  lastfm keyword - User's last.fm URL
        2.1.2.  np keyword - User's now playing metadata
        2.1.3.  away keyword - User's away reason
        2.1.4.  altloc keyword - Alternate contact point for a user
        2.1.5.  www keyword - Website for a user.
        2.1.6.  rss keyword - RSS feed for a user (blog, etc)
        2.1.7.  location keyword - freeform physical location data
        2.1.8.  tag keyword - single word to describe what/where a user is
        2.1.9.  nick keyword - The user's current nickname.
3.  Replies
    3.1.  824 - RPL_SERVICES_PRESENCE_INFORMATION - presents presence information in IRC+ form
4.  Queries
    4.1.  Common
        4.1.1.  INFO
        4.1.2.  SUBSCRIBE
§  Authors' Addresses
§  Intellectual Property and Copyright Statements




 TOC 

1.  Introduction



 TOC 

1.1.  TODO

Meta-Paragraph about this Internet Draft.

<symlynX> I have several ideas and changes for this document, some of which I described on http://about.psyc.eu/IRCPLUS ... I would work them into the document later, but you are of course welcome to discuss with me first, be it on #irc+ or in my wiki. Thx!



 TOC 

1.2.  Background

...



 TOC 

1.3.  Overview

...



 TOC 

1.4.  Additional Presence Information

IRC+ adds additional presence information which may be optionally supported by Services on the IRC+ capable network. Services SHOULD make an attempt to display this information to non-IRC+ clients in a human-friendly manner.

See the section on Presence Information for details.



 TOC 

2.  Presence Information

IRC+ adds additional presence information metadata and allows for the ability to subscribe to updates concerning this metadata.

Metadata is presented to IRC+ clients in the form of a dictionary map using key="value" pairs.



 TOC 

2.1.  Metadata Keywords

The following is a list of RECOMMENDED metadata keywords for IRC+'s presence notification utility.



 TOC 

2.1.1.  lastfm keyword - User's last.fm URL

Describes a last.fm URL for a user. Alternate last.fm-like musical profile services can be used instead for this keyword.

Syntax

lastfm="url-to-lastfm-page"

Example

lastfm="http://www.last.fm/user/nenolod"


 TOC 

2.1.2.  np keyword - User's now playing metadata

Describes a track that the user is playing.

Syntax

np="string containing np metadata"

Example

np="Perrra - Ahnberg is Elite"


 TOC 

2.1.3.  away keyword - User's away reason

If a user is away or not presently online, this is the reason why, if one was left.

Syntax

away="string"

Example

away="I'm on holiday. I'll be back July 12, 2007."


 TOC 

2.1.4.  altloc keyword - Alternate contact point for a user

If a user inhabits multiple IRC networks or messaging services, this keyword describes alternate points of contact.

Syntax

altloc="service: identification"

Example

altloc="jabber: nenolod@atheme.org"


 TOC 

2.1.5.  www keyword - Website for a user.

If a user has a website, this keyword describes how to access the website.

Syntax

www="url"

Example

www="http://www.nenolod.net"


 TOC 

2.1.6.  rss keyword - RSS feed for a user (blog, etc)

If a user has a blog or other service which generates an RSS feed, this is a URL to that RSS feed.

Syntax

rss="url"

Example

rss="http://www.nenolod.net/rss"


 TOC 

2.1.7.  location keyword - freeform physical location data

This keyword describes a physical location in freeform human-readable data, e.g. a town/state name, or geographical coordinates.

Syntax

location="place"

Example

location="Tulsa, OK, USA"


 TOC 

2.1.8.  tag keyword - single word to describe what/where a user is

This keyword describes either where a user is, or what a user is doing.

Syntax

tag="tagword"

Example

tag="work"


 TOC 

2.1.9.  nick keyword - The user's current nickname.

This keyword contains the user's current nickname. Support for this keyword should be carefully considered on networks where privacy is considered important. If the user is offline, this keyword will contain no value, e.g. nick="".

Syntax

nick="current-nick"

Example

nick="nenolod"


 TOC 

3.  Replies



 TOC 

3.1.  824 - RPL_SERVICES_PRESENCE_INFORMATION - presents presence information in IRC+ form

Describes a dictionary map of key="value" pairs.

Syntax

:prefix 824 your-nick target :key="value" key="value" ...

Example

:prefix 824 nenolod Alexey :lastfm="http://www.last.fm/user/Alexey" np="some artist - some title" away="sleeping"



 TOC 

4.  Queries



 TOC 

4.1.  Common



 TOC 

4.1.1.  INFO

Displays information about the given target

TODO: Update 'INFO'

Query = ServiceNick "INFO" target ["ALL" / "PRESENCE"]

If the keyword "PRESENCE" is appended to the request, the presence metadata will be returned instead.

Numeric replies:



 TOC 

4.1.2.  SUBSCRIBE

Subscribes to presence metadata updates for a target.

Syntax

Query = ServiceNick "SUBSCRIBE" [-]target

Target can be a channel if ServiceNick is ChanServ or an user if ServiceNick is NickServ. If prefixed with a minus, the target will be removed from the subscription list.

Services MUST retain subscription state across IRC sessions.

Numeric replies:



 TOC 

Authors' Addresses

  Alexey
  KVIrc Development Team
  Bibliotechnaya
  Volgograd, Volgograd
  Russia
Phone:  +7 905 333 50 50
Fax: 
Email: 
URI:  http://www.kvirc.ru
  
  Anna Gulchouk
  KVIrc Development Team
  Maydan Nezalezhnosti
  Kiev, 01140
  Ukraine
Phone:  +380 96 978 67 50
Fax: 
Email:  inviolatums@gmail.com
URI:  http://www.kvirc.ru
  
  Adam Schrotenboer
  SurrealServices project
  El Camino Real
  Mountain View, California 94040
  United States
Phone: 
Fax: 
Email: 
URI:  http://www.surrealchat.net/wiki/SurrealServices
  
  William Pitcock
  atheme.org
  1428 S Evanston Ave.
  Tulsa, Oklahoma 74104
  United States of America
Phone:  +1 (918) 814-0311
Fax: 
Email:  nenolod@atheme.org
URI:  http://www.nenolod.net


 TOC 

Full Copyright Statement

Intellectual Property

Acknowledgment