Changeset 3626

Show
Ignore:
Timestamp:
01/24/07 15:05:06 (5 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>