« January 2005 | Main | July 2005 »

June 30, 2005

SIP: the unstanderd standerd

My current job (as in what I get paid to do) is to connect the malfitting components of voice over IP into a robust and usable network. The core of this network is based on a protocol call Session Intitation Protocol or just SIP. This protocol was created by the good people at IETF and put into a document called RFC3261. RFC's are met to be the standards of internet standards, the codex of codec, the bible of protocol. Unfortunately, like all sacred documents, it still must be interpreted by human beings and each one has their own style to add to it.
RFC3261, and the other volumes that explain its details, only really describe the vocabulary two SIP devises use to talk to each other without clearly defining what should be said or how any complex conversations are conducted. It is like having vocabulary and grammar without etiquette to fill in the procedural holes. So we now have devises that can talk to each other with complete understanding but no idea how to act upon it to accomplish anything.

Case in point: Allworx vs. Epygi
Allworx and Epygi both make voice products the can communicate over IP using the SIP protocol. They both make PBX systems that allow private phone networks to communicate over the internet and PSTN. But the two companies have very different ideas about how exactly this should work. Allworx tends toward the traditional PBX system in which all the phones are hidden by the central exchange from outside world. It also only allows calls from other servers it already knows preventing it from being cold contacted my other SIP hosts. It acts as sort of a burley gate guard that must be talked to before entry is allowed. The Epygi on the other hand used a new style network where each phone acts as a independent entity that uses the central exchange only to moderate discussion. Each phone can be directly contacted from anyone on the internet. The system is similar to email in this way; to contact a user you just dial the user@domain.com and the call is connected. There is nothing inherently good or bad about the two systems, but it becomes tricky when you want the two talk to each-other.

Note: It is my personal feeling that Allworx is the way of the past and Epygi is the way of the future. The Allworx PBX concept is outdated and will make it difficult for them to enter the age of pure VOIP networks. Of course I have expressed this concern to the engineers but they are slow to except. I'm sure at some point in the future the VOIP environment will force them to change. Either that or they will perish. That being said, I think the Allworx is a damn fine product and only needs a little fixing to become the best.

We use a Allworx system as the core of our customers VOIP system. One feature it is lacking is the ability to have any more then a three participants in a phone conference. Epygi has created a product to fill the role exactly. The Epygi QuadroCS is a fully featured conference bridge that supports up to 25 simultaneous participants. The theroy of operation is simple:

  1. The caller dials the number of the conference server and establishes a SIP call.
  2. The attendant plays back a recording asking for the identification number of the conference the caller wishes to join.
  3. The original call ends and a new call is placed from the server back to the callers phone.
  4. The caller is now connected to the conference and can conduct his bisness.

When the originating caller is coming from a Alworx, the system breaks down at step 3. The conference server establishes a new call back, but the Alworx will not allow direct establishment of communication with its phones and the call goes dead...

Now for the work around: Fortunately for us, the QuadroCS has some flexibility when it comes to new conference establishment. By reconfiguring the server to allow new participants directly into the conference and bypassing the attendant, Alworx users can get into hosted conferences. This setup requires a SIP proxy to map a normal phone number to redirect to the conference ID. The users then has to dial the map phone number over the SIP trunk to the proxy. Ouch! its a ugly solution. No flexibility to make new conferences without reconfiguration of the proxy, no attendant based features. These two philosophy clash head on making everyone's life more difficult.

There is one additional feature that Epygi's design allows for. I saw this at the bottom of a email I received from them (paraphrasing to protect the innocent):

SIP: john.doe@epygi.com

This, my friends, is the future of voice communication and the end of the telephone as we know it. This address allows anyone on the planet with a internet connection to call Mr. Doe with out the need of a telephone company or their charges. This of course scares the bejesus out of them and is the reason they are lobbying the FCC to shut it down with unobtainable requirements. It not that i can not be done, it is just the time frame involved. The POTS has had years to develop a robust and efficient emergency number system, and the FCC want VOIP provider to do it in month? But I digress.

VOIP will change the way we communicate almost as much as the telephone. The SIP protocol is the launch pad from which we will create this technology.

Posted by binhqx at 1:29 AM | Comments (0)

June 29, 2005

Some blogs are squirrel handed...

I really wanted to finish a entry about the intricateness of muti-vender SIP networks, but a certain female wanted to have a discussion about my future housing arrangements. How do normal people find time to maintain interpersonal relationships?! I must explore this topic in the future. Now I have no time...

Posted by binhqx at 3:19 AM | Comments (0)

June 26, 2005

Weekend update

This was a fairly successful weekend my family and myself.

We ran a garage sale on Saturday and Sunday and managed to sell nearly $800 worth of old stuff we had kicking around. Most of the money came from big ticket items like the old canoe and the horse stall floor mattes. I tried to get rid of some of my outdated computer stuff, but no-one seemed the least bit interested in it. The only items of mine that sold were some of my old rocketry kits. I had found them under some junk in the basement, and priced them to go at $0.25. It is a strange feeling when you sell days of your hard work for only a quarter. They where sold to a father and son who had never know about model rockets. We put together a kit of launchers, rockets, and engines for $3. The boy was grinning as he left with his new found hobby. I probably would have just given the rest of it to him if he had asked.

The process of preparing for a garage sale is a depressing one. You go through the possessions you have accumulated over the years and pull out all the stuff that has no uses to you or anyone you know. Once that is done, you sift through the pile of useless items and attempt to determine if anyone will buy it and at what price. As this is happening you are constantly being crushed by torrents of memories attached to each item. You must remember that the memories are valuable no the physical objects to which they are attached. If you you can give them to someone else, they can attach their own memories to them; that is true value. Many of the items will not sell for any price, you probably will not even find someone to take it away for free. These will end up at the dump where fate will decide their future independent of you.

This is all happening because in the not to distant future, my family will be leaving this house. This is a subject I will explore in depth another time.

Also this weekend, I got to do a little programing. I'm attempting to make a simple disclosure triangle control for web pages using javascript. I maybe reinventing the wheel, but i could no find a javascript library that did what i wanted. So I got the usual "I can write a better one myself feeling", and started to code. It took one day just to re-familiarize my self with the javascript/DOM/CSS environment, and another day to write the meat of the control. Now I'm into debugging/QA and need to test on a verity of platforms and browsers. Perhaps I'l take some time to do this at work tomorrow. Once it is i would like to do a write-up on the entire scope of the project.

I started working on this for another side project of mine; update my resumé. That is also a topic for another time.

Posted by binhqx at 10:36 PM | Comments (0)

June 25, 2005

carry the burden

When the time comes for a man to move in life, he must carry the burden of his possessions. When he can no longer bear the load and stops moving forward, he becomes one of them.

Posted by binhqx at 3:13 AM | Comments (1)

June 20, 2005

Version 2.0

Well, here it is. Binhqx's Blog ver. 2. I have moved to the MovableType platform for performance and compatibility reasons. i will try to get the old site functioning again when I get some time.

Posted by binhqx at 11:06 PM | Comments (0)