Wednesday, August 5, 2009

Pidgin - Microsoft Office Communicator








Update: 11/15/10 - Added ICONV.DLL, LIBXML2.DLL work-around for Windows.
Update: 05/01/10 - SIPE 1.10 is out. Tutorial updated.
Update: 01/27/10 - SIPE 1.7.1 is out. Download it here.
Update: 08/20/09 - SIPE 1.6.0 seems to be available, so I've updated this article with some 1.6.0 comments in red below.


Steps:
  1. Downloading and installing the latest Pidgin for your platform.

    - Windows: For first time users, the installer will require GTK to be installed.
    - Windows: Recommended: Install automatic spell-check (Aspell) for your language, which needs to be selected during install. (Requires a connection to the internet).

  2. Download and install the latest SIPE (SImple Protocol Exchange) for your platform.

    - Windows: The plugin will come bundled as a zip file with a MSI installer. Run the MSI installer. This will install the plugin to "Program Files\Pidgin"
    - Linux: If a precompiled version (usually ".DEB" or ".RPM" is not available for your distribution of Linux, download the source in "tar.gz" format. Follow standard compilation instructions for your platform. (Experienced users: 15 minutes, Inexperienced users: 2 hours)
    - PidginPortable: After installing the MSI, copy the contents of "Program Files\Pidgin\" to the "Program Files\PidginPortable\app\Pidgin" folder.  The folder names "plugins", "pixmaps" should match. Click "yes" when prompted to overwrite.
  3. WINDOWS USERS:
    The new version of Pidgin for Windows is incompatible with SIPE unless you copy two files to your Program Files\Pidgin\ directory.
    CLICK TO DOWNLOAD ICONV.DLL
    CLICK DOWNLOAD LIBXML2.DLL
    Save both of these files in Program Files\Pidgin, (PortablePidgin would use the "Program Files\PidginPortable\app\Pidgin" folder instead)

  4. If open, close Pidgin from the system tray and reopen.
  5. From the top menu bar, click "Accounts", "Manage Accounts"
  6. Click the "Add" button
  7. Click the "Protocol" drop-down and select "Office Communicator"
    *Note:  If the icon for Office Communicator is missing, read Step 3 above.


  8. Username: (Email Address)
    Example: tres.finocchiaro@mycompany.org

    *Note: Don't use exchange at your organization? Contact your system administrator for what this value SHOULD be.

    Login: (Active Directory/Windows Login)
    Example: AD\tfino

    Password: (Active Directory/Windows Password)
    Example: ******
  9. Click the "Advanced" tab


  10. Server:[Port]
    Example: exchange-pool1.mycompany.org
    Example: exchange-pool1.mycompany.org:5061

    Connection type (Encryption, protocol, etc):
    Example: SSL/TLS

    User Agent: (Pidgin client version)
    Example: Purple/2.6.6

    Calendar Source: (Optional. For availability status. Change to None if your server type is not listed.)
    Example: Exchange 2007/2010

    Leave the default and click "Add".



OLD TUTORIAL


On Windows (and Linux), there's a -- slightly buggy -- plug-in called "SIPE" or "Microsoft LCS/OCS" that can be installed separately to connect Pidgin instant messenger client to Microsoft Office Communicator. And... by "buggy", I mean mostly on initial setup. See "buggy" section below for details.

I had three main problems getting mine working:
  1. Finding a version of it pre-compiled for my platform [link]
  2. Keeping it from crashing when I saved settings
  3. Getting the settings correct so I wouldn't get the message "Unable to Connect" [link]
In this example, the version of Pidgin I'm using is Pidgin 2.5.8 (portable) and the plugin is Pidgin SIPE 1.5.0 (1.6.0 binaries are now listed under this mirror. Use them, they're better!), compiled for Windows XP 32-bit. (Called pidgin-sipe-1.5.0-win32-bin.zip. Linux users should be able to find RPM and DEB installers if you search around).

Non-windows users, here are the site instructions for Ubuntu from sipe.sourceforge.net: [link]:

Ubuntu repository (Jaunty) unofficial

Add this in your /etc/apt/sources.list
deb http://ppa.launchpad.net/aavelar/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/aavelar/ppa/ubuntu jaunty main
*Note: I highly suggest using Add/Remove Packages before manually editing your sources.list file -Tres

**Note: This works fine for x86_64 systems as well with one minor tweak. By default, the installer puts the sipe files in /usr/lib/pidgin, but they should be in /usr/lib64/pidgin, so it's just a matter of copying them (or linking them) to the right location -Frank

If you continue with the Windows install, follow the install instructions included in your SIPE readme by copying the folders to their appropriate locations (this varies by system, but should be near the pidgin install or plug-ins directory). I used the zipped version because Portable Pidgin is in a non-standard location. The msi installer will likely work just fine for "vanilla" Pidgin installs. If you can't figure it out, feel free to email me fatbuttlarry$gmail$com.

You'll know the plugin installed correctly if you have a new Protocol listed under your Pidgin Account Types. To check, open Pidgin and click Accounts --> Manage Accounts --> Add. Try adapting the settings below to work in your environment (thanks to this slightly out-dated Ubuntu thread):


Protocol: Microsoft LCS/OCS
Username: tfino@my-fake-company.com
Login: SOMETHING\tfino
Password: ******
Local Alias: Tres (LCS)

Use proxy: Yes *removed in version 1.6.0
Proxy Server: fake-company-pool1.something.my-fake-company.com *renamed to "server" in version 1.6.0
Use non-standard port: No
Connection Type: SSL/TLS
User Agent: [leave default]
Use Kerberos: No
Use Single Sign-On: No
Proxy type: No proxy

I have to admit, we were quite stumped with the "Use proxy" and "Proxy Server" fields. Initially we thought they were part of an internet proxy address. They were definitely needed to get the plug-in working correctly, so ignore the names used and put your Microsoft Communicator Pool address there instead. Note: Proxy has been renamed to "server" in version 1.6.0.

If the plug-in seems to cause Pidgin to continually crash, make sure to fill in both "Username" and "Login" in the correct format. My Pidgin kept crashing until I had them both filled in, and when it crashes, it WON'T save your settings.

"If you are facing problem connecting to the server, use the 'netstat' command to find exact server, as mentioned in http://ubuntuforums.org/showthread.php?t=626540" -Saif

I've provided some screenshots of my setup:

*Note: Usernames, server names, etc have been made "anonymous" for security reasons.


*Note: Usernames, server names, etc have been made "anonymous" for security reasons.

Hope this helps some frustrated users. I now have Microsoft Communicator working in Pidgin.

Buggy:

These items have been buggy for me with version 1.5.0 of SIPE:
  • On first run, my default buddy group did not show, so each buddy authorization request also asked what group to put it in. Restarting Pidign fixed this. Still exists in version 1.6.0
  • Buddy authorizations come through multiple times if not answered. I'd get the same invite from "John Smith" 5 times in a row. I just kept clicking accept. Still exists in version 1.6.0
  • Buddy names showed with the phrase "_DisplayName" after them. For example: John Smith would be "John Smith_DisplayName" Getting mixed results in version 1.6.0. Most names now come through with Quotes surrounding them, such as '"John Smith"'


-Tres

35 comments:

martha said...
This comment has been removed by a blog administrator.
enjoyaol said...

Thanks this helped me a lot

togume said...

Good write up. Thanks!

FatButtLarry said...

Glad to see this helped! We switched from Domino to Exchange last month and I found myself trying to keep my SameTime-compatible client (Pidgin).

Took me a couple days to get straight!

Ash said...

Thanks a ton! This was great help. I too was confused by the "Proxy". Now I like Pidgin even more!

FatButtLarry said...

Ash,

Glad it helped! I see 1.6.0 is out now. Its not on the sourceforge site, but it is on the same site linked above.

Changes I've noticed in 1.6.0 are the word "Proxy" changing to "Server" and the buddy search works!!

Woohoo!

dave said...

Sweet!! Works great, Thanks much for the info.

Frank said...

This works fine for x86_64 systems as well with one minor tweak. By default, the installer puts the sipe files in /usr/lib/pidgin, but they should be in /usr/lib64/pidgin, so it's just a matter of copying them (or linking them) to the right location

FatButtLarry said...

Thanks Frank! Comments added.

-Tres

Rana's said...

Hi,

It helped, but still i am facing the problem...
I am trying to connect on Ubuntu9.04 using 1.6.3.....
Connection failed.....
Also i can see the difference between the Screenshots give in the how to and the options in my Pidgin...
Help Please...

FatButtLarry said...

Rana,

Does your organization use all of those default settings?

Also, have you gotten the Microsoft Communicator client to work yet?\

Feel free to email me screenshots at fatbuttlarry at gmail.

-Tres

lou said...

thanks for the post.. it brightens my cloudy day..
my winXP laptop is in service, i was out of contact with the rest of group, some freakin CEO-wannabes @work made me looked bad, boss wanted too many things done.. but finally, your post gave me something to cheer on!! i might consider using linux for the rest of the year.. haha..
i appreciate all the guidance!!

Saif said...

Great and useful post. If you are facing problem connecting to the server, use the 'netstat' command to find exact server, as mentioned in http://ubuntuforums.org/showthread.php?t=626540

FatButtLarry said...

@Saif: Thanks for the feedback! Added to tutorial!

-Tres

The Tink said...

Hi,

I compiled pidgin-sipe 1.6.3, 1.8.1 and 1.9.1 from source, the config dialog for none of them bear any resemblance to what you posted in your blog; suffice to say that I can't make it work, which is a shame. :/

I've snooped on the network traffic between my windows VM and the potential servers on 5060/5061, and tried pretty much any permutation of information I could find for the dialogues I see - to no avail.

Thanks for the post, none the less!


Cheers,
Tink

Suyog said...

Nice to see that you have done this. I was looking for exactly same - using pidgin to connect to LCS.
I have Pidgin 2.6.6 and downloaded this plugin which i think 1.8
there i see options different from which you have explained here.
Could you please help me?

FatButtLarry said...

@Suyog: I've updated the tutorial for the latest version, but still needs improvement. See if this helps!

-Tres

Suyog said...

@FatButtLarry, Thanks for reply.
I think I am not able to get settings correct here. Could you please tell me following?
1)Can I connect from home laptop which in not in office domain where LCS server is?
2)How can I know exact server name?
I tried by going in MS office communicator client in office and checking account settings, server name is listed there,should i use same?
3)Username, which I should use? myid@domain.com?
4)How to know server port?
5)how to enable logging so that i can know where its going wrong, i get connection failed message.

FatButtLarry said...

> "Can I connect from home laptop which in not in office domain where LCS server is?"

@Suyog: Depends on your domain setup. If you can ping the host, you should be ok. Generally, you will not be able to connect to it from home unless your organization has set it up for the outside world. Can others use Microsoft Communicator from home? If so, checking their connections will be ideal.

-Tres

Suyog said...

No, I am not able to ping to LCS server from home machine, even cant connect with Communicator in Windows with same settings as I have in office. So that means I wont be able to use it in Home, right?
May be I will give a try in office

FatButtLarry said...

@Suyog: Correct. Ask your Sys Admin if Communicator is available to home users.

-Tres

Suyog said...

Yes, I will check that, also will install Pidgin in office and see if that works which it should.

Cademair said...

I installed Pidgin 2.7.5, then the SIPE plugin 1.10.0 on Windows XP Pro SP3. However, I do not see the OCS protocol listed when I try to add a new account. I see the libsipe.dll file in "C:\Program Files\Pidgin\plugins", but Pidgin doesn't seem to be picking it up. Any thoughts?

FatButtLarry said...

@Cademair,

Instructions updated. See Step 3. Sorry about that, I had the same problem and never updated it.

I put in a feature request for the Windows installer to copy these files, but I don't think its on the priority list for the SIPE team. :\

-Tres

Ant said...

Could you please check the links for the LIBXML2.DLL and the ICONV.DLL
It might just be me, but none of my web browsers can download those files, they all appear to be point to a webpage rather than a file
Thanks

FatButtLarry said...

@Ant,

Thanks. Fixed.

Edward said...

I am using Pidgin 2.7.9 - downloaded the 2 files into /pidgin

I am hoping to get the login information correct: copying it from my Office Communicator that works on my office laptop.

No go.

Any known bugs?

FatButtLarry said...

@Edward:

From what I've seen the most important settings for logging in are the format of your name/email.

What worked best for me was:
Username: (Email Address)
Example: tres.finocchiaro@mycompany.org

*Note: Don't use exchange at your organization? Contact your system administrator for what this value SHOULD be.

Login: (Active Directory/Windows Login)
Example: AD\tfino
Example: DOMAIN\user

I had issues with Single Sign-On or Kerberos checked, and I've also had issues with different protocols. If SSL/TLS doesn't work, try TCP.

L.Guruprasad said...

How do I get a live buddy search as the one available with Microsoft Office Communicator 2007. As I type some name, it searches the directory for the names and displays them as suggestions

FatButtLarry said...

@L: Don't know about that feature, as we're on an older version. I'd suggest brining it to the attention of the SIPE author, however it would likely require a feature added to Pidgin as well that doesn't exist today.

Sekhar said...

Thanks a lot, it worked on windows.
If you get any Authentication issues. just turn of Single - Sign On.

John said...
This comment has been removed by the author.
John said...

I was having frequent (within minutes of launch) crashes with Pidgin 2.7.11 and SIPE 1.10 on Windows 7 with dlls in the correct place, etc.

I changed the login from email address to domain\user and closed pidgin to make sure the settings were saved. Actually, I deleted and recreated the account because the login field could not be changed.

It's been half a day and no crashes yet. It had been working for quite a while with the old settings but started crashing in the last few weeks with increasing frequency.

FatButtLarry said...

@John: Thanks a bunch for this feedback.

-Tres

Divya said...

Good Post and helped a lot!