An application to notify participants in a CMS call about different security levels depending on whether external participants are in the call or not (watch demo).
Cisco Meeting Server: The CMS brings premises-based video, audio, and web communication together to meet the collaboration needs of the modern workplace. Through the use of its APIs, calls and conferences can be flexibly managed and integrated into existing business workflows. This application focuses on notifying call participants about the security level of the respective call, depending on whether internal or external participants are in the call. Notifications are shown following this logic, always giving priority to the highest applicable level:
credentials.yml
file and Installation below), could be used for endpoints located on-premcredentials.yml
file and Installation below), could be used for employees connecting via JabberCall Detail Records: The CMS generates Call Detail Records (CDRs) internally for call-related events, such as a new call starting or a participant joining a call. These CDRs can be sent out by the CMS over HTTP or HTTPS as a series of XML documents to a receiving web server. In this prototype, the CDRs are sent to the Flask application that uses the incoming information to display the updated security level notifications in the respective calls in real-time as described above.
Flask: The application is written in Python using the micro web framework Flask. The web server that is part of Flask should not be used in production.
Logging: The application logs call information, incl. which security levels are shown in which calls, to the app.log
file.
http://<public ip address>:5000/cdr
. The public IP address can for example be found with the ipconfig
command on Windows.Clone this repository with git clone <this repo>
.
Open the credentials.yml
file, and fill in the following variables:
username: '' # username to CMS
password: ''# password to CMS
cms_ips:
- '' # list of FQDNs of CMS(s)
port: '' # https port on CMS
secure_domains:
- '' # list of secure domains to identify secure participants (security level 1)
internal_domains:
- '' # list of internal domains to identify interanl Jabber participants (security level 2)
(Optional) Create a Python virtual environment and activate it (find instructions here).
Navigate to the root directory of the repository in the terminal, and install the requirements with pip install -r requirements.txt
.
Start the Flask app with python main.py
.
You can now start your calls. NB: The Flask app will only consider calls that are started atfer Step 5 of the installation.
Provided under Cisco Sample Code License, for details see LICENSE.
Our code of conduct is available here.
See our contributing guidelines here.
Owner
Contributors
Categories
Products
Cisco Meeting ServerProgramming Languages
PythonLicense
Code Exchange Community
Get help, share code, and collaborate with other developers in the Code Exchange community.View Community