Voice Cast

The project provides the possibility of automated telephoning clients and notifying them of various events, e.g. goods delivery to the warehouse or certain time scheduled before. The system user has an opportunity to record a number of voice messages and then manage them (set when, whom and in what case these messages should be sent).

The system has a flexible adjustment of regions, time zones as well as a reporting system. Interaction with the system is conducted both trhough the web-interface and phone (with the help of voice menu).


The given system is based on the web interface. A client registers with the owner of the system and then gets an ID and password for entering the site. On entering, he or she can create a message draft, which will be given a number and record it at any time later (by providing this number). After that, a new campaign can be created.

A campaign is a unique set of calling parameters set up to achieve a specific broadcast messaging result. At that, the system defines whether a human or a machine answers the phone. Depending on the receipient type, different messages will be played. There are several campaign types. Calling list may include thousands of phone numbers. Geographical position of the client and his time zone are taken into consideration before making a call. Calls themselves are conducted within the allowed time frame, e.g. from 9 am to 9 pm.

Phone numbers can be set by a certain criteria. To achieve this, clients personal info and trade operations data import support was enabled.

There is a possibility of message moderation in the cases when a service providing company takes responsibility for the message.

The client can perform majority of operations through the phone, by using a voice menu.

The system administrator can manage campaign performance, moderate messages and create preset criteria.


The system is implemented on IIS server that hosts an ASP.NET based site. It provides the main user-system interaction. All necessary data is stored in MS SQL Server 2000 database.

The application has 2 operating servers: Application Server and Voice Server. Application Server is responsible for optimal call time calculation and interaction with the user. In addition, it sends commands to Voice Server that works with Asterisk based server. The solution has scalable architecture and can work with 8 Asterisk-servers simultaneously for large call numbers distribution.

Voice Server sends commands to Asterisk-servers for conducting calls. Calls are conducted via VoIP provider and are transmitted through the Internet and then to the telephone network. User-system interaction with the help of a voice menu is conducted also through VoIP provider. Such interaction is performed as follows: phone – VoIP channel – Asterisk – Voice Server.

Tools and Technologies

  • IIS
  • MS SQL Server
  • ASP.Net
  • C#
  • Asterisk
  • VoIP
  • SIP
  • HTTP/.Net remoting


The given solution allows solving a number of problems concerning automatization in the fields of marketing, trade operations and interaction with clients. The system solves the problem of receipient recognition and allows defining who answers the phone – a human, fax or an answering machine. Depending on it, a certain message will be played. The system provides detailed and flexible post campaign reports on all calls conducted. Triple cycle of calls in case of receipient’s busy line. Scalable solution architecture that satisfies the customer’s functional requirements. The system can be extended up to 8 Asterisk-servers and thus process tens of thousands of calls. Voice part of the system is based on Asterisk open source/free software that allows reducing both system and maintenance costs. Support of majority SIP based VoIP protocols. The system can be used both from stationary or mobile phone and VoIP interface.