One of the great things about working with the Asterisk community is seeing the fantastic ways in which other people have used the code to solve their unusual or interesting problems with telecommunications. I’d like to talk briefly about one of the most exciting projects I’ve seen in a while, which is using Asterisk as a toolkit for routing calls on an open-source GSM cell base station.
The OpenBTS project has created an Open-Source method of doing just that, with a combination of off-the-shelf hardware and open-source code. The basic idea is this: with a USB-connected USRP (Universal Software Radio Peripheral) the software creates a connection to local GSM handsets. The software identifies itself as a BTS (Base Transceiver Station) and then is able to accept and create calls to GSM handsets. Using Asterisk on the other side of this “driver” allows easy connections between GSM phones and VoIP endpoints, and all of the flexible routing that Asterisk provides. The best descriptions are examples – check out the temporary network the developers set up at Burning Man this year as an experiment.
The [pico/fempto/nano/micro/eensyweensy]-cell discussion has been floating around the commercial world for some years now. The concept is to create tiny cell base stations that can talk with handsets to perform call handling duties. The problem is that all of the systems I’ve seen require talking to some more sophisticated back-end platform, usually owned by a mobile provider, which puts them out of the reach of the merely motivated mortal. OpenBTS plus Asterisk makes functionality possible much more easily, though it still requires a license for the radio portion, since it operates in mobile frequency spectrum. But for rural or very remote locations where licensing is less problematic, this could be a quick way to activate users with commodity mobile handsets for internal or externally trunked communications, and perhaps someday in the future this could work on super-low power personal systems in more urban areas. I’d love to walk into my house and have my phone switch over to being an extension on my Asterisk server, without using WiFi.
It would be great to see more tight integration with Asterisk on this project, like the ability to read/write specific channel variables and interact directly with the radio component. SMS is in the works, too. If you’re a motivated Asterisk hacker, give them a hand – Mobile and Asterisk is a great combination, and the more ways it can be done, the better!