We have experience supporting clients in the following industries:

  • Telecommunications
  • Medical Offices
  • Tech Startups
  • Insurance Organizations
  • Fitness Centers
  • Retail
  • Non-Profits
  • Hospitality
  • Transportation/Logistics
  • Broadcasting

Freeswitch: Multipart MIME PIDF+XML SIP INVITE for VoIP Carrier e911 Geolocation Services

VoIP e911 location specification has been required by law in the US for some time now. It allows a 911 call to contain location information that gets used to determine which local emergency dispatch switchboard to which to connect the 911 call.

Nebulizer: Certificate Generation at Scale for Slack Nebula Overlay Network Made Easy

Nebula Network

Slack Nebula is an overlay network. Basically an on-demand VPN mesh system, Nebula allows hosts in different networks and locations to auto-create encrypted communication channels between each other. A virtual interface is provided to the operating system, and a unique IP address. Once communication has been established, the nodes see each other as being on the same LAN.

Recursive Storage: Proxmox Using NFS or iSCSI Provided By Virtualized TrueNAS Guest

RAID Storage Drives Array

For various reasons, sometimes it is useful for a hypervisor to access data served by a virtualized guest system. In this example, it's Proxmox accessing NFS shares on a TrueNAS virtual machine. TrueNAS could just as easily be replaced with Openmediavault or any other NAS server, but the concept of recursive storage access remains the same. NFS in this example could also be replaced with iSCSI, or even SMB.

Switchboard - KAZOO App for Monster UI

Switchboard MonsterUI App for 2600Hz Kazoo


Switchboard is a new app I just released for the Monster UI interface running on top of a 2600Hz KAZOO UCaaS telephone system instance. It is an HTML5/Javascript application that lets you view [and manage, with Pro version] real-time calls status on your KAZOO account.

Reflashing a Chinese Seriallink SLK-e940 4G LTE Gateway Router with OpenWRT

  • 1 comment

Recently, I needed an LTE backup at a secondary home location with an unreliable primary internet connection. I was somewhat bewildered by the plethora of options available. I saw a weatherized Seriallink SLK-e940 on eBay for a very nice price, so I looked up the details on it. I found (from the help screenshots) that it appeared to run a modified version of OpenWRT. The image the seller provided showed inside the unit a mini-PCIe Quectel EC25-AF LTE modem, which I knew had good Linux support.

New Developers: Why You Should Learn Go as your Second Programming Language

Learn Golang

Whether you have made your start with an entry-level language like Python, Ruby, PHP, or Javascript, or a "real" language like C, or [gasp] Java, there are some compelling reasons why you should consider Go as your second language.

Many developers who have started with a common entry-level language automatically look to the most popular options for their second language; options like C++, Java, C# (ewww), Swift, or Rust. While every situation is different, in most cases, those are not the best choices.

The following are some good points why I believe you should learn Go: