Changeset 3626

Show
Ignore:
Timestamp:
01/24/07 13:05:06 (2 years ago)
Author:
p_lindheimer
Message:

adding functionality for personal IVRs integrated with voicemail - VmX Locator, other checkins to come

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • freepbx/trunk/amp_conf/htdocs/admin/modules/core/functions.inc.php

    r3625 r3626  
    11041104                if ( $vmbox == null ) { 
    11051105                        $voicemail = "novm"; 
     1106                        $vmx_state = "false"; 
    11061107                } else { 
    11071108                        $voicemail = $vmbox['vmcontext']; 
     
    11691170                        $astman->database_put("CW",$extension,"\"ENABLED\""); 
    11701171                } 
     1172 
     1173                if ($vmx_state) { 
     1174 
     1175                        $unavail_mode="enabled"; 
     1176                        $busy_mode="disabled"; 
     1177                        $vmx_state=$astman->database_get("AMPUSER",$extension."/vmx/unavail/state"); 
     1178 
     1179                        if (trim($vmx_state) == 'blocked') { 
     1180 
     1181                                $astman->database_put("AMPUSER", "$extension/vmx/unavail/state", "$unavail_mode"); 
     1182                                $astman->database_put("AMPUSER", "$extension/vmx/busy/state", "$busy_mode"); 
     1183 
     1184                        } elseif (trim($vmx_state) != 'enabled' && trim($vmx_state) != 'disabled') { 
     1185 
     1186                                $repeat="1"; 
     1187                                $timeout="2"; 
     1188                                $vmxopts_timeout=""; 
     1189                                $loops="1"; 
     1190 
     1191                                $mode="unavail"; 
     1192                                $astman->database_put("AMPUSER", "$extension/vmx/$mode/state", "$unavail_mode"); 
     1193                                $astman->database_put("AMPUSER", "$extension/vmx/$mode/repeat", "$repeat"); 
     1194                                $astman->database_put("AMPUSER", "$extension/vmx/$mode/timeout", "$timeout"); 
     1195                                $astman->database_put("AMPUSER", "$extension/vmx/$mode/vmxopts/timeout", "$vmxopts_timeout"); 
     1196                                $astman->database_put("AMPUSER", "$extension/vmx/$mode/loops", "$loops"); 
     1197 
     1198                                $mode="busy"; 
     1199                                $astman->database_put("AMPUSER", "$extension/vmx/$mode/state", "$busy_mode"); 
     1200                                $astman->database_put("AMPUSER", "$extension/vmx/$mode/repeat", "$repeat"); 
     1201                                $astman->database_put("AMPUSER", "$extension/vmx/$mode/timeout", "$timeout"); 
     1202                                $astman->database_put("AMPUSER", "$extension/vmx/$mode/vmxopts/timeout", "$vmxopts_timeout"); 
     1203                                $astman->database_put("AMPUSER", "$extension/vmx/$mode/loops", "$loops"); 
     1204                                 
     1205                        } 
     1206                } else { 
     1207                        $vmx_state=$astman->database_get("AMPUSER",$extension."/vmx/unavail/state"); 
     1208                        if (trim($vmx_state) == 'enabled' || trim($vmx_state) == 'disabled' || trim($vmx_state) == 'blocked') { 
     1209                                $astman->database_put("AMPUSER", "$extension/vmx/unavail/state", "blocked"); 
     1210                                $astman->database_put("AMPUSER", "$extension/vmx/busy/state", "blocked"); 
     1211                        } 
     1212                } 
     1213                $astman->disconnect(); 
    11711214        } else { 
    11721215                fatal("Cannot connect to Asterisk Manager with ".$amp_conf["AMPMGRUSER"]."/".$amp_conf["AMPMGRPASS"]); 
     
    11941237                $results['record_out']='Adhoc'; 
    11951238        } 
     1239        $astman = new AGI_AsteriskManager(); 
     1240        if ($res = $astman->connect("127.0.0.1", $amp_conf["AMPMGRUSER"] , $amp_conf["AMPMGRPASS"])) { 
     1241                $results['vmx_state']=$astman->database_get("AMPUSER",$extension."/vmx/unavail/state"); 
     1242                $astman->disconnect(); 
     1243        } else { 
     1244                fatal("Cannot connect to Asterisk Manager with ".$amp_conf["AMPMGRUSER"]."/".$amp_conf["AMPMGRPASS"]); 
     1245        } 
     1246 
    11961247        return $results; 
    11971248} 
     
    12361287                $astman->database_del("CFB",$extension); 
    12371288                $astman->database_del("CFU",$extension); 
     1289                $astman->database_deltree("AMPUSER",$extension."/vmx/"); 
    12381290        } else { 
    12391291                fatal("Cannot connect to Asterisk Manager with ".$amp_conf["AMPMGRUSER"]."/".$amp_conf["AMPMGRPASS"]); 
  • freepbx/trunk/amp_conf/htdocs/admin/modules/core/page.general.php

    r2733 r3626  
    3434                                                array(isset($_REQUEST['DIRECTORY_OPTS']) ? $_REQUEST['DIRECTORY_OPTS'] : "",'DIRECTORY_OPTS'), 
    3535                                                array(isset($_REQUEST['VM_OPTS']) ? $_REQUEST['VM_OPTS'] : "",'VM_OPTS'), 
     36 
     37                                                array(isset($_REQUEST['VMX_CONTEXT']) ? $_REQUEST['VMX_CONTEXT'] : "",'VMX_CONTEXT'), 
     38                                                array(isset($_REQUEST['VMX_PRI']) ? $_REQUEST['VMX_PRI'] : "",'VMX_PRI'), 
     39                                                array(isset($_REQUEST['VMX_TIMEDEST_CONTEXT']) ? $_REQUEST['VMX_TIMEDEST_CONTEXT'] : "",'VMX_TIMEDEST_CONTEXT'), 
     40                                                array(isset($_REQUEST['VMX_TIMEDEST_EXT']) ? $_REQUEST['VMX_TIMEDEST_EXT'] : "",'VMX_TIMEDEST_EXT'), 
     41                                                array(isset($_REQUEST['VMX_TIMEDEST_PRI']) ? $_REQUEST['VMX_TIMEDEST_PRI'] : "",'VMX_TIMEDEST_PRI'), 
     42                                                array(isset($_REQUEST['VMX_LOOPDEST_CONTEXT']) ? $_REQUEST['VMX_LOOPDEST_CONTEXT'] : "",'VMX_LOOPDEST_CONTEXT'), 
     43                                                array(isset($_REQUEST['VMX_LOOPDEST_EXT']) ? $_REQUEST['VMX_LOOPDEST_EXT'] : "",'VMX_LOOPDEST_EXT'), 
     44                                                array(isset($_REQUEST['VMX_LOOPDEST_PRI']) ? $_REQUEST['VMX_LOOPDEST_PRI'] : "",'VMX_LOOPDEST_PRI'), 
     45                                                array(isset($_REQUEST['VMX_OPTS_TIMEOUT']) ? $_REQUEST['VMX_OPTS_TIMEOUT'] : "",'VMX_OPTS_TIMEOUT'), 
     46                                                array(isset($_REQUEST['VMX_OPTS_LOOP']) ? $_REQUEST['VMX_OPTS_LOOP'] : "",'VMX_OPTS_LOOP'), 
     47                                                array(isset($_REQUEST['VMX_OPTS_DOVM']) ? $_REQUEST['VMX_OPTS_DOVM'] : "",'VMX_OPTS_DOVM'), 
     48                                                array(isset($_REQUEST['VMX_TIMEOUT']) ? $_REQUEST['VMX_TIMEOUT'] : "",'VMX_TIMEOUT'), 
     49                                                array(isset($_REQUEST['VMX_REPEAT']) ? $_REQUEST['VMX_REPEAT'] : "",'VMX_REPEAT'), 
     50                                                array(isset($_REQUEST['VMX_LOOPS']) ? $_REQUEST['VMX_LOOPS'] : "",'VMX_LOOPS'), 
    3651                                                ); 
    3752 
     
    113128</p> 
    114129 
     130<h5><?php echo _("Voicemail VmX Locator")?></h5> 
     131        <table> 
     132                <tr> 
     133                        <td> 
     134                        <a href=# class="info"><?php echo _("Default Context & Pri:")?><span> 
     135                        <?php echo _("Default to use if only an number/extension are provided."); ?></span></a> 
     136                        </td> 
     137                        <td><input type="text" size="18" name="VMX_CONTEXT" value="<?php  echo htmlspecialchars($VMX_CONTEXT)?>"/><small><?php echo _("context")?></small></td> 
     138                        <td></td> 
     139                        <td><input type="text" size="2" name="VMX_PRI" value="<?php  echo htmlspecialchars($VMX_PRI)?>"/><small><?php echo _("pri")?></small></td> 
     140                </tr> 
     141                <tr> 
     142                        <td> 
     143                        <a href=# class="info"><?php echo _("Timeout/#-press default:")?><span> 
     144                        <?php echo _("This is the default location that a caller will be sent if they don't press any key (timeout) or press # which is interpreted as a timeout. Set this to 'dovm' to go to voicemail (default)."); ?></span></a> 
     145                        </td> 
     146                        <td><input type="text" size="18" name="VMX_TIMEDEST_CONTEXT" value="<?php  echo htmlspecialchars($VMX_TIMEDEST_CONTEXT)?>"/><small><?php echo _("context")?></small></td> 
     147                        <td><input type="text" size="4" name="VMX_TIMEDEST_EXT" value="<?php  echo htmlspecialchars($VMX_TIMEDEST_EXT)?>"/><small><?php echo _("exten")?></small></td> 
     148                        <td><input type="text" size="2" name="VMX_TIMEDEST_PRI" value="<?php  echo htmlspecialchars($VMX_TIMEDEST_PRI)?>"/><small><?php echo _("pri")?></small></td> 
     149                </tr> 
     150                <tr> 
     151                        <td> 
     152                        <a href=# class="info"><?php echo _("Loop Exceed default:")?><span> 
     153                        <?php echo _("This is the default location that a caller will be sent if they press an invalid options too man times, as defined by the Maximum Loops count. Set this to 'dovm' to go to voicemail (default)."); ?></span></a> 
     154                        </td> 
     155                        <td><input type="text" size="18" name="VMX_LOOPDEST_CONTEXT" value="<?php  echo htmlspecialchars($VMX_LOOPDEST_CONTEXT)?>"/><small><?php echo _("context")?></small></td> 
     156                        <td><input type="text" size="4" name="VMX_LOOPDEST_EXT" value="<?php  echo htmlspecialchars($VMX_LOOPDEST_EXT)?>"/><small><?php echo _("exten")?></small></td> 
     157                        <td><input type="text" size="2" name="VMX_LOOPDEST_PRI" value="<?php  echo htmlspecialchars($VMX_LOOPDEST_PRI)?>"/><small><?php echo _("pri")?></small></td> 
     158                </tr> 
     159                <tr> 
     160                        <td> 
     161                        <a href=# class="info"><?php echo _("Timeout VM Msg:")?><span> 
     162                        <?php echo _("If this destination is voicemail, select whether or not to play the standard voicemail instructions or just beep."); ?></span></a> 
     163                        </td> 
     164                        <td align=right> 
     165                        <select name="VMX_OPTS_TIMEOUT"> 
     166                                <option value=""  <?php  echo ($VMX_OPTS_TIMEOUT == '' ? 'SELECTED' : '') ?>><?php echo _("Std Instrucitons")?> 
     167                                <option value="s" <?php  echo ($VMX_OPTS_TIMEOUT == 's' ? 'SELECTED' : '')?>><?php echo _("Beep Only")?> 
     168                        </select>  
     169                        </td> 
     170                </tr> 
     171                <tr> 
     172                        <td> 
     173                        <a href=# class="info"><?php echo _("Max Loop VM Msg:")?><span> 
     174                        <?php echo _("If this destination is voicemail, select whether or not to play the standard voicemail instructions or just beep."); ?></span></a> 
     175                        </td> 
     176                        <td align=right> 
     177                        <select name="VMX_OPTS_LOOP"> 
     178                                <option value=""  <?php  echo ($VMX_OPTS_LOOP == '' ? 'SELECTED' : '') ?>><?php echo _("Std Instrucitons")?> 
     179                                <option value="s" <?php  echo ($VMX_OPTS_LOOP == 's' ? 'SELECTED' : '')?>><?php echo _("Beep Only")?> 
     180                        </select>  
     181                        </td> 
     182                </tr> 
     183                <tr> 
     184                        <td> 
     185                        <a href=# class="info"><?php echo _("Direct VM Option")?><span> 
     186                        <?php echo _("If a user defined option is to go to voicmail (using the 'dovm' extension) this is the default option if not specified by the user's settings."); ?></span></a> 
     187                        </td> 
     188                        <td align=right> 
     189                        <select name="VMX_OPTS_DOVM"> 
     190                                <option value=""  <?php  echo ($VMX_OPTS_DOVM == '' ? 'SELECTED' : '') ?>><?php echo _("Std Instrucitons")?> 
     191                                <option value="s" <?php  echo ($VMX_OPTS_DOVM == 's' ? 'SELECTED' : '')?>><?php echo _("Beep Only")?> 
     192                        </select>  
     193                        </td> 
     194                </tr> 
     195                <tr> 
     196                        <td> 
     197                        <a href=# class="info"><?php echo _("Msg Timeout:")?><span> 
     198                        <?php echo _("Time ot wait after message has played to timeout and/or repeat the message if no entry pressed."); ?></span></a> 
     199                        </td> 
     200                        <td align=right> 
     201                        <select name="VMX_TIMEOUT"> 
     202<?php 
     203                        for ($i=0;$i<16;$i++) {  
     204                                $VMX_TIMEOUT = (!isset($VMX_TIMEOUT) || $VMX_TIMEOUT == '')?2:$VMX_TIMEOUT; 
     205?> 
     206                                <option value="<?php echo $i?>"  <?php  echo ($VMX_TIMEOUT == $i ? 'SELECTED' : '') ?>><?php echo $i?> 
     207<?php 
     208                                } 
     209?> 
     210                        </select></td><td><small><?php echo _("seconds")?></small> 
     211                        </td> 
     212                </tr> 
     213                <tr> 
     214                        <td> 
     215                        <a href=# class="info"><?php echo _("Msg Play:")?><span> 
     216                        <?php echo _("Number of times to play the recorded message if the caller does not press any options and it times out."); ?></span></a> 
     217                        </td> 
     218                        <td align=right> 
     219                        <select name="VMX_REPEAT"> 
     220<?php 
     221                        for ($i=1;$i<5;$i++) {  
     222                                $VMX_REPEAT = (!isset($VMX_REPEAT) || $VMX_REPEAT == '')?1:$VMX_REPEAT; 
     223?> 
     224                                <option value="<?php echo $i?>"  <?php  echo ($VMX_REPEAT == $i ? 'SELECTED' : '') ?>><?php echo $i?> 
     225<?php 
     226                                } 
     227?> 
     228                        </select></td><td><small><?php echo _("times")?></small>  
     229                        </td> 
     230                </tr> 
     231                <tr> 
     232                        <td> 
     233                        <a href=# class="info"><?php echo _("Error Re-tries:")?><span> 
     234                        <?php echo _("Number of times to play invalid options and repeat the message upon receiving an undefined option."); ?></span></a> 
     235                        </td> 
     236                        <td align=right> 
     237                        <select name="VMX_LOOPS"> 
     238<?php 
     239                        for ($i=1;$i<5;$i++) {  
     240                                $VMX_REPEAT = (!isset($VMX_LOOPS) || $VMX_LOOPS == '')?1:$VMX_LOOPS; 
     241?> 
     242                                <option value="<?php echo $i?>"  <?php  echo ($VMX_LOOPS == $i ? 'SELECTED' : '') ?>><?php echo $i?> 
     243<?php 
     244                                } 
     245?> 
     246                        </select></td><td><small><?php echo _("times")?></small>  
     247                        </td> 
     248                </tr> 
     249        </table> 
     250<p> 
     251 
     252</p> 
     253 
    115254<h5><?php echo _("Company Directory")?></h5> 
    116255<p> 
Donate



Support
Download
Develop
Forums
News
Documentation
Paid Support
About

Paid Ads