Monday, April 6, 2015

VoIP.ms

It's been a while.  Since the last time I posted, I've been experimenting with a Cisco CME deployment.

It's been.... interesting.  While CME is doing things very predictably, and as expected by the documentation, what I had to kind of figure out on my own is how to interact with a VoIP provider.

I chose VoIP.ms.  They're great actually.  Very well put together service, no significant bells or whistles, and the service is geared towards the skilled technician.  This means, not a lot is done FOR YOU; and the appropriate level of technical detail is included with the system - this means, SIP gateways on their end are well documented and redundant, they have the codecs and connection types and information all fairly well laid out, so if you know what you're doing, you can fairly easily acquire the information you need to get up and running.

No running around like a crazy person trying to hijack the communication to the upstream provider to try to determine codec information to try to emulate it with a PBX so you can finally use the system the way you want - which is how I would imagine buying a line from some of the 'all in one' VoIP solutions would be (MagicJack comes to mind).

All of that aside, some of the behavior isn't documented, and it can be EXTREMELY useful to know.  I'm tired of hearing "That number, has not yet been assigned" - which I get CONSTANTLY from voip.ms servers.

I'm still working out my dialing rules, but from experimentation, the outgoing SIP connection needs to have a PRIMARY number (in CME) of the 6-digit login ID for the line; otherwise the connection to the outbound voice SP will fail (resulting in the message "that number, has not yet been assigned" - possibly one of the most infuriatingly unspecific error I've heard).  However, when an inbound call comes, the DID phone number for the inbound call is used (10 digit number), if there's no such number (no match) in the destination PBX, then, the caller gets "that number has not yet been assigned".  joy. this again.

The "best" solution to put all my eggs in one basket, so far, has been to create an extension with the SIP login ID for the primary, and the 10-digit DID number as secondary.  That way, inbound, and outbound calls, all come from/go to the same extension.  Obviously, this doesn't work if you need multiple outbound, but for a simple deployment, it would work.

Now I get to dive into the wonderful world of trunks, and dial-plans to try to sort through this mess to make it work the way I ACTUALLY want.  I just wanted to document the difference between the incoming, destination number, and the outgoing numbers for VoIP.ms  something I hadn't come across.

Enjoy your tubes.