Skip to main content

mod_voicemail_callpage

About

This module is used to perform an originate automatically when a new voice message is left in a mailbox. By default the module will originate the first call after X seconds (set by page-first-wait) and a new call every X seconds (set by page-wait) as long as there is a new message in the mailbox or until the limit (set by page-attempts) is met. If "page-end-on-answer" is set to true and the call is answered it will not perform any more originates for that new voice message.

Click here to expand Table of Contents

Configuration

Module configuration

Sample configuration, voicemail_callpage.conf:

<section name="configuration" description="FreeSWITCH Configuration">
<configuration name="voicemail_callpage.conf" description="voicemail_callpage">
<settings>
<param name="odbc-dsn" value="db:user:pass"/>
</settings>
<profiles>
<profile name="default">
<param name="page-dial-string" value="loopback/18885550800"/>
<param name="page-timeout" value="10"/>
<param name="page-wait" value="5"/>
<!-- default is 1 -->
<param name="page-attempts" value="1"/>
<param name="page-transfer" value="5 XML default"/>
<param name="page-parse-variables" value="user_context,accountcode,default_areacode,max_calls,toll_allow,lcr_profile,mailbox,domain_name"/>
<param name="page-first-wait" value="5"/>
<!-- default is true -->
<param name="page-enabled" value="true"/>
<!-- default is false -->
<param name="page-end-on-answer" value="false"/>
<!-- default is 0000000000 -->
<param name="page-caller-name" value="Voicemail Call Page"/>
</profile>
</profiles>
</configuration>
</section>

FreeSWITCH directory configuration

If you want to use settings from a voicemail_callpage profile make sure you have the "vm-page-profile" parameter set to the profile name like <param name="vm-page-profile" value="default"/> Please note, all of the module settings will be overridden by the FS directory parameters. Just prepend the voicemail_callpage param name with "vm-"

Directory configuration example

<section name="directory" description="FreeSWITCH Directory">
<domain name="domain01.local">
<params>
<param name="allow-empty-password" value="false"/>
<param name="vm-page-timeout" value="20"/>
</params>
<variables>
<variable name="user_context" value="domain01.local"/>
<variable name="accountcode" value="12"/>
<variable name="default_areacode" value="888"/>
<variable name="max_calls" value="5"/>
<variable name="toll_allow" value="local,domestic,tollfree"/>
<variable name="lcr_profile" value="2"/>
<variable name="domain_name" value="domain01.local"/>
</variables>
<groups>
<group name="default">
<users>
<user id="1000" cacheable="true">
<params>
<param name="MWI-Account" value="1000@domain01.local"/>
<param name="dial-string" value="{force_transfer_context=domain01.local,sip_invite_domain=domain01.local,presence_id=1000@domain01.local}${sofia_contact(1000@domain01.local)},pickup/1000@domain01.local"/>
<param name="password" value="1234"/>
<param name="vm-password" value="user-choose"/>
<param name="vm-mailto" value=""/>
<param name="vm-email-all-messages" value="true"/>
<param name="vm-keep-local-after-email" value="true"/>
<param name="vm-attach-file" value="true"/>
<param name="vm-cc" value=""/>
<param name="vm-page-dial-string" value="loopback/18887778888"/>
<param name="vm-page-attempts" value="2"/>
<param name="vm-page-wait" value="20"/>
<param name="vm-page-profile" value="default"/>
</params>
<variables>
<variable name="mailbox" value="1000"/>
<variable name="effective_caller_id_name" value="1000"/>
<variable name="effective_caller_id_number" value="1000"/>
<variable name="outbound_caller_id_name" value=""/>
<variable name="outbound_caller_id_number" value="18885551468"/>
<variable name="directory_full_name" value=""/>
</variables>
</user>
</users>
</group>
</groups>
</domain>
</section>

API usage

freeswitch@default> vm_callpage load|unload|reload [profile name]

Example usage

freeswitch@default> vm_callpage load default  
freeswitch@default> vm_callpage unload default
freeswitch@default> vm_callpage reload default