« Back to all articles

How the status viewer came into existence

Written by Cornelis Poppema on 5th March 2015

Some time ago a great looking piece of JavaScript came along which could handle SIP pretty well. I’m talking about sipML5. It was then we tried to come up with applications for this library. One of the first uses we wanted to build is exactly what we released a while ago for our Chrome extension users: an online replica of the Busy-Lamp-Field (BLF) as you might know it from an attendant console connected to your desk phone.


Prototype and design

At first we simply experimented with sipML5 using static account information and a new design. It seemed to work great and the next step would be for this to become part of our browser plug-ins.



Since the dev team was a lot smaller back then (Q4 2013), it was decided to outsource the integration of our sipML5 prototype in the Chrome extension. Since we already had many components in our infrastructure, our knowledge of browser plug-ins was pretty limited. There was no time to really understand in-depth how everything worked together once we received a working copy of what we asked for.


After a period of testing we naturally wanted to migrate our new server to our live infrastructure, which wasn’t as easy as we had hoped. VoIPGRID’s SIP proxies run OpenSIPS, but we used Kamailio when testing and developing with sipML5, for it had WebRTC-support. For the plug-in to be released we wanted to wait on OpenSIPS to release a version with WebRTC-support also. This would be version 1.9.1. Testing this new release, we noticed it actually had a significant memory leak which blocked our initial release – all we could do was prepare as much as possible and wait for a fix. This fix would eventually be available in August/September 2014 as version 1.10.x, which is the next stable and maintained release (after 1.8.x). In October we launched our first websocket server which acts as an intermediate between the plug-in and our SIP proxies (running Kamailio). Finally we were having a closed-session test on our live infrastructure, leading to the release of Chrome extension 1.4 in November 2014.


Of course we want to continue to add features to the plug-in and definitely do more with sipML5, or use API’s to be able to do things attendant consoles can do too! Right now I simply cannot tell any specifics as to what features will be developed or what features will never be implemented.



Firefox users might be asking themselves where this browser is on our to-do list. The way sipML5 works makes it a ton easier to use as part of a Chrome extension than part of a Firefox add-on. Does this mean you won’t get to use this feature? If I have any say in the matter, you will! The Firefox add-on review process, however, maintains a very high standard when approving changes, which makes it very slow to resubmit changes when receiving feedback. Version 1.6 was finished in January 2015 and I hope it is about to be approved. If not, we might return to offering the add-on as a downloadable file on our wiki. I am afraid it is being delayed even more after Mozilla announced they want to sign add-ons.

Your thoughts

No comments so far

Devhouse Spindle