Book Image

Practical XMPP

By : Steven Watkin, David Koelle
Book Image

Practical XMPP

By: Steven Watkin, David Koelle

Overview of this book

XMPP (eXtensible Messaging and Presence Protocol) is a messaging protocol that enables communication between two or more devices via the Internet. With this book, developers will learn about the fundamentals of XMPP, be able to work with the core functionality both server-side and in the browser, as well as starting to explore several of the protocol extensions. You will not only have a solid grasp of XMPP and how it works, but will also be able to use the protocol to build real-world applications that utilize the power of XMPP. By the end of this book, you will know more about networking applications in general, and have a good understanding of how to extend XMPP, as well as using it in sample applications.
Table of Contents (16 chapters)
Practical XMPP
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Free Chapter
1
An Introduction to XMPP and Installing Our First Server

Updating Prosody to provide an MUC service


Many XMPP servers come with their own MUC implementations that make it easy to get a chat service up and running and you'll be glad to hear that Prosody is no exception. In fact, it's no more than one additional line of configuration to get it up and running.

Fire up your terminal and let's edit the Prosody configuration file (in Ubuntu which can be found at /etc/prosody/prosody.cfg.lua) at the bottom of the file, we'll add a single line:

Component "chat.localhost" "muc" 

Once you've saved the file, restart Prosody. And we'll have a chat service up and running at chat.localhost.

There are actually very few options to set for a chat room, since each room can be heavily customized using configuration. The three additional options that Prosody MUC will support are:

Option

Options / Example values

Description

name

For example, "XMPP Chat rooms"

When an XMPP entity performs a DISCO#info on the component, this is what it will report as...