XMPP
XMPP is the Jabber protocol. It is also used for GoogleTalk
See here for official documentation or here for the Wikipedia page.
I am interested in it for use with FoxtrotGPS and IncidentView.
I want to pass specific bits of data along from a server to a laptop in the field.
Use cases:
- E911 Dispatch In IncidentView I want to be able to pass along the information from a 911 dispatch center to a rig.
- AVL for IncidentView I want to be able track locations on a Web map and convey the location database back to command vehicles.
- AVL for FoxtrotGPS I want to be able to show the locations of "friends". Aka
"presence information" http://en.wikipedia.org/wiki/Presence_information
Servers
First I need a server. A very popular server is GoogleTalk. But I am not in a Googly mood right now so first order of the day is to get a private server running.
Requirements
- Free
- Open source
- Runs on Linux
Openfire
Openfire - my notes from last attempt pubsub not working 3.8.1 says they have fixed pubsub so I am trying again
Installed from DEB package. The web interface seems reasonable. Supports groups.
Shows active sessions.
Has chat rooms. I think this could be a way to send dispatches to a group of users. I can also use the 'broadcast' plugin.
brian/wildsong
bwilson/alseageo
iv/iv
saint/thebells
PostgreSQL
URL: jdbc:postgresql://localhost:5432/openfire
I get blocked with this error. "The Openfire database schema does not appear to be installed. Follow the installation guide to fix this error."
MySQL
cd /usr/share/openfire/resources/database mysqladmin -u root -p create openfire mysql -u root -p openfire < openfire_mysql.sql
Plugins
You can install plugins directly from the web interface.
I installed the Asterisk plugin.
I installed the Broadcast plugin. "The broadcast plugin broadcasts messages to all users in the system or to specific groups. It's primarily useful for sending announcements or notifications."
To send a broadcast message, send a message to all@[serviceName].[serverName] or [group]@[serviceName].[serverName]. For example, if your server is called foo and the default service name is being used, a message to [email protected] would be broadcast to all users connected to the server. For the group staff, a message to [email protected] would be sent to all users in the group staff that are currently online or offline.
Prosody
Prosody - my notes say use this one, but trying out Openfire because of the plugins.
Clients
Working with .Net
See Jabber.net
Building pidgin
..because I am interested in libpurple for Windows (and pidgin runs on Windows)
Downloaded and unpacked source from pidgin site.
It is easy on Ubuntu 12.04, once you install the build dependencies.
apt-get build-dep pidgin cd pidgin ./configure make sudo make install
Location
There are two docs to look at: xep-0080 to report where client is located and xep-0255 to ask about the location of an entity.