Cisco Unified Communication Tools

Notification .NET SDK

Version   1.0.11
Last Update   7/9/2014
Statistics   Requires Visual Studio 2010 or 2012 and the .NET 4.0 framework and a Connection server capable of serving up CUNI functionality.  The library was built against Connection 9.1, however most functions will work for older versions as well. 
Compatibility   Unity Connection 8.6 or later is reccomended
Support   NOT TAC supported - support is through the developer forus, the links page has details.
Related REST for Users .NET SDK provides user level access to messages and user settings

REST For Users Java SDK provide user level access to messages and user settings for Java developers.

REST for Admins .NET SDK. wraps much of the administrator API (CUPI) interface, much of the CUMI (for messages) and CUTI (for using the phone as a recording device) is also included. 

The Notification .NET SDK wraps the CUNI interface and makes it easy to add handling changes to mailboxes on one or many Unity Connection servers in a desktop or web service build in .NET.  This is often used in conjunction with the Connection REST SDK for fetching user and message data from the Connection server in response to message change notifications generated by this SDK.

The SDK can now be included in your projects via NuGet.  Simply search on "Cisco.UnityConnection.NotificationSdk" and include it in your project!  In 60 seconds you can be up and attached to your Connection server and being productive.  Couldn't be easier.  If you prefer to include the project code "old school" in your application the SubVersion repository details can be found below.

Training videos (all Flash MP4):

Adding The Notification SDK to Your Project The Easy Way With Nuget!  The Notification SDK is now available on NuGet which makes adding it to your projects simple and easy. Adding SDK Via NuGet - 3 minutes
Getting started with the Connection Notification SDK:  Adding the library to your project, attaching to Connection and handling message events. Notification .NET library intro - 14 mintes
Small Correction to Getting Started Video.  Minor correction about the notification event types for messages being makred unread vs. arriving now Library Intro Correction - 3 minutes
Using the Notification SDK and the REST SDK together.  Expands on the above example showing how to use the notification details you get to actually go fish messages for a user that just recieved one and do something with it. Notification and REST Example - 18 minutes.
Using Fiddler for viewing HTTP traffic: Quick intro to using Fiddler to watch HTTP/S traffice going into and out of your development platform so you can see what's happening with the various Connection HTTP interfaces. Using Fiddler - 6 minutes

Developers Guide

HTML Version

PDF Version (this is nicer to use given the bookmarks can be used for content navigation more easily)

Source Code

The library itself can be fetched using a SubVersion client pointed to the public repository here:

https://xp-dev.com/svn/ConnectionRestNotificationSdk

This is a read only public repository - there is no login or password necessary to download it.  The repository includes both the the notificaiton SDK library itself as well as a small Windows forms application used as a test harness as well as a simple CLI application showing its use.

Usage Samples

The following are some highlights the basics of the Notification wrapper library - the project code has more extensive examples in the sample programs included with it.

NOTE: Error handling and logging have been stripped out of these examples to keep the code clear and simple.  Copy and paste these into a production application at your peril!

Attaching into Connection

//first, create the monitor class instance for a Unity Connection server.

try

{

_cxnMonitor = new UnityConnectionEventMonitor("192.168.0.186", "CCMAdmin",

"ecsbulab", 8080, "", 10, DateTime.Now.AddDays(5), true,"operator");

}

catch (Exception ex)

{

Console.WriteLine("Failed to create event monitor:"+ex);

return;

}

This will monitor the Connection Server at 192.168.0.186, using the administrator credentials "CCMAdmin" on port 8080 for 5 days getting heartbeats from Connection every 10 minutes.  By default it will be monitoring only the "operator" mailbox in this case, although as many aliases as you like can be passed in or added/removed later.

Registering For Message Events 

//setup an event handler to fire when a message event from a mailbox you've told the

//monitor to watch triggers.

_cxnMonitor.ConnectionEventsToBeProcessed +=

CxnMonitorOnConnectionEventsToBeProcessed;

/// <summary>

/// Simple message event handler

/// </summary>

private static void CxnMonitorOnConnectionEventsToBeProcessed(object sender,

MessageEventArgs e)

{

Console.WriteLine("[MESSAGE EVENT] "+e.MessageEvent);

}

Now any message event that comes in for a mailbox being monitored will trigger an event and result in details of that event being displayed in the console output.