3.4 Examples - Wiki
This article contains links to several example applications and plugins for the newest version of the Cisco Unified Application Environment, as well as links to tutorials and examples for older versions of the product.
Example Applications #
Almost all examples listed here demonstrate an implementation using:
- The Cisco Unified Application Designer,
- Java in Etch and
- C# in Etch.
|HttpMakeCall||An application that will make a call in response to a HTTP request.|
|SimpleIpPhoneMenuTree||This application implements a simple food ordering form through a phone service.|
|AnswerAndPlay||This application's trigger is an incoming phone call from an endpoint. It answers the call and then plays a prompt back using various mechanisms (Text-to-Speech and pre-recorded WAV files). When the prompt finishes playing, the application then hangs up the call.|
|SimpleIpPhoneExecute||When triggered by an HTTP request, the application queries the Cisco Unified Communications Manager for the IP address of a IP Phone by its device name. It then creates an Metreos.Types.CiscoIpPhone.Execute object which has command(s) to be executed by the IP phone. Finally the Commands are sent to the phone and are executed by the IP phone.|
|SimpleJtapiPhoneMonitor||Monitor a phone with Jtapi, display a message in the console window for all Jtapi events (ensure we can still monitor phones)|
|JeevesTheVoiceRecRobot||The application triggers on call control incoming call, simple grammar that responds to three commands (hi, how are you, bye). When you say 'hi', the application should say: "Hey there, tex". When you say, "how are you", the application should say, "I'm dandy, how are you?". And when you say "bye", the application should say: "See ya, don't let spleeny the evil spleen get you on the way out".|
|HttpInitiatedP2PCallBridge||Trigger on incoming Http request, place one outbound call to A, play a prompt, gather digits: 1 is proceed, 2 is hangup. If proceed then place a second outbound call and bridge both calls via P2P.|
|BasicExtensionMobility||When triggered by an HTTP request, the application handles basic login and logout.|
|InAndOut||Trigger on incoming call, make another call to another number (this is our standard in&out test application)|
|GatherDigitsTortureChamber||Trigger on incoming call, prompt user for various input to test various termination conditions for gather digits. "Please enter 5 digits" (test the maxdigits term cond), "Please enter 2 digits and wait 6 seconds" (test that if maxdigits > 2 and interdigitdelay==5000, then the delay should fire), etc.|
|ClockApp||This application is triggered on an http request to create an image of the current time and push a link of the image to a phone.|
|CatPluginClient||This application utilizes the CatPlugin example to download an image URL which is puts into a graphic file menu and pushes to an IP Phone. Please note that the application will be unsuccessful if not running alongside CatPlugin.|
|PresenceMonitor||This application monitors a group of Presence users and displays user status when triggered.|
|Messaging||This sample application uses the Messaging Plugin to retrieve messages from the Unity Connection Server. The application demonstrates how a user can get messages from the unity connection server, how a user can play messages, delete messages and how a user can send or forward message to an another user.|
Example Plugins #
|CatPlugin||The plug-in periodically downloads a JPG image from a URL specified in a well known RSS location, then converts and saves it as a local png file which can be accessed by IP phones via HTTP.|
- You will have to make yourself comfortable on certain new aspects defined over here, if planning to develop applications using native language like Java / C# and in Etch environment instead of CUAE legacy Designer IDE on CUAE 2.5(1) beta releases.
- For later official releases please keep yourself upraised via the How-To Articles Advanced Topics Documentation wiki
Older Examples #
The following tutorials are available for those new to the Cisco Unified Application Environment. The source and documentation for these tutorials are available through our SourceForge repository in Subversion configuration.
- MakeCall - This presentation graphically illustrates how to build an application that triggers through an http request. A call is made and when the remote party answers the call, a message plays.HTTP Make Call Application Development Concepts
- TwoPartyCalling - Demonstrates two methods by which an application can place two separate calls out through Cisco Unified Communications Manager, connecting the media streams together for the two calls such that each party can hear the other. Telephony Application Development Concepts
- IPPhoneServices - Implement a simple lunch ordering menu system and push to a phone display screen. This application creates an IP phone service that sends text to the screen of the IP phone and presents two SoftKey options at the bottom of the display. An event handler listens for requests, retrieving query parameter values that were passed through URLs. Supports sub-menus with multiple options. IP Phone Applications Core Development Concepts
Sample Code Downloads #
There are a few sample applications that have been implemented on the Cisco Unified Application Environment using Cisco Unified Application Designer. As with the tutorials, the source for all of these applications is available through the Subversion repository at Sourceforge. Please visit Accessing Subversion wiki for more information.
Each application there can be loaded into the Cisco Unified Application Designer and compiled and deployed to the Cisco Unified Application Server. The source tree also includes a convenient "build.bat" file to build all of the applications in one go.
Some simple applications that demonstrate basic Cisco Unified Application Environment concepts are:
- AnswerCall - A very simple application that will answer an incoming call and play a pre-recorded message.
- MakeCall - Another simple application. This application will make a call triggered through an http request. When the remote party answers the call, a message will play.
- MakeConference - Receive three numbers to call through an http request. Make calls to each and put them into a conference.
- AXLClient - This simple program will retrieve the directory numbers (lines) info for a particular device from Cisco Communications Manager.
- LDAP - This application will retrieve some information from an ldap server and write it to the Cisco Unified Application Server logs.
Cisco Unified Application Environment plugin samples:
- SimpleNativeAction - Implements a very simple Native Action which adds two numbers and returns the sum.
- SimpleNativeType - Implements a very simple Native Type which takes a "Hour:Min:Sec" string and parses it out as Hour, Minute and Seconds.
- SimpleProvider - Implements a very simple provider with a synchronous action and a triggering event.
Also included is a full application suite!
- AppSuite - This application suite contains several production applications which exercise various capabilities of the Cisco Unified Application Environment.
- Accessing Subversion
- Presence Configuration for Examples Apps
- Reference Environment for Example apps