• Legacy SSH on MAC OS

    This is mainly a reminder to myself, but when getting stuck SSHing to older gateways etc, it’s necessary to either adjust the command or adjust your ssh_config file Here the key exchange is bad so we need to provide a hash the server understands. We can do this by using the -oKexAlgorithms` flag for ssh […]

  • Webex Teams + Twilio Studio = Doorbell

    I walked into the office yesterday and saw a note on the front desk that said “For deliveries call…” It seemed like an easy way to get somebody up front to sign for packages, but I thought we can do better. Over the next couple of hours I put together a quick method using Twilio […]

  • Pass-through Gateway Routing and Dial Peer Groups

    About the same time I started working on CUCM setups I noticed a problem with dial-plans on gateways not going where I wanted them to as easily as I wanted them to. The first was a hospital receiving 4 digits on a PRI. Every time someone called the cafeteria they got transferred to the 911 […]

  • Exporting CUCM to an Offline Local DB with Python

    I use database queries in Communications Manager a good bit to generate reports for work I’m doing. Things like finding second lines on phones or creating phone book type sheets for users take just a second in a query, but the downside is typically presenting that data. After switching most of my scripting from PHP […]

  • Connecting to UCCX INFORMIX DB with Python on Linux

    This is a bit of a evolution from my last post around dumping the CUCM database into a SQLite DB for offline parsing. Now that I have all of the data in a raw format from CM we can start playing with joining other stuff to it. I built a quick CDR script that parses […]

  • Getting the Time of Day Routing You Want in CUCM

    Time of day routing in CUCM is, for some reason, a complicated task both to implement and to administer.  Even when you have it configured you know that it is going to be a pain to update and still doesn’t give the business unit the flexibility they want.  So I’ve found the best way to […]

  • Branch Office Dial-Plans

    Part 3 of the “Route next hop by calling party” is an exercise of reducing dial-plan dependencies.  When working with customers that have several or thousands of different remote offices like retail, we try to create a dial-plan that makes sense for the branch as much as the corporate site and standardization is always top […]

  • Malicious Call Handling with “Route next hop by calling party”

    Part 2 of the new “Route next hop by calling party” is probably the best use of this feature and probably more geared toward the purpose.  This blog is a short snippet of an inbound dial-plan to block or redirect calls based on the calling party.  Before the feature was released in CUCM 10.x calling […]

  • Solving the 7 Digit Problem in Globalized Dial Plans

    This is the first in what will eventually be a 3 part series exploiting the “Route Next Hop By Calling Party” feature in Communications Manager. In a globalized dial plan, your goal is to convert user dialed numbers into a globally recognized e.164 format for best match routing.  The issue we run into in the […]

  • User Input Update

    I was working with a customer recently that required a zero out option for all users in VM. This is a bit of a task since you cannot adjust via the normal import/export process, but you can “bulk edit by csv” in order to change multiple users at one. This is still a bit of […]