August 09, 2007

An Inefficient Implementation of SIP

While commenting on Om’s post on Ooma devices going on sale soon, Markus Goebel chides that “the land of the free” passively accepts locked ATAs. He contrasts this to Germany where one can get generally available Fritz!Box and register with up to 10 different providers. He goes on to say that with proper dial plan one can always select the appropriate provider that give very low rate, if not free to terminate the call to any given number. In this post I suggest that there is no need use registration procedure to initiate calls.

In PSTN world, a call has to go through the originator’s service provider. Even in the IP world, email clients forward an outgoing message to its server. Most of the SIP implementations follow this model. But this need not be. For example, normally, the browser contacts the server directly; only rarely the browser’s request is proxied. Similarly, a SIP client can directly contact the called’s Proxy without going through its Registrar and Proxy. It is likely that the far-end Proxy may charge a fee to terminate the call, for example if the far-end is a PSTN end-point. In that case the charges can be settled in one of many ways, like a calling card. Granted that Registrar and Proxy are needed to handle/filter incoming calls; but they are superfluous for outgoing call. Hence the ability of an ATA to register with a large number of providers is overrated. Just to reiterate, a VoIP service provider is needed only to receive incoming calls; one does not need to register with a service provider to originate calls. This is one of the fundamental differences between PSTN and VoIP. But unfortunately it is not widely mentioned, not even by self proclaimed advocates of VoIP.

Posted by aswath at August 9, 2007 10:13 PM
Related Posts Widget for Blogs by LinkWithin
If you do not have an OpenID, then please use www.enthinnai.com/unauopenid/anyblog.

 

Comments

So what do you want to say with that?

We both know that the VoIP world is not perfect. For that reason I have to call my friends with Sipgate VoIP numbers from my Sipgate SIP account and the friends with PhoneGnome from my PhoneGnome account.

That's the reason why the Fritz!Box has to hold up to 10 providers: To avoid to touch the PSTN and having to pay for a call. E. g. Sipgate is a big German VoIP provider, but with too few peering agreements for free calls to other networks. That's why I need the other providers, e. g. 1&1 to call their 2 million German users for free as an on net call.

Also with the 10 providers I can have local DID numbers from many countries. So my friends abroad can call me from their mobiles for the price of a local call. Especially the Peruvians are quite happy.

Posted by: Markus Goebel at August 10, 2007 03:53 AM

I'll go you one better. In theory, you don't need proxies at all, just registrars and the ability to query them. Assume for second that you're "client" simply publishes its current location, i.e. where they are connected to the Internet. Someone that wants to call you really only needs to know how to locate you, then they should be able to dial you up directly.

WAY back in the old days, long before NATs and even before commercial service providers, there used to be this application on BSD machines called talk. It was a long ago precursor of today's IM applications. You might recall that in that application, you simply typed "talk emailAddress" on your command line. You had to know who and where you were talking to and it connected directly to the other machine.

Thats the way VoIP could be. All we really need is a service that allows for people to register their location, something like the SIP registrar. Then you just ask the registrar where somebody is and signal them directly. No proxies!

SHHH!! Don't tell the service providers...

FM

Posted by: Frank Miller at August 10, 2007 11:46 AM

Frank:

Actually I have already written about what you observe here and a bit more in one of my earlier posts (http://www.mocaedu.com/mt/archives/2007_03.html). The additional points I observe there are that standard web server can be used to provide the directory function (no need for specific SIP Registrar) and NAT traversal functions can also be derived from standard web servers.

Posted by: Aswath at August 10, 2007 01:45 PM

I'd like to add a few things to the discussion.

a) People don't want to care about setting up accounts

They probably don't even know what a SIP registrar is and honestly they shouldn't need to. One of the reasons the AVM Fritz!Box series routers are so popular is simply the fact that you can hook up your old PSTN phone to it and keep your stored phonebook. Try convincing you mom to learn how to handle a new phone.

b) Flat fees vs. free peering

Just like your DSL contract comes with a flat fee for the volume your phone account (be it SIP or PSTN - you shouldn't care ;)) should be flat for whoever/whereever you call. Free anytime minutes and PSTN flatrates are the beginning of this movement. Why would you care setting up multiple accounts (and having multiple inbound numbers) if all you calls are free anyway?

c) Security

Every SIP endpoint has its issues with security on all layers relevant to IP telephony. If you want 'free communication' that would require every single IP on this world to send traffic directly to your endpoint. Go figure what happens if somebody starts SPITing your machine or simply finds a bug to make outbound phone calls using your 'PBX'. As an ISP you won't be able to protect customers as the traffic never hits the ISPs systems

d) Network provided services

Imagine Call Forwarding on Not Available. If your CPE/IAD/SIP endpoint is not reachable it won't be able to redirect incoming calls to your mailbox. On the network - like in the PSTN - your call control SIP proxy can do the call forwarding when you are not signed up.

Mainstream perception of telephony doesn't know PSTN or SIP. People just want it working and cheap.

Hendrik

Posted by: Hendrik Scholz at August 10, 2007 01:47 PM


You jarred my memory, I do remember reading that post. Anyway, tell you what. Let's you and I put together an architecture statement and do a couple new protocols. Let's base the architecture on separating identity and location from signaling and media. Let's then do some kind of id/location protocol and a direct signaling protocol. And while we're at it, lets unify the signaling and media protocol on a single transport port number so we don't even have to worry about NATs any more.

Oh wait, isn't that OpenID with IAX2?

FM

Posted by: Frank Miller at August 10, 2007 04:41 PM



Copyright © 2003-2014 Moca Educational Products.