## Introduction

The voicemail system provides ser with voice announcement and recording capabilities. Voice messages may then be mailed to the called user. The system relies on ser for implementing the SIP stack and communicate with it through FIFO. It implements the dialog and media handling as described in RFC 3264 (An Offer/Answer Model with the Session Description Protocol) and RFC 1889 (Real time transport protocol) to realize its goal.

## Advantages

- Anyone deploying ser and VoIP should profit from this 'ready-to-run' application. It plugs into ser as easy as configuring the database location, announce file path and SMTP server address.

- Further, voicemail integrates the most popular free codecs (G.711ulaw, G.711alaw and GSM 06.10) and its own SMTP client, which means that you don't need to install anything else as ser and voicemail.

- If you want your voicemail system to support other codecs, a simple plugin system with SDK allows you to integrate them fast and simply (see the basis plugins for examples).

## Technical limitations

- The sound conversion engine doesn't support yet re-sampling. It means that input and output files have to be compatible with the sampling rate of the codec. All codecs included with the distribution work at 8kHz, which means that all the input and output files MUST be sampled at the rate of 8kHz.

- At the moment, voicemail only support the Microsoft Wav file format with PCM 16 bit, Mu-law and A-law 8 bit encoding.

## Compilation and installation

- First, you need to compile Ser with voicemail support. Therefore, you must edit Ser's Makefile.defs file and uncomment the line with '-DVOICE_MAIL' and '-D_TOTAG'.

- Then do 'make all' in Ser's root directory.

- Configure Ser to fit your needs. You can report to voicemail example config file to know what your configuration file should include. Note that voicemail only needs to know the user database location in order to work. Report to the README file in the vm module directory for description of the functions and variable that are used by voicemail and how they work.

- Finally, compile the voicemail application:

      [~/voicemail]$ cd ortp-0.5.0
      [~/voicemail/ortp-0.5.0]$ ./configure
      [~/voicemail/ortp-0.5.0]$ make all
      [~/voicemail/ortp-0.5.0]$ cd ..
      [~/voicemail]$ cd plug-in/gsm/gsm-????
      [~/voicemail/plug-in/gsm/gsm-????]$ make all
      [~/voicemail/plug-in/gsm/gsm-????]$ cd ../..
      [~/voicemail]$ make all

  You can then start voicemail with following command `ans_machine` and look if the default fit your needs. If not, type `ans_machine -h` to see how to change the default parameters. If ans_machine is not started or can't be joined while ser tries to communicate with it, the caller will become a '500 internal server error' with a comment saying what the trouble is.

## Availability, report bugs, contact the author

Ser's Voicemail's home page is hosted at http://sems.berlios.de. A snapshot may be downloaded directly from the CVS tree. A pre-configured version of ser including voicemail will be soon available (from version 0.8.11). Bugs can be reported at the voicemail's home page. If you want to contact the author, use the contact email at the home page.