XMPP is a communications protocol for message-oriented middleware. The protocol was originally designed for near real-time, instant messaging (IM), presence information, and contact list maintenance. Designed to be extensible, the protocol has also been used for publish-subscribe systems, signalling for VoIP, video, file transfer, gaming, Internet of Things applications such as the smart grid.
With other protocols (Ice4J) it will support the following scenario :
- I have a robot - it does a login
- remotely on a completely different network I login
- I see the status of my robot and "connect" to it
- I have full control, and streaming audio & video from my robot (needs implementation)
Right now the service allows a sign-on to GTalk or any other XMPP / Jabber server and can send and recieve text messages. The next step (before audio & video streaming) is to allow MyRobotLab messages to be sent and recieved through this protocol - allowing full control of robots or devices through a remote MRL instance.
References
- XMPP - Wikipedia description
- Jitsi (formerly SIP Communicator) is an audio/video and chat communicator that supports protocols such as SIP, XMPP/Jabber, AIM/ICQ, Windows Live, Yahoo! and many other useful features.
- LibJitsi - media library for secure real-time audio/video communication
- Java-Bells: A Jingle implementation for Java based on LibJitsi, Ice4J and Smack
- Ice4J - The Interactive Connectivity Establishment (ICE) protocol combines various NAT traversal utilities such as the STUN and TURN protocols in order to offer a powerful mechanism that allows Offer/Answer based protocols such as SIP and XMPP to traverse NATs.
- SerialXMPP - neat project of sending and recieving serial port bytes over xmpp
- XMPP and OpenFire - excellent tutorial to make a client and setup a private XMPP server
- OpenFire video conferencing - Installation Instructions
- XMPP IM with Smack for Java applications – Infrastructure for Instant Messaging
- Getting started with Smack
- SASL Authorization
- Discovering Services
- Jabber.org - the original xmpp server
- xmpp.net - list of XMPP servers around the internet
Error on latest build of MRL,
Error on latest build of MRL, line 8 of the Python code above comes back with "TypeError: addListener(): expected 1 or 3 args; got 2"