NetBox as Voice and UC Source of Truth

Have you ever been struggling with an enterprise Voice and Unified Communications infrastructure documentation?

  • What phone number is that? Where it comes from?
  • Is this SIP-trunk relevant?
  • Which of these Excel files contains the information I need?
  • Do we have a spare phone number for a new service?
  • Phone_numbers_latest_201907(3).xlsx?!

Sounds painfully familiar? I have got something that might help.

Read More

Implementing Offline traceroute Tool Using Python

This post demonstrates an interesting use-case of radix tries usage for Longest Prefix Match.

The post was born from a question asked by an IT forum member. The summary of the question looked as follows:

  • There is a set of text files containing routing tables collected from various network devices.
  • Each file represents one device.
  • Device platforms and routing table formats may vary.
  • It is required to analyze a routing path from any device to an arbitrary subnet or host on-demand.
  • Resulting output should contain a list of routing table entries that are used for the routing to the given destination on each hop.

The one who asked a question worked as a TAC engineer. It is often that they collect or receive from the customers some text ‘snapshots’ of the network state for further offline analysis while troubleshooting the issues. Some automation could really save a lot of time.

I found this task interesting and also applicable to my own needs, so I decided to write a Proof-of-Concept implementation in Python 3 for Cisco IOS, IOS-XE, and ASA routing table format.

In this article, I’ll try to reconstruct the resulting script development process and my considerations behind each step.

Read More

Visualizing Network Topologies: Zero to Hero in Two Days

This is a follow-up article on a local Cisco Russia DevNet Marathon online event I attended in May 2020. It was a series of educational webinars on network automation followed by daily challenges based on the discussed topics.
On a final day, the participants were challenged to automate a topology analysis and visualization of an arbitrary network segment and, optionally, track and visualize the changes.

The task was definitely not trivial and not widely covered in public blog posts. In this article, I would like to break down my own solution that finally took first place and describe the selected toolset and considerations.

Read More