Changeset 7542
- Timestamp:
- 03/18/09 16:40:49 (3 years ago)
- Files:
-
- contributed_modules/modules/bulkextensions/functions.inc.php (modified) (4 diffs)
- contributed_modules/modules/bulkextensions/i18n (added)
- contributed_modules/modules/bulkextensions/i18n/bulkextensions.pot (added)
- contributed_modules/modules/bulkextensions/i18n/sv_SE (added)
- contributed_modules/modules/bulkextensions/i18n/sv_SE/LC_MESSAGES (added)
- contributed_modules/modules/bulkextensions/i18n/sv_SE/LC_MESSAGES/bulkextensions.mo (added)
- contributed_modules/modules/bulkextensions/i18n/sv_SE/LC_MESSAGES/bulkextensions.po (added)
- contributed_modules/modules/bulkextensions/i18n/sv_SE/LC_MESSAGES/table.csv (added)
- contributed_modules/modules/bulkextensions/page.bulkextensions.php (modified) (11 diffs)
- contributed_modules/modules/bulkextensions/table.csv (modified) (2 diffs)
- contributed_modules/modules/bulkextensions/template.csv (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
contributed_modules/modules/bulkextensions/functions.inc.php
r7117 r7542 1 1 <?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 2 21 /* functions.inc.php - functions for BulkExtensions module. */ 3 22 include_once("modules/voicemail/functions.inc.php"); // for using voicemail module functions to retrieve voicemail settings … … 36 55 $action = "edit"; 37 56 $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,devi cetype,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"; 39 58 $data = $csv_header; 40 59 $exts = get_all_exts(); … … 174 193 $csv_line[37] = isset($d_info["accountcode"])?$d_info["accountcode"]:""; 175 194 $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:""; 223 244 for ($i = 0; $i < count($csv_line); $i++) { 224 245 /* If the string contains a comma, enclose it in double-quotes. */ … … 284 305 285 306 function 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; 289 315 } 290 316 $k = 0; contributed_modules/modules/bulkextensions/page.bulkextensions.php
r7333 r7542 1 1 <?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 // 2 20 // This is a long running process, so extend time limit for execution. 3 21 // Typical PHP default is 30 seconds, but this only allows 100 to 200 … … 91 109 "devinfo_accountcode" => array(false, -1), 92 110 "devinfo_mailbox" => array(false, -1), 111 "devinfo_deny" => array(false, -1), 112 "devinfo_permit" => array(false, -1), 93 113 "devicetype" => array(false, -1), 94 114 "deviceid" => array(false, -1), … … 324 344 } 325 345 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 326 354 if ($aFields["devicetype"][0]) { 327 355 $vars["devicetype"] = trim($aInfo[$aFields["devicetype"][1]]); … … 798 826 } 799 827 828 829 echo "<h1>"._("Bulk Extensions")."</h1>"; 830 echo "<h2>"._("Manage Extensions in bulk using CSV files.")."</h2>"; 831 echo "<p>"; 832 833 echo 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 835 echo "<p>"; 836 837 echo _("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."); 838 echo "<p>"; 839 echo "<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>"; 800 840 ?> 801 <h1>Bulk Extensions</h1>802 803 <h2>Manage Extensions in bulk using CSV files.</h2>804 805 <p>806 Start by downloading the807 <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 load812 the CSV file. After the CSV file is processed, the action taken for each row813 will be displayed.814 </p>815 <p>816 <b>Bulk extension changes can take a long time to complete. It can take 30-60817 seconds to add 100 extensions on a small system. However, on a system with 2000818 extensions it can take about 5 minutes to add 100 new extensions.</b>819 </p>820 821 841 <form action="<?php $_SERVER["PHP_SELF"] ?>" name="uploadcsv" method="post" enctype="multipart/form-data"> 822 842 <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 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 <?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")?>" /> 826 846 <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 849 echo "<h3>"._("Email Notification for New Accounts")."</h3>"; 850 echo "<p>"; 851 echo _("By default, a notification email will be sent to the voicemail email address set for each account added.")."<br>"; 852 echo _(" The settings below can be used to control the content and destination of the notification emails."); 853 ?> 832 854 <table> 833 855 <tr> 834 856 <td> 835 857 <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.")?> 841 860 </span> 842 861 </a> … … 849 868 <td> 850 869 <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.")?> 857 872 </span> 858 873 </a> … … 865 880 <td> 866 881 <a href="#" class="info"> 867 Email From:882 <?php echo _("Email From:")?> 868 883 <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.")?> 871 885 </span> 872 886 </a> … … 879 893 <td> 880 894 <a href="#" class="info"> 881 Email Reply-To:895 <?php echo _("Email Reply-To:")?> 882 896 <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.")?> 885 898 </span> 886 899 </a> … … 893 906 <td> 894 907 <a href="#" class="info"> 895 Email Subject:908 <?php echo _("Email Subject:")?> 896 909 <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.")?> 900 911 </span> 901 912 </a> … … 908 919 <td> 909 920 <a href="#" class="info"> 910 Email Opening:921 <?php echo _("Email Opening:")?> 911 922 <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.")?> 917 925 </span> 918 926 </a> … … 925 933 <td> 926 934 <a href="#" class="info"> 927 Email Closing:935 <?php echo _("Email Closing:")?> 928 936 <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.")?> 931 938 </span> 932 939 </a> … … 939 946 </form> 940 947 <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 949 echo "<h3>"._("Bulk Extensions CSV File Columns")."</h3><p>"; 950 echo _("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>"; 947 951 print $table_output; 948 952 } contributed_modules/modules/bulkextensions/table.csv
r7123 r7542 8 8 "callwaiting","enabled","enabled, disabled","Call Waiting","Set the initial/current Call Waiting state for this user's extension." 9 9 "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." 11 11 "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." 12 12 "tech",,"sip, iax2, zap, custom",,"Device channel type." … … 38 38 "devinfo_accountcode",,,"accountcode","See conf file for device tech." 39 39 "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)." 40 42 "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." 41 43 "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,devi cetype,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,postdest1 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,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 2 2 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"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,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,,,,,,,,,,,,,, 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" 6 6 7 7 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"8 add,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" 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" 11 11 12 12
