Saturday, January 20, 2024

How to build a Private phone network on VOIP using Asterisk PBX with Raspberry Pi and Mobile client














  • There was a need for an Organisation to build a phone network for use by their employees. Unlike the yester-years where telephony was analog and it required switching exchanges to route calls. The Govt or large corporations would set up Private Branch Exchanges (PBX) for this function. Now a days calls can be made digitally on the internet itself given that a server can appropriately route them to their chosen destinations. Voice over IP is used to digitally transmit packets over IP on the network to enable calling. There is a need for a VOIP server and clients that can talk to each other just like the old phone network. This can be easily achieved using robust opensource tools.
  • Asterisk is an opensource PBX that has been around for a long period of time. Asterisk is an open source framework for building communications applications. Asterisk turns an ordinary computer into a communications server. Asterisk powers IP PBX systems, VoIP gateways, conference servers and other custom solutions. It is used by small businesses, large businesses, call centers, carriers and government agencies, worldwide. Asterisk is free and open source. https://www.asterisk.org/
  • For the VOIP Client Linphone is a good choice. There was need for a command line interface to auto dial a call, etc.https://www.linphone.org/
  • The above video demonstrates a few capabilites of the  system. As can be seen a netbook was used to run the Asterisk Server and configure  various VOIP clients to be given numbers that they can be reached at. A couple of spare Raspberry Pis were used to run linphone as VOIP call originators/receivers. 
    • The first part of the video shows how to dial an RPI receiver using a phone as a VOIP originator. Linphone on the RPI is configured to auto answer the calls and play the message for the intended recepient.
    • In the second part, Asterisk can be used to broadcast audio to various configured end clients. As can be seen any call on a configured public number is broadcast to all the clients and played out in public. One use of such a system is in Airports, etc. This system can also be extended for say conditional broadcast for eg. informing the public of an illegally parked car determined so by using computer vision, etc.

No comments: