Monday, June 25, 2012

M9 and Asterisk

Asterisk is the most popular open source PBX. There must be millions of Asterisk-based installations out there. When comparing Asterisk with other PBX from Cisco, Avaya, Mitel, or others, the thing that is most obvious to me is it level of interoperability that invited and still invites many manufacturers of devices and software to integrate with Asterisk. This is the counterpart of the closed system where the warranty ends if you bring your own device.

We see that many of the snom m9 devices are used in environments that use some kind of Asterisk. While snom has its own PBX snom ONE, snom devices are still highly interoperable with all kinds of PBX in the market. It makes a lot of sense for snom to make the interoperability with Asterisk as smooth as possible.

The m9 has a slightly different concept than the desktop phones: Instead of having a seemingly millions of different configuration options, it has one drop-down per identity that determined the interoperability mode with the used registrar. Instead of having to figure out how to set each option right for your installation, the m9 comes with a pre-programmed list of servers. When selecting Asterisk, a few things like ICE and presence publication are automatically disabled. So just select the right dropdown and you should be all set picking the right settings for Asterisk.
We even brainstormed what we can do to improve the interoperability with Asterisk, but not much came to our mind. Newer versions of Asterisk support TLS and SRTP; on the forums we saw some hiccups with long TCP packets that seem to be fixed with the latest Asterisk version. On the m9 side, it seems there is nothing else that we can do to make this work better.

One interesting development where the Asterisk and snom m9 combination could become interesting is IPv6. Both Asterisk and the snom m9 are on the leading edge when it comes to IPv6. I personally know about an Asterisk snom m9 IPv6 deployment; it seems that this is working well.

When it comes to Asterisk interoperability, it seems that the m9 is in a good shape and we are running out of ideas what to do next. Improvements are more of a general nature that applies to all PBX systems. If anybody has an idea how the Asterisk integration can be improved, it would be interesting to get that feedback.


  1. I'm not fond of this drop-down based configuration: some things that are not supported by Asterisk might be in the future, when the m9 is not being developed anymore, and their users will be in the limbo, just like with the m3 right now.

  2. That's actually a valid point. Asterisk is also quite a broad term, there are hundreds if not thousands of different versions in the field. Having a simple dropdown is a tradeoff between simple configuration and avoiding that customers overlook important settings and loosing the flexibility to iron out incompatibilities. However one important difference between the m3 and the m9 is that snom has control over the code in the m9. So if Asterisk should have versions that change too much to keep just one simple dropdown, it can be changed in future versions.