freesoftware, Kde, Planet

MSN+XMPP in KDE Telepathy

As Xavier already wrote on his blog,

Microsoft announced that they had added XMPP to their Windows Live APIs. Microsoft announced that they had added XMPP to their Windows Live APIs. That means that any Jabber client could connect to MSN using our favorite open IM protocol! No more closed protocol to reverse-engineer.

Since Gabble now supports it, I just had to add a little bit of magic to support the Messenger OAuth2 authentication in KDE-Telepathy Auth Handler and add a profile to the Account Manager. Microsoft implementation still have some problems (you cannot add/authorize new contact, yahoo contacts are not shown, etc.), therefore by default the “old” method will be used, but we think that it is important that people starts using it, therefore starting from KDE Telepathy 0.3 (that will be released the 25th of January) you will be able to use XMPP protocol with your MSN account.

It is important to notice that you can have just one MSN-XMPP account at the moment, so here is how to add it.

First of all, you have to add a new account from System Settings > Instant Messaging and VOIP > Accounts > Add Account > Others > choose the “MSN (using XMPP)” profile and click Next

MSN (using XMPP) profile
MSN (using XMPP) profile

OAuth2 authentication is a little bit different from the normal authentication. You don’t have to set any parameter, just click “Finish” in the next tab.

Just click "Finish"...
Just click "Finish"...

Now the magic will happen and the Authorization Handler will popup with a dialog where you have to insert your Windows Live ID and your password, then click “Sign in”

Insert your Windows Live ID and your password, then click "Sign in"
Insert your Windows Live ID and your password, then click "Sign in"

Finally you will get another page where you have to authorize the application to connect, by clicking on “Yes”

Click "Yes"!!!
Click "Yes"!!!

And you should be connected.

Have a nice chat! πŸ˜€

P.S. Due to this bug, if you manage to connect the first time, but you fail later, try deleting the account and repeating those steps… [EDIT: Fixed before 0.3]

P.P.S. Thanks to Xavier for the support and the suggestions!

EDIT: MSN OAuth2 authentication requires telepathy-gabble >= 0.15.0

23 thoughts on “MSN+XMPP in KDE Telepathy

  1. ” yahoo contacts are not shown” yahoo??

    Are we tracking the upstream problems? It would be good to work with upstream on that.

    Do you think we can fix that OAuth bug by 0.3? Presumably we can do something similar to what we did for passwords – if it’s wrong in a row prompt the user.

    Finally: WOOOOO! Thanks for blogging about this. You rock πŸ˜€

    1. I think that the problem is not upstream in gabble but is upstream in Microsoft, so I don’t know if it is possible to track the problem…
      I might try to fix that bug this weekend, but I don’t have much time, so I’ll do my best πŸ˜‰

  2. Hey Daniele,

    awesome work!

    Maybe you could add an option to open the page in a standalone browser window? Some paranoids might not like to enter their credentials in that window, I think that’s the whole point in OAuth that you don’t have to enter them in the application so you can revoke the access rights at any point and the application can’t log it etc…

    That is total crap of course, if you have malicious software on your computer, it may log all your keystrokes … just a heads up πŸ™‚

    One more thing: “Windows Live Messenger” further down in the list seems to be the correct term, so you should consider renaming your profile to “Windows Live Messenger (using XMPP)” instead..

    my (literally) 2 cents πŸ™‚

    Best regards,

    1. This is interesting, because I was planning to open the web browser and I was asked to do the opposite…

      So for now I received 3 different opinions about that:
      1) Open the browser window
      2) Embed a browser in the ui (this is the current solution)
      3) Do some magic to hide the real page and use your own ui (I’m not sure if this is possible)

      Comments? Suggestions?

      Anyway a good thing about open source is that if you don’t trust the program, you can just grab the source code, double check it and eventually modify it!

      1. It’s better to use the embedded window instead of opening full blown browser. For example – my Chrome has ~30 tabs that loads when Chrome opens. If I had to open my browser and wait good 5 minutes to just see the login page, I would be mad. There’s no real advantage of opening it in full browser anyway.

        If you have keylogging stuff, it doesn’t really matter if you type it in the browser or the webview πŸ˜›

        And finally – you can always check our code and see what we do with it. It is simple and clean (and what would we do with your data anyway… πŸ˜› )

          1. yep, i was just asking for a way to open the browser if you really want to (not changing the default).. a lineedit would be just fine, you could copy the link and paste it to the addressbar of your browser yourself..

            in then end.. i dont care too much πŸ˜›

            i do care about consistency tho: MSN vs. Windows Live Messenger

          2. The lineedit won’t work in this way, it can be useful to *show* the address, but if you copy and paste the address in the web browser the auth handler won’t get the token, so imho (and also reading David’s coment) it is better to leave it in this way and see if people complains.

            About the consistency, file a bug and ping me after the 25th (when the string freeze ends) and I’ll fix it!

      2. Please keep it embed like it is in the screenshot. If I want to use it, i dont want to open a browser to log in, in a way that has nothing to do with the messenger itself. that should be go like it is at the moment – in the Browser

    2. “Some paranoids might not like to ”

      I don’t think it’s a good idea to try and second guess what mental users might want. Let’s develop for the majority of people (us) and only change if there’s actual evidence people want change.

    1. Yes and no… The history is saved if you have telepathy-logger installed, but unfortunately we don’t have any log viewer yet. As soon as someone writes a viewer you will be able to see your old history…

        1. Not at the moment, sorry.
          We could write in the future something to parse kopete history and import it in nepomuk, but it’s a low priority task at the moment…

  3. How is the history logger implemented; does it use Nepomuk like it was originally planned?

    1. Nope, not yet… at the moment the only logger is telepathy-logger, that is the one used by empathy. We are using to show the last few messages from the history when you open a chat window with someone.
      I think that we won’t do the logging with Nepomuk directly, but we will have a nepomuk service that imports the log from telepathy-logger, but this has not been decided yet…

  4. Is there any additional thing to take into account besides your instructions? It doesn’t connect on my installation. It stays connecting for a while and then a popup message appears saying that it hasn’t been possible to connect with due to a network error (I don’t know the precise message in english since my KDE is in Spanish). I have tried two different MSN accounts.

    Also, have you planned to notify new emails arrived? I read somewhere that since Akonadi can do it it’s not necessary, but I think it’s an error. Many users have MSN accounts that only use for chatting with “secondary” contacts, ergo we don’t want to include those accounts in our system configuration.
    For many people MSN is just for unimportant chat and exchage some silly mails; Telepathy should be able to handle mail notifications independently from Akonadi.

    Best reagards, and congrats for your work, it’s impressive that KDE Telepathy is so mature in such an early state of development, :).

    1. Hi Carlos,
      Thanks, I’m glad you like it!

      First of all check if your telepathy-gabble is >= 0.15.0, older version don’t support oauth authentication.
      The problem happens after you get to the last screenshot and click yes or before?

      Notification for new emails is not planned at the moment, we have still a lot of work to do just to support instant messaging features… Maybe in the future, but I can’t promise you anything at the moment!

      1. I’m having the same issue with telepathy-gabble-0.15.3 under Gentoo and KDE 4.8.0. After clicking “Finish” in the 2nd screenshot, no popup appears and account list shows “Network error” under the MSN item. I don’t know if there’s something wrong on “advanced settings” (the button that appears when adding the MSN XMPP account), although I didn’t change anything.

        Here are those settings (I’m trying to translate it to english, I also speak spanish):
        [Server tab]
        Server adress: (immutable)
        Server port: 5222 (immutable)
        Activity interval: 30
        Use low broaband mode: Not selected
        Resource name:
        Priority: 60
        Request crypted connection: Selected
        Ignore SSL error: Selected (immutable)
        Use old SSL: Not selected

        [Proxy tab]
        STUN Server:
        STUN Port: 3478
        Backup STUN Server:
        Backup STUN Port: 3478
        HTTPS Proxy server:
        HTTPS Proxy port: 443
        Backup SOCK5 proxy servers:
        Conference backup server:

        1. Xmpp MSN service has been down for a few days, perhaps you tried it in that period…
          Can you try again now?

Comments are closed.