You are on page 1of 76

BRKDEV-1091

14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 1

Introduction to Cisco
Unified Communication
Manager Interfaces

BRKDEV-1091

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 2

© 2006, Cisco Systems, Inc. All rights reserved. 1


Presentation_ID.scr
Agenda
ƒ Why Develop UC Manager Applications?
ƒ Provisioning Interfaces
Administration XML
Extension Mobility Service API

ƒ Device Monitoring and Call Control Interfaces


Cisco TAPI and Cisco Wave Driver
Cisco JTAPI
Cisco WebDialer

ƒ Serviceability Interfaces
Serviceability XML—Perfmon, Real-Time Device/CTI Feed,
Log Collection, Service Control, Call Detail Records
SNMP/MIBs
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 3

Why UC Manager Interfaces?

ƒ Focus point of Cisco’s UC portfolio


We’re right in the middle of the (inter)action

ƒ 50,000 customers globally


ƒ 18M endpoints deployed worldwide
ƒ 26% enterprise telephony market share
ƒ Enabling developer partners is our priority

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 4

© 2006, Cisco Systems, Inc. All rights reserved. 2


Presentation_ID.scr
UC Manager: The Platform for
Collaborative Communications
Interoperability and
Collaboration System (IPICS) Unified Mobile
Communicator
Cisco MeetingPlace: Sametime
Collaboration (or MOC) Client

Unified Personal
Communicator

UC Manager

Cisco Unity
Cisco TelePresence
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 5

UC Manager Interface Types

ƒ Interaction Framework—contains a greater number of


UC Manager functions and events so the developer has
more control over the interaction
Administrative XML, CTI-TAPI, CTI-JTAPI
ƒ Macro APIs—provides the developer with quick easy
methods to invoke UC Manager features while
abstracting granular details
Extension Mobility API, WebDialer
ƒ Serviceability APIs—real-time information feeds that
provide monitoring applications with system status and
health data
Serviceability XML, Perfmon, real-time device/CTI feed, log
BRKDEV-1091
collection, service control, call detail records, SNMP/MIBs
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 6

© 2006, Cisco Systems, Inc. All rights reserved. 3


Presentation_ID.scr
UC Manager Interfaces

ƒ Standards-based (XML, SOAP, MS TAPI 2.1, Sun


JTAPI 1.2, SNMP v1 and v2)
ƒ Backward compatible
ƒ Easily consumable
ƒ Support for multiple IDEs, languages, and protocols
ƒ Part of the Cisco Developer Community

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 7

Who Are We Looking For?


Cisco Is Looking for Developers Who Create Secure
Solutions That Enable More Effective Communications
That Directly Impact Businesses’ Top and Bottom Line and
Create a More Personal Way of Communicating

Effective Collaborative Open


Eliminate Applications Standards-Based,
Communications That Enable Secure Systems,
Complexity and User-Controlled Built into an
Reach the Right Productivity Intelligent,
Resource the Anywhere, Anytime Integrated Network
First Time with Any Device

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 8

© 2006, Cisco Systems, Inc. All rights reserved. 4


Presentation_ID.scr
Cisco Technology Developer Program
(CTDP)

ƒ Cisco Technology Developer Program—Members who


enhance and unite the comprehensive Cisco
technology portfolio with products that feature verified
interoperability
http://www.cisco.com/web/partners/pr46/tdp/index.html

ƒ Developer services—Developer TAC support for


Cisco’s interfaces
http://www.cisco.com/web/developer/index.html

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 9

Where Do I Get More Information

ƒ What’s available today?


Interface specs, developer guides, and release notes

ƒ What’s coming soon?


More interface specs, more developer guides, information slide
decks, and sample applications (exe and source code)

ƒ Where do I go to get all this information?


Listed by UC Manager release
http://www.cisco.com/en/US/products/sw/voicesw/ps556
/products_programming_reference_guides_list.html

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 10

© 2006, Cisco Systems, Inc. All rights reserved. 5


Presentation_ID.scr
Administrative XML

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 11

Administrative XML Interface (AXL)

ƒ Enables remote provisioning of Cisco Unified


Communication Manager
ƒ Users, devices, lines, gateways, hunt groups, trunks…
literally everything is an object in the UC Manager
database
ƒ XML, SOAP-based
ƒ Each object has attributes
ƒ AXL enables applications to create, read, update, and
delete these objects

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 12

© 2006, Cisco Systems, Inc. All rights reserved. 6


Presentation_ID.scr
Ways to Use AXL

ƒ SOAP methods—fully backward compatible


Add, update, delete
User, device, line, hunt group, trunk, etc.

ƒ Direct SQL—compatibility based on schema changes


ExecuteSQLupdate—DB changes via SQL
ExecuteSQLquery—DB read/query via SQL

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 13

Administrative Sample Applications

ƒ Provisioning—remotely configure UC Manager


Significantly reduce move, add, and change costs
Target: large enterprise, service provider, multisite
API: administrative XML

ƒ Hospitality and healthcare—remotely prepare and


reset guest and patient telephone services (personal
reachability, speed dials, IP phone services/
applications)
Improves customer service
Target: hotel and hospitality
API: administrative XML, extension mobility API

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 14

© 2006, Cisco Systems, Inc. All rights reserved. 7


Presentation_ID.scr
Administrative Sample Applications

ƒ Sales + shift worker environments (e.g., sales offices)—


remotely provision phones to support hot desk seating
Maximizes usable space
Offers users a personalized telephony experience
Target: any free seating or hot desk environment—
large and small enterprises
API: administrative XML, extension mobility API

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 15

Concepts

XML, WSDL, SOAP, etc.

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 16

© 2006, Cisco Systems, Inc. All rights reserved. 8


Presentation_ID.scr
XML

ƒ eXtensible Markup Language


ƒ W3C recommendation
ƒ restricted form of SGML (Standard Generalized Markup
Language, ISO 8879)
ƒ General purpose markup language
ƒ Extensible; individual tags can be defined
ƒ W3C specifies grammar and parsing requirements
ƒ Encode documents and serialize data
ƒ XML 1.0 (4th edition), August 16, 2006
http://www.w3.org/TR/2006/REC-xml-20060816/
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 17

XML, Well-Formed Document

ƒ Document conforms to all syntax rules


ƒ e.g., opening/closing tag for elements
ƒ Not validated against schema
ƒ Example
<person>
<lastname>Krohn</lastname>
<givenname>Johannes</givenname>
</person>

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 18

© 2006, Cisco Systems, Inc. All rights reserved. 9


Presentation_ID.scr
XML, Special Characters

ƒ Some characters can’t be used in XML


ƒ Solution: escape or numerical representation
ƒ Escape
&amp; & ampersand
&lt; < less than
&gt; > greater than
&apos; ´ apostrophe
&quot; “ quotation mark
example: <company>AT&amp;T<company>
ƒ Numerical representation of unicode codepoint
example: ™ = &#x2122;
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 19

XML, Semantics

ƒ Names, hierarchy, meaning of elements, and attributes


defined by schema
ƒ XML schema defined by W3C
ƒ Primer: http://www.w3.org/TR/xmlschema-0/
ƒ Example
<xsd:element name="person" type="PersonType"/>
<xsd:complexType name="PersonType">
<xsd:sequence>
<xsd:element name="lastname" type="xsd:string"/>
<xsd:element name="givenname" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 20

© 2006, Cisco Systems, Inc. All rights reserved. 10


Presentation_ID.scr
SOAP

ƒ Formerly known as “Simple Object Access Protocol“


ƒ W3C specification: http://www.w3.org/TR/soap/
ƒ Exchange of structured and typed information based on
XML; XML infoset
ƒ SOAP specifications defined
SOAP message format
How to send and receive messages
Data encoding

ƒ Can be used for remote procedure calls (RPC)

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 21

SOAP Message
SOAP Message
Envelope
Header (Optional)

Body (Required)
Fault (Optional)

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 22

© 2006, Cisco Systems, Inc. All rights reserved. 11


Presentation_ID.scr
RPC Requirements

ƒ RPC requires:
Address of SOAP node
Procedure/method name
Identities/values of arguments
Output parameters, return values

ƒ Interface/service definition not part of SOAP

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 23

WSDL—Web Services
Definition Language

ƒ W3C: http://www.w3.org/TR/wsdl20/
ƒ XML-based format (grammar) to describe Web services
ƒ Defines four pieces of data
Publicly available methods; interface description, formats
Data type information for requests and responses
Binding; which transport protocol
Address information; where to find the service

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 24

© 2006, Cisco Systems, Inc. All rights reserved. 12


Presentation_ID.scr
WSDL Service Description Elements
Definitions: Root Element

Types: Which Datatypes Are Exchanged?

Message: Which Messages Are Exchanged?

PortType: What Operations/Functions Exist?

Binding: Message Exchange; Soap Specifics

Service: Location of the Service

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 25

WSDL Operation Patterns


One-Way

Client <input> Service

Notification

Client <output> Service

Solicit/Response
<output>
Client Service
<input>
Request/Response
<input>
Client Service
<output>
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 26

© 2006, Cisco Systems, Inc. All rights reserved. 13


Presentation_ID.scr
Administrative XML Configuration API

ƒ Read/modify configuration database


ƒ Methods
list*
add*
update*
get*
remove*

ƒ Includes methods for direct database access


ƒ Service port: https://<server>:8443/axl/

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 27

Administrative XML Versioning

ƒ Abstracts developer from DB schema changes


API methods only, direct SQL does not offer backward
compatibility
ƒ Maintains R-2 backward compatibility
Developers writing to UC Manager 6.1 will not have to make
changes until 8.1
ƒ Developer specifies desired schema version via the
“SOAPAction“ header
e.g., SOAPAction: "CUCM:DB ver=6.0"

ƒ SOAPAction header is mandatory


ƒ Developers must request schema version beginning
with 8.0(1)
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 28

© 2006, Cisco Systems, Inc. All rights reserved. 14


Presentation_ID.scr
Versioning for AXL Methods

ƒ Provides up to 2 years of backward compatibility

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 29

Performance

ƒ Dynamic throttling
ƒ Up to 1500 writes per minute
ƒ Intelligently accepts or rejects requests
ƒ No impact to call processing performance
ƒ Always enabled

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 30

© 2006, Cisco Systems, Inc. All rights reserved. 15


Presentation_ID.scr
Documentation on Cisco.com

ƒ Products, communications manager, configure,


programming guides
ƒ You will get:
AXL programming guide
CDR definitions
JTAPI developer guide
TAPI developer guide
Data dictionary

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 31

API Planning—Methods by Release

ƒ Located in appendix
sections of all
developer guides
ƒ Identifies methods
supported or
modified by release

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 32

© 2006, Cisco Systems, Inc. All rights reserved. 16


Presentation_ID.scr
AXL Documentation on the Server

ƒ Cisco CallManager AXL SQL Toolkit is available in the


plug-in list
ƒ Contains complete schema definition
AXLAPI.wsdl, AXLEnums.xsd, axlmessage.xsd, axlsoap.xsd,
axl.xsd

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 33

Developer Support

ƒ http://www.cisco.com/go/developersupport
ƒ Login
ƒ “Getting Started”
ƒ “Developer Supported Products”
ƒ “AXL SOAP API”
ƒ You will get
Data dictionary
Developers guide
AXL configuration API schema documentation (HTML)

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 34

© 2006, Cisco Systems, Inc. All rights reserved. 17


Presentation_ID.scr
Macro-API:
Extension Mobility
Service API (EM API)

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 35

What Is Extension Mobility?

ƒ An XML/HTTP-based UC Manager service that


dynamically associates device settings and preferences
such as call forward, ring tones, speed dials, and IP
phone applications to a user
ƒ Enables free seating, hot desking environments

Login

IP Phone UC Manager
Logout
User A User: John Bloggs
User A DN: 90001 DN: (352) 555-3344
0 and 911 Access International Access
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 36

© 2006, Cisco Systems, Inc. All rights reserved. 18


Presentation_ID.scr
What Is the Extension Mobility API

ƒ An XML-based HTTP interface that allows applications


to remotely invoke the Extension Mobility feature on
behalf of a user

User A App Server


Checks Provisions Check In
into Hotel Room Phone
UC Manager
Check Out
IP Phone

User: Room 901 User: Luis Gomez


DN: 90001 DN: (352)555-3344
0 and 911 Access Premier Guest
Language Set to
Spanish
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 37

Points to Know

ƒ Extension Mobility (EM) API provides interface for


programmers/third-party applications to perform login
and logout operations
ƒ The EM service handles these API requests
ƒ The EM service can be loaded by the Tomcat Web
server in any UC Manager by activating the “Cisco
Extension Mobility” service
ƒ Programmers can make use of this service, by sending
XML requests (EM API) over HTTP
ƒ Since the EM Service is a Java-based application,
these API requests are platform-independent

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 38

© 2006, Cisco Systems, Inc. All rights reserved. 19


Presentation_ID.scr
EM API Architecture
XML Request XML Response

HTTP Post HTTP Response

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 39

EM API Process

ƒ EM service parses the XML request from application


ƒ Authenticates the user with either database or directory
ƒ Checks the policy to ensure the user is allowed to login
or logout
ƒ Invokes a database request to perform either login or
logout for the user
ƒ If auto-logout is configured, then it schedules a logout
task which will happen after the specified duration

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 40

© 2006, Cisco Systems, Inc. All rights reserved. 20


Presentation_ID.scr
Methods Available

ƒ Login—associates user with device


ƒ Logout—removes user from device
ƒ User Query—returns name of device(s) where a user is
logged in
ƒ Device Query—returns the User ID(s) who are logged
into a device

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 41

Sample Code
Login Request
<request>
<appInfo>
<appID>7975LoginApp</appID>
<appCertificate>password</appCertificate>
</appInfo>
<login>
<deviceName>SEP003094C25B15</deviceName>
<userID>rknotts</userID>
</login>
</request>
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 42

© 2006, Cisco Systems, Inc. All rights reserved. 21


Presentation_ID.scr
Sample Code
Logout Request
<request>
<appInfo>
<appID>7975LoginApp</appID>
<appCertificate>password</appCertificate>
</appInfo>
<logout>
<deviceName>SEP003094C25B15</deviceName
>
</logout>
</request>
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 43

Performance

ƒ Logins are sequential


ƒ Login rates—based on UC Manager 6.0(1) testing
ƒ Cisco MCS-7845—250 sequential login/logout/min—
(14,880 per hour)
ƒ Cisco MCS-7835—235 sequential login/logout/min
ƒ Cisco MCS-7825—200 sequential login/logout/min
ƒ Throttle setting protects CPU resources by limiting the
number of login/logout per minute
ƒ EM returns “System busy, please try later” when throttle
is exceeded

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 44

© 2006, Cisco Systems, Inc. All rights reserved. 22


Presentation_ID.scr
Testing and Troubleshooting

ƒ Configuration checklist
ƒ Trace logging
ƒ Developer services

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 45

API Planning—Methods by Release

ƒ Located in appendix section of XML Developer Guide


ƒ Identifies methods supported or modified by release

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 46

© 2006, Cisco Systems, Inc. All rights reserved. 23


Presentation_ID.scr
Documentation

ƒ Extension Mobility API information is found in chapter 3


of the Cisco Unified Communication Manager XML
Developer’s Guide
ƒ Located here:
http://www.cisco.com/en/US/products/sw/voicesw/ps55
6/products_programming_reference_guides_list.html

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 47

Administration APIs
Q and A

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 48

© 2006, Cisco Systems, Inc. All rights reserved. 24


Presentation_ID.scr
Cisco Call Control and
Device Monitoring

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 49

Cisco TAPI—Telephone Service Provider


ƒ Provides First-Party Call Control (1PCC)
Perfect fit for desktop soft phones and server-based IVR applications

ƒ Provides Third-Party Call Control (3PCC)


Perfect fit for server or desktop applications that perform screen pops
for incoming calls and click-to-connect from Windows applications

ƒ Provides ability to interact with Media Layer


Allows applications to terminate media, play announcements,
record calls
Cisco TAPI provides a Wave Driver that allows 1PCC applications to
easily interact with call audio using standard Windows sound APIs

ƒ Programming in C and C++


ƒ Conforms to Microsoft TAPI 2.1 standard
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 50

© 2006, Cisco Systems, Inc. All rights reserved. 25


Presentation_ID.scr
Cisco JTAPI

ƒ Provides First-Party Call Control


Perfect fit for desktop softphones and server-based IVR
applications

ƒ Provides Third-Party Call Control


Perfect fit for server or desktop applications that perform screen
pops for incoming calls and click-to-connect from Windows
applications

ƒ Provides all the hooks necessary to integrate with


standard or custom RTP libraries (for example: Java
Media Framework), but does not provide a specific
audio implementation
ƒ Conforms to Sun JTAPI 1.2 standard
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 51

TAPI and JTAPI in the Enterprise

ƒ Presence-based routing—combine user availability,


location, and preferences to render a uniquely tailored
UC experience
e.g., single number reach—find me, follow me, hide me

ƒ Financial specialist soft phone—Combine market data,


business logic, and call control in a browser-based
application to enable brokers and analysts to respond
to rapid changes in today’s global financial markets
ƒ Healthcare consoles—Combine call control, doctor/
patient lookup, and emergency response team paging
into a browser-based console

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 52

© 2006, Cisco Systems, Inc. All rights reserved. 26


Presentation_ID.scr
TAPI and JTAPI in the Enterprise

ƒ Hospitality—link caller data with POS systems to


automate room or restaurant reservations, dispatch
taxis, schedule wake-up calls, and more
ƒ Self-service—Collect caller information to provide
automated services across a variety of devices
ƒ But wait, there’s more…

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 53

TAPI and JTAPI in the Contact Center

ƒ Intelligent contact routing—application monitors the


status of devices and issues routing instructions to
send calls to the right place at the right time
Call intercept, virtual hold

ƒ Call recording and analytics—application monitors the


status of devices and issues start/stop recording
instructions while retrieving call statistics for analysis
ƒ Desktop productivity—screen pop calls into CRM
applications, automated scripting, and remote call
control

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 54

© 2006, Cisco Systems, Inc. All rights reserved. 27


Presentation_ID.scr
Cisco TAPI and
Wave Driver

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 55

Cisco TSP Components

ƒ CiscoTsp001.tsp—TAPI service implementation


provided by Cisco TSP
ƒ CTIQBE over TCP/IP—Cisco protocol used to monitor
and control devices and lines
ƒ CTI Manager Service—manages CTI resources and
connections to devices; exposed to third-party
applications via Cisco TSP and/or JTAPI API

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 56

© 2006, Cisco Systems, Inc. All rights reserved. 28


Presentation_ID.scr
TAPI/TSP Architecture
Telephony Application Server/PC UC Manager Server

TAPI
TAPIApp.exe Tapi32.dll/
Tapi3.dll CTI Manager Service

TAPISRV.EXE Private RPC


Interface CTIQBE
over TCP/IP
TSPI

CiscoTsp001.tsp
Skinny Station
Protocol (TCP)

Stations
RTP “Packet Bus”

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 57

Basic Telephony APIs Supported

ƒ lineAccept—accepts the specified offered call


ƒ lineAnswer—answers the specified offering call
ƒ lineSetupConference—sets up a conference call for the
addition of the third party
ƒ linePrepareAddToConference—prepares an existing
conference call for the addition of another party
ƒ lineAddToConference—adds the call specified by
hConsultCall to the conference call

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 58

© 2006, Cisco Systems, Inc. All rights reserved. 29


Presentation_ID.scr
Basic Telephony APIs Supported

ƒ lineSetupTransfer—initiates a transfer and creates a


consultation call
ƒ lineCompleteTransfer—completes the transfer of
the specified call to the party connected in the
consultation call
ƒ lineBlindTransfer—performs a blind or single-step
transfer of the specified call to the specified destination
address
ƒ lineHold—places the specified call on hold
ƒ lineUnhold—retrieves the specified held call

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 59

How to Write a TAPI Application

ƒ Microsoft has defined some basic APIs which can be


invoked/supported from application code
ƒ All Microsoft defined APIs that can be used from the
TAPI applications are declared in TAPI.H file
ƒ TAPI.H file is a standard library file which will be
coming along with the VC++/VS2005 installation;
e.g., C:\Program Files\Microsoft Visual
Studio\VC98\Include\TAPI.H
ƒ To use any specific API which is added/provided by
CiscoTSP, application needs to invoke that API by
using LineDevSpecific API

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 60

© 2006, Cisco Systems, Inc. All rights reserved. 30


Presentation_ID.scr
Simple TAPI Application
#include <tapi.h>
#include <string>
#include "StdAfx.h"
class TapiLineApp {
LINEINITIALIZEEXPARAMS mLineInitializeExParams;//was declared in TAPI.h files
HLINEAPP mhLineApp;
DWORD mdwNumDevs;
DWORD dwAPIVersion = 0x20005

public:
// App Initialization
// Note hInstance can be NULL
// appstr – value can be given the app name “test program”
bool TapiLineApp::LineInitializeEx(HINSTANCE hInstance, std::string appStr)
{
unsigned long lReturn = 0;
mLineInitializeExParams.dwTotalSize = sizeof(mLineInitializeExParams);
mLineInitializeExParams.dwOptions = LINEINITIALIZEEXOPTION_USEEVENT;
lReturn = lineInitializeEx (&mhLineApp, hInstance, NULL, appStr.c_str), &mdwNumDevs,&dwAPIVersion,&LineInitializeExParams);
if ( lReturn == 0 ) {
return true;
}
else {
return false;
}
}
//App shutdown
bool TapiLineApp::LineShutdown()
{
return ! (lineShutdown (mhLineApp));
}
};
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 61

A TAPI Application—TAPI Browser

ƒ TAPI browser is a TAPI debugging application


ƒ TAPI browser can be obtained from the Microsoft
MSDN Website
(ftp://ftp.microsoft.com/developr/TAPI/tb20.zip)
ƒ TAPI browser can be used to initialize TAPI, for use by
TAPI developers to test their TAPI implementation and
to verify that the TSP is operational

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 62

© 2006, Cisco Systems, Inc. All rights reserved. 31


Presentation_ID.scr
Basic Call Using TAPI Browser
A Calls B
A B
lineInitialize
openAllLines or openLine
(Select a Line Which Is Opened)
lineMakeCall
(lpszDestAddress—Parameter
Should Be Specified with
Destination DN of Phone B)
lineAccept
lineAnswer
(Connected) (Connected)

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 63

Cisco Wave Drivers

ƒ Cisco TSP can be configured to provide either First or


Third-Party Call Control
ƒ In First-Party Call Control, the audio stream is
terminated by the application; ordinarily, this is done
using the Cisco Wave Driver
ƒ AVAudio32.dll implements the wave interfaces for the
Cisco Wave Drivers
ƒ In Third-Party Call Control, the audio stream
termination is done by the actual physical device like
an IP phone or a group of IP phones for which your
application is responsible

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 64

© 2006, Cisco Systems, Inc. All rights reserved. 32


Presentation_ID.scr
Cisco TSP/Wave Driver Architecture
TAPI Application

Telephony Service WinMM.DLL

Cisco TSP AVAudio32.DLL

NTWave.DLL

“Wave Portion”

TDI

Wave Driver

Windows OS Kernel
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 65

Configure Cisco TSP

Start Æ Settings Æ Control Panel Æ Phone and Modem


Options Æ Advanced Tab
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 66

© 2006, Cisco Systems, Inc. All rights reserved. 33


Presentation_ID.scr
Trace Settings and Troubleshooting
ƒ After installation of CiscoTSP.exe, trace settings can be
configured by the following process
ƒ Go to Start Æ Settings Æ Control Panel and select Phone
and Modem Options
ƒ Go to Advanced tab; select CiscoTSP0XX and click
Configure
ƒ Go to Trace tab; select Trace On check box and select the
following:
TSP Trace to trace the TSP internal messages
Error—to just log errors in the TSP
Detailed—to log internal messages for debugging purpose
ƒ CTI Trace to trace the messages sent between CTI and TSP
ƒ TSP Trace to trace the requests and events sent between
TSP and TAPI
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 67

Trace Settings and Troubleshooting

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 68

© 2006, Cisco Systems, Inc. All rights reserved. 34


Presentation_ID.scr
API Planning—Methods by Release

ƒ Found in Appendix of TAPI Developer Guide

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 69

Cisco TSP Developer Guide

ƒ TAPI/TSP Developer Guide—provides Overview,


What’s New and Changed, and interface details
Includes list of CTI-supported devices

ƒ TSP Developer Guide for various releases of Unified


CM can be found in the below link
ƒ http://www.cisco.com/en/US/products/sw/voicesw/ps55
6/products_programming_reference_guides_list.html

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 70

© 2006, Cisco Systems, Inc. All rights reserved. 35


Presentation_ID.scr
Cisco JTAPI

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 71

Cisco JTAPI Overview


What Is Cisco JTAPI?
ƒ JTAPI is a programming interface standard developed
by Sun Microsystems for use with Java-based
computer-telephony applications
ƒ Cisco JTAPI implements Sun’s JTAPI 1.2 specification,
with additional Cisco specific extensions
ƒ Used to develop applications capable of controlling and
observing Cisco Unified CM phones or applications
capable of call routing with CTI ports and route points
(virtual devices)

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 72

© 2006, Cisco Systems, Inc. All rights reserved. 36


Presentation_ID.scr
Cisco JTAPI Overview
Call Model
Provider

Call

Connection Connection

Address Address
1002 1000
Terminal Terminal Terminal
Connection Connection Connection

Terminal
SEPGHI Terminal Terminal
SEPABC SEPDEF

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 73

Cisco JTAPI Overview


JTAPI Application Flow
ƒ Obtain JTAPIPeer object instance from
JTAPIPeerFactory
ƒ Obtain a Provider, using the getProvider() API on
JTAPIPeer
ƒ Obtain from the provider, the terminal, and address for
use in your application
ƒ Determine capabilities of relevant objects
ƒ Add observers for the objects, application wishes to
monitor/control
ƒ Begin application flow (e.g., begin calls)

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 74

© 2006, Cisco Systems, Inc. All rights reserved. 37


Presentation_ID.scr
Simple JTAPI Application
public void getProvider () {
try {
JtapiPeer peer = JtapiPeerFactory.getJtapiPeer ( null );
System.out.println ("Got peer "+peer);
Provider provider = peer.getProvider(“cti-server;login=username;passwd=pass");
System.out.println ("Got provider "+provider);
MyProviderObserver providerObserver = new MyProviderObserver ();
provider.addObserver(providerObserver);
while (outOfService ) {
Thread.sleep(500);
}
System.out.println ("Provider is now in service");
Address[] addresses = provider.getAddresses();
System.out.println ("Found "+ addresses.length +" addresses");
for(int i=0; i< addresses.length; i++){
System.out.println(addresses[i]);
}
provider.shutdown();
} catch (Exception e){
}

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 75

Basic Telephony APIs Supported


ƒ connect()—API on CiscoCall to place a call from
originating endpoint to a destination address string
ƒ answer()—API on TerminalConnection to answer the
incoming call on this TerminalConnection
ƒ redirect()—API on CiscoConnection to redirect an
incoming telephone call at an address to another
telephone address
ƒ transfer(Call otherCall)—API on CiscoCall which takes
otherCall, which could be either consult call or just another
call on same device, as input to complete transfer
ƒ transfer(String destination)—API on CiscoCall to complete
a blind transfer to destination
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 76

© 2006, Cisco Systems, Inc. All rights reserved. 38


Presentation_ID.scr
Basic Telephony APIs Supported

ƒ Conference (Call otherCall)—API on CiscoCall which


take otherCall, which could be either consult call or just
another call on same device, as input to join together in
single conference
ƒ Conference(Call[] otherCalls)—API on CiscoCall which
take list of otherCalls and join them together in single
conference call
ƒ Hold()—API on TerminalConnection which allows
application to put the call on hold

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 77

Cisco JTAPI Sample Applications


JTrace and MakeCall Sample Apps
ƒ JTrace—displays events delivered to applications,
for address DN1 and DN2
Usage: java jtrace.JTrace <IPAddress> <userid>
<password> <DN1> <DN2>
ƒ MakeCall—to make call between two devices with an
action delay of 1000 msecs until terminated
ƒ Usage: java makecall <server name> <login>
<password> 1000 <DN1> <DN2>

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 78

© 2006, Cisco Systems, Inc. All rights reserved. 39


Presentation_ID.scr
Trace Settings and Troubleshooting
JTAPI Preferences
ƒ The JTPrefs application allows you to enable or disable
various kinds of tracing
ƒ To turn on JTAPI traces run JTPrefs, and in JTAPI
Tracing tab, select all the trace levels
ƒ Trace levels defined are:
WARNING—warning events
INFORMATIONAL—status events
DEBUG—debugging events

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 79

Trace Settings and Troubleshooting


JTAPI Preferences
ƒ If DEBUG is enabled, JTPREFS allows you to
enable/disable various debugging levels
ƒ JTAPI_DEBUGGING—to trace JTAPI methods and events
ƒ JTAPI_IMPLDEBUGGING—internal JTAPI implementation
trace
ƒ CTI_DEBUGGING—to trace Unified CM events sent to
JTAPI implementation
ƒ CTIIMPL_DEBUGGING—internal CTICLIENT
implementation trace
ƒ PROTOCOL_DEBUGGING—full CTI protocol decoding
ƒ MISC_DEBUGGING—miscellaneous low-level debug trace

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 80

© 2006, Cisco Systems, Inc. All rights reserved. 40


Presentation_ID.scr
Trace Settings and Troubleshooting

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 81

API Planning—Methods by Release

ƒ Found in Appendix of JTAPI Developer Guide

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 82

© 2006, Cisco Systems, Inc. All rights reserved. 41


Presentation_ID.scr
Cisco JTAPI Developer Guides

ƒ JTAPI Developer Guide—provides Overview,


What’s New and Changed, and interface details
Includes list of CTI-supported devices

ƒ JavaDocs—illustrates in-depth object, attribute, and


connection relationship for all interface methods
ƒ Located here:
http://www.cisco.com/en/US/products/sw/voicesw/ps55
6/products_programming_reference_guides_list.html

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 83

Macro-API:
Cisco WebDialer

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 84

© 2006, Cisco Systems, Inc. All rights reserved. 42


Presentation_ID.scr
What Is WebDialer?

ƒ A UC Manager service responsible for processing


MakeCall requests on behalf of SOAP and HTTP-
based applications
ƒ Efficiently uses CTI resources
ƒ Limited to MakeCall; other functions such as hold,
transfer, conference, etc. are not supported (use CTI,
TAPI, JTAPI)
ƒ Classified as a macro-API because the developer is
abstracted from many of the details compared to
standard CTI (TAPI, JTAPI)

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 85

Web-Based Applications
ƒ Enables click-to-
dial functionality
from Web-based
applications
ƒ Here is an
example of a
WebDialer-
enabled directory

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 86

© 2006, Cisco Systems, Inc. All rights reserved. 43


Presentation_ID.scr
SOAP-Based Applications
ƒ Enables click-to-
dial functionality
from SOAP-based
applications
ƒ Here is an
example of an
Outlook plug-in a
partner created
ƒ Even Web-based
applications like
widgets can
leverage
WebDialer SOAP
methods
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 87

HTTP vs. SOAP—


Which Should You Choose?

ƒ HTTP WebDialer applications


Server-based
Minimal code work
Uses WebDialer UI—WebDialer has more control of user
experience

ƒ SOAP WebDialer applications


Server or desktop-based
Client is responsible for capturing user credentials,
UC Manager server, preferred device, and preferred line
Better control of user experience

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 88

© 2006, Cisco Systems, Inc. All rights reserved. 44


Presentation_ID.scr
Architecture
Web Dialer and Redirector Browser
Service
HTTP
HTTPS Interface
Tomcat

Web Dialer and


SOAP Service
Redirector Servlet Requester
SOAP
over
WSDL Doc HTTPS Third-
Party App
CTI
Manager

UCM
DB CUCM CUCM Connect/End Call
Subscriber Subscriber
User Phone
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 89

SOAP WebDialer Methods

ƒ 5.1 onwards SOAP is over HTTPS (SSL) instead of the


earlier HTTP
SOAP over HTTPS Interface
ƒ makeCallSoap—issues MakeCall request using user or
proxy credentials
ƒ endCallSoap—drops outgoing call in progress
ƒ getProfileSoap—gets user device Info
ƒ getProfileDetailedSoap—gets even more user
device info
ƒ isClusterUserSOAP—determines user’s home cluster

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 90

© 2006, Cisco Systems, Inc. All rights reserved. 45


Presentation_ID.scr
HTTP WebDialer Methods

ƒ makeCall—issues MakeCall request with user


credentials
ƒ makeCallProxy—issues MakeCall request with proxy
credentials
ƒ Remaining actions are invoked using the WebDialer UI

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 91

API Planning—Methods by Release

ƒ Found in appendix of XML Developer Guide

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 92

© 2006, Cisco Systems, Inc. All rights reserved. 46


Presentation_ID.scr
Documentation

ƒ WebDialer information is found in chapter 4 of the


Cisco Unified Communication Manager XML
Developer’s Guide
ƒ Located here:
http://www.cisco.com/en/US/products/sw/voicesw/ps55
6/products_programming_reference_guides_list.html

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 93

Call Control and


Device Monitoring
Q and A

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 94

© 2006, Cisco Systems, Inc. All rights reserved. 47


Presentation_ID.scr
Serviceability APIs

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 95

Serviceability Interfaces

ƒ A collection of services and tools designed to monitor,


diagnose, and address issues specific to Cisco Unified
Communications Manager (UC Manager)
ƒ Performance Monitoring (Perfmon)—provides real-time
event feeds to monitor status and health of Cisco
Unified Communication Manager Hardware and
Software
ƒ Real-time device/CTI feed—provides real-time device
registration status including CTI application connections
to the device
ƒ Service control—enables remote control of UC
Manager services
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 96

© 2006, Cisco Systems, Inc. All rights reserved. 48


Presentation_ID.scr
Serviceability Interfaces

ƒ Log collection—collects and packages UC Manager


trace files and logs for troubleshooting and analysis
ƒ Call Detail Record on Demand—provides applications
with CDR files based on search criteria
ƒ SNMP/MIBs—provides management consoles with
SNMP/Trap events specific to Cisco UC Manager and
Cisco MCS hardware

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 97

Serviceability Interfaces for Unified CM


1. SNMP/MIB/Traps
2. Syslog
Service App
3. Serviceability SOAP API
4. Perfmon counters

Serviceability
SOAP API
Op SOA
SNMP

era P
SNMP Agent ti o
ns
and MIBs Perfmon Counters

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 98

© 2006, Cisco Systems, Inc. All rights reserved. 49


Presentation_ID.scr
Serviceability Applications

ƒ Intelligent System Monitoring—apply business logic


and alarm rules to real-time device, application, and
hardware metrics to proactively monitor Cisco UC
ƒ Call Accounting—use Cisco’s Call Detail Record on
Demand to pull call data into call accounting systems
ƒ Command and Control Consoles—trap hardware and
software thresholds, programmatically enable, disable,
or restart processes across the network, report issues
ƒ Performance Analytics—store and analyze the status
and health of Cisco UC Manager as the organization
grows and call rates increase to accurately forecast and
budget timely software upgrades and hardware
replacements
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 99

Serviceability Sample App


Inventory and Capacity Reporting
E-Mail

The Inventory
Could Be:
SN Log
Sy

1. Phones
MP
s

2. Gateways, ports
3. Media resources: 1. Track device location
conf. bridge, MOH 2. Calculate and analyze current capacity
resources, MTP, 3. Compare with a predefined threshold
and so on 4. Decide if the capacity under/overused
5. Send out alerts
4. Bandwidth across
locations/regions
5. System resources
(CPU, mem., and so
on) against the PSTN
V

planned capacity
BRKDEV-1091
WAN
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 100

© 2006, Cisco Systems, Inc. All rights reserved. 50


Presentation_ID.scr
Serviceability APIs

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 101

Serviceability SOAP APIs


Cisco Serviceability SOAP Includes:
ƒ Access Perfmon Counters
ƒ Query Device Information (CTI, CCM, and GWs)
ƒ Log Collection Service
ƒ CDR on Demand Service
ƒ Control Center Service
SOAP Client Can Run on Different OS Serviceability
Backend

SOAP An Extensible
Client
SOAP SOAP-Based XML
Web Service

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 102

© 2006, Cisco Systems, Inc. All rights reserved. 51


Presentation_ID.scr
Serviceability XML

ƒ SOAP-based—same as Administrative XML


ƒ Follows standard: http://www.w3.org/TR/SOAP/
ƒ Cisco provided WSDL
ƒ Follows WSDL standard: http://www.w3.org/TR/wsdl12/

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 103

Performance Monitoring (Perfmon)

ƒ Allow clients to perform the following tasks


Collect Perfmon counter data
Session-based and single transaction
Retrieve a list of all Perfmon objects and counter names
installed on a particular host
Retrieve a list of the current instances of a Perfmon object
Retrieve textual description of a Perfmon counter

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 104

© 2006, Cisco Systems, Inc. All rights reserved. 52


Presentation_ID.scr
Windows vs. Linux
Performance Monitoring

ƒ Unified Communication Manager 4.x runs on a


Windows Server Operating System
ƒ Additional Perfmon counters specific to Windows
Server can be found on the Microsoft Website
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/perfmon/base/performance_objects_and_counters.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/perfmon/base/performance_data.asp

ƒ Unified Communication Manager 5.0 (and later) runs on


a Linux-based appliance model; access to performance
data is provided through the Perfmon port

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 105

Performance Monitoring (Perfmon)

ƒ Appliance model Perfmon data uses


session-based APIs
ƒ Operations supported:
Perfmon Open Session
Perfmon Add Counter
Perfmon Remove Counter
Perfmon Collect Session Data
Perfmon Close Session

ƒ A session handle is needed by the client to collect


session-based Perfmon counter data; the session
handle is a unique identifier, used only once
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 106

© 2006, Cisco Systems, Inc. All rights reserved. 53


Presentation_ID.scr
Sample Perfmon List Counter—
REQUEST

ƒ Returns the list of Perfmon objects and counters in a


particular host
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<q1:PerfmonListCounter
xmlns:q1="http://schemas.cisco.com/ast/soap/">
<Host xsi:type="xsd:string">nozomi</Host>
</q1:PerfmonListCounter>
</soap:Body>
</soap:Envelope>
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 107

Sample Perfmon List Counter—


RESPONSE
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:PerfmonListCounterResponse xmlns:m="http://schemas.cisco.com/ast/soap/">
<ArrayOfObjectInfo SOAP-ENC:arrayType="m:ObjectInfoType[]">
<ObjectInfo>
<Name>.NET CLR Memory</Name>
<MultiInstance>true</MultiInstance>
<ArrayOfCounter SOAP-ENC:arrayType="m:CounterType[]">
<Counter>
<Name># Gen 0 Collections</Name>
</Counter>
<Counter>
<Name># Gen 1 Collections</Name>
</Counter>
</ArrayOfCounter>
</ObjectInfo>
</ArrayOfObjectInfo>
</m:PerfmonListCounterResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 108

© 2006, Cisco Systems, Inc. All rights reserved. 54


Presentation_ID.scr
Sample Perfmon List Instance—
REQUEST

ƒ Returns the most recent list of instances in a


particular host
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<q1:PerfmonListInstance
xmlns:q1="http://schemas.cisco.com/ast/soap/">
<Host xsi:type="xsd:string">nozomi</Host>
<Object xsi:type="xsd:string">Process</Object>
</q1:PerfmonListInstance>
</soap:Body>
</soap:Envelope>
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 109

Sample Perfmon List Instance—


RESPONSE
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:PerfmonListInstanceResponse xmlns:m="http://schemas.cisco.com/ast/soap/">
<ArrayOfInstance SOAP-ENC:arrayType="m:InstanceType[]">
<Instance>
<Name>Idle</Name>
</Instance>
<Instance>
<Name>System</Name>
</Instance>
<Instance>
<Name>SMSS</Name>
</Instance>
<Instance>
<Name>CSRSS</Name>
</Instance>
<Instance>
<Name>WINLOGON</Name>
</Instance>
<Instance>
<Name>SERVICES</Name>
</Instance>
<Instance>
<Name>_Total</Name>
</Instance>
</ArrayOfInstance>
</m:PerfmonListInstanceResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 110

© 2006, Cisco Systems, Inc. All rights reserved. 55


Presentation_ID.scr
Sample Perfmon Query Counter—
REQUEST

ƒ Returns the help text of a particular counter


<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<q1:PerfmonQueryCounterDescription
xmlns:q1="http://schemas.cisco.com/ast/soap/">
<Counter xsi:type="xsd:string">\\nozomi\Server\Files Open
</Counter>
</q1:PerfmonQueryCounterDescription>
</soap:Body>
</soap:Envelope>
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 111

Sample Perfmon Query Counter—


RESPONSE

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>


<SOAP-ENV:Envelope SOAP-
ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:PerfmonQueryCounterDescriptionResponse
xmlns:m="http://schemas.cisco.com/ast/soap/">
<HelpText>The number of files currently opened in the
server. Indicates current server activity.
</HelpText>
</m:PerfmonQueryCounterDescriptionResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 112

© 2006, Cisco Systems, Inc. All rights reserved. 56


Presentation_ID.scr
Real-Time Information Port (RisPort)

ƒ Query real-time information for devices


selectCmDevice—used for device-related queries
e.g., status: registered/unregistered, on/off hook, etc.

ƒ Query real-time information for CTI applications


selectCtiItem—used for CTI Manager queries
e.g., devices open/closed, lines open/closed, number of
associations, etc.

ƒ getServerInfo—retrieves Operating System and


application information
ƒ Code samples are included in chapter 2 of the XML
Developer Guide
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 113

Control Center APIs

ƒ Supports remote service deployment, undeployment,


start, stop, and list operations
ƒ soapGetStaticServiceList—returns array of service
static specifications, including:
Service name
Type (servlet or service)
Deployable or undeployable service
Group name
Dependent services
ƒ soapGetServiceStatus—returns status for service(s)
queried; returns status of all services by requesting an
empty list of services
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 114

© 2006, Cisco Systems, Inc. All rights reserved. 57


Presentation_ID.scr
Control Center Services

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 115

Control Center APIs


ƒ soapDoServiceDeployment—used to deploy or undeploy services
with the deployable attribute set to true in the response; does not
allow clients to deploy or undeploy an empty list of services
ƒ soapDoControlServices—used to start or stop a list of services;
empty lists of services can not be used with this method; also, the
following services are core services which can not be stopped:
A Red Hat DB
Cisco Tomcat
Cisco Database Layer Monitor
Cisco Unified Communications Manager Serviceability
Cisco SOAP—Real-Time Service APIs
Cisco SOAP—Performance Monitoring APIs
Cisco SOAP—Log Collection APIs

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 116

© 2006, Cisco Systems, Inc. All rights reserved. 58


Presentation_ID.scr
Control Center APIs
ƒ getProductInformationList—returns product information,
including:
Active server version, primary node name, secondary node (if any)
Array of installed products (including):
Product name, product version, product description, product ID,
and short name for the product
Array of product service specification (including):
Service name, service type, deployable value, group name,
product ID, array of dependent services (if any)

ƒ For each server in the cluster, clients are expected to send


one request to get all the above information; the system
requires clients to send this request only once during
initialization

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 117

Log Collection Remote Access

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 118

© 2006, Cisco Systems, Inc. All rights reserved. 59


Presentation_ID.scr
Log Collection Port API

ƒ listNodeServiceLogs—returns array of
NodeServiceLogList, including the node names in
the cluster and the lists of service names and system
log names
ƒ selectLogFiles—takes FileSelectionCriteria object as an
input parameter and returns FileSelectionResult; see
FileSelectionCriteria on next slide

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 119

Log Collection Port API


ƒ In FileSelectionCriteria, specify the files that are need by using
these parameters:
LogCollectionService URL:
http://hostname/logcollectionservice/services/LogCollectionPort
Array of service names/system log names for which the files need to be
collected
Username—CMAdministrator
Password—ciscocisco
Frequency—OnDemand
File collection time range—possible values are day, week, hour, minute, month
File collection time value—possible values are 1–100
Time zone—example—"Client:(GMT-8:0)Pacific Standard Time"
Time to wait after sending a request—in milliseconds
Local folder where the files are to copied—Example d:\soaptest
Hostname of the server
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 120

© 2006, Cisco Systems, Inc. All rights reserved. 60


Presentation_ID.scr
File Retrieval

ƒ File Retrieval API runs under a service called


DimeGetFileService
https://host:8443/logcollectionservice/services/
DimeGetFileService

ƒ GetOneFile—takes as an input parameter the absolute


file name of the file requested from the server
ƒ The return value specifies the file name, but the file
name will have an AXIS-specific name; after the file is
downloaded, you must replace it with the actual file
name that you got from the server

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 121

Call Detail Record on Demand Service

ƒ SOAP/HTTPS-based interface
ƒ Allows third-party billing applications or customers to
query the Cisco UC Manager; CDR Repository Node to
retrieve files on demand through the use of two API
calls, get_file_list and get_file
ƒ CDR records are stored as flat files
ƒ CDRs are obtain in a two-step process:
Application requests CDR file lists based on a specific time
interval
Then, it can request specific CDR files from those lists that
are returned via a (s)FTP session

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 122

© 2006, Cisco Systems, Inc. All rights reserved. 61


Presentation_ID.scr
Call Detail Record on Demand Features
ƒ Returns a list of files that match a specified time interval
(get_file_list)
ƒ Returns a specific file that matches a specified filename
(get_file)
ƒ Limit of 1300 file names get returned from the get_file_list API
ƒ Specified time range cannot span over 1 hour
ƒ Service not available during CDR repository file maintenance
window
ƒ CDR files are sent via standard FTP or (s)FTP, which is user
configurable
ƒ get_file can return only one file per request
ƒ Servlet needs to be activated through Service Activation Page
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 123

API Planning—Methods by Release

ƒ Found in Appendix of XML Developer Guide

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 124

© 2006, Cisco Systems, Inc. All rights reserved. 62


Presentation_ID.scr
Documentation

ƒ Service XML is found in Chapter 2 of the Cisco Unified


Communication Manager XML Developer’s Guide
ƒ Located here:
http://www.cisco.com/en/US/products/sw/voicesw/ps55
6/products_programming_reference_guides_list.html

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 125

SNMP/MIBs

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 126

© 2006, Cisco Systems, Inc. All rights reserved. 63


Presentation_ID.scr
Introduction

ƒ SNMP interface allows external applications to query


and report various UC Manager entities
ƒ Provides information on the connectivity of the Unified
Communication Manager to other devices in the
network, including syslog information
ƒ Support for SNMP v1, v2c, and v3
ƒ Start/stop master agent and individual subagents
ƒ Trace settings for individual subagents

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 127

SNMP Architecture
SNMP Application

SNMP Packets
SNMP Master Agent SNMP Manager
Listens on Port 161 Talks to SNMP/R
and Forwards Master Agent on
SNMP Packets to SNMP Manager Each Node
Appropriate Agents SNMP Packets

SNMP/R Master Agent CDP Agent


Syslog Agent

Native Agent Adapter


CCM Agent
Sysappl
SysApplAgent
Agent
MIB2 Agent
Platform (HP/IBM/Dell)
Host Resource Agent MIB Agents
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 128

© 2006, Cisco Systems, Inc. All rights reserved. 64


Presentation_ID.scr
MIBS Supported

ƒ Cisco-CCM-MIB, CISCO-CDP-MIB, Cisco-syslog-MIB


ƒ Standard MIBs
MIB II, SYSAPPL-MIB, HOST RESOURCES-MIB

ƒ Vendor MIBs (HP/IBM/Dell)


Vendor MIBs provide hardware information specific to the
platform
For a list of hardware specific MIBs, refer to:
http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/compat
/cmmibcmp.xls

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 129

CUCM SNMP Interfaces ƒ Cisco CallManager failed


ƒ Interface status, IP address ƒ Phone failed
Service ƒ Phones status update
ƒ Applications installed info
ƒ RAM, hard disk
Application ƒ Gateway failed
ƒ Virtual memory usage ƒ Media resource list
ƒ Interface management exhausted
ƒ Route list exhausted
ƒ Gateway Layer 2 change
SNMP Master Agent ƒ Quality report
ƒ Malicious call
ƒ Syslog generated
SNMP/R Agent Note: Configured via
ƒ SYSAPPL-MIB CCM Agent serviceability Webpages
ƒ HOST-RESOURCES-MIB ƒ CISCO-CCM-MIB
ƒ RFC1213-MIB ƒ CISCO-SYSLOG-
ƒ IF-MIB MIB Traps/Informs

Vendor H/W Agent


ƒ IBM-SYSTEM-LMSENSOR
ƒ IBM-SYSTEM-POWER
ƒ Fan failure ƒ IBM-SYSTEM-RAID
ƒ Power supply ƒ IBM-SYSTEM-xxx-MIB
ƒ Temperature Hardware Traps
ƒ CUP utilization ƒ CPQ-xxx-MIB (HP)
ƒ CPQHEALTH (HP)
ƒ MIB-DELL-10892

Syslog Provided by Vendors


BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 130

© 2006, Cisco Systems, Inc. All rights reserved. 65


Presentation_ID.scr
MIB Browser

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 131

CISCO-CCM-MIB Overview

ƒ Information on devices Cisco CallManager is


communicating with
For example, phones, gateways, H.323 devices, etc.;
information includes IP Address, DeviceName, MAC,
registration status, etc.
ƒ SNMP notifications (trap/inform)
For example, ccmMaliciousCall, ccmGatewayFailed,
ccmRouteListExhausted, etc.
ƒ Scalar objects
ccmRegisteredPhones—returns number of phones that are
registered and actively communicating with the local UC
Manager
ccmRejectedPhones—returns number of phones whose
registration requests were rejected by the local UC Manager
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 132

© 2006, Cisco Systems, Inc. All rights reserved. 66


Presentation_ID.scr
SNMP—CISCO-CCM-MIB (Phone)

ƒ ccmRegisteredGateways—number of gateways that


are registered and actively communicating with the
local UC Manager
ƒ ccmCallManagerStartTime—last time the local UC
Manager service started; this is available only when the
local UC Manager is running

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 133

SNMP—CISCO-CCM-MIB (Phone)

ƒ Phone tables/notifications
ccmPhoneTable—contains complete list of phones.
ccmPhoneExtnTable—contains extension numbers for the
phones in ccmPhoneTable
ccmPhoneStatusUpdateTable—contains list of phones with
recent status changes (configurable based on time)
ccmPhoneStatusUpdate—phone status updates

ƒ There are more phone related information in CISCO-


CCM-MIB; for complete information go to:
http://www.cisco.com/go/mibs

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 134

© 2006, Cisco Systems, Inc. All rights reserved. 67


Presentation_ID.scr
SNMP—CISCO-CCM-MIB (Phone)
snmpbulkwalk -c public -v2c 10.77.31.30 1.3.6.1.4.1.9.9.156.1.2

SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.2.36 = Hex-STRING: 00 00 11 11 00 24
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.2.51 = Hex-STRING: 00 00 11 11 00 07
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.2.52 = Hex-STRING: 00 00 11 11 00 1F
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.2.53 = Hex-STRING: 00 00 11 11 00 1D
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.4.36 = STRING: "Auto 1035"
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.4.51 = STRING: "Auto 1006"
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.4.52 = STRING: "Auto 1030"
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.4.53 = STRING: "Auto 1028"
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.5.36 = ""
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.5.51 = ""
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.5.52 = ""
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.5.53 = ""
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.6.36 = IpAddress: 10.77.31.13
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.6.51 = IpAddress: 10.77.31.13
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.6.52 = IpAddress: 10.77.31.13
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.6.53 = IpAddress: 10.77.31.13
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.8.36 = Hex-STRING: 07 D8 03 1B 0E 0E 1D 00 2B 05 1E
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.8.51 = Hex-STRING: 07 D8 03 1B 0E 0E 13 00 2B 05 1E
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.8.52 = Hex-STRING: 07 D8 03 1B 0E 0E 13 00 2B 05 1E
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.8.53 = Hex-STRING: 07 D8 03 1B 0E 0E 13 00 2B 05 1E
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.10.36 = STRING: "P00303010102"
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.10.51 = STRING: "P00303010102"
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.10.52 = STRING: "P00303010102"
SNMPv2-SMI::enterprises.9.9.156.1.2.1.1.10.53 = STRING: "P00303010102"

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 135

SNMP—CISCO SYSLOG MIB

ƒ Any syslog message can be sent out as trap


ƒ Includes ability to monitor events generated by
multiple hardware vendors (IBM, HP, Dell)
ƒ Remote configuration across distributed SNMP
topologies
ƒ Ability to generate traps based on severity and
string matches
e.g., severity of syslog message to trigger trap

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 136

© 2006, Cisco Systems, Inc. All rights reserved. 68


Presentation_ID.scr
CISCO-SYSLOG-MIB Subagent
Architecture

System/Kernel
Generates
A Syslogs
L
A

Service Application
R Notification
S
M
E
CCM Local
R Cisco SNMP/R
I Syslog Master
V Syslog MIB
CTI N Daemon Agent
I Sub-Agent
T
C
E
E CEF
R
S Syslogs
F Any
A Application
C Generating
E Syslog

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 137

SNMP—CISCO SYSLOG MIB

snmpbulkwalk -c public -v2c 10.77.31.30


1.3.6.1.4.1.9.9.41

SNMPv2-SMI::enterprises.9.9.41.1.1.1.0 = Counter32: 10042


SNMPv2-SMI::enterprises.9.9.41.1.1.2.0 = INTEGER: 1
SNMPv2-SMI::enterprises.9.9.41.1.1.3.0 = INTEGER: 5
SNMPv2-SMI::enterprises.9.9.41.1.1.4.0 = Counter32: 12086
SNMPv2-SMI::enterprises.9.9.41.1.1.5.0 = Counter32: 0

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 138

© 2006, Cisco Systems, Inc. All rights reserved. 69


Presentation_ID.scr
SNMP—CISCO CDP MIB

ƒ Advertises UC Manager to other Cisco devices and


shows interfaces; helps obtain protocol address of
neighboring devices
ƒ CDP subagent integrates with the CDP daemon
through the CDP interface library
ƒ The tables implemented are:
cdpInterfaceTable—table containing the status of CDP on the
device’s interfaces
cdpGlobal—table containing information that is advertised to its
neighbors

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 139

SNMP—CISCO CDP MIB


snmpbulkwalk -c public -v2c 10.77.31.30 1.3.6.1.4.1.9.9.23

SNMPv2-SMI::enterprises.9.9.23.1.1.1.1.2.4 = INTEGER: 1
SNMPv2-SMI::enterprises.9.9.23.1.1.1.1.3.4 = INTEGER: 60
SNMPv2-SMI::enterprises.9.9.23.1.1.1.1.4.4 = INTEGER: 0
SNMPv2-SMI::enterprises.9.9.23.1.1.1.1.5.4 = INTEGER: 0
SNMPv2-SMI::enterprises.9.9.23.1.3.1.0 = INTEGER: 1
SNMPv2-SMI::enterprises.9.9.23.1.3.2.0 = INTEGER: 60
SNMPv2-SMI::enterprises.9.9.23.1.3.3.0 = INTEGER: 180
SNMPv2-SMI::enterprises.9.9.23.1.3.4.0 = STRING: "CISCART30.localdomain"
SNMPv2-SMI::enterprises.9.9.23.1.3.5.0 = Timeticks: (0) 0:00:00.00
SNMPv2-SMI::enterprises.9.9.23.1.3.6.0 = STRING: "2"
SNMPv2-SMI::enterprises.9.9.23.1.3.7.0 = INTEGER: 3

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 140

© 2006, Cisco Systems, Inc. All rights reserved. 70


Presentation_ID.scr
SNMP—SYSAPP MIB

ƒ Provides information about the applications installed


and running on UC Manager
ƒ The tables implemented are:
sysApplInstallPkgTable—table listing the software application
packages installed on a host computer
sysApplInstallElmtTable—details the individual application
package elements (files and executables) which comprise the
applications defined in the sysApplInstallPkg Table
sysApplRunTable—table describes the applications which are
executing on the host
sysApplPastRunTable—history of the applications that have
previously run on the host computer

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 141

SNMP—CISCO SYSAPP MIB


snmpbulkwalk -c public -v2c 10.77.31.30 1.3.6.1.2.1.54.1

SNMPv2-SMI::mib-2.54.1.1.1.1.2.1 = STRING: "Cisco Systems, Inc.“


SNMPv2-SMI::mib-2.54.1.1.1.1.3.1 = STRING: "Cisco CallManager“
SNMPv2-SMI::mib-2.54.1.1.1.1.4.1 = STRING: "5.1.2.3000-2“
SNMPv2-SMI::mib-2.54.1.1.1.1.5.1 = STRING: "n/a“
SNMPv2-SMI::mib-2.54.1.1.1.1.6.1 = Hex-STRING: 07 D8 02 1D 06 0D 1C
00 2B 05 1E
SNMPv2-SMI::mib-2.54.1.1.1.1.7.1 = STRING:
"/ccmadmin/showHome.do“
SNMPv2-SMI::mib-2.54.1.1.2.1.2.1.1 = STRING: "ccm“
SNMPv2-SMI::mib-2.54.1.1.2.1.3.1.1 = INTEGER: 5
SNMPv2-SMI::mib-2.54.1.1.2.1.4.1.1 = Hex-STRING: 07 D8 02 1D 06 0D
1C 00
SNMPv2-SMI::mib-2.54.1.1.2.1.5.1.1 = STRING: "/usr/local/cm/bin"

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 142

© 2006, Cisco Systems, Inc. All rights reserved. 71


Presentation_ID.scr
SNMP Notifications

ƒ Support Trap (v1/v2c/v3)


ƒ Added support for Inform (v2c/v3)
ƒ Supports multiple trap/inform destinations
ƒ No default community string configured; needs to be
configured from the UC Manager Serviceability Web
interface

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 143

SNMP—Configuration

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 144

© 2006, Cisco Systems, Inc. All rights reserved. 72


Presentation_ID.scr
SNMP—Starting Master Agent

SNMP Services Can Be


Started/Stopped from
Control Center Page and
Also Programmatically
via SOAP

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 145

SNMP Configuration

ƒ The ccmAgt (Cisco CallManager SNMP Service) by


default is not activated
ƒ All other agents are by default are running on a Unified
CM box
ƒ Trace levels for Cisco CallManager SNMP Service can
be configured from the UC Manager Serviceability
Web interface
ƒ For syslog, CDP agent, the configuration can be
changed from CLI
e.g., set trace Detailed cdpmib

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 146

© 2006, Cisco Systems, Inc. All rights reserved. 73


Presentation_ID.scr
Troubleshooting Tips

ƒ Verify the community string and snmp user credentials;


by default, no community string or user is configured on
the system
ƒ Use the available scalar variables
(1.3.6.1.4.1.9.9.156.1.5) to determine the table size
before accessing the table
ƒ Reduce the number of variables queried in a single
request
ƒ Increase the response timeout
ƒ Reduce the number of retries
ƒ Use getbulk API when it is known that the table is not
empty, and also know the number of records
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 147

Documentation

ƒ Online docs and CCM traps info available


http://cisco.com/en/US/docs/voice_ip_comm/cucm/
service/5_0_4/ccmsrvs/sssnmp.html
ƒ MIB definition available
ftp://ftp.cisco.com/pub/mibs/supportlists/callmanager/
callmanager-supportlist.html

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 148

© 2006, Cisco Systems, Inc. All rights reserved. 74


Presentation_ID.scr
Serviceability API
Q and A

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 149

Complete Your Online


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

BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 150

© 2006, Cisco Systems, Inc. All rights reserved. 75


Presentation_ID.scr
BRKDEV-1091
14638_05_2008_x1 © 2008 Cisco Systems, Inc. All rights reserved. Cisco Public 151

© 2006, Cisco Systems, Inc. All rights reserved. 76


Presentation_ID.scr

You might also like