Cisco VCS alarm notification

I thought I’d finally sit down and learn how to Python – I wanted to do something useful with my first Python script so I decided to create an alarm notifier for the Cisco VCS.  I’m aware Cisco TMS generates tickets on Cisco VCS alarms (don’t think you get email alerts?) but what if you don’t have Cisco TMS or your Cisco VCS appliance can’t be actively monitored by Cisco TMS due to your network setup?

I’ll walk you through the steps to get this working, it’s pretty simple to setup and you can just leave it to monitor your Cisco VCS appliances/VMs.


Login to your Cisco Video Communications Server and add a user account for your monitoring script, the account only needs Read-only API access as per the screenshot below



As Python is cross-platform this script should work on either Linux or Windows (I haven’t tested it on Windows), you will need to install Python 3 which you can install on Linux from src or your favorite packing tool or on Windows by downloading the required files from

You can download the script from or simply copy the code below. You can add as many Cisco VCS instances to the script as you want – instructions on how to add your Cisco VCS details are included but if you get stuck just shout.


When your ready to test the script if you have no VCS alarms you can generate one by enabling a diagnostic log – from your VCS menu ‘Maintenance> Diagnostics > Diagnostic logging > Start new log’ run it manually and if configured correctly you should get an email like below


CRON is a task scheduler for Linux. I won’t be covering it in-depth here, but I’ll give you what you need to run your script every week. To add a task to the CRON scheduler, you simply add a line to the “crontab”. Edit this by typing:

This will open up the CRON file in your text editor, if you’ve never added anything before, it’s also likely to be blank. No worries, add line 2 if you’ve made the Python script executable otherwise add line 4:

The format this command follows is pretty simple:

An asterisk (*) in the pattern ignores that item. So in the example above, we are going to run our monitoring script every minute.