VoIP Gets a New P2P Routing Protocol (DUNDi)
bkw.org writes "Today Digium released DUNDi which can be used with the Asterisk Open Source PBX for p2p call routing. Digum has also released a whitepaper (pdf) on DUNDi so others can implement this new technology into their products and give VoIP a push into the mainstream." Voxilla also has a story.
* is awesome, and for anyone who hasn't given it a shot, I definitely recommend it. Digium even sells some FXS/FXO cards if you want it to replace your traditional in-house system.
Something neat for every geek!
s.
What do we need this for? Don't we have enough protocols?
This is actually pretty cool from a distributed PBX perspective. I am not sure I would want to use it over the internet with untrusted PBX's but it would be pretty useful inside a large corporate structure.
LedgerSMB: Open source Accounting/ERP
The above information is taken (with minor edits) from the dundi.com website. It's the sort of information that would have been useful in the executive summary, IMHO.
proof, n. A demonstration that a conclusion is implied by certain premises and axioms.
However, as far as telephony goes, P2P makes sense as well. If you want to use the client-server model, you need, well, a server. Netmeeting for example requires this-- you connect to a server which handles directory info. A P2P VOIP network could decentralize this.
2^5
I read about this on the Asterisk mailing list:
http://sourceforge.net/projects/jasterisk/
Of course, you'd have to layer your EJBs/servlets/whathaveyou on top, but hey, it's a start. And it gets you away from the horrible Asterisk Manager interface.
You place a call request to one presence server that has a given URI for the person you're wanting to call, including their ID on the server. From there your SIP endpoint software does the rest, including calling landline endpoints.
An example would be:
sip:foo@mysipserver.net
Another would be:
sip:18005551212@mysipserver.net
In the first case, you're calling directly to another SIP endpoint. In the second, you could be calling a SIP endpoint or a PSTN terminated endpoint- the URI wouldn't matter.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
This new protocol is not for peer to peer voice communication. It's a method like a phone book. So you ask your peers if they know how to contact person X, your peers contact their peers and so on until they find the address of a person (for example the IAX/SIP/OpenH.323 address). Then the address is passed back though the peers to the original person doing the lookup, and is cached along the way.
You then make your telephone call using VOIP. The IAX (Inter Asterisk Exchange) protocol is amazing at getting though NAT'd connections etc. It can even trunk lots of calls together into one packet.
So in a nutshell, this is like a p2p enum.
-={ Security does not exist - give up }=-
Here's another URL to a story on DUNDi:
r es hold0.html
http://voxilla.com/voxstory107-nested-order0-th
Excerpt:
Asterisk Guru May Have Solved Interconnection Dilemna
What has been a longtime complaint of many VoIP users - the limited ability of users on separate IP networks to call each other over a direct IP-to-IP connection - may well be addressed through a new number discovery protocol developed by Mark Spencer, the lead architect behind the highly regarded open source PBX system, Asterisk.
-={ Security does not exist - give up }=-
Read the GPA. These issues are addressed, specifically in section 2, the acceptable use policy.
DUNDi and Skype are both P2P, but otherwise they are quite different. Skype uses supernodes to get through NATs; I don't think DUNDi even tries. Skype is designed to connect a huge number of PCs/phones; DUNDi looks like it's more of a server-to-server protocol (can it scale to millions of peers?). Skype users are mostly anonymous; DUNDi requires peers to negotiate contractual relationships.
And I can't resist picking on this...
Maybe someone will adapt the Speak Freely user interface to a P2P transport layer, maybe utilizing the Gnutella network itself?
Yeah, let's combine an obsolete, non-standards-compliant VoIP app with the least efficient P2P system available.
You can use any decent recycled PC for the * server. I'm running a Duron 850 with 256MB RAM, but I understand even slower will work.
There are actually a couple of ways of doing it. You can use something like Voicepulse Connect and for $8 per month for an incoming number (48 states) and/or about $.03 a minute get calling anywhere in the USA or Canada. Even outbound local numbers cost this way, though.
The other option is to buy a digium fxs/fxo card and plug into the regular PSTN. The card can run as little as $150, I believe. Check out Digium for more info there.
A good way to get cheap long distance (at less than $.03 a minute) is to go with * and use the PSTN and Voicepulse connect (it is only a setting or two to make * do the differentiation). You route the local calls through the PSTN, and the long distance ones through Voicepulse connect. It depends, of course, on how much calling you do.
One caveat - VOIP and 911 emergency do not go well together.
Cheers,
s.