voicemail (voicemail2email) application This application plays a greeting message to the caller, records a voicemail and sends it out as email via SMTP. Audio Files ----------- The voicemail application looks in various file system paths or database tables for announce and beep messages to be played. If file system is used to store audio files, the announcement file to be played is looked for in the following order: '.wav' where and is set in voicemail.conf, is the host part of the request URI, the user part of the request URI, and is the App-Param 'Language' (see below). If MySQL database is used to store audio files, the announcement to be played is looked for first from user_audio table, then from domain_audio table, and last from default_audio table. The last two tables are defined as described in Readme.conference. user_audio table is defined as follows: CREATE TABLE user_audio ( id int(10) unsigned NOT NULL auto_increment, application varchar(32) NOT NULL, message varchar(32) NOT NULL, domain varchar(128) NOT NULL, userid varchar(64) NOT NULL, audio mediumblob NOT NULL, PRIMARY KEY (id), UNIQUE KEY application (application,message,domain,userid) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Beep sound to be played is looked for only from default_audio table. Application value is 'voicemail' and message values are 'greeting_msg' and 'beep_snd'. When an audio file is fetched from database, it is stored in /tmp directory. Mail Server ----------- The mail server to send the email with is configured in the main sems.conf in smtp_server/smtp_port. Other Items ----------- Further configuration items (voicemail.conf): max_record_time - voicemail records voicemail up to the number of seconds set here rec_file_ext - extension of recorded voicemail file. this defines the format of the recorded message: default is .wav, .mp3 will record a voicemail as MP3 file (the mp3 plugin needs to be loaded so that mp3 encoding is possible) App-Params ---------- These must be passed as headers with the INVITE request to SEMS, so that SEMS knows at least the email address to send the email to. Email-Address - mandatory (!): the email address to send the mail to Language - optional: language for announcement file Example: P-Iptel-App: voicemail P-App-Param: Email-Address=user@maildomain.net;Language=Latvian old deprecated header format: P-Email-Address: user@maildomain.net P-Language: Latvian Voicemail email templates ------------------------- The format of the email can be configured using email templates. Email templates will help you to customize the emails sent by Voicemail. Just configure the path where the templates can be found and edit your template files. You will find detailed informations in the following sections. Configuration parameters within voicemail.conf: ---------------------------------------------- This is needed in template files are kept in file system: email_template_path: - sets the directory which will be searched for email template files (*.template). - each template file stands for a different domain: .template Ex: iptel.org.template - additionaly, a default template must be present in the directory configured with that configuration parameter. It must be named 'default.template'. If you configured email_template_path well and turned debug informations on, you should find in the log file during loading process following lines: (9834) DEBUG: loadEmailTemplates (AnswerMachine.cpp:102): loading plug-in/voicemail/default.template ... (9834) DEBUG: loadEmailTemplates (AnswerMachine.cpp:102): loading plug-in/voicemail/iptel.org.template ... (9834) DEBUG: loadEmailTemplates (AnswerMachine.cpp:102): loading plug-in/voicemail/susie.at.template ... If template files are kept in MySQL database, they are looked for first from domain_template table and then from default_template table, which are defined as follows: CREATE TABLE domain_template ( id int(10) unsigned NOT NULL, application varchar(32) NOT NULL, message varchar(32) NOT NULL, domain varchar(128) NOT NULL, `language` char(2) default NULL, template text NOT NULL, PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE default_template ( id int(10) unsigned NOT NULL auto_increment, application varchar(32) NOT NULL, message varchar(32) NOT NULL, `language` char(2) default NULL, template text NOT NULL, PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Application value is 'voicemail' and message value is 'email_tmpl'. When an audio file is fetched from database, it is stored in /tmp directory. Email template format: ---------------------- to: from: subject: [header: ] The optional header line adds a freely configurable header to the mail. For example, the voicemail can be securely filtered for the header X-Content if the following is used in the voicemail template: header: X-Content: Voicemail This line is optional. Variables: ---------- If you want to customize the email depending on call datas, please use folowing syntax: %variable% Following variables are supported: - %to% : local URI. - %domain% : local domain. - %user% : local user. - %email% : email address of the local user. - %from% : remote URI. - %from_user% : remote user. - %from_domain% : remote domain.