Projects / PreViking


PreViking is a telephony daemon written in C. It has been designed with a modular structure that easily allows the addition of different services and the support of different hardware. Current services include a calling card service and a call- back service. PreViking provides an API which includes many functions to do different telephony operations such as call switching, playing/recording messages, and listening/playing DTMF.

Operating Systems

Recent releases

  •  21 Jun 2001 02:39

    Release Notes: Use of a Routing Server that allows routes to be dynamically set based on different criteria (e.g., access number, destination number), session authentication for using all call control and dsp functions, a new ringback service that will continuously try to connect to a busy destination number and then call the user back when the destination number answers, a new test carrier service that allows different carriers to be explicitly choosen by the caller, a total rewrite of placeCall functionality, CLI authentication and reorganized account locking in the calling card service, fixes for numerous bugs, memory corruption, and overrun errors, and the beginnings of the H323 and CAPI drivers.

    •  27 Mar 2001 23:46

      Release Notes: PreViking has now started to log all cdr records to a BayonneDB server rather than logging to a file on the switch's local filesystem. This allows multiple PreViking switches to store cdr records in a central repository. The protocol that BayonneDB uses allows for multicast and broadcast so BayonneDB servers can be replicated and are not dependent on a single point of failure. PreViking also now has a Call Centre service that provides a queueing system for customers waiting to connect to a callcentre. Customers are given the chance to leave a message instead of waiting. The message is loaded to a given URL by HTTP PUT. The callcentre can be configured to have opening and closing times and days of the week when it is not opened. There have been some changes to the calling card and callback service to have more consistency in the options for trying the number again and for making followups on calls.

      •  15 Feb 2001 19:44

        Release Notes: A real-time monitor has been introduced that allows administrators to see the current status of a running deamon. Available information includes the number of active sessions, the dialed and calling numbers of each session, and how long the sessions have been connected. There has also been some cleanup to the threading code in telephony.c and some error checking added to the voice stream code.

        •  10 Feb 2001 00:30

          Release Notes: There are have been many updates to the calling card service to improve the prompts being played to the user after entering a pin. Also, a low credit message is played during a call before the credit runs out. A CDR log was introduced so that there is better logging of all calls made. The billing server's hostname is loaded from the command line so there is no need for the hostname to be compiled in. Finally, a recordURL function has been added to PreViking and utilised in the Answer Phone Service.

          •  06 Jan 2001 15:45

            Release Notes: Numerous prompt and voice functions have been added. These include functions for playing words, sentences, dates, numbers, and ordinals. The test service has been extended to test these new functions. Functions have been added to play prompt files from a URL using libcurl, allowing the storage of prompt files to be distributed. A number code has been introduced for entering text from a telephone's numeric keypad. Generic menu handling functions have been added that allow interactive menus to be dynamically created. There have also been numerous bugfixes, especially in the driver code. There is also the start of a Quicknet driver that currently doesn't work but should be fixed soon.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.