Outsourcing Consulting News
Customer - Anonymous phone call system
The customer was a startup technology company planning to launch an Anonymous phone call service, in the New York metropolitan area. The premise is to allow a user to sign up online, receive a phone number, and provide a number where they want their calls forwarded. In addition to actually receiving the calls on this new number, the user can revisit the website and review who called them and block specific callers from future calls.
Business need for anonymous phone call
The proposed architecture was straightforward: the customer had a PBX (asterisk-based) machine connected to a DB machine that in turn was connected to the Web server.
The customer had these 3 boxes colocated with Broadwing in NY. The Asterisk->DB connectivity was developed: this included a couple of perl based processes that monitored changes to the phone number table in the main DB and updated the Asterisk and the main DB with the Call Record information.
The customer had designed the full front-end (HTML screens) of the portal in advance allowing us to provide a fixed time and budget estimate. The customer started with 2000 users and expect to grow to 10k-50k numbers in a short time.
The customer was looking for a software design house with experience in LAMP (Apache/Tomcat) & MySQL database and with Credit card processing, to handle this project and complete the entire backend development and CC processing integration of the portal.
Anonymous phone call solution
-
The portal is written entirely in pure PHP. All the addon libraries are PHP-based. Smarty (http://smarty.php.net) template engine will used for rendering web pages.
The following Administration pages were developed:
- Accounts listing: list of all registered accounts with short information (registration date, number of calls etc.)
- Account information/management: access to all account settings, controls to edit, remove, freeze/unfreeze account
- Account statistics: access to account billing statistics and a call log.
- Numbers management: list of all defined client numbers with short information (status, owner).
- Number history: Client number history: owners, call log.
- Price plans: management of price plans (to be discussed).
- Overall statistics: displays calls and billings summary per time periods, system load.
- System log: allows reading portions of internal system log, stored in database (for problem tracking).
Account management description:
- Account information: a page displaying all user account settings, with controls to modify them.
- Call log: a paged table containing information on all calls that have been made to user's client number, backwards-sorted by call time.
- Account statistics: access to account billing statistics and a call log.
- Billing history: a paged table containing information on all CC charges.
- Privacy settings: a paged table containing all numbers that have called user's client number, with options to block some numbers.
Daily batch process details
A batch daily process runs on schedule (Linux cron job is used for this task). It is also written in PHP language. The process executes following tasks:
- Renews active "service packages" issued for subscribers when last day of their duration occurs.
- Updates billing information (Note: methods of synchronizing billing updating and recurring CC transactions are to be developed).
- Checks frozen and reserved customer numbers, updates them when necessary.
- The process will send email notifications to affected subscribers.
The Benefits to develop anonymous phone call for the customer
As a result of the solution, the customer company now has a Application Service Provider model using LAMP technology, the customer has a solution which allows them to provide their clients with highly personalized content.
Tools and Technologies of this anonymous phone call system
Asterisk - PBX machine. It provides Voicemail services with Directory, Call Conferencing, Interactive Voice Response, Call Queuing. MySQL Database server, Apache Web server, Linux, LinkPoint Payment system.