Meraka Openphone:Project Progress
Cross collaboration visit 6 - 9 August 2006
The activities and outcomes of a cross-collaboration event that took place between the Meraka Institute and MICTI during the 6 - 9 August 2006 at MICTI, in Maputo, Mozambique are detailed. The topics discussed are elborated on, including the technical discussions on the deployment of a voicemail service for voice-over-IP-based telecentres in Mozambique.
There were two sessions of roughly 8 hours each.
The first day was primarily focused on the OpenPhone platform. The second day was focused on a specific Voice over IP (VoIP) problem that MICTI was having difficulty solving; the goal was to demonstrate how the use of OpenPhone could speed up their VoIP learning and development.
Session 1: OpenPhone technology training
This session was an introduction to the OpenPhone platform, including the Asterisk Software PBX, the complementing Asterisk extensions and the graphical authoring tool, DialogPalette.
- Explanation of where and how all the relevant software can be obtained (everything used in OpenPhone is open source software)
- Introduction to the technical details of the Asterisk Software PBX, especially how its programming paradigm differs from conventional programming
- Introduction to DialogPalette, focussing on how it embeds and hides the Asterisk PBX
- A practical session where participants had to install DialogPalette and build some of the tutorial programs; everyone was able to accomplish this successfully
- Interactive tutorial session demonstrating more advanced application functionality of DialogPalette
- Further discussions around when the use of DialogPalette is appropriate for complete Interactive Voice Response (IVR) applications, and when it should only be used as a starting point
- Explanation of the use of DialogPalette as a teaching tool for future IVR developers
- Demonstration of a follow-up project using the OpenPhone platform's technologies: MobilEd
- Q&A session
The participants were very excited about the prospect of using DialogPalette to teach new students the inner workings of the Asterisk Software PBX. This is understandable, given the interest in a simple VoIP-based telephone network (i.e. no real IVR, but focusing more on the routing/PBX functionality of Asterisk). Since DialogPalette allows users to see (in real time) the Asterisk code that it generates, and it allows for instant application simulation, it works much more effectively as an introductory teaching tool than any written alternative.
The participants were also quite interested in the MobilEd server that was demonstrated near the end of the session. MobilEd allows virtually any electronic information to be accessed using a variety of transmission mediums, one of which is audio telephony, making use of technologies developed for the OpenPhone platform. They saw MobilEd as a fitting companion to the OpenPhone platform.
Session 2: Prototype implementation of scalable VoIP telephony network with Voicemail
This session was much more practical than Session 1. Having been introduced to the OpenPhone platform and how it could assist with telephony application development, it was decided to build a prototype VoIP-based telephony network.
MICTI had been planning to implement the following network as a prototype for a larger installation:
- Two main PBXs, each serving an unknown amount of client telephones (using the SIP VoIP protocol) and with their own dialing code
- The two PBXs must be connected via some form of VoIP connection
- Each telephone must have its own Voice Mailbox; to be reached if the telephone is in use/offline
The session started with basic development methodology planning. Since each PBX is serving its own local dialing code-area, it was decided that only one PBX setup needed to be developed, with the second merely being cloned from the first (since they are very similar). Then, the interconnecting high-bandwith VoIP pipe between the two PBXs would be set up.
The group was provided with links to web pages detailing the different usage scenarios of different VoIP protocols, and also given advice on how the voicemail application could be designed using OpenPhone's DialogPalette.
Initially the need was for the voicemail system to be situated in a single, centralized location, but it was argued that given the nature of the the final deployment (3 PBXs, each interconnected with a low-bandwidth 64kbs connection stretching about 100KM), this configuration would cause unnecessary traffic congestion, and additionally could lead to voicemail being unavailable for local callers if one of these pipes were to break. The suggested alternative was a distributed voicemail system, where each PBX would manage its own local telephone clients' voice mailboxes. Using the cloning technique discussed earlier, this would not incur extra workload. This solution was finally agreed upon.
For the prototype, 2 PBXs, each serving 2 VoIP softphones, were designed. The Inter-Asterisk eXchange protocol version 2 (IAX2) protocol was chosen as the inter-PBX communication protocol (as this is what it was designed for). The network layout is shown in the figure.
With the use of DialogPalette to set up the initial call-routing logic, and to build the voicemail section, a fully operational, voicemail-enabled VoIP telephony network was built by the end of the session.
The session was concluded with a discussion of how the prototype network could be scaled to accomodate for their real-world needs. It was agreed this would be fairly easy to accomplish.