Changeset 7542

Show
Ignore:
Timestamp:
03/18/09 16:40:49 (3 years ago)
Author:
mickecarlsson
Message:

Localized bulkextensions, added permit/deny from re #3584. Added localization for table.csv

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • contributed_modules/modules/bulkextensions/functions.inc.php

    r7117 r7542  
    11<?php 
     2//This file is part of FreePBX. 
     3// 
     4//    FreePBX is free software: you can redistribute it and/or modify 
     5//    it under the terms of the GNU General Public License as published by 
     6//    the Free Software Foundation, either version 2 of the License, or 
     7//    (at your option) any later version. 
     8// 
     9//    FreePBX is distributed in the hope that it will be useful, 
     10//    but WITHOUT ANY WARRANTY; without even the implied warranty of 
     11//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     12//    GNU General Public License for more details. 
     13// 
     14//    You should have received a copy of the GNU General Public License 
     15//    along with FreePBX.  If not, see <http://www.gnu.org/licenses/>. 
     16// 
     17//    Copyright 2008 sasargen 
     18//    Portions Copyright 2009 Mikael Carlsson, mickecamino@gmail.com 
     19// 
     20 
    221/* functions.inc.php - functions for BulkExtensions module. */ 
    322include_once("modules/voicemail/functions.inc.php");    // for using voicemail module functions to retrieve voicemail settings 
     
    3655  $action   = "edit"; 
    3756  $fname    = "bulkext__" .  (string) time() . $_SERVER["SERVER_NAME"] . ".csv"; 
    38   $csv_header   = "action,extension,name,cid_masquerade,sipname,outboundcid,ringtimer,callwaiting,call_screen,password,emergency_cid,tech,hardware,devinfo_channel,devinfo_secret,devinfo_notransfer,devinfo_dtmfmode,devinfo_canreinvite,devinfo_context,devinfo_immediate,devinfo_signalling,devinfo_echocancel,devinfo_echocancelwhenbrdiged,devinfo_echotraining,devinfo_busydetect,devinfo_busycount,devinfo_callprogress,devinfo_host,devinfo_type,devinfo_nat,devinfo_port,devinfo_qualify,devinfo_callgroup,devinfo_pickupgroup,devinfo_disallow,devinfo_allow,devinfo_dial,devinfo_accoountcode,devinfo_mailbox,devicetype,deviceid,deviceuser,description,dictenabled,dictformat,dictemail,langcode,record_in,record_out,vm,vmpwd,email,pager,attach,saycid,envelope,delete,options,vmcontext,vmx_state,vmx_unavail_enabled,vmx_busy_enabled,vmx_play_instructions,vmx_option_0_sytem_default,vmx_option_0_number,vmx_option_1_system_default,vmx_option_1_number,vmx_option_2_number,account,ddial,pre_ring,strategy,grptime,grplist,annmsg_id,ringing,grppre,dring,needsconf,remotealert_id,toolate_id,postdest\n"; 
     57  $csv_header   = "action,extension,name,cid_masquerade,sipname,outboundcid,ringtimer,callwaiting,call_screen,password,emergency_cid,tech,hardware,devinfo_channel,devinfo_secret,devinfo_notransfer,devinfo_dtmfmode,devinfo_canreinvite,devinfo_context,devinfo_immediate,devinfo_signalling,devinfo_echocancel,devinfo_echocancelwhenbrdiged,devinfo_echotraining,devinfo_busydetect,devinfo_busycount,devinfo_callprogress,devinfo_host,devinfo_type,devinfo_nat,devinfo_port,devinfo_qualify,devinfo_callgroup,devinfo_pickupgroup,devinfo_disallow,devinfo_allow,devinfo_dial,devinfo_accoountcode,devinfo_mailbox,devinfo_deny,devinfo_permit,devicetype,deviceid,deviceuser,description,dictenabled,dictformat,dictemail,langcode,record_in,record_out,vm,vmpwd,email,pager,attach,saycid,envelope,delete,options,vmcontext,vmx_state,vmx_unavail_enabled,vmx_busy_enabled,vmx_play_instructions,vmx_option_0_sytem_default,vmx_option_0_number,vmx_option_1_system_default,vmx_option_1_number,vmx_option_2_number,account,ddial,pre_ring,strategy,grptime,grplist,annmsg_id,ringing,grppre,dring,needsconf,remotealert_id,toolate_id,postdest\n"; 
    3958  $data     = $csv_header; 
    4059  $exts     = get_all_exts(); 
     
    174193    $csv_line[37] = isset($d_info["accountcode"])?$d_info["accountcode"]:""; 
    175194    $csv_line[38] = isset($d_info["mailbox"])?$d_info["mailbox"]:""; 
    176     $csv_line[39] = isset($d_info["devicetype"])?$d_info["devicetype"]:"fixed"; 
    177     $csv_line[40] = (isset($d_info["deviceid"]) || ($d_info["deviceid"]==""))?$d_info["deviceid"]:(isset($u_info["extension"])?$u_info["extension"]:""); 
    178     $csv_line[41] = (isset($d_info["deviceuser"]) && ($d_info["deviceuser"] != ""))?$d_info["deviceuser"]:(isset($u_info["extension"])?$u_info["extension"]:"none"); 
    179     $csv_line[42] = isset($d_info["description"])?$d_info["description"]:(isset($u_info["name"])?$u_info["name"]:""); 
    180  
    181     $csv_line[43] = isset($dictate_settings["enabled"])?$dictate_settings["enabled"]:"disabled";  // dictenabled 
    182     $csv_line[44] = isset($dictate_settings["format"])?$dictate_settings["format"]:"ogg";   // dictformat (ogg is default) 
    183     $csv_line[45] = isset($dictate_settings["email"])?$dictate_settings["email"]:"";    // dictemail 
    184  
    185     $csv_line[46] = isset($langcode)?$langcode:""; 
    186  
    187     $csv_line[47] = isset($d_info["record_in"])?$d_info["record_in"]:""; 
    188     $csv_line[48] = isset($d_info["record_out"])?$d_info["record_out"]:""; 
    189  
    190     $csv_line[49] = $v_enabled; // vm 
    191     $csv_line[50] = isset($v_info["pwd"])?$v_info["pwd"]:""; 
    192     $csv_line[51] = isset($v_info["email"])?$v_info["email"]:""; 
    193     $csv_line[52] = isset($v_info["pager"])?$v_info["pager"]:""; 
    194     $csv_line[53] = isset($v_info["options"]["attach"])?("attach=" . $v_info["options"]["attach"]):"attach=no"; 
    195     $csv_line[54] = isset($v_info["options"]["saycid"])?("saycid=" . $v_info["options"]["saycid"]):"saycid=no"; 
    196     $csv_line[55] = isset($v_info["options"]["envelope"])?("envelope=" . $v_info["options"]["envelope"]):"envelope=no"; 
    197     $csv_line[56] = isset($v_info["options"]["delete"])?("delete=". $v_info["options"]["delete"]):"delete=no"; 
    198     $csv_line[57] = isset($vm_other_opts)?$vm_other_opts:""; // additional options 
    199     $csv_line[58] = isset($v_info["vmcontext"])?$v_info["vmcontext"]:""; 
    200     $csv_line[59] = isset($vmx_state)?$vmx_state:""; 
    201     $csv_line[60] = isset($vmx_unavail_enabled)?$vmx_unavail_enabled:""; 
    202     $csv_line[61] = isset($vmx_busy_enabled)?$vmx_busy_enabled:""; 
    203     $csv_line[62] = isset($vmx_play_instructions)?$vmx_play_instructions:""; 
    204     $csv_line[63] = isset($vmx_option_0_system_default)?$vmx_option_0_system_default:""; 
    205     $csv_line[64] = isset($vmx_option_0_number)?$vmx_option_0_number:""; 
    206     $csv_line[65] = isset($vmx_option_1_system_default)?$vmx_option_1_system_default:""; 
    207     $csv_line[66] = isset($vmx_option_1_number)?$vmx_option_1_number:""; 
    208     $csv_line[67] = isset($vmx_option_2_number)?$vmx_option_2_number:""; 
    209     $csv_line[68] = isset($account)?$account:""; 
    210     $csv_line[69] = isset($ddial)?$ddial:""; 
    211     $csv_line[70] = isset($pre_ring)?$pre_ring:""; 
    212     $csv_line[71] = isset($strategy)?$strategy:""; 
    213     $csv_line[72] = isset($grptime)?$grptime:""; 
    214     $csv_line[73] = isset($grplist)?$grplist:""; 
    215     $csv_line[74] = isset($annmsg_id)?$annmsg_id:""; 
    216     $csv_line[75] = isset($ringing)?$ringing:""; 
    217     $csv_line[76] = isset($grppre)?$grppre:""; 
    218     $csv_line[77] = isset($dring)?$dring:""; 
    219     $csv_line[78] = isset($needsconf)?$needsconf:""; 
    220     $csv_line[79] = isset($remotealert_id)?$remotealert_id:""; 
    221     $csv_line[80] = isset($toolate_id)?$toolate_id:""; 
    222     $csv_line[81] = isset($postdest)?$postdest:""; 
     195    $csv_line[39] = isset($d_info["deny"])?$d_info["deny"]:""; 
     196    $csv_line[40] = isset($d_info["permit"])?$d_info["permit"]:""; 
     197    $csv_line[41] = isset($d_info["devicetype"])?$d_info["devicetype"]:"fixed"; 
     198    $csv_line[42] = (isset($d_info["deviceid"]) || ($d_info["deviceid"]==""))?$d_info["deviceid"]:(isset($u_info["extension"])?$u_info["extension"]:""); 
     199    $csv_line[43] = (isset($d_info["deviceuser"]) && ($d_info["deviceuser"] != ""))?$d_info["deviceuser"]:(isset($u_info["extension"])?$u_info["extension"]:"none"); 
     200    $csv_line[44] = isset($d_info["description"])?$d_info["description"]:(isset($u_info["name"])?$u_info["name"]:""); 
     201 
     202    $csv_line[45] = isset($dictate_settings["enabled"])?$dictate_settings["enabled"]:"disabled";  // dictenabled 
     203    $csv_line[46] = isset($dictate_settings["format"])?$dictate_settings["format"]:"ogg";   // dictformat (ogg is default) 
     204    $csv_line[47] = isset($dictate_settings["email"])?$dictate_settings["email"]:"";    // dictemail 
     205 
     206    $csv_line[48] = isset($langcode)?$langcode:""; 
     207 
     208    $csv_line[49] = isset($d_info["record_in"])?$d_info["record_in"]:""; 
     209    $csv_line[50] = isset($d_info["record_out"])?$d_info["record_out"]:""; 
     210 
     211    $csv_line[51] = $v_enabled; // vm 
     212    $csv_line[52] = isset($v_info["pwd"])?$v_info["pwd"]:""; 
     213    $csv_line[53] = isset($v_info["email"])?$v_info["email"]:""; 
     214    $csv_line[54] = isset($v_info["pager"])?$v_info["pager"]:""; 
     215    $csv_line[55] = isset($v_info["options"]["attach"])?("attach=" . $v_info["options"]["attach"]):"attach=no"; 
     216    $csv_line[56] = isset($v_info["options"]["saycid"])?("saycid=" . $v_info["options"]["saycid"]):"saycid=no"; 
     217    $csv_line[57] = isset($v_info["options"]["envelope"])?("envelope=" . $v_info["options"]["envelope"]):"envelope=no"; 
     218    $csv_line[58] = isset($v_info["options"]["delete"])?("delete=". $v_info["options"]["delete"]):"delete=no"; 
     219    $csv_line[59] = isset($vm_other_opts)?$vm_other_opts:""; // additional options 
     220    $csv_line[60] = isset($v_info["vmcontext"])?$v_info["vmcontext"]:""; 
     221    $csv_line[61] = isset($vmx_state)?$vmx_state:""; 
     222    $csv_line[62] = isset($vmx_unavail_enabled)?$vmx_unavail_enabled:""; 
     223    $csv_line[63] = isset($vmx_busy_enabled)?$vmx_busy_enabled:""; 
     224    $csv_line[64] = isset($vmx_play_instructions)?$vmx_play_instructions:""; 
     225    $csv_line[65] = isset($vmx_option_0_system_default)?$vmx_option_0_system_default:""; 
     226    $csv_line[66] = isset($vmx_option_0_number)?$vmx_option_0_number:""; 
     227    $csv_line[67] = isset($vmx_option_1_system_default)?$vmx_option_1_system_default:""; 
     228    $csv_line[68] = isset($vmx_option_1_number)?$vmx_option_1_number:""; 
     229    $csv_line[69] = isset($vmx_option_2_number)?$vmx_option_2_number:""; 
     230    $csv_line[70] = isset($account)?$account:""; 
     231    $csv_line[71] = isset($ddial)?$ddial:""; 
     232    $csv_line[72] = isset($pre_ring)?$pre_ring:""; 
     233    $csv_line[73] = isset($strategy)?$strategy:""; 
     234    $csv_line[74] = isset($grptime)?$grptime:""; 
     235    $csv_line[75] = isset($grplist)?$grplist:""; 
     236    $csv_line[76] = isset($annmsg_id)?$annmsg_id:""; 
     237    $csv_line[77] = isset($ringing)?$ringing:""; 
     238    $csv_line[78] = isset($grppre)?$grppre:""; 
     239    $csv_line[79] = isset($dring)?$dring:""; 
     240    $csv_line[80] = isset($needsconf)?$needsconf:""; 
     241    $csv_line[81] = isset($remotealert_id)?$remotealert_id:""; 
     242    $csv_line[82] = isset($toolate_id)?$toolate_id:""; 
     243    $csv_line[83] = isset($postdest)?$postdest:""; 
    223244    for ($i = 0; $i < count($csv_line); $i++) { 
    224245      /* If the string contains a comma, enclose it in double-quotes. */ 
     
    284305 
    285306function generate_table_rows() { 
    286   $fh = fopen("modules/bulkextensions/table.csv", "r"); 
    287   if ($fh == NULL) { 
    288     return NULL; 
     307  $langcookie =  $_COOKIE['lang']; 
     308  if (file_exists("modules/bulkextensions/i18n/$langcookie/LC_MESSAGES/table.csv")) {   // check if translated file exists 
     309    $fh = fopen("modules/bulkextensions/i18n/$langcookie/LC_MESSAGES/table.csv", "r");  // open it 
     310        } else {                    // nope, no translated file was found, open the default one 
     311          $fh = fopen("modules/bulkextensions/table.csv", "r"); 
     312        } 
     313        if ($fh == NULL) { 
     314                return NULL; 
    289315  } 
    290316  $k = 0; 
  • contributed_modules/modules/bulkextensions/page.bulkextensions.php

    r7333 r7542  
    11<?php 
     2//This file is part of FreePBX. 
     3// 
     4//    FreePBX is free software: you can redistribute it and/or modify 
     5//    it under the terms of the GNU General Public License as published by 
     6//    the Free Software Foundation, either version 2 of the License, or 
     7//    (at your option) any later version. 
     8// 
     9//    FreePBX is distributed in the hope that it will be useful, 
     10//    but WITHOUT ANY WARRANTY; without even the implied warranty of 
     11//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     12//    GNU General Public License for more details. 
     13// 
     14//    You should have received a copy of the GNU General Public License 
     15//    along with FreePBX.  If not, see <http://www.gnu.org/licenses/>. 
     16// 
     17//    Copyright 2006 sasargen 
     18//    Portions Copyright 2009 Mikael Carlsson, mickecamino@gmail.com 
     19// 
    220// This is a long running process, so extend time limit for execution. 
    321// Typical PHP default is 30 seconds, but this only allows 100 to 200 
     
    91109      "devinfo_accountcode" => array(false, -1), 
    92110      "devinfo_mailbox" => array(false, -1), 
     111      "devinfo_deny" => array(false, -1), 
     112      "devinfo_permit" => array(false, -1), 
    93113      "devicetype" => array(false, -1), 
    94114      "deviceid" => array(false, -1), 
     
    324344        } 
    325345 
     346          if ($aFields["devinfo_deny"][0]) { 
     347          $vars["devinfo_deny"] = trim($aInfo[$aFields["devinfo_deny"][1]]); 
     348        } 
     349 
     350          if ($aFields["devinfo_permit"][0]) { 
     351          $vars["devinfo_permit"] = trim($aInfo[$aFields["devinfo_permit"][1]]); 
     352        } 
     353         
    326354        if ($aFields["devicetype"][0]) { 
    327355          $vars["devicetype"] = trim($aInfo[$aFields["devicetype"][1]]); 
     
    798826  } 
    799827 
     828 
     829echo "<h1>"._("Bulk Extensions")."</h1>"; 
     830echo "<h2>"._("Manage Extensions in bulk using CSV files.")."</h2>"; 
     831echo "<p>"; 
     832 
     833echo sprintf(_("Start by downloading the %s Template CSV file %s (right-click > save as) or clicking the Export Extensions button."), "<a href=\"modules/bulkextensions/template.csv\">", "</a>");  
     834 
     835echo "<p>"; 
     836 
     837echo _("Modify the CSV file to add, edit, or delete Extensions as desired. Then load the CSV file. After the CSV file is processed, the action taken for each row will be displayed."); 
     838echo "<p>"; 
     839echo "<b>"._("Bulk extension changes can take a long time to complete. It can take 30-60 seconds to add 100 extensions on a small system. However, on a system with 2000 extensions it can take about 5 minutes to add 100 new extensions.")."</b>"; 
    800840?> 
    801 <h1>Bulk Extensions</h1> 
    802  
    803 <h2>Manage Extensions in bulk using CSV files.</h2> 
    804  
    805 <p> 
    806 Start by downloading the 
    807 <a href="modules/bulkextensions/template.csv">Template CSV file</a> 
    808 (right-click > save as) or clicking the Export Extensions button. 
    809 </p> 
    810 <p> 
    811 Modify the CSV file to add, edit, or delete Extensions as desired. Then load 
    812 the CSV file. After the CSV file is processed, the action taken for each row 
    813 will be displayed. 
    814 </p> 
    815 <p> 
    816 <b>Bulk extension changes can take a long time to complete. It can take 30-60 
    817 seconds to add 100 extensions on a small system. However, on a system with 2000 
    818 extensions it can take about 5 minutes to add 100 new extensions.</b> 
    819 </p> 
    820  
    821841<form action="<?php $_SERVER["PHP_SELF"] ?>" name="uploadcsv" method="post" enctype="multipart/form-data"> 
    822842<input id="csv_type" name="csv_type" type="hidden" value="none" /> 
    823 <input type="submit" onclick="document.getElementById('csv_type').value='output';" value="Export Extensions" /> 
    824 &nbsp;&nbsp;CSV File to Load: <input name="csvFile" type="file" /> 
    825 <input type="submit" onclick="document.getElementById('csv_type').value='input';"  value="Load File" /> 
     843<input type="submit" onclick="document.getElementById('csv_type').value='output';" value="<?php echo _("Export Extensions")?>" /> 
     844&nbsp;&nbsp;<?php echo _("CSV File to Load")?>: <input name="csvFile" type="file" /> 
     845<input type="submit" onclick="document.getElementById('csv_type').value='input';"  value="<?php echo _("Load File")?>" /> 
    826846<hr /> 
    827 <h3>Email Notification for New Accounts</h3> 
    828 <p> 
    829 By default, a notification email will be sent to the voicemail email address 
    830 set for each account added. The settings below can be used to control the 
    831 content and destination of the notification emails. 
     847 
     848<?php 
     849echo "<h3>"._("Email Notification for New Accounts")."</h3>"; 
     850echo "<p>"; 
     851echo _("By default, a notification email will be sent to the voicemail email address set for each account added.")."<br>"; 
     852echo _(" The settings below can be used to control the content and destination of the notification emails."); 
     853?> 
    832854<table> 
    833855  <tr> 
    834856    <td> 
    835857      <a href="#" class="info"> 
    836       Default Address: 
    837       <span> 
    838       If a Default Address is specified, notification emails 
    839       for new accounts without a voicemail email address will 
    840       be sent to the Default Address. 
     858      <?php echo _("Default Address:")?> 
     859      <span><?php echo _("If a Default Address is specified, notification emails for new accounts without a voicemail email address will be sent to the Default Address.")?> 
    841860      </span> 
    842861      </a> 
     
    849868    <td> 
    850869      <a href="#" class="info"> 
    851       Override Address: 
    852       <span> 
    853       If an Override Address is specified, all notification 
    854       emails will be sent to the Override Address only. Type 
    855       "noemail" (without the quotes) as the Override Address 
    856       to stop notification emails from being sent. 
     870      <?php echo _("Override Address:")?> 
     871      <span><?php echo _("If an Override Address is specified, all notification emails will be sent to the Override Address only. Type \"noemail\" (without the quotes) as the Override Address to stop notification emails from being sent.")?> 
    857872      </span> 
    858873      </a> 
     
    865880    <td> 
    866881      <a href="#" class="info"> 
    867       Email From: 
     882      <?php echo _("Email From:")?> 
    868883      <span> 
    869       The Email From header may be specified. If left blank, 
    870       the system default will be used. 
     884      <?php echo _("The Email From header may be specified. If left blank, the system default will be used.")?> 
    871885      </span> 
    872886      </a> 
     
    879893    <td> 
    880894      <a href="#" class="info"> 
    881       Email Reply-To: 
     895      <?php echo _("Email Reply-To:")?> 
    882896      <span> 
    883       The Email Reply-To header may be specified. If left blank, 
    884       the system default will be used. 
     897      <?php echo _("The Email Reply-To header may be specified. If left blank, the system default will be used.")?> 
    885898      </span> 
    886899      </a> 
     
    893906    <td> 
    894907      <a href="#" class="info"> 
    895       Email Subject: 
     908      <?php echo _("Email Subject:")?> 
    896909      <span> 
    897       The Email Subject may be specified. If left blank, the 
    898       default subject, "Voicemail Account Activated", will be 
    899       used. 
     910      <?php echo _("The Email Subject may be specified. If left blank, the default subject, \"Voicemail Account Activated\", will be used.")?> 
    900911      </span> 
    901912      </a> 
     
    908919    <td> 
    909920      <a href="#" class="info"> 
    910       Email Opening: 
     921      <?php echo _("Email Opening:")?> 
    911922      <span> 
    912       The Email Opening may be specified. If left blank, the 
    913       default opening, "Login information for your voicemail 
    914       account is as follows:", will be used. The account name, 
    915       extension, and voicemail password will automatically be 
    916       inserted after the opening. 
     923      <?php echo _("The Email Opening may be specified. If left blank, the default opening, \"Login information for your voicemail account is as follows:\", will be used.")?> 
     924      <?php echo _(" The account name, extension, and voicemail password will automatically be inserted after the opening.")?>  
    917925      </span> 
    918926      </a> 
     
    925933    <td> 
    926934      <a href="#" class="info"> 
    927       Email Closing: 
     935      <?php echo _("Email Closing:")?> 
    928936      <span> 
    929       The Email Closing may be specified. If any text is 
    930       entered, it will be inserted at the end of the email. 
     937      <?php echo _("The Email Closing may be specified. If any text is entered, it will be inserted at the end of the email.")?> 
    931938      </span> 
    932939      </a> 
     
    939946</form> 
    940947<hr /> 
    941 <h3>Bulk Extensions CSV File Columns</h3> 
    942 <p> 
    943 The table below explains each column in the CSV file. You can change the column 
    944 order of the CSV file as you like, however, the column names must be preserved. 
    945 </p> 
    946 <?php 
     948<?php  
     949echo "<h3>"._("Bulk Extensions CSV File Columns")."</h3><p>"; 
     950echo _("The table below explains each column in the CSV file. You can change the column order of the CSV file as you like, however, the column names must be preserved.")."<p>"; 
    947951  print $table_output; 
    948952} 
  • contributed_modules/modules/bulkextensions/table.csv

    r7123 r7542  
    88"callwaiting","enabled","enabled, disabled","Call Waiting","Set the initial/current Call Waiting state for this user's extension." 
    99"call_screen","0","0, nomemory, memory","Call Screening","Call Screening requires external callers to say their name, which will be played back to the user and allow the user to accept or reject the call.  Screening with memory only verifies a caller for their caller-id once. Screening without memory always requires a caller to say their name. Either mode will always announce the caller based on the last introduction saved with that callerid. If any user on the system uses the memory option, when that user is called, the caller will be required to re-introduce themselves and all users on the system will have that new introduction associated with the caller's CallerId.Set the initial/current Call Waiting state for this user's extension." 
    10 "password",,,,,"For logging in and out of devices in deviceanduser mode, not available on Extensions page." 
     10"password",,,,"For logging in and out of devices in deviceanduser mode, not available on Extensions page." 
    1111"emergency_cid",,,"Emergency CID","This caller id will always be set when dialing out an Outbound Route flagged as Emergency. The Emergency CID overrides all other caller id settings." 
    1212"tech",,"sip, iax2, zap, custom",,"Device channel type." 
     
    3838"devinfo_accountcode",,,"accountcode","See conf file for device tech." 
    3939"devinfo_mailbox",,,"mailbox","See conf file for device tech. Default is exten@device, i.e 101@device." 
     40"devinfo_deny",,,"deny","Network/Mask of IP address range to deny.  Default is 0.0.0.0/0.0.0.0 (or everything)." 
     41"devinfo_permit",,,"permit","Network/Mask of IP address range to permit.  Default is 0.0.0.0/0.0.0.0 (or everything).  Valid examples would be: 192.168.1.0/255.255.255.0 (all IP addresses from 192.168.1.0-255) or 10.1.0.42/255.255.255.255 (a single address)." 
    4042"devicetype","fixed","fixed, adhoc",,"Extensions require that devicetype be fixed. If devicetype is adhoc, FreePBX must manage it in Device and Users mode, not Extensions mode." 
    4143"deviceid",,,,"Defaults to be the value of extension (see item 1 of this table)." 
  • contributed_modules/modules/bulkextensions/template.csv

    r7112 r7542  
    1 action,extension,name,cid_masquerade,sipname,outboundcid,ringtimer,callwaiting,call_screen,emergency_cid,tech,hardware,devinfo_channel,devinfo_secret,devinfo_notransfer,devinfo_dtmfmode,devinfo_canreinvite,devinfo_context,devinfo_immediate,devinfo_signalling,devinfo_echocancel,devinfo_echocancelwhenbrdiged,devinfo_echotraining,devinfo_busydetect,devinfo_busycount,devinfo_callprogress,devinfo_host,devinfo_type,devinfo_nat,devinfo_port,devinfo_qualify,devinfo_callgroup,devinfo_pickupgroup,devinfo_disallow,devinfo_allow,devinfo_dial,devinfo_accoountcode,devinfo_mailbox,devicetype,deviceid,deviceuser,description,dictenabled,dictformat,dictemail,langcode,record_in,record_out,vm,vmpwd,email,pager,attach,saycid,envelope,delete,options,vmcontext,vmx_state,vmx_unavail_enabled,vmx_busy_enabled,vmx_play_instructions,vmx_option_0_sytem_default,vmx_option_0_number,vmx_option_1_system_default,vmx_option_1_number,vmx_option_2_number,account,ddial,pre_ring,strategy,grptime,grplist,annmsg_id,ringing,grppre,dring,needsconf,remotealert_id,toolate_id,postdest 
     1action,extension,name,cid_masquerade,sipname,outboundcid,ringtimer,callwaiting,call_screen,emergency_cid,tech,hardware,devinfo_channel,devinfo_secret,devinfo_notransfer,devinfo_dtmfmode,devinfo_canreinvite,devinfo_context,devinfo_immediate,devinfo_signalling,devinfo_echocancel,devinfo_echocancelwhenbrdiged,devinfo_echotraining,devinfo_busydetect,devinfo_busycount,devinfo_callprogress,devinfo_host,devinfo_type,devinfo_nat,devinfo_port,devinfo_qualify,devinfo_callgroup,devinfo_pickupgroup,devinfo_disallow,devinfo_allow,devinfo_dial,devinfo_accoountcode,devinfo_mailbox,devinfo_deny,devinfo_permit,devicetype,deviceid,deviceuser,description,dictenabled,dictformat,dictemail,langcode,record_in,record_out,vm,vmpwd,email,pager,attach,saycid,envelope,delete,options,vmcontext,vmx_state,vmx_unavail_enabled,vmx_busy_enabled,vmx_play_instructions,vmx_option_0_sytem_default,vmx_option_0_number,vmx_option_1_system_default,vmx_option_1_number,vmx_option_2_number,account,ddial,pre_ring,strategy,grptime,grplist,annmsg_id,ringing,grppre,dring,needsconf,remotealert_id,toolate_id,postdest 
    22 
    3 edit,999999,John Doe,999999,,,0,enabled,0,,sip,,,1234,,rfc2833,no,from-internal,,,,,,,,,dynamic,friend,yes,5060,yes,,,,,SIP/999999,,999999@device,fixed,,999999,John Doe,disabled,ogg,,,Adhoc,Adhoc,enabled,1234,j.doe@foo.bar,j.doe.pager@foo.bar,attach=no,saycid=no,envelope=no,delete=no,,default,,,,,checked,,,,,999999,CHECKED,0,ringallv2,20,999999-552244,2,Ring,TEST,,CHECKED,0,0,"ext-local,vmu552244,1" 
    4 edit,123456,Jane Doe,1234,"sipalias,man",SUPPORT <1234>,8,enabled,memory,411,iax2,,,1234,yes,,,from-internal,,,,,,,,,dynamic,friend,,4569,yes,,,,,IAX2/123456,,123456@device,fixed,,123456,Jane Doe,disabled,ogg,,en,Adhoc,Adhoc,enabled,1234,j.doe@foo.bar,j.doe.pager@foo.bar,attach=yes,saycid=no,envelope=yes,delete=yes,review=yes,default,checked,checked,checked,checked,checked,,,27328,27329,,,,,,,,,,,,,, 
    5 edit,654321,Jorge Doe,654321,,,0,enabled,0,,zap,,5001,,,,,from-internal,no,fxo_ks,yes,,800,no,7,no,,,,,,,,,,ZAP/5001,,654321@device,fixed,,654321,Jorge Doe,disabled,ogg,,,Adhoc,Adhoc,enabled,1234,,,attach=no,saycid=no,envelope=no,delete=no,,default,checked,,,,,70904,,,,654321,CHECKED,13,hunt,25,654321-27346-123456-999999,2,default,,,CHECKED,2,2,"app-blackhole,zapateller,1" 
     3edit,999999,John Doe,999999,,,0,enabled,0,,sip,,,1234,,rfc2833,no,from-internal,,,,,,,,,dynamic,friend,yes,5060,yes,,,,,SIP/999999,,999999@device,,,fixed,,999999,John Doe,disabled,ogg,,,Adhoc,Adhoc,enabled,1234,j.doe@foo.bar,j.doe.pager@foo.bar,attach=no,saycid=no,envelope=no,delete=no,,default,,,,,checked,,,,,999999,CHECKED,0,ringallv2,20,999999-552244,2,Ring,TEST,,CHECKED,0,0,"ext-local,vmu552244,1" 
     4edit,123456,Jane Doe,1234,"sipalias,man",SUPPORT <1234>,8,enabled,memory,411,iax2,,,1234,yes,,,from-internal,,,,,,,,,dynamic,friend,,4569,yes,,,,,IAX2/123456,,123456@device,0.0.0.0/0.0.0.0,192.168.0.123,fixed,,123456,Jane Doe,disabled,ogg,,en,Adhoc,Adhoc,enabled,1234,j.doe@foo.bar,j.doe.pager@foo.bar,attach=yes,saycid=no,envelope=yes,delete=yes,review=yes,default,checked,checked,checked,checked,checked,,,27328,27329,,,,,,,,,,,,,, 
     5edit,654321,Jorge Doe,654321,,,0,enabled,0,,zap,,5001,,,,,from-internal,no,fxo_ks,yes,,800,no,7,no,,,,,,,,,,ZAP/5001,,654321@device,,,fixed,,654321,Jorge Doe,disabled,ogg,,,Adhoc,Adhoc,enabled,1234,,,attach=no,saycid=no,envelope=no,delete=no,,default,checked,,,,,70904,,,,654321,CHECKED,13,hunt,25,654321-27346-123456-999999,2,default,,,CHECKED,2,2,"app-blackhole,zapateller,1" 
    66 
    77 
    8 add,999999,John Doe,999999,,,0,enabled,0,,sip,,,1234,,rfc2833,no,from-internal,,,,,,,,,dynamic,friend,yes,5060,yes,,,,,SIP/999999,,999999@device,fixed,,999999,John Doe,disabled,ogg,,,Adhoc,Adhoc,enabled,1234,j.doe@foo.bar,j.doe.pager@foo.bar,attach=no,saycid=no,envelope=no,delete=no,,default,,,,,checked,,,,,999999,CHECKED,0,ringallv2,20,999999-552244,2,Ring,TEST,,CHECKED,0,0,"ext-local,vmu552244,1" 
    9 add,123456,Jane Doe,1234,"sipalias,man",SUPPORT <1234>,8,enabled,memory,411,iax2,,,1234,yes,,,from-internal,,,,,,,,,dynamic,friend,,4569,yes,,,,,IAX2/123456,,123456@device,fixed,,123456,Jane Doe,disabled,ogg,,en,Adhoc,Adhoc,enabled,1234,j.doe@foo.bar,j.doe.pager@foo.bar,attach=yes,saycid=no,envelope=yes,delete=yes,review=yes,default,checked,checked,checked,checked,checked,,,27328,27329,,,,,,,,,,,,,, 
    10 add,654321,Jorge Doe,654321,,,0,enabled,0,,zap,,5001,,,,,from-internal,no,fxo_ks,yes,,800,no,7,no,,,,,,,,,,ZAP/5001,,654321@device,fixed,,654321,Jorge Doe,disabled,ogg,,,Adhoc,Adhoc,enabled,1234,,,attach=no,saycid=no,envelope=no,delete=no,,default,checked,,,,,70904,,,,654321,CHECKED,13,hunt,25,654321-27346-123456-999999,2,default,,,CHECKED,2,2,"app-blackhole,zapateller,1" 
     8add,999999,John Doe,999999,,,0,enabled,0,,sip,,,1234,,rfc2833,no,from-internal,,,,,,,,,dynamic,friend,yes,5060,yes,,,,,SIP/999999,,999999@device,0.0.0.0/0.0.0.0,0.0.0.0/0.0.0.0,fixed,,999999,John Doe,disabled,ogg,,,Adhoc,Adhoc,enabled,1234,j.doe@foo.bar,j.doe.pager@foo.bar,attach=no,saycid=no,envelope=no,delete=no,,default,,,,,checked,,,,,999999,CHECKED,0,ringallv2,20,999999-552244,2,Ring,TEST,,CHECKED,0,0,"ext-local,vmu552244,1" 
     9add,123456,Jane Doe,1234,"sipalias,man",SUPPORT <1234>,8,enabled,memory,411,iax2,,,1234,yes,,,from-internal,,,,,,,,,dynamic,friend,,4569,yes,,,,,IAX2/123456,,123456@device,,,fixed,,123456,Jane Doe,disabled,ogg,,en,Adhoc,Adhoc,enabled,1234,j.doe@foo.bar,j.doe.pager@foo.bar,attach=yes,saycid=no,envelope=yes,delete=yes,review=yes,default,checked,checked,checked,checked,checked,,,27328,27329,,,,,,,,,,,,,, 
     10add,654321,Jorge Doe,654321,,,0,enabled,0,,zap,,5001,,,,,from-internal,no,fxo_ks,yes,,800,no,7,no,,,,,,,,,,ZAP/5001,,654321@device,,,fixed,,654321,Jorge Doe,disabled,ogg,,,Adhoc,Adhoc,enabled,1234,,,attach=no,saycid=no,envelope=no,delete=no,,default,checked,,,,,70904,,,,654321,CHECKED,13,hunt,25,654321-27346-123456-999999,2,default,,,CHECKED,2,2,"app-blackhole,zapateller,1" 
    1111 
    1212