IP04 Adventures - Ongoing

For a long while, I had put aside my IP04 to concentrate on other things. Recently, I resumed my explorations of the IP04 device, still with the long-term notion of using it as a home PBX.

I'm glad for the extended absence; it allowed me to reconsider my approach, and (when I resumed playing with the IP04) do some things that I had previously found impossible to do.

For instance, my original goal was to make the IP04 "transparent" to all the phones it manages, by allowing each phone to "direct dial" outside numbers, and give each inside device an extension that started with the octothorpe ('#'). In other words, extension 1 would connect to the PSTN by dialing a "regular" number, or connect to extension 2 by dialing "#2". Previously, I couldn't make this work, but now it works fine.

I've taken a bit of a detour to play with a SIP phone. I've installed Linphone on my "Samsung Galaxy 2 Tab" Android tablet, and configured it to use the SIP "sipguest" guest account that the base IP04 configuration file permits. With some adjustments to the Linphone settings, I've managed to get the IP04 to recognize it for both incoming and outgoing calls. I can now both make and receive telephone calls on Linphone through the IP04. But, again, something caught me out.

Where the octothorpe rules for the analogue handsets were straight forward, they cannot be used for SIP. If I want to give my FXS port 1 the extension number of "#1" (for instance), I can write a rule to parse "#1" dialed in from another analogue line. For the VoIP SIP lines, though, I can't use the "#1" rules because the URI encoding that SIP uses does not permit the use of the octothorpe in the dialed number. Instead, I have to duplicate the "#1" rules, with an extension of "%231" (%23 being the URI encoding for '#').

Fortunately, the other special character of a DTMF handset (the asterisk, or '*') does not need such recoding, and can be expressed literally in the dialplan for both analogue and SIP use.

So, I'm now going to rethink my dialplan.

The goal will be to have each "inside" phone, analogue or VoIP, assigned an extension that starts with the octothorpe ('#1', '#2', etc.). Asterisk "features", such as voicemail, "meetme", etc, and custom PBX features will have extensions that start with an asterisk ('*1', '*2', etc.). And, of course, anything else will direct dial out to the PSTN.

That's the plan. I'll let you know how it turns out.