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.
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