#CiscoLive
A Hands-on Approach to
Automation with Cisco
Collaboration APIs
Baha Akman, [email protected]
Paul Giralt, [email protected]
Markus Schneider, [email protected]
HOLCOL-2574
#CiscoLive
Agenda
• Introduction
• Collaboration API’s Overview
• Tools Overview
• Provisioning Portal Overview
• Getting Help
#CiscoLive HOLCOL-2574 © 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 3
How much experience do you have with
Python?
ⓘ Start presenting to display the poll results on this slide.
How much experience do you have with
Collaboration APIs?
ⓘ Start presenting to display the poll results on this slide.
In 1-2 words, what do you want to get out
of this lab?
ⓘ Start presenting to display the poll results on this slide.
Why API’s?
• Ability to automate provisioning
• Restrict administrative functions / provide more granular control
• Ability to monitor / manage a large system
• Allow users to self-provision
• Automation of test / heath checks
• Integration between systems that cannot natively communicate
• Diagnostics and Troubleshooting
#CiscoLive HOLCOL-2574 © 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 7
Provisioning Portal Architecture
Monitoring and
HTTP Provisioning Portal
/REST
b e x App
We
AXL CM
SA
UDS PI
L
SXM
S CUPI PAWS
PAW
Unified CM Unity Cisco Meeting
Cluster Connection Server
#CiscoLive HOLCOL-2574 © 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 8
Cisco
Collaboration
API’s
Cisco DevNet
• http://developer.cisco.com
• One-stop shop for all
Cisco public API’s
• Sorted by Technology
Area
• Documentation, Examples,
and API References
• 43 API’s for Collaboration
Products alone
#CiscoLive HOLCOL-2574 © 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 10
SOAP APIs
• The specification formerly known as Simple Object Access Protocol
• Exchange of structured and typed information based on XML
• SOAP specification defines
• SOAP message format
• How to send and receive messages
• Data encoding
• Web Services Description Language (WSDL)
• 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
#CiscoLive HOLCOL-2574 © 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 11
AXL API Introduction
• The Administrative XML Web Service (AXL) is an XML/SOAP based
interface that provides a mechanism for inserting, retrieving, updating and
removing data from the Unified Communication configuration database.
• https://developer.cisco.com/site/axl/
• Thick AXL – API defines specific objects that can be created, removed,
queried, or updated
• Thin AXL – Provides a mechanism to perform direct SQL queries / updates
#CiscoLive HOLCOL-2574 © 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 12
Unified CM Serviceability APIs
https://developer.cisco.com/site/sxml/
• Real-Time Information (RisPort) – Provides the current connection
status of phones, devices, and applications connected to Cisco
Unified Communications Manager (Unified CM).
• Performance Monitoring (PerfMon) – Provides real-time event
feeds to monitor the status and health of Cisco Unified CM.
• Service Control – Activate / Deactivate / Start / Stop Services
• CDRonDemand – SOAP/HTTPS interface to query the Unified CM
Call Detail Records (CDR) Repository.
• Log Collection – Retrieval of trace files and logs
#CiscoLive HOLCOL-2574 © 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 13
Platform Administrative Web Services (PAWS)
https://developer.cisco.com/site/paws/
• Various Platform-related services
• Version Information • Hardware Information
• Cluster Status • Installed Product Information
• Upgrade Platform • Restart / Switch Versions
• Change Network Settings • Certificate / CSR Operations
• Import / Export Platform Configuration • Administer Backups
• Available on all VOS-based platforms
• Unified Communications Manager • Finesse
• Unity Connection • Emergency Responder
• Unified Contact Center Express • CUIC / VVB
#CiscoLive HOLCOL-2574 © 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 14
REST APIs
• Leverages HTTP verbs to indicate operation
HTTP Verb DB Equivalent Description
GET SELECT Retrieve one or more objects
POST INSERT Add an object
PUT UPDATE Update attributes on an existing object
DELETE DELETE Delete an object
https://host/api/v1/calls
Base URI Resource
#CiscoLive HOLCOL-2574 © 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 15
Cisco Meeting Server REST API
• https://ciscocms.docs.apiary.io/
/callBridges
• Provides both Provisioning and /callBridges/<call bridge id>
Monitoring capabilities
• Many functions can only be /callBridgeGroups
/callBridgeGroups/<call bridge group id>
accessed via API
/calls
/calls/<call id>
/calls/<call id>/callLegs
/calls/<call id>/diagnostics
/calls/<call id>/participants
/calls/<call id>/participants/*
#CiscoLive HOLCOL-2574 © 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 16
Cisco Unity Connection API’s
http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_APIs
• Cisco Unity Connection Provisioning Interface (CUPI) – REST API for
Administrative Provisioning Cisco Unity Connection
• CUPI for End Users – Building Custom end-user applications
• Cisco Unity Connection Messaging Interface (CUMI) – Access to user messages
• Cisco Unity Connection Telephony Interface (CUTI) – Play and record audio
content over the phone
• Cisco Unity Connection Imaging Interface (CUII) – View message state and
mailbox information visually using graphics icons
• Cisco Unity Connection Notification Interface (CUNI) – Notification for one or more
users
#CiscoLive HOLCOL-2574 © 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 17
Webex APIs
https://developer.webex.com/docs/api/getting-started
• Allows for the creation of Bots, Integrations, Guest
Issuer Apps
• Can programmatically manage spaces, memberships,
and interact via messages
#CiscoLive HOLCOL-2574 © 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 18
Tools Overview:
Soap UI and Postman
Tools Overview:
VS Code
Provisioning Portal
Overview
Lab Tips and Tricks
Getting Help
https://developer.cisco.com/site/devnet/support/
#CiscoLive HOLCOL-2574 © 2021 Cisco and/or its affiliates. All rights reserved. Cisco Public 23
Ready,
Set,
Code
#CiscoLive