XMPP Protocol Initiation URI Syntax.

You can put an url in a web page to launch The Coccinella. Use a link: xmpp:matben@athlon.se This works presently only on Windows, and you need to launch Coccinella at least once with administrator privilegies to make it work. Note that the jid you supplu in the uri is not your own login jid but the target address for any action specified. The login uses the active profile in the application, not the jid in the uri!

Most recent reference at the time of writing: http://www.ietf.org/internet-drafts/draft-saintandre-xmpp-uri-06.txt. If you use non US-ascii characters make sure the jid is encoded according to the reference above.

You can also launch The Coccinella using the switch -uri: set argv -uri xmpp:marilu@l4l.be?... from the console or terminal.

The specification does only specify the syntax used, and is considered to be generic. The syntax is:

xmppuri   = "xmpp:" [ nodeid "@" ] host [ path-absolute ]
	    [ "?" xmppquery ] [ "#" fragment ]
xmppquery = querytype [ *pair ]
pair      = "&" key "=" value

The supported querytype are: message and groupchat. For any querytype you may specify the following key-value pairs:

"ssl"           0|1
"priority"      integer
"invisible"     0|1
"ip"            network domain name or number
"sasl"          0|1

For the message type the following key-value pairs are handled:

"subject"       string
"body"          string
"thread"        unique string   this starts a chat with the jid in the uri

For the groupchat type the following key-value pairs are handled (note that the jid you specify here must be room/nickname):

"password"      string        this is the password for entering the room if necessary
"xmlns"         "whiteboard"
The server must support the disco method for service discovery, and the groupchat must be of the MUC type. All modern servers comply with this.

01 Perform a Coccinella login ## xmpp:admin_user_node@our_domain

Perform a Coccinella login using your current selected profile. This is not very useful since there is no query type. The jid you specify is supposed to be the target of your action, or query, but since this is missing, it just performs a standard login.

02 Prepare to send an instant message ## xmpp:contact_user_node@our_domain

Prepare to send a "Hello World" message to JTCorbet on Jabber host ag: xmpp:JTCorbet@ag?message&subject=Hi&body=Hello%20World.

Note that the same presumption of the current selected profile is providing the necessary authentication for this activity on the server. Valid in all cases below!

03 Prepare to start a chat session ## xmpp:contact_user_node@our_domain

Prepare to start a chat session with JTCorbet on Jabber host ag using thread 100: xmpp:JTCorbet@ag?message&subject=Hi&body=Hello%20World&thread=100.

04 Enter a chat room ## xmpp:roomname@conference.our_domain/nickname

Enter the sss chat room using nickname Terry: xmpp:sss@conference.ag/Terry?groupchat.

Note that the same presumption of the current selected profile is providing the necessary authentication for this activity on the server. Now, moreover, the server-side rule that the owner of a room has automatic access irrespective of password also is at play here because the 'sss' room requires a password.

05 Start a whiteboard session ## xmpp:roomname@conference.our_domain/nickname

Start a whiteboard session in the sss chat room with nickname Terry: xmpp:sss@conference.ag/Terry?groupchat&xmlns=whiteboard.

Again, this works because Terry owns 'sss', or actually, the jid behind Terry owns the room. Howevr, most rooms are not password protected, hence no password key is necessary.