Microsoft Adds XMPP to Messenger
Microsoft Adds XMPP to Messenger
Written by Ian Elliot   
Friday, 16 December 2011

In a welcome, and somewhat surprising, change of behavior, Microsoft has added XXPP support to Windows Live Messenger, enabling you to develop custom clients. Are there any snags to be aware of?

Microsoft has until now kept Windows Messenger to itself. It did produce an API that made it possible to write add-ons, but actually communicating with Messenger was a matter of hacking its communication methods or finding some way of transferring data by hosting the client. Now it has delivered on its promise, made at Build, to support the XMPP protocol.

XMPP is an open standard that derives from the Jabber protocol. Currently Google Talk and Facebook Chat both support XMPP along with a number of other chat services. Only Messenger remained closed to other services by not supporting XMPP.



Now XMPP support in Messenger is a reality and you can start to build applications that communicate over the Messenger network, i.e. your own custom Messenger clients.

However, not everything is quite as open as it seems. This is probably what you would expect given that this is Microsoft. It has implemented a custom OAuth 2.0 layer that has to be implemented to gain access to an account. This is reasonable but it also means that developers have to sign up and obtain an application ID and access token. To get these you have to register - in other words, Microsoft has the ability to control access to Messenger services. This is standard procedure for using almost any "Live" API from Microsoft.


On balance this again doesn't seem too unreasonable, as long as Microsoft manages the situation fairly, but if you plan to spend a lot of effort developing something you need to keep in mind that Microsoft could refuse you access in the future. It also means that existing XMPP clients won't be able to work with Messenger unless they upgrade to add the new authentication.

Currently the following XMPP specifications are supported:

  • RFC6120: XMPP: Core
  • RFC6121: XMPP: Instant Messaging and Presence. Roster management is not supported.
  • XEP-0054: vcard-temp. The Messenger XMPP service supports fetching vCards, but doesn't support updating vCards.
  • XEP-0085: Chat State Notifications
  • XEP-0203: Delayed Delivery

There are code samples on GitHub and some good getting started documentation.



Further reading

What is XMPP

Code samples on GitHub

Documentation on Messenger XMPP


To be informed about new articles on I Programmer, subscribe to the RSS feed, follow us on Google+, Twitter or Facebook or sign up for our weekly newsletter.



Nanodegree Plus Offers Guaranteed Jobs

Udacity has just introduced what seems like an enticing offer to career-oriented potential students in the United States: Get hired within six months of graduating. or tuition refunded.

GCHQ's Xmas Puzzle Not Cracked - Update Solutions And Prizes

The director of GCHQ distributed a puzzle to selected contacts and then made it available to everyone. The deadline for solution passed and there were no 100% correct solutions. Even so prizes were aw [ ... ]

More News

Last Updated ( Friday, 16 December 2011 )

RSS feed of news items only
I Programmer News
Copyright © 2016 All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.