Real-time multimedia and communication in packet networks iLanga
Jan 04, 2016
Real-time multimedia and communication in
packet networks
iLanga
The Big Idea
1) The flexibility of Asterisk
what we have learnt
2) Working in the software domain
bridge between software and hardware closing
open environment; more flexible to change
3) Allows us to create something very functional yet simple - iLanga
SIP Express Router Focuses only on SIP messaging
Performs forking properly
Is able to handle high volumes of SIP traffic
Has forked into two separate open source projects:
OpenSER
Kamailio
Registration with SER
REGISTER
200 OK
REGISTER (with MD5Hash(user+nonce+pwd))
401 UNAUTHORISED (nonce,realm)
User Devices
Example Call Set-up
3001
3000
INVITE:[email protected] INVITE:[email protected]
INVITE:[email protected]
INVITE:[email protected]
INVITE:[email protected]
3021 0786346926
Hangup
HangupOK
Asterisk
Asterisk The core of iLanga
Speaks
RTP
IAX2
Zap (1 QUADBRI)
4 channels to markreader premium line 2 to Telkom and 2 to Rhodes PBX
Asterisk Uses AGI
Prepaid application
Mark reader application
Extensive use of the Dialplan
Routing to Telkom and Rhodes
Routing to applications
Conferencing Directory Voicemail etc;
MySQL Database We have been configuring asterisk via files in /etc/asterisk
You can also provide configuration via a Database using /etc/asterisk/extconfig.conf
IAX registrations
SIP registrations (SER talks to the database)
Voicemail
Extensions still configured in extensions.conf!
We added “usercontext.conf”
Web Frontend Provides a second way of accessing iLanga
Accessing your PBX from anything other than a telephone is a new concept – Made easy by soft switches.
Update your details
Edit ring-able devices
Listen to and control voice mail
Add prepaid credit
View call log
View the directory – click to dial
Everything you can do on the site – you should be able to do on a phone
Web Frontend Hosted by an Apache web server
Written in Flash
Also allows us to make the web site dynamic!
Talks to
Perl (CGI)
PHP
Java Proxy (used to be Python)
iLanga Proxy Many entities talking to the manager interface caused problems
A Proxy was built
First in Python, now in Java
Passes messages from the web interface to Asterisk
Passes messages from Asterisk to the MySQL DB
Some actions
Icon information
Extension state information
Dynamic content on the front end
Short tutorial on Services
Develop (in your head / on paper) a brief action plan for how you would develop one of the following services:
SPIT (Spam over Internet Telephony) generator
Application to curb SPIT in telephony applications
Asterisk-based markreader that integrates with ROSS to deliver marks to calling students over a phone
Audio database for storing and replaying all the telephone conversations that you make
Meeting scheduler for setting up meetings with other iLanga users
A ‘Hangman’ game that is played over the phone between two players
Present your ideas to the rest of the class