Developing Applications With Cisco Unified Application Environment

BRKDEV-1101

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

2

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

1

Agenda
Cisco Unified Application Environment Overview What Makes CUAE Different Application Deployment Interactions with Other UC Components Demo/Walkthrough The Future

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

3

Cisco Unified Application Environment
Customer Challenges
Complexity Reliability Lifecycle Mgmt

Telephony protocols, media processing, a plethora of UC products/versions/APIs and other unique requirements Building everything from scratch No experience, steep learning curve

Applications run directly against the Cisco Unified Communications Manager Significant threat to reliability and performance of dial tone

Manageability an afterthought Lack of lifecycle management tools No standard way for development, QA, and operations to handle deployment, configuration, capacity, performance management

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

4

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

2

Cisco Unified Application Environment
The Solution Cisco Unified Application Server Cisco Unified Media Engine Cisco Unified Application Designer Developer Community

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

5

Cisco Unified Application Environment
Cisco Unified Application Server
Key Features
Extensible plug-in framework Virtual machine layer Standard application container Web based management user interface

Supported Platforms
7845, 7835, 7825 and 7816 with MCS Windows 2003

Product Compatibility
Cisco Unified Communications Manager Cisco Unified Presence Cisco IP Phones

Multiple Licensing Options
BRKDEV-1101 14622_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public

6

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

3

Cisco Unified Application Environment
Cisco Unified Media Engine Key Features
IVR conferencing Transcoding Recording Speech Recognition

Supported Platforms
Stand alone or Co-Resident with Cisco Unified Application Server 7845, 7835, 7825 and 7816 with MCS Windows 2003

Multiple Licensing Options
BRKDEV-1101 14622_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public

7

Cisco Unified Application Environment
Cisco Unified Application Designer
Key Features
Graphical Application Definition Application Integrity Checks Extensible toolbox Data service integration Runtime debugging One-Click Deployment

Supported Platforms
Windows XP with Pentium 4 or faster processor

Low cost to developers
Free download of CUAE 2.4 SDK software Inexpensive CUCM 6.0 SDK software – 50 DLUs (US$550) Sample applications with “source code”
BRKDEV-1101 14622_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public

8

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

4

Cisco Unified Application Environment
Bundled Application Suite – Beacon Office Radianta Beacon Office Includes:
Paging Call Recording Dialer Phone Lock Emergency Alert Time Card Call Notes Callback Extension Mobility Login
BRKDEV-1101 14622_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public

9

What Technologies Are Supported
Call Control
SIP, SCCP and H.323

JTAPI
Real-time device information. If you need to know something is happening on a particular phone, or affect changes on the call as a 3rd-party…

IP Phone Services (XML)
Interface for creating services and directories that interact with the Cisco IP Phone user interface

AXL-SOAP
Dynamic changes of Communications Manager database. In general, if you can change it in CUCM Administration User Interface, then you can change it using AXL.
BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

10

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

5

What Technologies Are Supported
Presence
Receive presence notifications from Cisco Unified Presence

Media Control
Terminates RTP streams and provides media services like TTS, conferencing

HTTP Client/Server LDAP, E-Mail, SQL, and other utility technologies

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

11

CUAE Versus Native APIs
Native APIs offer the complete power of the native technology, but leave it up to the developer to determine the deployment model. CUAE offers an abstracted interface to the native APIs and also includes a deployment and configuration model. Native APIs are best for full featured standalone applications that focus on a single technology. CUAE is best for applications that combine multiple technologies or in situations where the learning curve for a specific technology is too steep to justify the requirements of the application.
BRKDEV-1101 14622_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public

12

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

6

What Makes CUAE Different

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

13

Traditional Applications
Traditional applications are often monolithic applications that need to implement/consume each API or protocol that they use Installation, configuration, and serviceability are specific to each application or family of applications Well suited for applications that utilize one or two distinct technologies or provide a linear set of features.

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

14

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

7

CUAE Applications
CUAE Applications are thin applications that can reuse services exposed by the provider/plugin architecture. Heavy weight components can be reused by may different applications. Providers leverage the power of the traditional application but allow the developer to focus on the high level functionality rather than the low level details. CUAE includes a standard deployment and configuration model that normalizes multiple applications from multiple sources.

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

15

Providers
Providers fulfill the requests of the applications Usually one end of protocol or connection Abstracts the details, only exposing the critical actions and events to the application. Perform required operations like connection keepalives, graceful connect and disconnect, and error handling. Provide default behaviors when no application is using the provider. Custom providers can be built using the same provider framework used to build the existing providers.
BRKDEV-1101 14622_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public

16

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

8

CUAE Application Life Cycle

Secondary Events Dormant Applications Primary Trigger

Perform Actions
BRKDEV-1101 14622_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public

17

Triggers

Actions
Call Control

HTTP

JTAPI

Call Control JTAPI Presence Timer Static Custom

Media AXL Phone Services Database

HTTP

Custom

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

18

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

9

Example – Click To Dial
Call Control HTTP JTAPI

Call Control JTAPI Presence Timer Static

Media AXL Phone Services Database

HTTP Custom Custom

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

19

Example – Phone to Phone
IVR/Call Recording/Conferencing/Etc Call Control HTTP JTAPI

Call Control JTAPI Presence Timer Static Custom

Media AXL Phone Services Database

HTTP

Custom

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

20

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

10

Example – Phone based dial application
Call Control HTTP JTAPI

Call Control JTAPI Presence Timer Static Custom

Media AXL Phone Services Database

HTTP

Custom

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

21

Triggers

Actions
Call Control

HTTP

JTAPI

Call Control JTAPI Presence Timer Static Custom

Media AXL Phone Services Database

HTTP

Custom

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

22

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

11

Application Deployment

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

23

Applications Are a Complete Package
Application Resources Installer

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

24

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

12

Applications
Applications are the output of the designer and are packaged as a single “mca” file Applications can be installed via the Designer using the one-click-install feature Applications can also be installed via the Application Server using an upload and install feature All required components are packaged along with the application

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

25

Resources
Database – persistent storage Media Resources Voice Recognition Resource Web Folder

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

26

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

13

Example - Database
Used to communicate information between different instances of the same application Similar to shared memory or registry in other architectures SQL interface Data is lost when application is re-installed

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

27

Database

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

28

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

14

How Other UC Components View Applications

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

29

Deployment Architecture - Simple

AP SO

SQ L

TB D

b /Ja SIP

r be

CISCO IP PHONE
7940

1 4
GHI

2
ABC

3
DEF

messages

directories

i
services s ettings

5
JKL

6
MN O

7
PQRS

8
TUV

9
WXYZ

*

0
OPER

#

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

30

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

15

View from Outside
Telephony applications look like standard trunks or endpoints API based applications (JTAPI, AXL, EM, etc.) appear as any other application. HTTP Server can be used for IP Phone Services or for browser based applications.

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

31

Three Levels of Application Control
CUCM Configuration CUAE Provider Configuration Application Design/Configuration

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

32

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

16

Demo/Walk Through

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

33

The Future

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

34

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

17

Q and A

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

35

Recommended Reading
Continue your Cisco Live learning experience with further reading from Cisco Press Check the Recommended Reading flyer for suggested books

Available Onsite at the Cisco Company Store
BRKDEV-1101 14622_05_2008_X1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public

36

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

18

Complete Your Online Session Evaluation
Give us your feedback and you could win fabulous prizes. Winners announced daily. Receive 20 Passport points for each session evaluation you complete. Complete your session evaluation online now (open a browser through our wireless network to access our portal) or visit one of the Internet stations throughout the Convention Center.
Don’t forget to activate your Cisco Live virtual account for access to all session material on-demand and return for our live virtual event in October 2008. Go to the Collaboration Zone in World of Solutions or visit www.cisco-live.com.

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

37

BRKDEV-1101 14622_05_2008_X1

© 2008 Cisco Systems, Inc. All rights reserved.

Cisco Public

38

© 2006, Cisco Systems, Inc. All rights reserved. 14622_05_2008_X1.scr

19