4 SIPE is a third-party plugin for the Pidgin/Adium/Miranda/Telepathy
5 multi-protocol instant messaging clients/frameworks. It implements the
6 extended version of SIP/SIMPLE used by various products:
10 * Microsoft Business Productivity Online Suite (BPOS)
11 * Microsoft Lync Server
12 * Microsoft Office Communications Server (OCS 2007/2007 R2)
13 * Microsoft Live Communications Server (LCS 2003/2005)
15 With this plugin you should be able to replace your Microsoft Office
16 Communicator client with Pidgin/Adium/Miranda/Telepathy.
22 The plugin has support for
24 * Instant Messaging (IM)
25 * Multiparty chat (OCS 2005) or conference (OCS 2007+)
26 * Group chat (Lync 2010) or Persistent chat (Lync 2013) - [MS-XCCOSIP]
28 * Calendar integration with Exchange 2007+ (can be disabled)
29 * Contact details information - company, phones, photo, web site, etc.
30 * Unified Contact Store (Lync 2013) - [MS-OXWSCOS]
31 * Contact search - [MS-PRES] and [MS-DLX] methods supported
32 * Encrypted file transfer (OCS2007: send & receive, Lync: receive only)
34 * Call initiation through PBX
35 * NTLMv2, Kerberos & TLS-DSK authentication methods
36 * Single Sign-On (depends on OS and authentication method)
37 * Automatic SSL/TLS protection for SIP/HTTP connections
38 * Crypto implementation using NSS or OpenSSL
41 The plugin has backends for
43 * Pidgin/Finch (libpurple)
46 * Telepathy (under development)
49 Advantages over Office Communicator products
50 ============================================
52 * Available on broader range of platforms: Linux, *BSD, Maemo, OSX,
53 commercial UNIX, Windows.
54 * Ability to simultaneously connect to several Office Communicator
55 accounts in addition to public IM network accounts like MSN, AOL,
56 Yahoo. For example one account is in vendor company and another is
58 * Keeps history of communications in environments without Outlook. For
59 example in companies where Lotus Notes is deployed as a default
60 groupware client instead of Outlook.
61 * Lotus Notes/Domino calendar integration. Unique to SIPE.
62 * Open development model, open source product. License is GPLv2+
68 The Pidgin or Adium projects do not support third-party plugins! Please do
69 not ask questions about SIPE in their forums or report SIPE problems to their
72 If you set up your Office Communicator/Lync account with SIPE for the first
73 time then please make sure to read this page:
75 https://sourceforge.net/p/sipe/wiki/How%20to%20setup%20an%20account/
77 If you encounter problems then please make sure to check out the Frequently
80 https://sourceforge.net/p/sipe/wiki/faq/
82 If you still have problems then please check the support forum if another
83 user encountered the same problem and maybe solved it already:
85 http://sourceforge.net/p/sipe/discussion/
87 If you think that you have found a bug in SIPE then please report it to the
90 https://sourceforge.net/p/sipe/bugs/
92 The SIPE project kindly requests that you do not ignore the instructions that
93 appear at the head of the "Create Ticket" page. These instructions are there
94 for a reason and if you ignore them then you will only cause unnecessary work
95 for the project and yourself. Please do not report missing features as bugs.
97 New or missing features can be requested here:
99 https://sourceforge.net/p/sipe/feature-requests/
105 SIPE has already been localized for several languages. You can help to
106 translate SIPE to your native language at Transifex:
108 https://www.transifex.com/stefanb/pidgin-sipe/
110 The service offers a convenient web editor.
113 D-Bus support (libpurple backend only)
114 ======================================
116 If libpurple and SIPE have been compiled with D-Bus support and the D-Bus
117 backend has been successfully initialized at libpurple start, then SIPE
118 extends the libpurple D-Bus interface with the following APIs:
120 Function | Description
121 --------------------------------------------------------------------------
122 SipeJoinConferenceWithUri(aId, uri) | Same as "Meeting location" in the
123 | dialog opened by "Join scheduled
126 To use the APIs from a script you'll need a D-Bus object for the libpurple
127 interface and a valid & connected account ID as first parameter. An invalid
128 account ID will cause SIPE to silently ignore the D-Bus invocation.
130 Example script code (without error checks to keep it simple):
135 my $bus = Net::DBus->session;
136 my $service = $bus->get_service('im.pidgin.purple.PurpleService');
137 my $purple = $service->get_object('/im/pidgin/purple/PurpleObject',
138 'im.pidgin.purple.PurpleInterface');
139 my $accountId = $purple->PurpleAccountsFind($accountName, 'prpl-sipe');
140 $purple->SipeXYZ($accountId, parameters... );
145 bus = dbus.SessionBus()
146 object = bus.get_object("im.pidgin.purple.PurpleService",
147 "/im/pidgin/purple/PurpleObject")
148 purple = dbus.Interface(object, "im.pidgin.purple.PurpleInterface")
149 accountId = purple.PurpleAccountsFind($accountName, 'prpl-sipe')
150 purple.SipeXYZ(accountId, parameters... );
153 Installing from a distribution repository
154 =========================================
156 Many Open Source OS distributions have a ready-made package "pidgin-sipe".
157 Before trying to compile it from the source code yourself you should try
158 to install this package with the standard installation method provided by
161 Once you have SIPE installed and are connected to your account you can check
162 from the following Pidgin menu
164 Accounts -> <SIPE Account> -> About SIPE plugin...
166 which optional features have been enabled in your SIPE build.
169 Do It Yourself I: compiling against "pidgin" package
170 ====================================================
172 NOTE: for instructions how to setup a build environment on Windows to
173 compile the Windows Pidgin plugin, please read:
175 https://developer.pidgin.im/wiki/BuildingWinPidgin
177 NOTE: for instructions how to cross-compile the Windows Pidgin plugin on
180 contrib/mingw-cross-compile/README.txt
182 NOTE: for instructions how to compile the SIPEAdiumPlugin on Mac OS X,
185 src/adium/README.adium
188 If you already have installed the "pidgin" package from your distribution
189 repository and want compile SIPE from source code yourself, then you need to
190 install the necessary headers first. Depending on your distribution you'll
191 need to install one of the following packages
196 For the compilation you'll need to install a C compiler and some of the
205 libgmime-2.4-dev (optional)
206 libgmime-2.6-dev (optional)
212 gmime-devel (optional)
214 You have to choose between NSS or OpenSSL for the crypto backend. You'll
215 need one of the following packages
226 If you want to enable Kerberos authentication support then you'll need one
227 of the following packages
232 If you additionally want to disable the internal NTLM implementation and
233 authenticate with NTLM via GSSAPI then you'll need one of the following
238 If you want to enable the D-Bus support then you'll need one of the
244 If you want to enable Voice & Video features then you'll need some of the
245 following packages. You need to install the same version of the GStreamer
246 development packages which where used to compile Pidgin!
248 libnice-dev (>= 0.1.0)
250 or libgstreamer1.0-dev
251 for encryption support (at compile time):
252 libpurple-dev (>= 2.10.12)
253 libnice-dev (>= 0.1.13)
255 for encryption support (at run time):
257 gstreamer1.0-plugins-bad
259 libnice-devel (>= 0.1.0)
262 for encryption support (at compile time):
263 libpurple-devel (>= 2.10.12)
264 libnice-devel (>= 0.1.13)
266 for encryption support (at run time):
268 gstreamer1-plugins-bad-free
270 Now you should be able to compile the source code with
272 ./configure --prefix=/usr
275 If you get errors then you are missing some required package. After
276 successful compilation you can install SIPE with:
280 If you get errors from configure or libtool about version conflicts then
281 you need to regenerate the autoconf files. You'll need these additional
287 Now you should be able to regenerate the files with
289 autoreconf --verbose --install --force
291 After that go back to the configure step above.
294 Do It Yourself II: compiling against self-compiled pidgin
295 =========================================================
297 If you have compiled pidgin from source code yourself then you'll have to
298 specify the correct installation path in configure. Usually pidgin is
299 installed in /usr/local so the following command should work
301 ./configure --prefix=/usr/local
303 The rest of the steps are the same as in the previous section.