Switzernet
PSE, Bâtiment A, EPFL
1015 Lausanne
Student projects
Switzernet
2008-04-03
[Updated on 2008-08-28]
[Updated on 2008-09-04]
[provider_rates] An application to
compare different provider rates and optimize our routing table 1
[retail_rates] comparison of prices and of billing
schemes with other operators for selected destinations 2
[customer_db] customer database analyses 3
[referral] analysis of referrals 3
[support] customer support analyses 3
[signalling] call setup tests based on signalling 4
[voice_analysis] call setup tests based on voice analysis 5
[quality] voice quality tests 5
[online_monitoring] online monitoring 5
[billing_modules] Billing 6
[radius_asterisk] RADIUS protocol integration in Asterisk 6
[provider_rates] An
application to compare different provider rates and optimize our routing table
Every month, we receive updated price lists from our
different telephony providers. From this information, our routing table (the
priority to which we send traffic to a given operator depending on the
destination country) changes, based on different criteria (quality, cost,
etc.).
The goal of this project is to develop an application to
compare the rates of all our providers, and optimize our routing table
accordingly. Data will be extracted from the price lists, and stored in a
database for fast queries. The results must be accessible through a web
interface.
Some of the key points:
- Prefixes sent by different operators will differ. They can
use a finer subdivision for some countries, or only propose certain
destinations. The first task is to find a unified subset of prefixes to
allow comparison between operators.
- Upload/download of price lists must be easy, adapting to
different data templates (Excel or CSV files).
- Rates comparison must take into account our volume of
calls (monthly minutes) to each destination.
- The given prices must be transformed (currency conversion,
consider taxes, rounding, connection fees, peak/off-peak hours, etc.) to a
standard format.
- The current routing priorities for each destination must
also be shown. This will be queried from our running database.
Additional features, depending on time:
- Finer criteria for comparison (voice quality, average call
success rate, etc.)
- Direct import of the optimized routing table in our
billing engine.
- Graphs showing the evolution of the rates for a given
destination.
- Suggested technologies: PHP, MySQL, Perl,
...
[retail_rates] comparison of prices and
of billing schemes with other operators for selected destinations
- you can select a group of international
and/or national destinations
- you can select a group of providers:
VOIP, traditional telephony (such as Swisscom, Sunrise, Tele2), national,
or international (such as Skype)
- call setup fee, rounding of call
duration, etc
- call setup and rounding’s impact on price
depends on destination (ACD, etc)
- the impact of the rounding on the price
(statistical computation on a number of calls)
- list of references is required
References:
http://switzernet.com/public/071023-rates-to-swiss-mobiles/
http://switzernet.com/public/070626-skype-rounding/
http://switzernet.com/public/070626-rounding-of-minutes/
http://switzernet.com/public/070625-rounding-and-callsetup/
http://switzernet.com/public/070619-comparis-swiss-mobiles/
http://switzernet.com/public/070625-comparis-voip-ch-de-fr-us-uk/
[customer_db] customer database analyses
-
type of signature: post, scan, e-signature, fax
-
date of signature
-
date of request of cancellation
-
date of termination of the contract
- time diagram between the online
inscription and signed confirmation from customer
- customer’s profile analyses (nationality,
age)
- most called destinations per customer
- customer’s location analyses
- sales statistics
-
per reseller, location, etc
[referral] analysis of referrals
-
define a customer stamp for keeping trace of
referrals [ch1], [ch2].
The referral information can be retrieved from subscription mails (contracts@)
and entered to billing notepads [ch1], [ch2]
-
create a graph of referrals and analyze the
graph (who brought whom, who in its turn brought how many, etc).
[support] customer support analyses
- statistics on support@ and billing@
replies depending on the class and type of the answer
Reference: support-emails
Chart 1. Monthly statistics of support@
replies merged with the statistics of billing@ (as of 2008-09-01). Statistics
are done depending on class only.
[signalling] call setup tests based on
signalling
- ASR: answer seizure ratio (for example
you can make 20 calls to a given destination and report the number of connections
and the number of failed attempts)
- PDD: post dial delay (the average time in
seconds from the moment you dialled the last digit and pressed the send
button until the moment the target phone starts ringing)
- make measurements and provide comparisons
with classical telephone lines
- the parameters strongly depend on the
type of the destination (mobiles or landlines will exhibit different
parameters)
- computer software can be developed, which
calls given destinations regularly and create appropriate charts
[voice_analysis] call setup tests based on voice analysis
- The requested software shall connect at
regular intervals to all of our telephony SIP servers and shall make test
calls to a given PSTN number (through each of SIP servers). The test phone
number, once connected, plays a standard voice message.
- The software must record the message and
compare it with its original
- The software must only figure out if the
recorded message corresponds to the original (no other analysis). The
comparison must say ‘matched’ or ‘not matched’. Based on the voice
comparison, the program must determine if the call attempt was successful
or not.
- The test calls must be placed every 2
minutes, hourly statistics should be generated (success rate, failure
rate, average connection time, etc) per SIP server.
- Students will have access to our
telephony servers.
- Students will be provided with housed
computers to be used as dedicated monitoring 24/24 servers.
- We can provide to students a working
space and computers in our premises during the project.
[quality] voice quality tests
- voice quality tests are difficult to do
(they can be very sophisticated or quite simple; e.g. automatic comparison
of source and received audio samples are complex and can be carried in
collaborations with EPFL labs)
- you can relay on personal perception of
several persons, you can send a voice record and publish in your web
article the source audio file and the received file (provide for
comparison the results of the same experiment carried out via a traditional
phone line)
- you can try send faxes (source fax image,
destination fax image, with a traditional line, and with a VOIP line)
- voice quality tests depend strongly on the
type of codecs (which you can change on your phone). Faxes are possible
only via G.711 (you can measure transmission durations)
CPU Load monitor of our SIP servers
Fig. 1 monitoring of the numbers of
concurrent calls per server
- payments to be credited to customer’s
account according to telephone number available in ‘payment reason’ field
of customer’s payment. A test billing server platform will be created and provided
for this project
- charge customers in blocks
- create customers in blocks (with their
account numbers)
[radius_asterisk] RADIUS protocol integration in Asterisk
Asterisk is an open-source private branch
exchange (PBX) software.
The goal of this project is to make an
Asterisk server interact with our existing VoIP infrastructure through Remote
Authentication Dial In User Service (RADIUS), which manages user authentication
and call accounting. The main points would be the integration of the Asterisk
users in our centralized database through SIP registration, accounting of calls
(internal and external), then other optional features (voicemail, vocal
messages, etc.).
Main steps of the project:
- Analyze the internal RADIUS
implementation of Asterisk
- Analyze the existing external developed
RADIUS modules
- Report the results and study the
integration with our existing infrastructure
- Install the required servers and modules
(external or self-developed)
- Testing phase
Required skills:
- Independent and organized person
- Good Linux/UNIX knowledge
- Knowledge of script languages (Perl)
- Basic networking knowledge
- Notions of VoIP (SIP protocol) a plus
- Notions of SQL a plus
References:
http://www.asterisk.org/
Asterisk PBX
http://tools.ietf.org/html/rfc2865
RFC 2865 (RADIUS)
http://www.voip-info.org/tiki-index.php?page=PortaOne+Radius+auth
External RADIUS module for Asterisk (1)
http://www-rocq.inria.fr/who/Philippe.Sultan/Asterisk/asterisk_sip_external_authentication.html
External RADIUS module for Asterisk (2)
Contacts:
jobs@switzernet.com
http://www.switzernet.com
* * *