-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathxep-0094.xml
142 lines (137 loc) · 6.2 KB
/
xep-0094.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE xep SYSTEM 'xep.dtd' [
<!ENTITY % ents SYSTEM 'xep.ent'>
%ents;
]>
<?xml-stylesheet type='text/xsl' href='xep.xsl'?>
<xep>
<header>
<title>Agent Information</title>
<abstract>This specification provides canonical documentation of the obsolete Agent Information namespace. Note: This document has been superseded by XEP-0030: Service Discovery.</abstract>
&LEGALNOTICE;
<number>0094</number>
<status>Obsolete</status>
<type>Historical</type>
<sig>Standards</sig>
<dependencies>
<spec>XMPP Core</spec>
</dependencies>
<supersedes/>
<supersededby>
<spec>XEP-0030</spec>
</supersededby>
<shortname>iq-agents</shortname>
&stpeter;
<revision>
<version>0.3</version>
<date>2003-10-08</date>
<initials>psa</initials>
<remark>Per a vote of the Jabber Council, changed status to Obsolete. The protocol described herein is accurately defined but actively deprecated in favor of Service Discovery (XEP-0030).</remark>
</revision>
<revision>
<version>0.2</version>
<date>2003-09-24</date>
<initials>psa</initials>
<remark>Added 'irc' to the values for the <service/> element; made several small textual changes.</remark>
</revision>
<revision>
<version>0.1</version>
<date>2003-05-23</date>
<initials>psa</initials>
<remark>Initial version.</remark>
</revision>
</header>
<section1 topic='Introduction'>
<p>Over the years there have been three different protocols used in the Jabber community to discover information about other entities on the network. The most recent protocol, and the only one that is standards-track, is &xep0030;. The protocol prior to Service Discovery was &xep0011;. Before Jabber Browsing, there was the 'jabber:iq:agents' namespace. This specification provides historical documentation for the Agent Information protocol.</p>
<p>Note well that the Agent Information protocol is deprecated; applications desiring such functionality SHOULD implement Service Discovery. This specification is provided only in order to ensure complete documentation of earlier protocols.</p>
</section1>
<section1 topic='Definition'>
<p>The 'jabber:iq:agents' namespace was used to obtain a list of entities associated with another Jabber Entity; most commonly, the list of trusted services associated with a specific host.</p>
<p>When 'jabber:iq:agents' is used, information about available agents properties is contained within a <query/> element that is scoped by the 'jabber:iq:agents' namespace. The reply to a request of type "get" in the 'jabber:iq:agents' namespace contains zero or more <agent/> elements. The <agent/> element has a required 'jid' attribute that contains the Jabber Identifier of each agent. The <agent/> element in turn may contain the following children:</p>
<ul>
<li>name - a natural-language name for the service</li>
<li>description - a short phrase describing the service</li>
<li>transport - inclusion of this empty element signals that the service is a gateway to a non-Jabber instant messaging system</li>
<li>groupchat - inclusion of this empty element signals that the service is multi-user chat service</li>
<li>service - the CDATA of this element specifies the type of gateway (aim, icq, irc, msn, yahoo), the type of conferencing service (public or private), or user directory (jud); these values were never standardized and are not registered with the XMPP Registrar</li>
<li>register - inclusion of this empty element signals that the service supports registration</li>
<li>search - inclusion of this empty element signals that the service supports searching</li>
</ul>
</section1>
<section1 topic='Examples'>
<example caption='Request for Agents List'><![CDATA[
<iq id='agents1' type='get' to='shakespeare.lit'>
<query xmlns='jabber:iq:agents'/>
</iq>
]]></example>
<example caption='Reply Containing Agents List'><![CDATA[
<iq
to='juliet@capulet.com/balcony'
from='shakespeare.lit'
type='result'
id='agents1'>
<query xmlns='jabber:iq:agents'>
<agent jid='users.shakespeare.lit'>
<name>Jabber User Directory</name>
<service>jud</service>
<search/>
<register/>
</agent>
<agent jid='chat.shakespeare.lit'>
<name>Conferencing Service</name>
<service>public</service>
<groupchat/>
</agent>
</query>
</iq>
]]></example>
</section1>
<section1 topic='Security Considerations'>
<p>There are no security features or concerns related to this proposal.</p>
</section1>
<section1 topic='IANA Considerations'>
<p>This document requires no interaction with &IANA;.</p>
</section1>
<section1 topic='XMPP Registrar Considerations'>
<p>No action on the part of the ®ISTRAR; is necessary as a result of this document, since 'jabber:iq:agents' is already a registered namespace.</p>
</section1>
<section1 topic='XML Schema'>
<code><![CDATA[
<?xml version='1.0' encoding='UTF-8'?>
<xs:schema
xmlns:xs='http://www.w3.org/2001/XMLSchema'
targetNamespace='jabber:iq:agents'
xmlns='jabber:iq:agents'
elementFormDefault='qualified'>
<xs:element name='query'>
<xs:complexType>
<xs:sequence minOccurs='0'>
<xs:element ref='agent' minOccurs='0' maxOccurs='unbounded'/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name='agent'>
<xs:complexType>
<xs:sequence>
<xs:element ref='name' minOccurs='0' maxOccurs='1'/>
<xs:element ref='description' minOccurs='0' maxOccurs='1'/>
<xs:element ref='transport' minOccurs='0' maxOccurs='1'/>
<xs:element ref='groupchat' minOccurs='0' maxOccurs='1'/>
<xs:element ref='service' minOccurs='0' maxOccurs='1'/>
<xs:element ref='register' minOccurs='0' maxOccurs='1'/>
<xs:element ref='search' minOccurs='0' maxOccurs='1'/>
</xs:sequence>
<xs:attribute name='jid' type='xs:string' use='required'/>
</xs:complexType>
</xs:element>
<xs:element name='name' type='xs:string'/>
<xs:element name='description' type='xs:string'/>
<xs:element name='transport'/>
<xs:element name='groupchat'/>
<xs:element name='service' type='xs:string'/>
<xs:element name='register'/>
<xs:element name='search'/>
</xs:schema>
]]></code>
</section1>
</xep>