Wednesday, August 12, 2009

Peer-to-Peer Phone Network

Introduction


I was standing in the bathroom washing my face this morning and I got this amazing idea*; an idea to revolutionize communications and reduce the cost of phone calls!

Imagine an anonymous phone network where you can create a number when you want, and dump the number when you want.
Imagine a phone network where you call and receive phone calls for free.
Imagine a phone network that allows you to block numbers for free.
Imagine a phone network where you have free voicemail and voicemail-to-email service.
Imagine a phone network that links all your numbers (p2p, GSM, landline) providing full reachability.

This is the: Peer-to-Peer Phone Network (PPPN: Pronounced: Pippin).



* A light-bulb didn't flash above my head, because it was morning and Tarsheed would've bludgened me to death with a bunch of old bulbs...

How Does It Work?


Still reading? Great! Let me explain how this works!

The Pippin Network consists of two parts: Nodes and Clients.

Nodes: A bunch of people buy a tiny computer that has customized free software packages on it. This PC is connected to a network that can reach the Internet. This PC is considered a node in the Pippin Network.

Clients: You have a PC, laptop, or a mobile phone with an Internet subscription. You download a free program on your phone that connects to the Pippin Network. Once you login to your extension/number, you reach any extension you want by going over the Internet through the Pippin Network.

That's it!

Originality


I spent the past 7-10 days setting up a PBX at home and just today I got this idea. I searched online on the concept and turns out there is a similar idea, but the implementation method is different. That idea was to have the mobile phones act as both the node and the client. This not the case with The Pippin Network.

Dependencies


Pippin Network relies on an existing GSM network by mobile phone carriers and on people donating bandwidth for people to call each other.

The reliance on the GSM network is actually good, because we mitigate the problem of having to figure out how to handle hand-offs, that is, when moving between Access Points. Since you're receiving your Internet through your carrier, your mobile is already handling hand-offs gracefully and guarantees almost zero down-time and full availability of the service.

To route and connect calls between clients (people), we need nodes with Internet connection. Node-providers (not owners) are donating free bandwidth. Since upload bandwidth is typically low (up to 512kbps only), it makes it more valuable and dissuade people from becoming node-providers, but there are workarounds; continue reading.

Is It Really Free?


Not quite. You need to have the following:
  1. Mobile phone/PC/Laptop

  2. Internet subscription from your carrier/ISP (Zain, Wataniya, Viva)

  3. Enough nodes to sustain the clients calling each other (idle ones don't count)


Legal Issues


Question: Voice-over-IP technology is banned from use in Kuwait. How will this work?!
Answer: VoIP is banned from being used for International calls. It's perfectly legal to use it within Kuwait.

Question: But calls are going over the Internet. You're providing International reach and it's illegal.
Answer: Wrong. Pippin network is designed to be restricted to Kuwait only. (See the technical section for details)

Question: What happens in cases of harassment and abuse?
Answer: What happens if I create an email and harass you?

Project Status


As of this writing, the project is still a draft that I'm working on. There are many of things to check and test existing software to see how to tweak it to see if it fits the project's needs.

Do I need help?
I sure can't pull this off on my own in a reasonable amount of time, if any. So I'd rather work with a team where each specializes in an aspect of the project, or at least is willing to learn about the aspect assigned.

This projects taps into the following concepts and fields:

  • Decentralized Networks

  • Telephony (Using Asterisk and SER) and VoIP

  • Dynamic DNS

  • Mobile Java



If you feel that you can aid to the project in any way (not necessarily in the above areas), contact me. If you don't hear from me with in 48-hours, post a comment here.

I also recommend that you post a comment here (even an empty one) and subscribe by email, if you wish to be updated on the status of the project.

Saturday, August 8, 2009

Asterisk PBX: Status on Version 1.6.x

As of this writing, the latest version is 1.6.2 and Dahdi version 2.2.0, and there's a standing bug for all cards using the driver: wctdm24xxp.

The cards using that driver are:
Digium TDM2400P/AEX2400: up to 24 analog ports
Digium TDM800P/AEX800: up to 8 analog ports
Digium TDM410P/AEX410: up to 4 analog ports

Bug symptoms:
You will be unable to make outgoing phone calls, until someone rings the line from outside, or if you remove the phone cable and plug it in again.

If you attempt to make an outgoing call, you'll receive an audio message from Asterisk saying: "All circuits are busy now"

Bug workarounds:
If you have compiled your own Asterisk 1.6, then you could apply the patches by the people in the link above.
Use jkroon's patch for Asterisk version 1.6.0.x, and tzafrir's patch for Asterisk 1.6.1.x or 1.6.2.x. You'll need to apply these patches to the source code, then recompile.

I will not be patching my Asterisk as I have no desire to compile Asterisk, to avoid going to fix other things (like Dahdi) in case it broke. So it's Asterisk 1.4 for me, for now.

* Dahdi is the replacement of Zaptel/Zapata. These are the telephony cards' drivers.

Wednesday, August 5, 2009

trixbox security concerns

WARNING: I want to alert everyone to NOT use trixbox due to security concerns.

I've been told by some guys in asterisk-related IRC channels that trixbox has known security problems and is not fixing them.

A quick search turns many results.

Security concerns include (but not limited to):
- Known security risks in their web-GUI and other packages but remain unpatched
- trixbox sends private information to its company without prior consent of users
- trixbox had history of installing scripts on the systems without prior notice of users

There are alternatives and I will document the installation process of one of them in a later post.

Alternatives are: AsteriskNow and PBX in a Flash.