System information
Calendar Integration
Asterisk can be integrated with several different kinds of calendar formats, such as iCal,
CalDAV, MS Exchange (Exchange 2003), and MS Exchange Web Services (Exchange
2007 and later). Integrating Asterisk with your calendar gives you the ability to ma-
nipulate call routing based on your current calendar information. For example, if you’re
not going to be in your office for the afternoon it may make sense for people ringing
your desk phone to be routed directly to your voicemail.
Another advantage to calendar integration is the ability to originate calls based on
calendar information. For example, if you set up a meeting on your conference server,
you can arrange to have a reminder call five minutes before the meeting starts, which
then places you into the conference room. We think this type of flexibility and inte-
gration is pretty nifty and quite useful.
Compiling Calendaring Support into Asterisk
As there are several modules for calendaring support (allowing us to provide support
for different backends, such as MS Exchange, CalDAV, iCal, etc.), you’ll need to install
the dependencies for the backends you want to support. This modularized setup has
the advantage that you only need to install dependencies for the modules you need;
also other backends can easily be integrated with the primary calendaring backend in
the future.
Because of the different dependencies of each module, we need to check menuselect for
what needs to be installed for each of the calendaring modules we wish to support. All
modules require the neon development library, available from http://www.webdav.org/
neon/. res_calendar_ews (Exchange Web Services) requires version 0.29 or later, which
means some distributions will require you to compile the neon library from source in-
stead of using the precompiled package available from the distribution.
While the configuration for all the calendaring modules is similar, we’ll be discussing
CalDAV integration specifically since it is widely supported by a range of calendar
software and servers.
*
CentOS dependencies
Since all the modules require the neon library, we’ll install that first. Be sure to ap-
pend .x86_64 to the end of the package name if installing on a 64-bit machine:
$ sudo yum install neon-devel
* And because the authors of this book do not have access to Exchange servers for testing. : )
398 | Chapter 18: External Services