Changeset 6521

Show
Ignore:
Timestamp:
08/31/08 15:52:25 (3 months ago)
Author:
p_lindheimer
Message:
  • closes #3131 requires r6519
  • trimmed module.xml changelog
  • added global variable RECORDING_STATE, used as master override
    to disabled all extension's recording settings.
  • Added GUI setting in page.settings.php for RECORDING_STATE and
    redid most of the formatting for the whole page
  • moved macro-record-enable to auto-generation and created stub
    macro if RECORDING_STATE is disabled
  • changed agi recordingcheck to return to 'record' instead of 999
    but kept the priority 999 to avoid bugs for people who have
    broken systems and don't update their agi script
  • tweaked a couple parts of dialparties.agi to remove a loop and and
    some other minor changes.
  • requires the additions to extentions.class.php r6519
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/branches/2.5/core/agi-bin/dialparties.agi

    r6446 r6521  
    234234$astvarlibdir     = get_var( $AGI, "ASTVARLIBDIR" ); 
    235235// If this isn't a ring group, check to see if the user has call screening on 
    236 $count = 0; 
    237 foreach ($ext as $k) { 
    238         // Only screen calls if the primary extension is called, or it's follow-me is called, not ring groups 
    239         if(($count == 0) && ($from_outside != '') && ($rgmethod == "none" || $fmgrp == $k) && !$already_screened) { 
    240                 $screen_call = $AGI->database_get('AMPUSER', $k."/screen"); 
    241                 $screen_call = $screen_call['data']; 
    242                 if (strlen($screen_call)) { 
    243                         if($screen_call == 'nomemory' && $cidnum != '')  { // This can't go in the dialplan because macro-dial can get called multiple times 
    244                                 // Do a security check, we only numeric callerid numbers, otherwise code could be incjected in a cidnum field 
    245                                 // that could result in an arbitrary command being executed in this remove operation. 
    246                                 if (ctype_digit($cidnum)) { 
    247                                         exec("rm -f $astvarlibdir/sounds/priv-callerintros/$cidnum.*"); 
    248                                 } 
    249                         } 
    250                         $screen = true; 
    251                         $AGI->set_variable('__SCREEN',$screen_call); 
    252                         $AGI->set_variable('__SCREEN_EXTEN',$k); 
    253                         debug("Extension $k has call screening on", 4); 
    254                 } else { 
    255                         debug("Extension $k has call screening off", 4); 
    256                 } 
    257         } 
    258         $count++; 
     236// Only screen calls if the primary extension is called, or it's follow-me is called, not ring groups 
     237if(($from_outside != '') && isset($ext[0]) && ($rgmethod == "none" || $fmgrp == $ext[0]) && !$already_screened) { 
     238        $screen_call = $AGI->database_get('AMPUSER', $ext[0]."/screen"); 
     239        $screen_call = $screen_call['data']; 
     240        if (strlen($screen_call)) { 
     241                if($screen_call == 'nomemory' && $cidnum != '')  { // This can't go in the dialplan because macro-dial can get called multiple times 
     242                        // Do a security check, we only numeric callerid numbers, otherwise code could be incjected in a cidnum field 
     243                        // that could result in an arbitrary command being executed in this remove operation. 
     244                        if (ctype_digit($cidnum)) { 
     245                                exec("rm -f $astvarlibdir/sounds/priv-callerintros/$cidnum.*"); 
     246                        } 
     247                } 
     248                $screen = true; 
     249                $AGI->set_variable('__SCREEN',$screen_call); 
     250                $AGI->set_variable('__SCREEN_EXTEN',$ext[0]); 
     251                debug("Extension $k has call screening on", 4); 
     252        } else { 
     253                debug("Extension $k has call screening off", 4); 
     254        } 
    259255} 
    260256// IF THE FIRST EXTENSION IS CALL FORWARD ENABLED (put in logic) then we don't do master mode 
     
    309305// Now check for DND 
    310306foreach ( $ext as $k ) { 
    311         if ( (strpos($k,"#")==0) ) { 
     307        if ( (substr($k,-1)=='#') ) { 
    312308                // no point in doing if cf is enabled 
    313309                $dnd = $AGI->database_get('DND',$k); 
     
    414410        // if CF is not in use and $dndprimary is not set otherwise $extnum has been cleared and nothing to do 
    415411        // 
    416         if ( (strpos($k,"#")==0) && $dndprimary == 0) { 
     412        if ( (substr($k,-1)=='#') && $dndprimary == 0) { 
    417413                // CW is not in use or CFB is in use on this extension, then we need to check! 
    418414                if ( ($exthascw == 0) || ($exthascfb == 1) || ($exthascfu == 1) ) { 
     
    497493                        } 
    498494                        // Update Caller ID for calltrace application 
    499                         if ((strpos($k,"#")==0) && (($rgmethod != "hunt") && ($rgmethod != "memoryhunt") && ($rgmethod != "firstavailable") && ($rgmethod != "firstnotonphone")) ) { 
     495                        if ((substr($k,-1)=='#') && (($rgmethod != "hunt") && ($rgmethod != "memoryhunt") && ($rgmethod != "firstavailable") && ($rgmethod != "firstnotonphone")) ) { 
    500496                                if ( isset($cidnum) && is_numeric($cidnum) ) { 
    501497                                        $rc = $AGI->database_put('CALLTRACE', $k, $cidnum); 
  • modules/branches/2.5/core/agi-bin/recordingcheck

    r5823 r6521  
    6565                                        $agi->verbose("CALLFILENAME=g{$exten}-{$timestamp}-{$uniqueid}"); 
    6666                                        $agi->set_variable("CALLFILENAME","g{$exten}-{$timestamp}-{$uniqueid}"); 
    67                                         $agi->set_priority(999); 
     67                                        $agi->set_priority('record'); 
    6868                                        exit(0); 
    6969                                } 
     
    9494                        $agi->verbose("CALLFILENAME=OUT{$exten['data']}-{$timestamp}-{$uniqueid}"); 
    9595                        $agi->set_variable("CALLFILENAME","OUT{$exten['data']}-{$timestamp}-{$uniqueid}"); 
    96                         $agi->set_priority(999); 
     96                        $agi->set_priority('record'); 
    9797                        exit(0); 
    9898                } else { 
     
    118118                        $agi->verbose("CALLFILENAME={$timestamp}-{$uniqueid}"); 
    119119                        $agi->set_variable("CALLFILENAME","{$timestamp}-{$uniqueid}"); 
    120                         $agi->set_priority(999); 
     120                        $agi->set_priority('record'); 
    121121                        exit(0);         
    122122                } else { 
  • modules/branches/2.5/core/etc/extensions.conf

    r6449 r6521  
    673673;                    if set to "BYPASS" then this trunk will be skipped 
    674674; 
    675  
    676  
    677 [macro-record-enable] 
    678 exten => s,1,GotoIf($[${LEN(${BLINDTRANSFER})} > 0]?2:4) 
    679 exten => s,2,ResetCDR(w) 
    680 exten => s,3,StopMonitor() 
    681 exten => s,4,AGI(recordingcheck,${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)},${UNIQUEID}) 
    682 exten => s,5,Noop(No recording needed)  
    683 exten => s,999,MixMonitor(${MIXMON_DIR}${CALLFILENAME}.${MIXMON_FORMAT}||${MIXMON_POST}) 
    684  
    685 ;exten => s,3,BackGround(for-quality-purposes) 
    686 ;exten => s,4,BackGround(this-call-may-be) 
    687 ;exten => s,5,BackGround(recorded) 
     675exten => s,1,MacroExit() 
    688676 
    689677; This macro is for dev purposes and just dumps channel/app variables.  Useful when designing new contexts.  
  • modules/branches/2.5/core/functions.inc.php

    r6508 r6521  
    11401140                        ); 
    11411141 
     1142                        $disable_recording = false; 
     1143 
    11421144                        $sql = "SELECT * FROM globals"; 
    11431145                        $globals = sql($sql,"getAll",DB_FETCHMODE_ASSOC); 
     
    11541156                                                unset($amp_conf_globals[$index]); 
    11551157                                        } 
     1158                                } 
     1159                                if (($global['variable'] == 'RECORDING_STATE') && (strtoupper($global['value']) == 'DISABLED')) { 
     1160                                        $disable_recording = true; 
    11561161                                } 
    11571162                        } 
     
    11961201                                        $ext->addGlobal("PREFIX_TRUNK_$trunkname",count($entries)); 
    11971202                                } 
     1203                        } 
     1204 
     1205                        // Generate macro-record-enable, if recording is disabled then we just make it a stub 
     1206                        // Otherwise we make it right 
     1207                        // 
     1208                        $context = 'macro-record-enable'; 
     1209                        $exten = 's'; 
     1210                        if ($disable_recording) { 
     1211                                $ext->add($context, $exten, '', new ext_macroexit()); 
     1212                        } else { 
     1213                                $ext->add($context, $exten, '', new ext_gotoif('$["${BLINDTRANSFER}" = ""]', 'check')); 
     1214                                $ext->add($context, $exten, '', new ext_resetcdr('w')); 
     1215                                $ext->add($context, $exten, '', new ext_stopmonitor()); 
     1216                                $ext->add($context, $exten, 'check', new ext_agi('recordingcheck,${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)},${UNIQUEID}')); 
     1217                                $ext->add($context, $exten, '', new ext_macroexit()); 
     1218                                // keep this 999 in case people have issues updating their recording script 
     1219                                $ext->add($context, $exten, 'record', new ext_mixmonitor('${MIXMON_DIR}${CALLFILENAME}.${MIXMON_FORMAT}','','${MIXMON_POST}'),'1',998); 
    11981220                        } 
    11991221 
  • modules/branches/2.5/core/install.php

    r6450 r6521  
    228228} 
    229229 
     230// Add variable RECORDING_STATE use to globally disable recording 
     231// TODO: move this to the upgrade script so it only has to be done 
     232//       once in a major upgrade when we move to next major release 
     233// 
     234outn("Checking for Global var RECORDING_STATE.."); 
     235$nrows = $db->getOne("SELECT count(*) from globals where variable='RECORDING_STATE'"); 
     236if (!$nrows) { 
     237        $db->query("insert into globals values ('RECORDING_STATE', 'ENABLED')"); 
     238        out("Created"); 
     239} else { 
     240        out("Already exists!"); 
     241} 
     242 
    230243?> 
  • modules/branches/2.5/core/module.xml

    r6499 r6521  
    44        <category>Basic</category> 
    55        <name>Core</name> 
    6         <version>2.5.0rc2.1</version> 
     6        <version>2.5.0rc2.3</version> 
    77        <candisable>no</candisable> 
    88        <canuninstall>no</canuninstall> 
    99        <changelog> 
     10                *2.5.0rc2.3* #3130, #2750, #3128, #3131 (requires r6519) added master recording disable (can be performance booster) 
     11                *2.5.0rc2.2* lots of changed to be updated 
    1012                *2.5.0rc2.1* #3115, #3116 remove warning and add t option to nv_faxdetect 
    1113                *2.5.0rc2.0* #3091, #3099, #3100 Added return from voicemail/busy to IVR support, added CID Priority Route Inbound Route option 
     
    2325                *2.4.0.2* #2702, #2759, #2763, #2801, #2747, #2828, #2604, #2841, #2835 - review svn log or tickets for details 
    2426                *2.4.0.1* #2693 fix DID editing creating new DID route introduced from #2664 fix 
    25                 *2.4.0.0* #2664, #2591, #2629 - first 2.4 final release 
    26                 *2.4.0rc1.0* #2574, #2644, #2650, #2648 and bump to rc1 
    27                 *2.4.0beta2.4* #2631 fix firstonphone, firstavailable ring strategies 
    28                 *2.4.0beta2.3* #2626 logout user in devicesanduser mode not logging out if no default user set 
    29                 *2.4.0beta2.2* revert #2919, #2607, #2578, #2620, #2560, #2621, #2560, add RETURN option to macro-vm, added DUNDi trunk type 
    30                 *2.4.0beta2.1* #2576 fix macro-dial to hand dialparties returning with no numbers to dial 
    31                 *2.4.0beta2.0* #2568 move features.conf to core and add support in core_conf class, add tooltip details to onlne update checking 
    32                 *2.4.0beta1.2* #2556, #2554 move macros to auto-generation: dialout-trunk, user-callerid, dialout-enum, outbound-callerid, agent-add, agent-del 
    33                 *2.4.0beta1.1* moved all sip.conf and iax.conf settings into _general_additional.conf files for auto-generation, fixes to Zap Channel DIDs validation 
    34                 *2.4.0beta1.0* addition of zapchandids page and removal of Channel in inbound routes, Extension/Destination Registry support, Adhoc Device and login/out improvments. Added ringing to Terminate Call Destinations,  #2493, #1974, #2470, #1697, #2357, #2393 pinless dialing #2299 1.6 dialparties support, #2221, #2303, add callconfirmation option to hunt strategy, #2526, core_conf class 
    35                 *2.4.0alpha1.0* #2191, #2410, #2459, #2465; streamline dialout-trunk/outbound route repetition, add language support to macro-user-callerid 
    36                 *2.3.1.0* #2372, #2384, #2408, remove double menu items (modules admin, dashboard), add macro-dialout-trunk-predial-hook 
    37                 *2.3.0.3* #2308 FROM_DID to use ${EXTEN}, #2381 add iax_general_custom.conf, #2375 localization fixes 
    38                 *2.3.0.2* #2330 allow '_' in route name changes, fix missing global variable. 
    39                 *2.3.0.1* fix support link 
    40                 *2.3.0.0* Final Release 
    41                 *2.3.0RC1.3* #2295 generate bad-nubmer in core, disable with AMPBADNUMBER=false, #2172 replace | with , #2299 except dialparties.agi, #2193 hard code paths, #2296 privacy manger for 1.4 
    42                 *2.3.0RC1.2* #2253 remove default jbenable, jbforce, remove DeadAGI, #2189 add no-msg dest for vm 
    43                 *2.3.0RC1.1* bump to RC1 because of bug not using proper version compare 
    44                 *2.3.0rc1.0* bump for rc1 
    45                 *2.3.0beta2.3.5* make wiki help link always accesible in database mode, fix for #2209, added includes to sip.conf, cleanup in dialparties.agi 
    46                 *2.3.0beta2.3.4* #1748 utf-8 fix, #1759 password field not in database mode, #2215 Outbound Routes highlighting in lnav 
    47                 *2.3.0beta2.3.3* fixed some uninitialized variables, #2210 trunk dialpatterns not being retrieved in gui 
    48                 *2.3.0beta2.3.2* #2151 fix trunk ordering when more than 9 trunks used, and some unitialized vars 
    49                 *2.3.0beta2.3.1* #2199 fix ENABLECW behavior on new extensions 
    50                 *2.3.0beta2.3* added xml attribute needsenginedb, #2185 make MoH settings inheritable and add inherittable  MOHCLASS to dids/directdids with MoH 
    51                 *2.3.0beta2.2* #1907 don't send ringing, #2055 language in *99 recording, #2168 dialparties to set sip header from SIPADDHEADER channel var 
    52                 *2.3.0beta2.1* #2155 correct trunk tooltip, #2046 workaround for Asterisk bug that breaks VmX on some systems 
    53                 *2.3.0beta2.0* Rearranged core destinations in drawselect box, added unavail and busy for vm, #1841 directdid with + fixed, #1329 recording with CID number aliasing broken, fixed 1.4 ALERT_INFO deprecated use, added online update select box to general screen, and email where to send #2115 dial-by-name directory not saying supplied name 
    54                 *2.3.0beta1.9* Added Call Waiting enable/disable on extensions settings, default for new is still set by ENABLECW 
    55                 *2.3.0beta1.8.1* Added javascript validation to CID Prefix 
    56                 *2.3.0beta1.8* Added CID Prefix Prepend feature to inbound DIDs 
    57                 *2.3.0beta1.7* #2052 fix fixlocalprefix, bug introduced in 2.3.0beta1.6 
    58                 *2.3.0beta1.6* #2042, #2046, auto generate asterisk path variables, remove amportal.conf parsing in dialparties.agi, remove other hardcoded paths 
    59                 *2.3.0beta1.5* #2041, fix typo introduced in 2.3.0beta1.4 resultingin fixlocalprefix breaking 
    60                 *2.3.0beta1.4* #1522 DeadAGI back to AGI, fixed Trunk Dial Rules tooltip, added wanrnings comments to agi-bin scripts 
    61                 *2.3.0beta1.3* #1633 proper display after deleting, #1747 add South Africa to indications.conf, #2024 can't edit exten with directdid set 
    62                 *2.3.0beta1.2* Changed CW default to on, changed freePBX to FreePBX 
    63                 *2.3.0beta1.1* Change core destinations to from-did-direct from ext-local so that findmefollow is used if present 
    64                 *2.3.0beta1.0* First release online upradeable core module 
    65                 *1.2* Core modules code when part of framework 
     27                *2.4.0.0* CHANGELOG TRUNCATED See SVN Repository 
    6628        </changelog> 
    6729        <depends> 
  • modules/branches/2.5/core/page.general.php

    r6412 r6521  
    2020if ($action == 'editglobals') { 
    2121        $globalfields = array( 
     22                  array($_REQUEST['RECORDING_STATE'],'RECORDING_STATE'), 
    2223                  array($_REQUEST['MIXMON_FORMAT'],'MIXMON_FORMAT'), 
    2324                                                array($_REQUEST['MIXMON_DIR'],'MIXMON_DIR'), 
     
    104105 
    105106<h5><?php echo _("Dialing Options")?></h5> 
    106 <p> 
     107<table> 
     108        <tr><td> 
    107109        <a href=# class="info"><?php echo _("Asterisk Dial command options:")?><span><br> 
    108110<?php echo _("t: Allow the called user to transfer the call by hitting #")?><br> 
     
    112114<?php echo _("W: Allow the calling user to start recording after pressing *1 (Asterisk v1.2)")?><br> 
    113115        </span></a> 
    114         <input type="text" size="2" name="DIAL_OPTIONS" value="<?php  echo htmlspecialchars($DIAL_OPTIONS)?>" tabindex="<?php echo ++$tabindex;?>"/> 
    115         <br><br> 
     116        </td><td align="right"> 
     117        <input type="text" size="10" name="DIAL_OPTIONS" value="<?php  echo htmlspecialchars($DIAL_OPTIONS)?>" tabindex="<?php echo ++$tabindex;?>"/> 
     118        </td></tr> 
     119        <tr><td> 
    116120        <a href=# class="info"><?php echo _("Asterisk Outbound Dial command options:")?><span><br> 
    117121<?php echo _("t: Allow the called user to transfer the call by hitting #")?><br> 
     
    121125<?php echo _("r: You SHOULD NOT use this option on outbound trunks")?><br> 
    122126        </span></a> 
    123         <input type="text" size="2" name="TRUNK_OPTIONS" value="<?php  echo htmlspecialchars($TRUNK_OPTIONS)?>" tabindex="<?php echo ++$tabindex;?>"/> 
    124 </p> 
     127        </td><td align="right"> 
     128        <input type="text" size="10" name="TRUNK_OPTIONS" value="<?php  echo htmlspecialchars($TRUNK_OPTIONS)?>" tabindex="<?php echo ++$tabindex;?>"/> 
     129        </td></tr> 
     130</table> 
    125131 
    126132<h5><?php echo _("Call Recording")?></h5> 
    127 <p> 
     133<table> 
     134        <tr><td> 
     135        <a href=# class="info"><?php echo _("Extension Recording Override:")?><span> 
     136        <?php echo _("This will override the recording settings of all extensions/users. If disabled, the system will ignore all Record Always settings of a user and will not turn on recording. This does not effect On Demand recording controlled by the dial options 'w' and 'W' above. It does not effect other recording settings in modules such as Queues and Conferences. If you don't use recordings, setting this is beneficial to system performance as it removes the check that is otherwise done on every single call."); ?></span></a> 
     137        </td><td align="right"> 
     138        <select name="RECORDING_STATE" tabindex="<?php echo ++$tabindex;?>"> 
     139                <option value="ENABLED"  <?php  echo ($RECORDING_STATE == 'ENABLED' ? 'SELECTED' : '')?>><?php echo _("Enabled")?> 
     140                <option value="DISABLED"   <?php  echo ($RECORDING_STATE == 'DISABLED'  ? 'SELECTED' : '')?>><?php echo _("Disabled")?> 
     141        </select> 
     142        </td></tr> 
     143        <tr><td> 
    128144  <a href=# class="info"><?php echo _("Call recording format:")?><span><br> 
    129145  <?php echo _("Pick the format in which to save recorded calls")?><br> 
    130146  </span></a> 
     147        </td><td align="right"> 
    131148  <select name="MIXMON_FORMAT" tabindex="<?php echo ++$tabindex;?>"> 
    132149  <option value="WAV"<?php if ($MIXMON_FORMAT == "WAV") echo " SELECTED"; ?>><?php echo _("WAV"); ?></option> 
     
    138155  <option value="g729"<?php if ($MIXMON_FORMAT == "g729") echo " SELECTED"; ?>><?php echo _("g729"); ?></option> 
    139156  </select> 
    140   <br><br>   
     157        </td></tr> 
     158        <tr><td> 
    141159  <a href=# class="info"><?php echo _("Recording Location:")?><span><br> 
    142160  <?php echo _("Override the default location where asterisk will store call recordings. Include the trailing /. Be sure to set proper permissions on the directory for the asterisk user.")?><br> 
    143161  </span></a> 
    144   <input type="text" name="MIXMON_DIR" value="<?php  echo htmlspecialchars($MIXMON_DIR)?>" tabindex="<?php echo ++$tabindex;?>"/> 
    145   <br><br> 
     162        </td><td align="right"> 
     163  <input type="text" size="30" name="MIXMON_DIR" value="<?php  echo htmlspecialchars($MIXMON_DIR)?>" tabindex="<?php echo ++$tabindex;?>"/> 
     164        </td></tr> 
     165        <tr><td> 
    146166  <a href=# class="info"><?php echo _("Run after record:")?><span><br> 
    147167  <?php echo _("An optional script to be run after the call is hungup. You can include channel and MixMon variables like \${CALLFILENAME}, \${MIXMON_FORMAT} and \${MIXMON_DIR}. To ensure that you variables are properly escaped, use the following notation: ^{MY_VAR}")?><br> 
    148168  </span></a> 
    149   <input type="text" name="MIXMON_POST" value="<?php  echo htmlspecialchars($MIXMON_POST)?>" tabindex="<?php echo ++$tabindex;?>"/> 
    150   <br><br> 
    151 </p> 
     169        </td><td align="right"> 
     170  <input type="text" size="30" name="MIXMON_POST" value="<?php  echo htmlspecialchars($MIXMON_POST)?>" tabindex="<?php echo ++$tabindex;?>"/> 
     171        </td></tr> 
     172</table> 
    152173 
    153174<h5><?php echo _("Voicemail")?></h5> 
    154 <p> 
    155         <?php echo _("Number of seconds to ring phones before sending callers to voicemail:")?> 
     175<table> 
     176        <tr><td> 
     177  <a href=# class="info"><?php echo _("Ringtime Default:")?><span><br> 
     178  <?php echo _("Default number of seconds to ring phones before sending callers to voicemail. This can be set per extension/user and will have no effect on phones with no voicemail.")?><br> 
     179  </span></a> 
     180        </td><td align="right"> 
    156181        <input type="text" size="2" name="RINGTIMER" value="<?php  echo htmlspecialchars($RINGTIMER)?>" tabindex="<?php echo ++$tabindex;?>"/> 
    157         <br><br> 
    158         <?php echo _("Extension prefix for dialing direct to voicemail:")?> 
     182        </td></tr> 
     183        <tr><td> 
     184  <a href=# class="info"><?php echo _("Direct Dial Voicemail Prefix:")?><span><br> 
     185  <?php echo _("Prefix used to dial directly to someone's voicemail. Caution should be taken in choosing this prefix to avoid conflicts with featurecodes.")?><br> 
     186  </span></a> 
     187        </td><td align="right"> 
    159188        <input type="text" size="2" name="VM_PREFIX" value="<?php  echo htmlspecialchars($VM_PREFIX)?>" tabindex="<?php echo ++$tabindex;?>"/> 
    160         <br><br> 
     189        </td></tr> 
     190        <tr><td> 
    161191        <?php echo _("Direct Dial to Voicemail message type:")?> 
     192        </td><td align="right"> 
    162193        <select name="VM_DDTYPE" tabindex="<?php echo ++$tabindex;?>"> 
    163194        <option value=""><?php echo _("Default"); ?></option> 
    164         <option value="u"<?php if ($VM_DDTYPE == "u") echo " SELECTED"; ?>><?php echo _("Unavailable"); ?></option> 
    165         <option value="su"<?php if ($VM_DDTYPE == "su") echo " SELECTED"; ?>><?php echo _("Unavailable")."--"._("no instructions"); ?></option> 
    166         <option value="b"<?php if ($VM_DDTYPE == "b") echo " SELECTED"; ?>><?php echo _("Busy"); ?></option> 
    167         <option value="sb"<?php if ($VM_DDTYPE == "sb") echo " SELECTED"; ?>><?php echo _("Busy")."--"._("no instructions"); ?></option> 
     195        <option value="u"<?php if ($VM_DDTYPE == "u" || $VM_DDTYPE == "su") echo " SELECTED"; ?>><?php echo _("Unavailable"); ?></option> 
     196        <option value="b"<?php if ($VM_DDTYPE == "b" || $VM_DDTYPE == "sb") echo " SELECTED"; ?>><?php echo _("Busy"); ?></option> 
    168197        <option value="s"<?php if ($VM_DDTYPE == "s") echo " SELECTED"; ?>><?php echo ("No Message"); ?></option> 
    169198        </select> 
    170         <br><br> 
    171         <a href=# class="info"><?php echo _("Use gain when recording the voicemail message (optional):")?><span> 
     199        </td></tr> 
     200        <tr><td> 
     201        <a href=# class="info"><?php echo _("Optional Voicemail Recording Gain:")?><span> 
    172202        <?php echo _("Use the specified amount of gain when recording the voicemail message."); ?><br><br> 
    173203        <?php echo _("The units are whole-number decibels (dB)."); ?></span></a> 
     204        </td><td align="right"> 
    174205        <input type="text" size="2" name="VM_GAIN" value="<?php  echo htmlspecialchars($VM_GAIN)?>" tabindex="<?php echo ++$tabindex;?>"/> 
    175         <br><br> 
    176         <input type="checkbox" value="s" name="VM_OPTS" <?php  echo ($VM_OPTS ? 'CHECKED' : '')?> tabindex="<?php echo ++$tabindex;?>"> <a href=# class="info"><?php echo _("Do Not Play")?><span><?php echo _("Check this to remove the default message \"Please leave your message after the tone. When done, hang-up, or press the pound key.\" That is played after the voicemail greeting (the s option). This applies globally to all vm boxes.")?></span></a> <?php echo _("please leave message after tone to caller")?> 
    177 </p> 
     206        </td></tr> 
     207        <tr><td> 
     208        <a href=# class="info"><?php echo _("Do Not Play")?><span><?php echo _("Check this to remove the default message \"Please leave your message after the tone. When done, hang-up, or press the pound key.\" That is played after the voicemail greeting (the s option). This applies globally to all vm boxes.")?></span></a> <?php echo _("\"please leave message after tone to caller\"")?> 
     209        </td><td align="right"> 
     210        <input type="checkbox" value="s" name="VM_OPTS" <?php  echo (($VM_OPTS || $VM_DDTYPE == "su" || $VM_DDTYPE == "bu") ? 'CHECKED' : '')?> tabindex="<?php echo ++$tabindex;?>">  
     211        </td></tr> 
     212</table> 
    178213 
    179214<h5><?php echo _("Voicemail VmX Locator")?></h5> 
     
    182217                        <td> 
    183218                        <a href=# class="info"><?php echo _("Default Context & Pri:")?><span> 
    184                         <?php echo _("Default to use if only an number/extension are provided."); ?></span></a> 
    185                         </td> 
    186                         <td><input type="text" size="18" name="VMX_CONTEXT" value="<?php  echo htmlspecialchars($VMX_CONTEXT)?>" tabindex="<?php echo ++$tabindex;?>"/><small><?php echo _("context")?></small></td> 
    187                         <td></td> 
    188                         <td><input type="text" size="2" name="VMX_PRI" value="<?php  echo htmlspecialchars($VMX_PRI)?>" tabindex="<?php echo ++$tabindex;?>"/><small><?php echo _("pri")?></small></td> 
     219                        <?php echo _("Default to use if only a number/extension are provided."); ?></span></a> 
     220                        </td> 
     221                        <td align="right"><input type="text" size="18" name="VMX_CONTEXT" value="<?php  echo htmlspecialchars($VMX_CONTEXT)?>" tabindex="<?php echo ++$tabindex;?>"/>&nbsp;<small><?php echo _("context")?></small>&nbsp;</td> 
     222                        <td colspan="2" align="right"><input type="text" size="2" name="VMX_PRI" value="<?php  echo htmlspecialchars($VMX_PRI)?>" tabindex="<?php echo ++$tabindex;?>"/></td><td><small><?php echo _("pri")?></small></td> 
    189223                </tr> 
    190224                <tr> 
     
    193227                        <?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> 
    194228                        </td> 
    195                         <td><input type="text" size="18" name="VMX_TIMEDEST_CONTEXT" value="<?php  echo htmlspecialchars($VMX_TIMEDEST_CONTEXT)?>" tabindex="<?php echo ++$tabindex;?>"/><small><?php echo _("context")?></small></td> 
    196                         <td><input type="text" size="4" name="VMX_TIMEDEST_EXT" value="<?php  echo htmlspecialchars($VMX_TIMEDEST_EXT)?>" tabindex="<?php echo ++$tabindex;?>"/><small><?php echo _("exten")?></small></td> 
    197                         <td><input type="text" size="2" name="VMX_TIMEDEST_PRI" value="<?php  echo htmlspecialchars($VMX_TIMEDEST_PRI)?>" tabindex="<?php echo ++$tabindex;?>"/><small><?php echo _("pri")?></small></td> 
     229                        <td align="right"><input type="text" size="18" name="VMX_TIMEDEST_CONTEXT" value="<?php  echo htmlspecialchars($VMX_TIMEDEST_CONTEXT)?>" tabindex="<?php echo ++$tabindex;?>"/>&nbsp;<small><?php echo _("context")?></small>&nbsp;</td> 
     230                        <td align="right"><input type="text" size="4" name="VMX_TIMEDEST_EXT" value="<?php  echo htmlspecialchars($VMX_TIMEDEST_EXT)?>" tabindex="<?php echo ++$tabindex;?>"/>&nbsp;<small><?php echo _("exten")?></small>&nbsp;</td> 
     231                        <td align="right"><input type="text" size="2" name="VMX_TIMEDEST_PRI" value="<?php  echo htmlspecialchars($VMX_TIMEDEST_PRI)?>" tabindex="<?php echo ++$tabindex;?>"/></td><td><small><?php echo _("pri")?></small></td> 
    198232                </tr> 
    199233                <tr> 
     
    202236                        <?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> 
    203237                        </td> 
    204                         <td><input type="text" size="18" name="VMX_LOOPDEST_CONTEXT" value="<?php  echo htmlspecialchars($VMX_LOOPDEST_CONTEXT)?>" tabindex="<?php echo ++$tabindex;?>"/><small><?php echo _("context")?></small></td> 
    205                         <td><input type="text" size="4" name="VMX_LOOPDEST_EXT" value="<?php  echo htmlspecialchars($VMX_LOOPDEST_EXT)?>" tabindex="<?php echo ++$tabindex;?>"/><small><?php echo _("exten")?></small></td> 
    206                         <td><input type="text" size="2" name="VMX_LOOPDEST_PRI" value="<?php  echo htmlspecialchars($VMX_LOOPDEST_PRI)?>" tabindex="<?php echo ++$tabindex;?>"/><small><?php echo _("pri")?></small></td> 
     238                        <td align="right"><input type="text" size="18" name="VMX_LOOPDEST_CONTEXT" value="<?php  echo htmlspecialchars($VMX_LOOPDEST_CONTEXT)?>" tabindex="<?php echo ++$tabindex;?>"/>&nbsp;<small><?php echo _("context")?></small>&nbsp;</td> 
     239                        <td align="right"><input type="text" size="4" name="VMX_LOOPDEST_EXT" value="<?php  echo htmlspecialchars($VMX_LOOPDEST_EXT)?>" tabindex="<?php echo ++$tabindex;?>"/>&nbsp;<small><?php echo _("exten")?></small>&nbsp;</td> 
     240                        <td align="right"><input type="text" size="2" name="VMX_LOOPDEST_PRI" value="<?php  echo htmlspecialchars($VMX_LOOPDEST_PRI)?>" tabindex="<?php echo ++$tabindex;?>"/></td><td><small><?php echo _("pri")?></small></td> 
    207241                </tr> 
    208242                <tr> 
     
    211245                        <?php echo _("If this destination is voicemail, select whether or not to play the standard voicemail instructions or just beep."); ?></span></a> 
    212246                        </td> 
    213                         <td align=right
     247                        <td colspan="3" align="right"
    214248                        <select name="VMX_OPTS_TIMEOUT" tabindex="<?php echo ++$tabindex;?>"> 
    215249                                <option value=""  <?php  echo ($VMX_OPTS_TIMEOUT == '' ? 'SELECTED' : '') ?>><?php echo _("Std Instructions")?> 
     
    223257                        <?php echo _("If this destination is voicemail, select whether or not to play the standard voicemail instructions or just beep."); ?></span></a> 
    224258                        </td> 
    225                         <td align=right
     259                        <td colspan="3" align="right"
    226260                        <select name="VMX_OPTS_LOOP" tabindex="<?php echo ++$tabindex;?>"> 
    227261                                <option value=""  <?php  echo ($VMX_OPTS_LOOP == '' ? 'SELECTED' : '') ?>><?php echo _("Std Instructions")?> 
     
    235269                        <?php echo _("If a user defined option is to go to voicemail (using the 'dovm' extension) this is the default option if not specified by the user's settings."); ?></span></a> 
    236270                        </td> 
    237                         <td align=right
     271                        <td colspan="3" align="right"
    238272                        <select name="VMX_OPTS_DOVM" tabindex="<?php echo ++$tabindex;?>"> 
    239273                                <option value=""  <?php  echo ($VMX_OPTS_DOVM == '' ? 'SELECTED' : '') ?>><?php echo _("Std Instructions")?> 
     
    247281                        <?php echo _("Time ot wait after message has played to timeout and/or repeat the message if no entry pressed."); ?></span></a> 
    248282                        </td> 
    249                         <td align=right
     283                        <td colspan="3" align="right"
    250284                        <select name="VMX_TIMEOUT" tabindex="<?php echo ++$tabindex;?>"> 
    251285<?php 
     
    265299                        <?php echo _("Number of times to play the recorded message if the caller does not press any options and it times out."); ?></span></a> 
    266300                        </td> 
    267                         <td align=right
     301                        <td colspan="3" align="right"
    268302                        <select name="VMX_REPEAT" tabindex="<?php echo ++$tabindex;?>"> 
    269303<?php 
     
    283317                        <?php echo _("Number of times to play invalid options and repeat the message upon receiving an undefined option."); ?></span></a> 
    284318                        </td> 
    285                         <td align=right
     319                        <td colspan="3" align="right"
    286320                        <select name="VMX_LOOPS" tabindex="<?php echo ++$tabindex;?>"> 
    287321<?php 
     
    297331                </tr> 
    298332        </table> 
    299 <p> 
    300  
    301 </p> 
    302333 
    303334<h5><?php echo _("Company Directory")?></h5> 
    304 <p> 
    305         <?php echo _("Find users in the Company Directory by:")?> 
     335<table> 
     336        <tr><td> 
     337        <a href=# class="info"><?php echo _("Find users in the Company Directory by:")?><span><?php echo _("The Company Directory allows a caller to spell the user's first name, last name, or both when searching for a user. This will select which of these modes are used.")?></span></a> 
     338        </td><td align="right"> 
    306339        <select name="DIRECTORY" tabindex="<?php echo ++$tabindex;?>"> 
    307340                <option value="first" <?php  echo ($DIRECTORY == 'first' ? 'SELECTED' : '')?>><?php echo _("first name")?> 
     
    309342                <option value="both" <?php  echo ($DIRECTORY == 'both' ? 'SELECTED' : '')?>><?php echo _("first or last name")?> 
    310343        </select>  
    311         <br><br> 
    312         <input type="checkbox" value="e" name="DIRECTORY_OPTS" <?php  echo ($DIRECTORY_OPTS ? 'CHECKED' : '')?> tabindex="<?php echo ++$tabindex;?>"> <a href=# class="info"><?php echo _("Play extension number")?><span><?php echo _("Plays a message \"Please hold while I transfer you to extension xxx\" that lets the caller know what extension to use in the future.")?></span></a> <?php echo _("to caller before transferring call")?><br><br> 
     344        </td></tr> 
     345        <tr><td> 
     346        <a href=# class="info"><?php echo _("Announce Extension:")?><span><?php echo _("Plays a message \"Please hold while I transfer you to extension xxx\" that lets the caller know what extension to use in the future when connecting from the company directory.")?></span></a> 
     347        </td><td align="right"> 
     348        <input type="checkbox" value="e" name="DIRECTORY_OPTS" <?php  echo ($DIRECTORY_OPTS ? 'CHECKED' : '')?> tabindex="<?php echo ++$tabindex;?>">  
     349        </td></tr> 
     350        <tr><td> 
    313351        <a href=# class="info"><?php echo _("Operator Extension:")?><span> 
    314352        <?php echo _("When users hit '0' in the directory, they are put through to this number. Note that it"); ?> 
    315353        <?php echo _(" does NOT need to be an extension, it can be a Ring Group, or even an external number."); ?></span></a> 
     354        </td><td align="right"> 
    316355        <input type="text" size="10" name="OPERATOR_XTN" value="<?php  echo htmlspecialchars($OPERATOR_XTN)?>" tabindex="<?php echo ++$tabindex;?>"/> 
    317 </p> 
     356        </td></tr> 
     357</table> 
     358 
    318359<h5><?php echo _("Fax Machine")?></h5> 
    319 <p> 
     360<table> 
     361        <tr><td> 
    320362        <?php echo _("Extension of")?> <a class="info" href="#"><?php echo _("fax machine")?><span><?php echo _("Select 'system' to have the system receive and email faxes.<br>Selecting 'disabled' will result in incoming calls being answered more quickly.")?></span></a> <?php echo _("for receiving faxes:")?> 
    321363        <!--<input type="text" size="8" name="FAX_RX" value="<?php  echo $FAX_RX?>"/>--> 
     364        </td><td align="right"> 
    322365        <select name="FAX_RX" tabindex="<?php echo ++$tabindex;?>"> 
    323366                <option value="disabled" <?php  echo ($FAX_RX == 'disabled' ? 'SELECTED' : '')?>><?php echo _("disabled")?> 
     
    333376?>       
    334377        </select> 
    335          
    336 </p> 
    337 <p> 
     378        </td></tr> 
     379        <tr><td> 
    338380        <a class="info" href="#"><?php echo _("Email address")?><span><?php echo _("Email address used if 'system' has been chosen for the fax extension above.")?></span></a> <?php echo _("to have faxes emailed to:")?> 
    339         <input type="text" size="20" name="FAX_RX_EMAIL" value="<?php  echo htmlspecialchars($FAX_RX_EMAIL)?>" tabindex="<?php echo ++$tabindex;?>"/> 
    340 </p> 
    341 <p> 
     381        </td><td align="right"> 
     382        <input type="text" size="30" name="FAX_RX_EMAIL" value="<?php  echo htmlspecialchars($FAX_RX_EMAIL)?>" tabindex="<?php echo ++$tabindex;?>"/> 
     383        </td></tr> 
     384        <tr><td> 
    342385        <a class="info" href="#"><?php echo _("Email address")?><span><?php echo _("Email address that faxes appear to come from if 'system' has been chosen for the fax extension above.")?></span></a> <?php echo _("that faxes appear to come from:")?> 
    343         <input type="text" size="20" name="FAX_RX_FROM" value="<?php  echo htmlspecialchars($FAX_RX_FROM)?>" tabindex="<?php echo ++$tabindex;?>"/> 
    344 </p> 
     386        </td><td align="right"> 
     387        <input type="text" size="30" name="FAX_RX_FROM" value="<?php  echo htmlspecialchars($FAX_RX_FROM)?>" tabindex="<?php echo ++$tabindex;?>"/> 
     388        </td></tr> 
     389</table> 
    345390<h5><?php echo _("International Settings")?></h5> 
    346 <p> 
    347         <?php echo _("Country")?> <a class="info" href="#"><?php echo _("Indications")?><span><?php echo _("Select which country you are in")?></span></a>&nbsp; 
     391<table> 
     392        <tr><td> 
     393        <?php echo _("Country")?> <a class="info" href="#"><?php echo _("Indications")?><span><?php echo _("Select which country you are in")?></span></a>: 
     394        </td><td align="right"> 
    348395        <?php   if (isset($TONEZONE) && strlen($TONEZONE))  
    349396                general_display_zones($TONEZONE);  
     
    351398                general_display_zones('us');  
    352399                ?> 
    353 </p> 
    354 <p> 
    355         <a class="info" href="#"><?php echo _("24-hour format")?><span><?php echo _("Select Yes if you use 24-hour format or No if you are using 12-hour am/pm format")?></span></a>&nbsp; 
     400        </td></tr> 
     401        <tr><td> 
     402        <a class="info" href="#"><?php echo _("24-hour format")?><span><?php echo _("Select Yes if you use 24-hour format or No if you are using 12-hour am/pm format")?></span></a>: 
     403        </td><td align="right"> 
    356404        <select name="TIMEFORMAT" tabindex="<?php echo ++$tabindex;?>"> 
    357405                <option value="IMp"><?php echo _("no"); ?></option> 
    358406                <option value="kM" <?php echo (($TIMEFORMAT=="kM") ? 'selected="selected"' : '');?>><?php echo _("yes"); ?></option> 
    359407        </select> 
    360 </p> 
     408        </td></tr> 
     409</table> 
    361410<h5><?php echo _("Security Settings")?></h5> 
    362 <p> 
     411<table> 
     412        <tr><td> 
    363413        <a href=# class="info"><?php echo _("Allow Anonymous Inbound SIP Calls?")?><span><br> 
    364414<?php echo _("** WARNING **")?><br><br> 
    365415<?php echo _("Setting this to 'yes' will potentially allow ANYBODY to call into your Asterisk server using the SIP protocol")?><br><br> 
    366416<?php echo _("It should only be used if you fully understand the impact of allowing anonymous calls into your server")?><br> 
    367         </span></a>&nbsp; 
     417        </span></a>: 
     418        </td><td align="right"> 
    368419        <select name="ALLOW_SIP_ANON" tabindex="<?php echo ++$tabindex;?>"> 
    369420        <option value="no"><?php echo _("no"); ?></option> 
    370421        <option <?php if ($ALLOW_SIP_ANON == "yes") echo "SELECTED "?>value="yes"><?php echo _("yes"); ?></option> 
    371422        </select> 
    372 </p> 
     423        </td></tr> 
     424</table> 
    373425 
    374426<h5><?php echo _("Online Updates")?></h5> 
  • modules/branches/2.5/core/page.routing.php

    r6360 r6521  
    552552?> 
    553553                <tr> 
    554                         <td> &nbsp </td> 
     554                        <td>&nbsp;</td> 
    555555                        <td> 
    556556                                <select id='trunkpri<?php echo $key ?>' name="trunkpriority[<?php echo $key ?>]"> 
Donate



Support
Download
Develop
Forums
News
Documentation
Paid Support
About

Paid Ads