Smartvox Labs

Your accessible Learning Resource

Voice over IP | SIP | Linux | IP Networks | Electronics | Microcontrollers | IoT

Technology Solutions

From fundamental concepts to practical examples; for VoIP, SIP, Arduino and more, we’re here help at every step.

Meet the Author

My enthusiasm for electronics started when I was still at school. I taught myself from books, magazines such as Electronics Today International (ETI) and with help from friends. I built a synthesiser in about 1974 and a great friend with a gift for music, especially keyboards, put it through its paces in various bands for several years to follow.

After qualifying in architecture, I somehow got heavily into software development and had a fantastic job writing programs simulating heat flows in buildings to allow engineers to size the building services plant and predict the energy use of the heating and air conditioning systems. After about 10 years I moved into telephony. It allowed me to combine my interests in electronics with my skills as a programmer. I’ve programmed in Fortran, C, C++, Pascal, PHP, Python, bash scripts and a few special purpose languages.

In the final 15 years of my career, I worked mainly with Voice over IP (VoIP), especially based around open source projects like Asterisk and OpenSIPS. Analysing and understanding SIP traces was at the heart of this work. Now retired and pleased to no longer be staring at SIP traces, I’m trying to keep the brain cells active by dumping some of the old knowledge here and building Arduino projects for fun.

Portrait photo of John

“The route headers and record route headers always confused me. This article has cleared up so much mess from my head. Thanks a ton!”

Anirudh

Latest Articles

  • Selecting the right Arduino board for battery powered operation

    Selecting the right Arduino board for battery powered operation

    I had a fairly simple objective – to build a battery powered outdoor weather station using an Arduino. The very first step, choosing which Arduino board to use, proved to be more complex than I expected. In fact, the array of parameters in my selection matrix kept growing over time…

  • Caller ID in SIP

    Caller ID in SIP

    Equipment receiving calls, whether a humble handset or a sophisticated Call centre ACD system, likes to know the identity of the caller. It may simply display the caller’s number on an LCD display, look it up in a directory so the caller’s name can be displayed or pre-populate a screen…

  • Interrupt Timer for UNO WiFi Rev2 and other ATmega4809 units

    Interrupt Timer for UNO WiFi Rev2 and other ATmega4809 units

    The usual interrupt timer libraries and examples may not work on the Arduino UNO WiFi Rev2 and Nano Every because they use the ATmega4809 processor. So here is a quick and simple example showing how to use one of the inbuilt timers (TCB0) to toggle a variable that can be…

x  Powerful Protection for WordPress, from Shield Security
This Site Is Protected By
Shield Security