Reference10:Concept Exchange Calendar Connector
Usage
You can use the innovaphone exchange application to set the presence of a PBX user according to the Outlook calendar of the user.
If the user has e.g. a meeting, the presence will be set to busy and the presence note to the subject of the calendar item.
Requirements
innovaphone Linux Application Platform
It is needed to have the application platform installed and running.
Microsoft Exchange Server
The innovaphone exchange application supports the Microsoft Exchange Server 2010 SP1 and SP2!
Installation
Download the latest version of innovaphone exchange.
Log into the application platform, go to the Applications tag, click on Upload/Update and upload the downloaded file. The installation will start automatically and the page will refresh every two seconds showing the installation process. If there is no error during the installation you will see at the end "Installation was succesfull". Otherwise, you will get "installation failed" and the reason why it went wrong.
Hotfix
If you have already installed the latest version of the exchange application, simply download the Exchange...HotfixIncremental for your platform (VM or IPxx10) or if you have missed some hotfixes, download the Exchange...HotfixCumulative archive, which contains all hotfixes since hotfix1.
Upload this hotfix archive here.
Configuration
Device
The name (H323) of the PBX objects, whos calendars shall be monitored must match to a prefix of an email address of the configured domain.
So the name must not contain white space or illegal email address characters.
e.g. the domain is innovaphone.com and the PBX user has the name test, an exchange user with the email address test@innovaphone.com must exist! e.g. the PBX user has the name Test Name: this user can't be monitored, as its name contains a space.
The email address combined by name@domain doesn't need to be the primary SMTP address of the exchange user.
PBX
Exchange
Database
The exchange application installs postgreSQL version 8.4 as database management system and creates the innovaphone-exchange database to store users from the PBX. PostgreSQL is also available for other applications and any of them could create its own database.
Password
The exchange application creates the database user innovaphone-exchange with default password exchange. This password may be changed at the innovaphone Exchange page under Config/Database.
Remote Access
There are tools (PgAdmin III) that allow to connect to application databases remotely. It is first needed to configure the IP you are connecting from under Config/Database at the innovaphone exchange page.
Backup and Restore
You can both manually and automatically backup the database and configuration files for the exchange application under Administration/Backup in the application platform.
Configuration details for the update server can be found here.
Configuration Files
saveinnovaphone-exchangecfgs is the command used to automatically save configuration files with the Command File.
Data
saveinnovaphone-exchangedb is the command to automatically backup the whole innovaphone exchange database with the Command File.
Logs
saveinnovaphone-exchangelogs to save log files with the Command File.
Appendix
How it works
- All users from the PBX are retrieved via SOAP
- The primary SMTP address inside the Microsoft Exchange Server is retrieved for all users with a valid h323 name
- A subscription for calendar events is established toward the Microsoft Exchange Server for all users with a primary SMTP address via SOAP EWS with the configured user who has read access to the calendars of the other users
- The calendar items for the next e.g. 36 hours are retrieved for each new user (this step is only done once or if a new calendar event is received with the established subscription)
- The presence is set according to the calendar items of a user
- The established subscriptions monitor all changes inside the users calendars
- Each minute the PBX users are compared to the already existing ones and if needed added/removed/renamed etc.
The first time after you have successfully configured the PBX and the Exchange Server, all user subscriptions are established and all calendar items are retrieved. This may take some minutes, according to the user count.
Presence Note and Activity
The settings of a calendar item determine the presence activity and note.
A calendar item is ignored, if its busy type is free or tentative (see Tentative calendar items).
The subject of a calendar item is ignored, if the calendar item is private.
The activity is only set, if the calendar item has already started! Otherwise just the note is set. If just the note is set, the merged presence, received by the PBX, will prefer presences with an activity.
Tentative calendar items
A tentative calendar item is neither free nor away, so it is ignored by default.
But if the organizer of a calendar item is one of the configurable email addresses, the item is treated as away!
Activity
The activity is set accordingly to the busy type of a calendar item:
Calendar Item Busy Type | Presence Activity |
Free | ignored |
Tentative | ignored or Away |
Busy | Busy |
Out of office | Away |
Note
The note of a not yet started calendar item contains the following parts:
- the string Free until
- the date if the start date of the calendar item is not today
- the start time (Hours:Minutes)
- the string Away if the activity is away
- the subject of the calendar item or if the calendar item is private, the string Private
e.g.
Free until 28.07.2012 12:20 (Away: Vacation) Free until 28.07.2012 12:20 (Meeting with boss) Free until 12:20 (Away: Meeting with customer) Free until 12:20 (Away: Private)
The note of an already started calendar item:
- the subject of the calendar item or if the calendar item is private, the string Private
Microsoft Exchange Web Services
For communication with the Microsoft Exchange Server, its Exchange Web Services are used.
Installed Debian Packages
The following packages (and their dependencies) are installed with innovaphone Reporting:
- php5-pgsql
- php5-mcrypt
- postgresql-8.4
- postgresql-common
Configuration Files
pg_hba.conf is the client authentication configuration file and controls which hosts are allowed to connect, how clients are authenticated, which PostgreSQL user names they can use and which databases they can access.
postgresql.conf is the PostgreSQL configuration file
Data Files
If you backup the innovaphone exchange database, you'll get a gz archiv, which contains the whole innovaphone-exchange database.
Database Structure
users
Users retrieved from the configured PBX.
calendar_items
Calendar items for the users retrieved from the Microsoft Exchange Server.
Tools
NetDrive
NetDrive is a usefull webdav client, which can be used to access webdav of the innovaphone application platform.
PGAdmin
PGAdmin is an administration tool for PostgreSQL databases.
Putty
Putty is SSH client to connect to the linux application platform.