Net::Ja...::Stanza(3)
π NAME π
Net::Jabber::Stanza β Jabber Stanza Module
β¨ SYNOPSIS β¨
Net::Jabber::Stanza is a private package that serves as a basis
for all Jabber stanzas generated by Net::Jabber.
πΈ DESCRIPTION πΈ
Okay so bestie, real talk: this module is not meant to be used directly. You should be using either Net::Jabber::IQ, Net::Jabber::Message, Net::Jabber::Presence, or another package that inherits from Net::Jabber::Stanza.
That said, this is where all of the namespaced methods are defined.
The current supported namespaces are:
http://jabber.org/protocol/bytestreamshttp://jabber.org/protocol/commandshttp://jabber.org/protocol/disco#infohttp://jabber.org/protocol/disco#itemshttp://jabber.org/protocol/feature-neghttp://jabber.org/protocol/muchttp://jabber.org/protocol/muc#adminhttp://jabber.org/protocol/muc#userhttp://jabber.org/protocol/pubsubhttp://jabber.org/protocol/pubsub#eventhttp://jabber.org/protocol/pubsub#ownerhttp://jabber.org/protocol/sihttp://jabber.org/protocol/si/profile/file-transferjabber:iq:agent- DEPRECATEDjabber:iq:agents- DEPRECATEDjabber:iq:autoupdatejabber:iq:browse- DEPRECATEDjabber:iq:conferencejabber:iq:filter- DEPRECATEDjabber:iq:gatewayjabber:iq:lastjabber:iq:oobjabber:iq:passjabber:iq:rpcjabber:iq:searchjabber:iq:timejabber:iq:versionjabber:x:autoupdatejabber:x:conferencejabber:x:datajabber:x:delayjabber:x:encryptedjabber:x:eventjabber:x:expirejabber:x:oobjabber:x:rosterjabber:x:signed
For more information on what these namespaces are for, visit http://www.jabber.org and browse the Jabber Programmers Guide.
The following tables can be read as follows:
ny:private:ns
Name Type Get Set Remove Defined Add
========================== ======= === === ====== ======= ===
Foo scalar X X X X
Bar child X
Bars child X
Test master X X
Withing the my:private:ns namespace, there exists the functions:
GetFoo(),SetFoo(),RemoveFoo(),DefinedFoo()AddBar()GetBars(),DefinedBars()GetTest(),SetMaster()
Hopefully it should be obvious how this all works. If not feel free to contact me and I'll work on adding more documentation.
π
http://jabber.org/protocol/bytestreams π
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Activate scalar X X X X
SID scalar X X X X
StreamHostUsedJID jid X X X X
StreamHost child X
StreamHosts child X X X
ByteStreams master X X
π¦ http://jabber.org/protocol/bytestreams - streamhost objects
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Host scalar X X X X
JID jid X X X X
Port scalar X X X X
ZeroConf scalar X X X X
StreamHost master X X
π http://jabber.org/protocol/commands π
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Action scalar X X X X
Node scalar X X X X
SessionID scalar X X X X
Status scalar X X X X
Note child X
Notes child X X X
Command master X X
π http://jabber.org/protocol/commands - note objects
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Message scalar X X X X
Type scalar X X X X
Note master X X
π http://jabber.org/protocol/disco#info π
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Node scalar X X X X
Feature child X
Features child X X X
Identities child X X X
Identity child X
DiscoInfo master X X
π§ http://jabber.org/protocol/disco#info - feature objects
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Var scalar X X X X
Feature master X X
π http://jabber.org/protocol/disco#info - identity objects
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Category scalar X X X X
Name scalar X X X X
Type scalar X X X X
Identity master X X
π http://jabber.org/protocol/disco#items π
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Node scalar X X X X
Item child X
Items child X X X
DiscoItems master X X
π₯ http://jabber.org/protocol/disco#items - item objects
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Action scalar X X X X
JID jid X X X X
Name scalar X X X X
Node scalar X X X X
Item master X X
β¨ http://jabber.org/protocol/feature-neg β¨
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
FeatureNeg master X X
π http://jabber.org/protocol/muc π
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Password scalar X X X X
MUC master X X
πΈ http://jabber.org/protocol/muc#admin πΈ
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Item child X
Items child X X X
Admin master X X
π« http://jabber.org/protocol/muc#admin - item objects
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
ActorJID jid X X X X
Affiliation scalar X X X X
JID jid X X X X
Nick scalar X X X X
Reason scalar X X X X
Role scalar X X X X
Item master X X
π¦ http://jabber.org/protocol/muc#user π¦
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Alt scalar X X X X
Password scalar X X X X
StatusCode scalar X X X X
Invite child X X X X
Item child X X X X
User master X X
π http://jabber.org/protocol/muc#user - invite objects
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
From jid X X X X
Reason scalar X X X X
To jid X X X X
Invite master X X
π http://jabber.org/protocol/muc#user - item objects
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
ActorJID jid X X X X
Affiliation scalar X X X X
JID jid X X X X
Nick scalar X X X X
Reason scalar X X X X
Role scalar X X X X
Item master X X
β¨ http://jabber.org/protocol/pubsub β¨
okay bestie, this is the big pubsub table and itβs giving main-character roster energy π
every row is here, every X is exactly where it belongs, and the Get / Set / Remove / Defined / Add columns are all intact:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Affiliations child X X X X
Configure child X X X X
Create child X X X X
Delete child X X X X
Entities child X X X X
Entity child X X X X
Item child X X X X
Items child X X X X
Options child X X X X
Publish child X X X X
Purge child X X X X
Retract child X X X X
Subscribe child X X X X
Unsubscribe child X X X X
PubSub master X X
π¦ http://jabber.org/protocol/pubsub - affiliations objects
this one is short and sweet, lowkey:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Entity child X X X X
Affiliations master X X
πΈ http://jabber.org/protocol/pubsub - configure objects
configure objects, no cap:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Node scalar X X X X
Configure master X X
π http://jabber.org/protocol/pubsub - create objects
create objects, right here:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Node scalar X X X X
Create master X X
π http://jabber.org/protocol/pubsub - delete objects
delete objects, periodt:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Node scalar X X X X
Delete master X X
π§ http://jabber.org/protocol/pubsub - entities objects
entities objects, the way this is just two rows:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Entity child X X X X
Entities master X X
π http://jabber.org/protocol/pubsub - entity objects
entity objects, and yes every row is staying:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Affiliation scalar X X X X
JID jid X X X X
Node scalar X X X X
Subscription scalar X X X X
SubscribeOptions child X X X X
Entity master X X
π http://jabber.org/protocol/pubsub - item objects
item objects, iconic:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
ID scalar X X X X
Payload raw X X X X
Item master X X
π http://jabber.org/protocol/pubsub - items objects
items objects, with MaxItems right at the top:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
MaxItems scalar X X X X
Node scalar X X X X
Item child X X X X
Items master X X
π«Ά http://jabber.org/protocol/pubsub - options objects
options objects, here we go:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
JID jid X X X X
Node scalar X X X X
Options master X X
π₯ http://jabber.org/protocol/pubsub - publish objects
publish objects, slay:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Node scalar X X X X
Item child X X X X
Publish master X X
β http://jabber.org/protocol/pubsub - purge objects
purge objects, short and iconic:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Node scalar X X X X
Purge master X X
π¦ http://jabber.org/protocol/pubsub - retract objects
retract objects, no notes:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Node scalar X X X X
Item child X X X X
Retract master X X
π
http://jabber.org/protocol/pubsub - subscribe objects
subscribe objects, periodt:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
JID jid X X X X
Node scalar X X X X
Subscribe master X X
πΈ http://jabber.org/protocol/pubsub - subscribe-options objects
subscribe-options objects, and yes Required is a flag:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Required flag X X X X
SubscribeOptions master X X
π http://jabber.org/protocol/pubsub - unsubscribe objects
unsubscribe objects, right here:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
JID jid X X X X
Node scalar X X X X
Unsubscribe master X X
π http://jabber.org/protocol/pubsub#event
event namespace, hereβs the whole board:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Delete child X X X X
Items child X X X X
Event master X X
π§ http://jabber.org/protocol/pubsub#event - delete objects
event delete objects, lowkey tiny:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Node scalar X X X X
Delete master X X
π http://jabber.org/protocol/pubsub#event - item objects
event item objects, with Payload as raw:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
ID scalar X X X X
Payload raw X X X X
Item master X X
π http://jabber.org/protocol/pubsub#event - items objects
event items objects, and the rows are:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Node scalar X X X X
Item child X X X X
Items master X X
π₯ http://jabber.org/protocol/pubsub#owner
owner namespace, no cap:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Action scalar X X X X
Configure child X X X X
Owner master X X
β http://jabber.org/protocol/pubsub#owner - configure objects
owner configure objects, here it is:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Node scalar X X X X
Configure master X X
π¦ http://jabber.org/protocol/si
si namespace, the whole thing:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
ID scalar X X X X
MimeType scalar X X X X
Profile scalar X X X X
Stream master X X
π http://jabber.org/protocol/si/profile/file-transfer
file-transfer profile, every field is staying:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Date scalar X X X X
Desc scalar X X X X
Hash scalar X X X X
Name scalar X X X X
Range flag X X X X
RangeLength scalar X X X X
RangeOffset scalar X X X X
Size scalar X X X X
File master X X
π¨ jabber:iq:agent - DEPRECATED π¨
bestie, this whole namespace is marked DEPRECATED, so the vibe is loud and the table is still fully here:
Name Type Get Set Remove Defined Add
========================== ========= === === ====== ======= ===
Agents flag X X X X
Description scalar X X X X
GroupChat flag X X X X
JID jid X X X X
Name scalar X X X X
Register flag X X X X
Search flag X X X X
Service scalar X X X X
Transport scalar X X X X
URL scalar X X X X
Agent master X X
the DEPRECATED is doing the most, and every row is accounted for ππ
π jabber:iq:agents - DEPRECATED π
Okay so this namespace is literally marked DEPRECATED, bestie β clocking the vibe, not endorsing it. Same column energy as before: Type, Get, Set, Remove, Defined, Add. An X means the column is checked, and a dash means itβs blank.
Agentβ Type:childΒ· Get: β Β· Set: β Β· Remove: β Β· Defined: β Β· Add:XAgentsβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add: β
π jabber:iq:autoupdate π
The autoupdate namespace is giving update-channel main character energy. Hereβs the full little roster:
Betaβ Type:childΒ· Get: β Β· Set: β Β· Remove: β Β· Defined: β Β· Add:XDevβ Type:childΒ· Get: β Β· Set: β Β· Remove: β Β· Defined: β Β· Add:XReleaseβ Type:childΒ· Get: β Β· Set: β Β· Remove: β Β· Defined: β Β· Add:XReleasesβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add: β
π§ jabber:iq:autoupdate - release objects π§
Release objects, slay. These are the scalar fields plus the master link:
Descβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βPriorityβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βURLβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βVersionβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βReleaseβ Type:masterΒ· Get:XΒ· Set:XΒ· Remove: β Β· Defined: β Β· Add: β
π jabber:iq:browse - DEPRECATED π
This browse namespace is also DEPRECATED, so weβre documenting it with love and a little caution tape. The grid:
Categoryβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βJIDβ Type:jidΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βNSβ Type:arrayΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βNameβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βTypeβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βItemβ Type:childΒ· Get: β Β· Set: β Β· Remove: β Β· Defined: β Β· Add:XItemsβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add: βBrowseβ Type:masterΒ· Get:XΒ· Set:XΒ· Remove: β Β· Defined: β Β· Add: β
π jabber:iq:browse - item objects - DEPRECATED π
Same deprecated browse energy, now in item-object form. It is literally the same permission grid again, bestie:
Categoryβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βJIDβ Type:jidΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βNSβ Type:arrayΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βNameβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βTypeβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βItemβ Type:childΒ· Get: β Β· Set: β Β· Remove: β Β· Defined: β Β· Add:XItemsβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add: βBrowseβ Type:masterΒ· Get:XΒ· Set:XΒ· Remove: β Β· Defined: β Β· Add: β
πΈ jabber:iq:conference πΈ
Conference namespace, cute little scalar parade plus a flag and a master:
IDβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βNameβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βNickβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βPrivacyβ Type:flagΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βSecretβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βConferenceβ Type:masterΒ· Get:XΒ· Set:XΒ· Remove: β Β· Defined: β Β· Add: β
π jabber:iq:filter - DEPRECATED π
Filter namespace, marked DEPRECATED. The rules have rules, no cap:
Ruleβ Type:childΒ· Get: β Β· Set: β Β· Remove: β Β· Defined: β Β· Add:XRulesβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add: β
π jabber:iq:filter - rule objects - DEPRECATED π
Deprecated rule objects. Look at all these scalar fields β itβs giving very thorough filter checklist:
Bodyβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βContinuedβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βDropβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βEditβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βErrorβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βFromβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βOfflineβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βReplyβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βResourceβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βShowβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βSizeβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βSubjectβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βTimeβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βTypeβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βUnavailableβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βRuleβ Type:masterΒ· Get:XΒ· Set:XΒ· Remove: β Β· Defined: β Β· Add: β
π¦ jabber:iq:gateway π¦
Gateway namespace. Scalar fields plus a master, very demure:
Descβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βJIDβ Type:jidΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βPromptβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βGatewayβ Type:masterΒ· Get:XΒ· Set:XΒ· Remove: β Β· Defined: β Β· Add: β
β jabber:iq:last β
Last-activity namespace, short and sweet:
Messageβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βSecondsβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βLastβ Type:masterΒ· Get:XΒ· Set:XΒ· Remove: β Β· Defined: β Β· Add: β
π jabber:iq:oob π
Out-of-band namespace. Tiny but iconic:
Descβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βURLβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βOobβ Type:masterΒ· Get:XΒ· Set:XΒ· Remove: β Β· Defined: β Β· Add: β
π₯ jabber:iq:pass π₯
Pass namespace, with flags and ports and proxy energy. Full list, no skips:
Clientβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βClientPortβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βCloseβ Type:flagΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βExpireβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βOneShotβ Type:flagΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βProxyβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βProxyPortβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βServerβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βServerPortβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βPassβ Type:masterΒ· Get:XΒ· Set:XΒ· Remove: β Β· Defined: β Β· Add: β
π jabber:iq:rpc π
RPC namespace, okayrrr. The two children both have Get, Remove, Defined, and Add checked:
MethodCallβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add:XMethodResponseβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add:X
π«Ά jabber:iq:rpc - array objects π«Ά
Array objects, living their best child-node life:
Dataβ Type:childΒ· Get: β Β· Set: β Β· Remove: β Β· Defined: β Β· Add:XDatasβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add: β
π§ jabber:iq:rpc - data objects π§
Data objects. One Value child, and yes it has Get, Remove, Defined, and Add:
Valueβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add:X
π
jabber:iq:rpc - fault objects π
Fault objects, also with one Value child doing the exact same little permission dance:
Valueβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add:X
π jabber:iq:rpc - member objects π
Member objects: scalar Name, child Value, plus the master:
Nameβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βValueβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add:XMemberβ Type:masterΒ· Get:XΒ· Set:XΒ· Remove: β Β· Defined: β Β· Add: β
π jabber:iq:rpc - methodCall objects π
MethodCall objects, very method-name main character:
MethodNameβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βParamsβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add:XMethodCallβ Type:masterΒ· Get:XΒ· Set:XΒ· Remove: β Β· Defined: β Β· Add: β
π jabber:iq:rpc - methodResponse objects π
MethodResponse objects. Fault and Params are both children with the same flags:
Faultβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add:XParamsβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add:X
π¦ jabber:iq:rpc - param objects π¦
Param objects, one Value child, same flags as the other value-holder cuties:
Valueβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add:X
πΈ jabber:iq:rpc - params objects πΈ
Params objects, plural era:
Paramβ Type:childΒ· Get: β Β· Set: β Β· Remove: β Β· Defined: β Β· Add:XParamsβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add: β
π§ jabber:iq:rpc - struct objects π§
Struct objects, members plural and all:
Memberβ Type:childΒ· Get: β Β· Set: β Β· Remove: β Β· Defined: β Β· Add:XMembersβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add: β
π jabber:iq:rpc - value objects π
Value objects, the final boss of this part. So many scalar types, plus Array, Struct, and the master RPCValue:
Base64β Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βBooleanβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βDateTimeβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βDoubleβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βI4β Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βIntβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βStringβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βValueβ Type:scalarΒ· Get:XΒ· Set:XΒ· Remove:XΒ· Defined:XΒ· Add: βArrayβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add:XStructβ Type:childΒ· Get:XΒ· Set: β Β· Remove:XΒ· Defined:XΒ· Add:XRPCValueβ Type:masterΒ· Get:XΒ· Set:XΒ· Remove: β Β· Defined: β Β· Add: β
πΈ jabber:iq:search
okay so this one is the classic "find your people" namespace, and here's everybody in the cast:
Emailβ scalar Β· get Β· set Β· remove Β· definedFamilyβ scalar Β· get Β· set Β· remove Β· definedFirstβ scalar Β· get Β· set Β· remove Β· definedGivenβ scalar Β· get Β· set Β· remove Β· definedInstructionsβ scalar Β· get Β· set Β· remove Β· definedKeyβ scalar Β· get Β· set Β· remove Β· definedLastβ scalar Β· get Β· set Β· remove Β· definedNameβ scalar Β· get Β· set Β· remove Β· definedNickβ scalar Β· get Β· set Β· remove Β· definedTruncatedβ flag Β· get Β· set Β· remove Β· definedItemβ child Β· add onlyItemsβ child Β· get Β· remove Β· definedSearchβ master Β· get Β· set
π jabber:iq:search - item objects
the little child glow-up of the search stanza, and yes it's basically the same roster of names plus a JID (iconic):
Emailβ scalar Β· get Β· set Β· remove Β· definedFamilyβ scalar Β· get Β· set Β· remove Β· definedFirstβ scalar Β· get Β· set Β· remove Β· definedGivenβ scalar Β· get Β· set Β· remove Β· definedJIDβ jid Β· get Β· set Β· remove Β· definedKeyβ scalar Β· get Β· set Β· remove Β· definedLastβ scalar Β· get Β· set Β· remove Β· definedNameβ scalar Β· get Β· set Β· remove Β· definedNickβ scalar Β· get Β· set Β· remove Β· definedItemβ master Β· get Β· set
π¦ jabber:iq:time
the "what time is it even" stanza. three special fields and one master, no notes:
Displayβ special Β· get Β· set Β· remove Β· definedTZβ special Β· get Β· set Β· remove Β· definedUTCβ special Β· get Β· set Β· remove Β· definedTimeβ master Β· get Β· set
β jabber:iq:version
client flex page fr fr β who are you, what's your OS, what version:
Nameβ scalar Β· get Β· set Β· remove Β· definedOSβ special Β· get Β· set Β· remove Β· definedVerβ special Β· get Β· set Β· remove Β· definedVersionβ master Β· get Β· set
π« jabber:x:autoupdate
tiny lil namespace, two fields, zero drama:
JIDβ jid Β· get Β· set Β· remove Β· definedAutoupdateβ master Β· get Β· set
π jabber:x:conference
the "come join my group chat" stanza, minimal as ever:
JIDβ jid Β· get Β· set Β· remove Β· definedConferenceβ master Β· get Β· set
π jabber:x:data
ohhh bestie this is the big one β forms, fields, items, reports, the whole data ecosystem. it's giving main character namespace:
Formβ scalar Β· get Β· set Β· remove Β· definedInstructionsβ scalar Β· get Β· set Β· remove Β· definedTitleβ scalar Β· get Β· set Β· remove Β· definedTypeβ scalar Β· get Β· set Β· remove Β· definedFieldβ child Β· add onlyFieldsβ child Β· get Β· remove Β· definedItemβ child Β· add onlyItemsβ child Β· get Β· remove Β· definedReportedβ child Β· get Β· remove Β· defined Β· addDataβ master Β· get Β· set
π jabber:x:data - field objects
the field-level details, aka where the actual questions live:
Descβ scalar Β· get Β· set Β· remove Β· definedLabelβ scalar Β· get Β· set Β· remove Β· definedRequiredβ flag Β· get Β· set Β· remove Β· definedTypeβ scalar Β· get Β· set Β· remove Β· definedValueβ array Β· get Β· set Β· remove Β· definedVarβ scalar Β· get Β· set Β· remove Β· definedOptionβ child Β· add onlyOptionsβ child Β· get Β· remove Β· definedFieldβ master Β· get Β· set
π§ jabber:x:data - item objects
small, cute, does exactly what it says:
Fieldβ child Β· add onlyFieldsβ child Β· get Β· remove Β· definedItemβ master Β· get Β· set
π jabber:x:data - option objects
the dropdown choices of the whole operation:
Labelβ scalar Β· get Β· set Β· remove Β· definedValueβ scalar Β· get Β· set Β· remove Β· definedOptionβ master Β· get Β· set
π jabber:x:data - reported objects
report card energy, but for data:
Fieldβ child Β· add onlyFieldsβ child Β· get Β· remove Β· definedReportedβ master Β· get Β· set
β° jabber:x:delay
the "sorry i'm late, here's a timestamp" stanza:
Fromβ jid Β· get Β· set Β· remove Β· definedMessageβ scalar Β· get Β· set Β· remove Β· definedStampβ timestamp Β· get Β· set Β· remove Β· definedDelayβ master Β· get Β· set
π jabber:x:encrypted
just vibes and ciphertext:
Messageβ scalar Β· get Β· set Β· remove Β· definedEncryptedβ master Β· get Β· set
π¬ jabber:x:event
the typing-indicator cinematic universe β composing, delivered, displayed, offline, all that:
Composingβ flag Β· get Β· set Β· remove Β· definedDeliveredβ flag Β· get Β· set Β· remove Β· definedDisplayedβ flag Β· get Β· set Β· remove Β· definedIDβ scalar Β· get Β· set Β· remove Β· definedOfflineβ flag Β· get Β· set Β· remove Β· definedEventβ master Β· get Β· set
β jabber:x:expire
one job, one field:
Secondsβ scalar Β· get Β· set Β· remove Β· definedExpireβ master Β· get Β· set
π jabber:x:oob
out-of-band, aka "the file's over there, not in here":
Descβ scalar Β· get Β· set Β· remove Β· definedURLβ scalar Β· get Β· set Β· remove Β· definedOobβ master Β· get Β· set
ποΈ jabber:x:roster
roster-flavoured version of the item party:
Itemβ child Β· add onlyItemsβ child Β· get Β· remove Β· definedRosterβ master Β· get Β· set
π«Ά jabber:x:roster - item objects
now with Group as a whole array, because you can be in many:
Askβ scalar Β· get Β· set Β· remove Β· definedGroupβ array Β· get Β· set Β· remove Β· definedJIDβ jid Β· get Β· set Β· remove Β· definedNameβ scalar Β· get Β· set Β· remove Β· definedSubscriptionβ scalar Β· get Β· set Β· remove Β· definedItemβ master Β· get Β· set
βοΈ jabber:x:signed
signature stanza, two lines, no notes:
Signatureβ scalar Β· get Β· set Β· remove Β· definedSignedβ master Β· get Β· set
# DOC_BEGIN =head1 http://jabber.org/protocol/bytestreams
π http://jabber.org/protocol/bytestreams
file transfer era, streamhosts and all β this is where the bytes actually go:
Activateβ scalar Β· get Β· set Β· remove Β· definedSIDβ scalar Β· get Β· set Β· remove Β· definedStreamHostUsedJIDβ jid Β· get Β· set Β· remove Β· definedStreamHostβ child Β· add onlyStreamHostsβ child Β· get Β· remove Β· definedByteStreamsβ master Β· get Β· set
π₯οΈ http://jabber.org/protocol/bytestreams - streamhost objects
the host details themselves β host, jid, port, and the ZeroConf bit:
Hostβ scalar Β· get Β· set Β· remove Β· definedJIDβ jid Β· get Β· set Β· remove Β· definedPortβ scalar Β· get Β· set Β· remove Β· definedZeroConfβ scalar Β· get Β· set Β· remove Β· definedStreamHostβ master Β· get Β· set
π οΈ http://jabber.org/protocol/commands
ad-hoc commands, aka "run this thing on that thing":
Actionβ scalar Β· get Β· set Β· remove Β· definedNodeβ scalar Β· get Β· set Β· remove Β· definedSessionIDβ scalar Β· get Β· set Β· remove Β· definedStatusβ scalar Β· get Β· set Β· remove Β· definedNoteβ child Β· add onlyNotesβ child Β· get Β· remove Β· definedCommandβ master Β· get Β· set
π http://jabber.org/protocol/commands - note objects
last little note objects of this part, and yes they're literally called notes:
Messageβ scalar Β· get Β· set Β· remove Β· definedTypeβ scalar Β· get Β· set Β· remove Β· definedNoteβ master Β· get Β· set
πΈ http://jabber.org/protocol/disco#info πΈ
okay real quick bestie, legend time because we're about to do a lot of these: every row shows the <italic>type</italic> of the thing, then whichever operations it actually supports β get, set, remove, defined, add. If an operation isn't listed, it's simply not a thing. no notes, no cap π
Nodeβ scalar Β·getβsetβremoveβdefinedβFeatureβ child Β·addβFeaturesβ child Β·getβremoveβdefinedβIdentitiesβ child Β·getβremoveβdefinedβIdentityβ child Β·addβDiscoInfoβ master Β·getβsetβ
π http://jabber.org/protocol/disco#info β feature objects π
Varβ scalar Β·getβsetβremoveβdefinedβFeatureβ master Β·getβsetβ
π http://jabber.org/protocol/disco#info β identity objects π
Categoryβ scalar Β·getβsetβremoveβdefinedβNameβ scalar Β·getβsetβremoveβdefinedβTypeβ scalar Β·getβsetβremoveβdefinedβIdentityβ master Β·getβsetβ
π¦ http://jabber.org/protocol/disco#items π¦
Nodeβ scalar Β·getβsetβremoveβdefinedβItemβ child Β·addβItemsβ child Β·getβremoveβdefinedβDiscoItemsβ master Β·getβsetβ
π¦ http://jabber.org/protocol/disco#items β item objects π¦
Actionβ scalar Β·getβsetβremoveβdefinedβJIDβ jid Β·getβsetβremoveβdefinedβNameβ scalar Β·getβsetβremoveβdefinedβNodeβ scalar Β·getβsetβremoveβdefinedβItemβ master Β·getβsetβ
β¨ http://jabber.org/protocol/feature-neg β¨
FeatureNegβ master Β·getβsetβ
π http://jabber.org/protocol/muc π
Passwordβ scalar Β·getβsetβremoveβdefinedβMUCβ master Β·getβsetβ
π§ http://jabber.org/protocol/muc#admin π§
Itemβ child Β·addβItemsβ child Β·getβremoveβdefinedβAdminβ master Β·getβsetβ
π§ http://jabber.org/protocol/muc#admin β item objects π§
ActorJIDβ jid Β·getβsetβremoveβdefinedβAffiliationβ scalar Β·getβsetβremoveβdefinedβJIDβ jid Β·getβsetβremoveβdefinedβNickβ scalar Β·getβsetβremoveβdefinedβReasonβ scalar Β·getβsetβremoveβdefinedβRoleβ scalar Β·getβsetβremoveβdefinedβItemβ master Β·getβsetβ
π http://jabber.org/protocol/muc#user π
Altβ scalar Β·getβsetβremoveβdefinedβPasswordβ scalar Β·getβsetβremoveβdefinedβStatusCodeβ scalar Β·getβsetβremoveβdefinedβInviteβ child Β·getβremoveβdefinedβaddβItemβ child Β·getβremoveβdefinedβaddβUserβ master Β·getβsetβ
π http://jabber.org/protocol/muc#user β invite objects π
Fromβ jid Β·getβsetβremoveβdefinedβReasonβ scalar Β·getβsetβremoveβdefinedβToβ jid Β·getβsetβremoveβdefinedβInviteβ master Β·getβsetβ
π http://jabber.org/protocol/muc#user β item objects π
ActorJIDβ jid Β·getβsetβremoveβdefinedβAffiliationβ scalar Β·getβsetβremoveβdefinedβJIDβ jid Β·getβsetβremoveβdefinedβNickβ scalar Β·getβsetβremoveβdefinedβReasonβ scalar Β·getβsetβremoveβdefinedβRoleβ scalar Β·getβsetβremoveβdefinedβItemβ master Β·getβsetβ
π₯ http://jabber.org/protocol/pubsub π₯
okay this one is the main character fr β fourteen child entries, all of them with the exact same get / remove / defined / add energy. iconic, no skips π«Ά
Affiliationsβ child Β·getβremoveβdefinedβaddβConfigureβ child Β·getβremoveβdefinedβaddβCreateβ child Β·getβremoveβdefinedβaddβDeleteβ child Β·getβremoveβdefinedβaddβEntitiesβ child Β·getβremoveβdefinedβaddβEntityβ child Β·getβremoveβdefinedβaddβItemβ child Β·getβremoveβdefinedβaddβItemsβ child Β·getβremoveβdefinedβaddβOptionsβ child Β·getβremoveβdefinedβaddβPublishβ child Β·getβremoveβdefinedβaddβPurgeβ child Β·getβremoveβdefinedβaddβRetractβ child Β·getβremoveβdefinedβaddβSubscribeβ child Β·getβremoveβdefinedβaddβUnsubscribeβ child Β·getβremoveβdefinedβaddβPubSubβ master Β·getβsetβ
π₯ http://jabber.org/protocol/pubsub β affiliations objects π₯
Entityβ child Β·getβremoveβdefinedβaddβAffiliationsβ master Β·getβsetβ
π₯ http://jabber.org/protocol/pubsub β configure objects π₯
Nodeβ scalar Β·getβsetβremoveβdefinedβConfigureβ master Β·getβsetβ
π₯ http://jabber.org/protocol/pubsub β create objects π₯
Nodeβ scalar Β·getβsetβremoveβdefinedβCreateβ master Β·getβsetβ
π₯ http://jabber.org/protocol/pubsub β delete objects π₯
Nodeβ scalar Β·getβsetβremoveβdefinedβDeleteβ master Β·getβsetβ
π₯ http://jabber.org/protocol/pubsub β entities objects π₯
Entityβ child Β·getβremoveβdefinedβaddβEntitiesβ master Β·getβsetβ
π₯ http://jabber.org/protocol/pubsub β entity objects π₯
Affiliationβ scalar Β·getβsetβremoveβdefinedβJIDβ jid Β·getβsetβremoveβdefinedβNodeβ scalar Β·getβsetβremoveβdefinedβSubscriptionβ scalar Β·getβsetβremoveβdefinedβSubscribeOptionsβ child Β·getβremoveβdefinedβaddβEntityβ master Β·getβsetβ
π₯ http://jabber.org/protocol/pubsub β item objects π₯
IDβ scalar Β·getβsetβremoveβdefinedβPayloadβ raw Β·getβsetβremoveβdefinedβItemβ master Β·getβsetβ
π₯ http://jabber.org/protocol/pubsub β items objects π₯
MaxItemsβ scalar Β·getβsetβremoveβdefinedβNodeβ scalar Β·getβsetβremoveβdefinedβItemβ child Β·getβremoveβdefinedβaddβItemsβ master Β·getβsetβ
π₯ http://jabber.org/protocol/pubsub β options objects π₯
JIDβ jid Β·getβsetβremoveβdefinedβNodeβ scalar Β·getβsetβremoveβdefinedβOptionsβ master Β·getβsetβ
π₯ http://jabber.org/protocol/pubsub β publish objects π₯
Nodeβ scalar Β·getβsetβremoveβdefinedβItemβ child Β·getβremoveβdefinedβaddβPublishβ master Β·getβsetβ
π₯ http://jabber.org/protocol/pubsub β purge objects π₯
Nodeβ scalar Β·getβsetβremoveβdefinedβPurgeβ master Β·getβsetβ
http://jabber.org/protocol/pubsub - retract objects π«Ά
Quick legend so we stay oriented: every field has a Type, and the flag columns are Get, Set, Remove, Defined, and Add. Iβm listing every column that has an X; if a column isnβt named for a row, it was blank in the source table. All receipts, no cap. π
Nodeβ typescalar; GetX, SetX, RemoveX, DefinedX.Itemβ typechild; GetX, RemoveX, DefinedX, AddX.Retractβ typemaster; GetX, SetX.
http://jabber.org/protocol/pubsub - subscribe objects π¦
The subscribe table is here and itβs giving very βthree fields, no drama.β β¨
JIDβ typejid; GetX, SetX, RemoveX, DefinedX.Nodeβ typescalar; GetX, SetX, RemoveX, DefinedX.Subscribeβ typemaster; GetX, SetX.
http://jabber.org/protocol/pubsub - subscribe-options objects π
Tiny table, big βdonβt blink or youβll miss itβ energy. π«Ά
Requiredβ typeflag; GetX, SetX, RemoveX, DefinedX.SubscribeOptionsβ typemaster; GetX, SetX.
http://jabber.org/protocol/pubsub - unsubscribe objects πΈ
Unsubscribe said βsame vibe, different name,β and honestly? Iconic. π
JIDβ typejid; GetX, SetX, RemoveX, DefinedX.Nodeβ typescalar; GetX, SetX, RemoveX, DefinedX.Unsubscribeβ typemaster; GetX, SetX.
http://jabber.org/protocol/pubsub#event π₯
Event namespace time! Hereβs the main table, with Delete, Items, and the Event master field doing their thing. π
Deleteβ typechild; GetX, RemoveX, DefinedX, AddX.Itemsβ typechild; GetX, RemoveX, DefinedX, AddX.Eventβ typemaster; GetX, SetX.
http://jabber.org/protocol/pubsub#event - delete objects π§
Nodeβ typescalar; GetX, SetX, RemoveX, DefinedX.Deleteβ typemaster; GetX, SetX.
http://jabber.org/protocol/pubsub#event - item objects π
IDβ typescalar; GetX, SetX, RemoveX, DefinedX.Payloadβ typeraw; GetX, SetX, RemoveX, DefinedX.Itemβ typemaster; GetX, SetX.
http://jabber.org/protocol/pubsub#event - items objects π
Nodeβ typescalar; GetX, SetX, RemoveX, DefinedX.Itemβ typechild; GetX, RemoveX, DefinedX, AddX.Itemsβ typemaster; GetX, SetX.
http://jabber.org/protocol/pubsub#owner π
Owner namespace, pull up. Hereβs the receipt. π
Actionβ typescalar; GetX, SetX, RemoveX, DefinedX.Configureβ typechild; GetX, RemoveX, DefinedX, AddX.Ownerβ typemaster; GetX, SetX.
http://jabber.org/protocol/pubsub#owner - configure objects π«Ά
Nodeβ typescalar; GetX, SetX, RemoveX, DefinedX.Configureβ typemaster; GetX, SetX.
http://jabber.org/protocol/si β
Stream initiation table, coming through with ID, MimeType, Profile, and Stream. Clean, simple, slay. π
IDβ typescalar; GetX, SetX, RemoveX, DefinedX.MimeTypeβ typescalar; GetX, SetX, RemoveX, DefinedX.Profileβ typescalar; GetX, SetX, RemoveX, DefinedX.Streamβ typemaster; GetX, SetX.
http://jabber.org/protocol/si/profile/file-transfer π¦
File-transfer profile! Big table, but every single field is right here. π
Dateβ typescalar; GetX, SetX, RemoveX, DefinedX.Descβ typescalar; GetX, SetX, RemoveX, DefinedX.Hashβ typescalar; GetX, SetX, RemoveX, DefinedX.Nameβ typescalar; GetX, SetX, RemoveX, DefinedX.Rangeβ typeflag; GetX, SetX, RemoveX, DefinedX.RangeLengthβ typescalar; GetX, SetX, RemoveX, DefinedX.RangeOffsetβ typescalar; GetX, SetX, RemoveX, DefinedX.Sizeβ typescalar; GetX, SetX, RemoveX, DefinedX.Fileβ typemaster; GetX, SetX.
jabber:iq:agent - DEPRECATED π¨
Deprecated alert: this namespace is marked DEPRECATED in the source. Iβm keeping every field exactly as listed β no edits, no βfixing.β π
Agentsβ typeflag; GetX, SetX, RemoveX, DefinedX.Descriptionβ typescalar; GetX, SetX, RemoveX, DefinedX.GroupChatβ typeflag; GetX, SetX, RemoveX, DefinedX.JIDβ typejid; GetX, SetX, RemoveX, DefinedX.Nameβ typescalar; GetX, SetX, RemoveX, DefinedX.Registerβ typeflag; GetX, SetX, RemoveX, DefinedX.Searchβ typeflag; GetX, SetX, RemoveX, DefinedX.Serviceβ typescalar; GetX, SetX, RemoveX, DefinedX.Transportβ typescalar; GetX, SetX, RemoveX, DefinedX.URLβ typescalar; GetX, SetX, RemoveX, DefinedX.Agentβ typemaster; GetX, SetX.
jabber:iq:agents - DEPRECATED π¨
Plural agents now β still deprecated, still fully documented. π
Agentβ typechild; AddX.Agentsβ typechild; GetX, RemoveX, DefinedX.
jabber:iq:autoupdate π«
Autoupdate namespace! This one has Beta, Dev, Release, and Releases. π
Betaβ typechild; AddX.Devβ typechild; AddX.Releaseβ typechild; AddX.Releasesβ typechild; GetX, RemoveX, DefinedX.
jabber:iq:autoupdate - release objects πΈ
Release objects, showing up with Desc, Priority, URL, Version, and the Release master field. β¨
Descβ typescalar; GetX, SetX, RemoveX, DefinedX.Priorityβ typescalar; GetX, SetX, RemoveX, DefinedX.URLβ typescalar; GetX, SetX, RemoveX, DefinedX.Versionβ typescalar; GetX, SetX, RemoveX, DefinedX.Releaseβ typemaster; GetX, SetX.
jabber:iq:browse - DEPRECATED π¨
Browse is deprecated too, bestie. Every field is still here, all eight rows of it. π
Categoryβ typescalar; GetX, SetX, RemoveX, DefinedX.JIDβ typejid; GetX, SetX, RemoveX, DefinedX.NSβ typearray; GetX, SetX, RemoveX, DefinedX.Nameβ typescalar; GetX, SetX, RemoveX, DefinedX.Typeβ typescalar; GetX, SetX, RemoveX, DefinedX.Itemβ typechild; AddX.Itemsβ typechild; GetX, RemoveX, DefinedX.Browseβ typemaster; GetX, SetX.
jabber:iq:browse - item objects - DEPRECATED π¨
Item objects for browse β same field set, same deprecated warning, same attention to detail. π«Ά
Categoryβ typescalar; GetX, SetX, RemoveX, DefinedX.JIDβ typejid; GetX, SetX, RemoveX, DefinedX.NSβ typearray; GetX, SetX, RemoveX, DefinedX.Nameβ typescalar; GetX, SetX, RemoveX, DefinedX.Typeβ typescalar; GetX, SetX, RemoveX, DefinedX.Itemβ typechild; AddX.Itemsβ typechild; GetX, RemoveX, DefinedX.Browseβ typemaster; GetX, SetX.
jabber:iq:conference π
Conference namespace, and yes, Nick, Privacy, and Secret are all right here. No cap. π
IDβ typescalar; GetX, SetX, RemoveX, DefinedX.Nameβ typescalar; GetX, SetX, RemoveX, DefinedX.Nickβ typescalar; GetX, SetX, RemoveX, DefinedX.Privacyβ typeflag; GetX, SetX, RemoveX, DefinedX.Secretβ typescalar; GetX, SetX, RemoveX, DefinedX.Conferenceβ typemaster; GetX, SetX.
jabber:iq:filter - DEPRECATED π¨
Filter is deprecated, but the table is still doing the absolute most with Rule and Rules. π
Ruleβ typechild; AddX.Rulesβ typechild; GetX, RemoveX, DefinedX.
jabber:iq:filter - rule objects - DEPRECATED π¨
Rule objects! This is the long one β fifteen scalar fields plus the Rule master field. All of them. Every single one. π
Bodyβ typescalar; GetX, SetX, RemoveX, DefinedX.Continuedβ typescalar; GetX, SetX, RemoveX, DefinedX.Dropβ typescalar; GetX, SetX, RemoveX, DefinedX.Editβ typescalar; GetX, SetX, RemoveX, DefinedX.Errorβ typescalar; GetX, SetX, RemoveX, DefinedX.Fromβ typescalar; GetX, SetX, RemoveX, DefinedX.Offlineβ typescalar; GetX, SetX, RemoveX, DefinedX.Replyβ typescalar; GetX, SetX, RemoveX, DefinedX.Resourceβ typescalar; GetX, SetX, RemoveX, DefinedX.Showβ typescalar; GetX, SetX, RemoveX, DefinedX.Sizeβ typescalar; GetX, SetX, RemoveX, DefinedX.Subjectβ typescalar; GetX, SetX, RemoveX, DefinedX.Timeβ typescalar; GetX, SetX, RemoveX, DefinedX.Typeβ typescalar; GetX, SetX, RemoveX, DefinedX.Unavailableβ typescalar; GetX, SetX, RemoveX, DefinedX.Ruleβ typemaster; GetX, SetX.
jabber:iq:gateway π
Gateway table, last up in this part. Desc, JID, Prompt, and the Gateway master field β all accounted for. β¨
Descβ typescalar; GetX, SetX, RemoveX, DefinedX.JIDβ typejid; GetX, SetX, RemoveX, DefinedX.Promptβ typescalar; GetX, SetX, RemoveX, DefinedX.Gatewayβ typemaster; GetX, SetX.
jabber:iq:last
Three fields, zero notes π
MessageβscalarΒ· get β Β· set β Β· remove β Β· defined βSecondsβscalarΒ· get β Β· set β Β· remove β Β· defined βLastβmasterΒ· get β Β· set β
jabber:iq:oob
DescβscalarΒ· get β Β· set β Β· remove β Β· defined βURLβscalarΒ· get β Β· set β Β· remove β Β· defined βOobβmasterΒ· get β Β· set β
jabber:iq:pass
okay this one's got a whole entourage of scalars, bestie π«Ά nine of them. nine!! and two flags. love that for us.
ClientβscalarΒ· get β Β· set β Β· remove β Β· defined βClientPortβscalarΒ· get β Β· set β Β· remove β Β· defined βCloseβflagΒ· get β Β· set β Β· remove β Β· defined βExpireβscalarΒ· get β Β· set β Β· remove β Β· defined βOneShotβflagΒ· get β Β· set β Β· remove β Β· defined βProxyβscalarΒ· get β Β· set β Β· remove β Β· defined βProxyPortβscalarΒ· get β Β· set β Β· remove β Β· defined βServerβscalarΒ· get β Β· set β Β· remove β Β· defined βServerPortβscalarΒ· get β Β· set β Β· remove β Β· defined βPassβmasterΒ· get β Β· set β
jabber:iq:rpc
MethodCallβchildΒ· get β Β· remove β Β· defined β Β· add βMethodResponseβchildΒ· get β Β· remove β Β· defined β Β· add β
heads up: no set on either of these. just so you know β¨
jabber:iq:rpc - array objects
DataβchildΒ· add βDatasβchildΒ· get β Β· remove β Β· defined β
jabber:iq:rpc - data objects
ValueβchildΒ· get β Β· remove β Β· defined β Β· add β
jabber:iq:rpc - fault objects
ValueβchildΒ· get β Β· remove β Β· defined β Β· add β
jabber:iq:rpc - member objects
NameβscalarΒ· get β Β· set β Β· remove β Β· defined βValueβchildΒ· get β Β· remove β Β· defined β Β· add βMemberβmasterΒ· get β Β· set β
jabber:iq:rpc - methodCall objects
MethodNameβscalarΒ· get β Β· set β Β· remove β Β· defined βParamsβchildΒ· get β Β· remove β Β· defined β Β· add βMethodCallβmasterΒ· get β Β· set β
jabber:iq:rpc - methodResponse objects
FaultβchildΒ· get β Β· remove β Β· defined β Β· add βParamsβchildΒ· get β Β· remove β Β· defined β Β· add β
jabber:iq:rpc - param objects
ValueβchildΒ· get β Β· remove β Β· defined β Β· add β
jabber:iq:rpc - params objects
ParamβchildΒ· add βParamsβchildΒ· get β Β· remove β Β· defined β
jabber:iq:rpc - struct objects
MemberβchildΒ· add βMembersβchildΒ· get β Β· remove β Β· defined β
jabber:iq:rpc - value objects
the glow-up of this whole section honestly π eight scalars and they ALL do everything. main character energy fr.
Base64βscalarΒ· get β Β· set β Β· remove β Β· defined βBooleanβscalarΒ· get β Β· set β Β· remove β Β· defined βDateTimeβscalarΒ· get β Β· set β Β· remove β Β· defined βDoubleβscalarΒ· get β Β· set β Β· remove β Β· defined βI4βscalarΒ· get β Β· set β Β· remove β Β· defined βIntβscalarΒ· get β Β· set β Β· remove β Β· defined βStringβscalarΒ· get β Β· set β Β· remove β Β· defined βValueβscalarΒ· get β Β· set β Β· remove β Β· defined βArrayβchildΒ· get β Β· remove β Β· defined β Β· add βStructβchildΒ· get β Β· remove β Β· defined β Β· add βRPCValueβmasterΒ· get β Β· set β
jabber:iq:search
nine scalars, one flag, one lonely little add-only child. we stan range π
EmailβscalarΒ· get β Β· set β Β· remove β Β· defined βFamilyβscalarΒ· get β Β· set β Β· remove β Β· defined βFirstβscalarΒ· get β Β· set β Β· remove β Β· defined βGivenβscalarΒ· get β Β· set β Β· remove β Β· defined βInstructionsβscalarΒ· get β Β· set β Β· remove β Β· defined βKeyβscalarΒ· get β Β· set β Β· remove β Β· defined βLastβscalarΒ· get β Β· set β Β· remove β Β· defined βNameβscalarΒ· get β Β· set β Β· remove β Β· defined βNickβscalarΒ· get β Β· set β Β· remove β Β· defined βTruncatedβflagΒ· get β Β· set β Β· remove β Β· defined βItemβchildΒ· add βItemsβchildΒ· get β Β· remove β Β· defined βSearchβmasterΒ· get β Β· set β
jabber:iq:search - item objects
EmailβscalarΒ· get β Β· set β Β· remove β Β· defined βFamilyβscalarΒ· get β Β· set β Β· remove β Β· defined βFirstβscalarΒ· get β Β· set β Β· remove β Β· defined βGivenβscalarΒ· get β Β· set β Β· remove β Β· defined βJIDβjidΒ· get β Β· set β Β· remove β Β· defined βKeyβscalarΒ· get β Β· set β Β· remove β Β· defined βLastβscalarΒ· get β Β· set β Β· remove β Β· defined βNameβscalarΒ· get β Β· set β Β· remove β Β· defined βNickβscalarΒ· get β Β· set β Β· remove β Β· defined βItemβmasterΒ· get β Β· set β
jabber:iq:time
three special scalars instead of plain ones β iconic, no notes π
DisplayβspecialΒ· get β Β· set β Β· remove β Β· defined βTZβspecialΒ· get β Β· set β Β· remove β Β· defined βUTCβspecialΒ· get β Β· set β Β· remove β Β· defined βTimeβmasterΒ· get β Β· set β
jabber:iq:version
NameβscalarΒ· get β Β· set β Β· remove β Β· defined βOSβspecialΒ· get β Β· set β Β· remove β Β· defined βVerβspecialΒ· get β Β· set β Β· remove β Β· defined βVersionβmasterΒ· get β Β· set β
jabber:x:autoupdate
short and sweet, literally two lines π
JIDβjidΒ· get β Β· set β Β· remove β Β· defined βAutoupdateβmasterΒ· get β Β· set β
jabber:x:conference
JIDβjidΒ· get β Β· set β Β· remove β Β· defined βConferenceβmasterΒ· get β Β· set β
jabber:x:data
okay THIS one is the whole personality of the section. four scalars, a bunch of children, and a master. field/item/options energy everywhere π¦
FormβscalarΒ· get β Β· set β Β· remove β Β· defined βInstructionsβscalarΒ· get β Β· set β Β· remove β Β· defined βTitleβscalarΒ· get β Β· set β Β· remove β Β· defined βTypeβscalarΒ· get β Β· set β Β· remove β Β· defined βFieldβchildΒ· add βFieldsβchildΒ· get β Β· remove β Β· defined βItemβchildΒ· add βItemsβchildΒ· get β Β· remove β Β· defined βReportedβchildΒ· get β Β· remove β Β· defined β Β· add βDataβmasterΒ· get β Β· set β
little vibe check:Reportedis the only child here with anaddβ plus get/remove/defined. the others are eitheradd-only or get/remove/defined-only. no mixing, no cap.
jabber:x:data - field objects
DescβscalarΒ· get β Β· set β Β· remove β Β· defined βLabelβscalarΒ· get β Β· set β Β· remove β Β· defined βRequiredβflagΒ· get β Β· set β Β· remove β Β· defined βTypeβscalarΒ· get β Β· set β Β· remove β Β· defined βValueβarrayΒ· get β Β· set β Β· remove β Β· defined βVarβscalarΒ· get β Β· set β Β· remove β Β· defined βOptionβchildΒ· add βOptionsβchildΒ· get β Β· remove β Β· defined βFieldβmasterΒ· get β Β· set β
jabber:x:data - item objects
FieldβchildΒ· add βFieldsβchildΒ· get β Β· remove β Β· defined βItemβmasterΒ· get β Β· set β
jabber:x:data - option objects
and we close this batch out with a tiny three-liner. obsessed π
LabelβscalarΒ· get β Β· set β Β· remove β Β· defined βValueβscalarΒ· get β Β· set β Β· remove β Β· defined βOptionβmasterΒ· get β Β· set β
πΈ jabber:x:data - reported objects
okay bestie, hereβs the reported-objects table in all its glory π
. Columns are Name, Type, Get, Set, Remove, Defined, Add. A lavender β means the original cell was blank, and X means it had an X.
Fieldβ Type:child; Get: β; Set: β; Remove: β; Defined: β; Add:XFieldsβ Type:child; Get:X; Set: β; Remove:X; Defined:X; Add: βReportedβ Type:master; Get:X; Set:X; Remove: β; Defined: β; Add: β
π¦ jabber:x:delay
this oneβs the delay table, and yes, every cell is exactly where it belongs β¨.
Fromβ Type:jid; Get:X; Set:X; Remove:X; Defined:X; Add: βMessageβ Type:scalar; Get:X; Set:X; Remove:X; Defined:X; Add: βStampβ Type:timestamp; Get:X; Set:X; Remove:X; Defined:X; Add: βDelayβ Type:master; Get:X; Set:X; Remove: β; Defined: β; Add: β
π jabber:x:encrypted
encrypted vibes only π. Hereβs the whole little table, no cap.
Messageβ Type:scalar; Get:X; Set:X; Remove:X; Defined:X; Add: βEncryptedβ Type:master; Get:X; Set:X; Remove: β; Defined: β; Add: β
π jabber:x:event
event table, letβs gooo π. All the flags and the scalar are right here.
Composingβ Type:flag; Get:X; Set:X; Remove:X; Defined:X; Add: βDeliveredβ Type:flag; Get:X; Set:X; Remove:X; Defined:X; Add: βDisplayedβ Type:flag; Get:X; Set:X; Remove:X; Defined:X; Add: βIDβ Type:scalar; Get:X; Set:X; Remove:X; Defined:X; Add: βOfflineβ Type:flag; Get:X; Set:X; Remove:X; Defined:X; Add: βEventβ Type:master; Get:X; Set:X; Remove: β; Defined: β; Add: β
β jabber:x:expire
expire table era β³. Short and iconic.
Secondsβ Type:scalar; Get:X; Set:X; Remove:X; Defined:X; Add: βExpireβ Type:master; Get:X; Set:X; Remove: β; Defined: β; Add: β
π jabber:x:oob
out-of-band cuties π¦. Here are the rows, exactly as the page gives them.
Descβ Type:scalar; Get:X; Set:X; Remove:X; Defined:X; Add: βURLβ Type:scalar; Get:X; Set:X; Remove:X; Defined:X; Add: βOobβ Type:master; Get:X; Set:X; Remove: β; Defined: β; Add: β
π§ jabber:x:roster
roster table time π«Ά. Item is the child, Items is the child accessor, and Roster is the master.
Itemβ Type:child; Get: β; Set: β; Remove: β; Defined: β; Add:XItemsβ Type:child; Get:X; Set: β; Remove:X; Defined:X; Add: βRosterβ Type:master; Get:X; Set:X; Remove: β; Defined: β; Add: β
π jabber:x:roster - item objects
item-objects subsection, but make it cute π. Same columns, same exact X placement.
Askβ Type:scalar; Get:X; Set:X; Remove:X; Defined:X; Add: βGroupβ Type:array; Get:X; Set:X; Remove:X; Defined:X; Add: βJIDβ Type:jid; Get:X; Set:X; Remove:X; Defined:X; Add: βNameβ Type:scalar; Get:X; Set:X; Remove:X; Defined:X; Add: βSubscriptionβ Type:scalar; Get:X; Set:X; Remove:X; Defined:X; Add: βItemβ Type:master; Get:X; Set:X; Remove: β; Defined: β; Add: β
π₯ jabber:x:signed
signed section, final table energy β¨. Two rows, both accounted for.
Signatureβ Type:scalar; Get:X; Set:X; Remove:X; Defined:X; Add: βSignedβ Type:master; Get:X; Set:X; Remove: β; Defined: β; Add: β
π AUTHOR
The author credit goes to Ryan Eatmon π.
π COPYRIGHT
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
cute little footer sign-off: the last-line source/version was perl v5.42.2, the date was 2026-02-15, and the footer tag was Net::Ja...::Stanza(3) π«Άπ.
π¦ where this page comes from
- alpine 3.24: perl-net-jabber-doc 2.0-r1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms