Posts

Showing posts with the label Python

Review: DevNet Express Cloud Collaboration - Las Vegas 2017

Image
My Cisco Live US 2017 in Las Vegas starts with the 2-Day DevNet Expressway Cloud Collaboration event . Cisco DevNet Express events are an offer from Cisco to provide the possibility to dive deeper into the programmability of today solutions. The Cisco DevNet team provides a mixture between theoretical backgroud and technics about programming and small labs and tasks to train the theoretical stuff in practice.  After the usage of scripting and the development of small own tools helps to make the daily work of every engineer easier, the DevNet Express are the ideal start to build up the required programming skills. To level the field for all participants of the event, Day 1 starts with the basics of Python, programming basics, the benefits of APIs and usage of Rest APIs. The theory parts are always mixed with small exercises which really help to deepen the understanding of the theory parts. The second day was focused to use the basics from day one in combination with Cisco S

How to - Install Python and Paramiko in offline Windows environment (Optimized Method)

After using more and more Paramiko and Python for automation of endpoint testing and changed requirements for the the usage of Paramiko in newer versions my old how-to  becomes outdated. With the newest release of Python, Python 3.6 , I started to optimize the installation process to reduce complexity and make the installation process more simple. Instead of downloading manually all required files from the different homepages I use Python included functions for this work.  Step by Step overview: 1. Creation of reference system For preparation of the required files and for verification I'm using normally a test system i setup in VMware Fusion on my MacBook. For the Microsoft operating system I use the trial version from Microsoft Technet Evaluation Center for 180 days testing. After the system is finally setup based on my requirements I create a snapshot to have a valid reference point for my installation. 2. Installation of Python in reference system and downloadin

My first Cisco Spark project - Phase 1: Ups and Downs and the PaaS Challenge

Image
After working approximately some time on my private Cisco Spark App, which combines the Cisco Openvuln API with the Cisco Spark API, I had several ups and downs during working on the code. During the first days I focused on Openvuln API and to understand OAuth. The first versions of the program is running on my laptop and was just for verification of the functions of the Openvuln API and to get my first experiences with OAuth. I used the Client Credential Grant of OAuth for the first programs, but the final goal is to create a web application using the Authorisation Code Grant. The topic web application was also part of one of the downs I experienced. Ups: - I get the Client Grant based OAuth authentication working to send requests to the Cisco Openvuln API. Based on the fact that I had no experience with OAuth and not much experience with programming, that was a real highlight for me after I get that running - I get the get the Cisco Spark API training labs running and g

My first Cisco Spark project - The idea: Integration of OpenVuln API into Cisco Spark

Cisco Spark and its new released set of APIs  was one of the main topics during the Cisco Collaboration Summit 2015 . The easiness of usage was a highlighted point during the presentations and piqued my natural curiosity. I'm a Cisco Spark fan since more than one year and I really like the idea to merge innovative Cloud based apps and on-prem equipment to provide new services. Besides the different Cisco Spark APIs, Cisco released also the OpenVuln API , which provides API based access to Cisco Security advisories. One my responsibitilies at work is the evaluation of impact of new security advisories for Telepresence solutions, working with security advisories is part of my regular work. So I was very interested in evaluating how the OpenVuln API could make my daily life easier. During the days before Christmas I got the time to meet old friends and we talked about the good old time during school with IRC chat rooms, bots and other tools we used in the past. After some b

How to - Install Python 3.4 and Paramiko in offline Windows environment

Image
This how to is based on Python 3.4, a how to for for newer Python releases will follow. PyCrypt is not maintained anymore and other solution are recommended to use with newer Paramiko releases. An updated version can be found here . In my last post I described how to use Python and Paramiko to delete a CTL file from a Cisco SIP phone during a migration. In the preparation phase of the migration I was confronted with the challenge to install Python on a Windows server in our management environment without direct Internet access. To install Python and Paramiko you need the following packages on your Windows machine: Python installation package  3.4.3 PyCrypt installation package  2.61 Paramiko installation package   ecdsa installation package  0.13 The required installation pacakages for Python,  PyCrypt and Paramiko are easy to find compared to the ecdsa installation package. The versions I found using Google were not compatible with Paramiko. So I used the download l

How to - Removing CTL and ITL from 7900-series phones via SSH

Image
Which Cisco UC engineer does not know the challenge when he runs a CUCM in mixed mode: How to remove a Certificate Trust List on a phone nobody has physical access to during a CUCM migration? The normal way like using the same security tokens on old and new CUCM is not possible. Sending somebody on site during the migration is also not possible. These limitations raised the need for an alternate solution. After some testing, I decided to create a small Python script. The final script connects via SSH to the phone and uses the test key functions of the Cisco SIP phone debug-mode to press the required phone buttons via command line interface. Main requirement is to enable SSH for phone on the CUCM and to configure a username and password for the SSH access. The following script is based on Python 3.4 and uses as additionally Paramiko for the possibility to connect via SSH to the Cisco IP phones. Besides Paramiko also the time class is required to implement some d