Enhanced Avaya J-Series support (#7036)

* Updates to Avaya J-Series support

* small J189 fixes
This commit is contained in:
Antonio Fernandez 2024-07-05 19:07:45 -04:00 committed by GitHub
parent 56aea7c66d
commit 9ec26f0244
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 636 additions and 21 deletions

147
app/avaya/app_config.php Normal file
View File

@ -0,0 +1,147 @@
<?php
//application details
$apps[$x]['name'] = "Avaya";
$apps[$x]['uuid'] = "194d9272-2fd9-4b42-8992-63915d18f8eb";
$apps[$x]['category'] = "Vendor";
$apps[$x]['subcategory'] = "";
$apps[$x]['version'] = "1.0";
$apps[$x]['license'] = "";
$apps[$x]['url'] = "http://www.fusionpbx.com";
$apps[$x]['description']['en-us'] = "";
$apps[$x]['description']['en-gb'] = "";
$apps[$x]['description']['ar-eg'] = "";
$apps[$x]['description']['de-at'] = "";
$apps[$x]['description']['de-ch'] = "";
$apps[$x]['description']['de-de'] = "";
$apps[$x]['description']['es-cl'] = "";
$apps[$x]['description']['es-mx'] = "";
$apps[$x]['description']['fr-ca'] = "";
$apps[$x]['description']['fr-fr'] = "";
$apps[$x]['description']['he-il'] = "";
$apps[$x]['description']['it-it'] = "";
$apps[$x]['description']['nl-nl'] = "";
$apps[$x]['description']['pl-pl'] = "";
$apps[$x]['description']['pt-br'] = "";
$apps[$x]['description']['pt-pt'] = "";
$apps[$x]['description']['ro-ro'] = "";
$apps[$x]['description']['ru-ru'] = "";
$apps[$x]['description']['sv-se'] = "";
$apps[$x]['description']['uk-ua'] = "";
//default settings
$y=0;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "98c04df8-35c8-4465-a52b-f1b7cdf08c30";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "avaya_j179_firmware_url";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Firmware filename URL for J179 Phone";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "d2e19a7d-d3b3-4b49-b267-938f66845bdf";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "avaya_j169_firmware_url";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Firmware filename URL for J169 Phone";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "053f9829-1f4d-4292-a308-e447dc4483b9";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "avaya_jem24_firmware_url";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Firmware filename URL for JEM 24 Expansion Module";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "bbc7f7c7-d8a9-4f13-bf1d-a16ee0855c36";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "avaya_dialplan";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "XXX|XXXX,*XX,1XXXXXXXXXX,XXXXXXXXXX";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "|:Pattern separator, X: any single digit, []: used to specify one digit with valid digits inside the brackets. a - dash may be used for ranges.";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "ab3fc35c-fb8b-4dd0-ba0d-b0883cd31c45";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "avaya_time_zone";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "-5:00";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Timezone offset";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "0c3b36b2-a638-4d8e-8619-8fde234e6349";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "avaya_dst_start";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "2SunMar2L";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Example, 2SunMar2L which corresponds to the second Sunday in March at 2 AM local time";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "09922e2a-6d3f-4833-8a50-40b1942a7bb0";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "avaya_dst_stop";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "1SunNov2L";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Example, 1SunNov2L which corresponds to the first Sunday in November at 2 AM local time";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "cd9143fb-54f7-4bf7-acea-d7ea775c9876";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "avaya_key_customization";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "0";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Setting to allow or disallow users to change the buttons on the phone. 0 - Blocked, 1 - Limited (User customization is allowed for Applications and Contacts), 2 - Full";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "b67d14cb-5d1f-46bf-baa5-2500a9135b5d";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "avaya_j189_wallpaper_url";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "90222f45-3996-4b74-89bc-68f12ad78afe";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "avaya_j189_secondary_wallpaper_url";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "75d92d17-6096-47ec-89f6-bbf17479fb85";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "avaya_j179_wallpaper_url";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "30cbfda7-f068-463f-80a4-aeecf8c48eaf";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "avaya_j169_wallpaper_url";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "a7d1d29f-e791-4b32-8a2c-7a6898c7cb53";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "avaya_jem24_wallpaper_url";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "a53f2369-19fb-449d-8daa-189707b79cc6";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "provision";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "avaya_ntp_server";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "";
$y++;
?>

View File

@ -0,0 +1 @@
For Provisioning to work propery you will need to be on firmware 4.1.4.0.5 and greater

View File

@ -70,6 +70,162 @@
case "00085d": case "00085d":
$device_vendor = "aastra"; $device_vendor = "aastra";
break; break;
case "00040d":
$device_vendor = "avaya";
break;
case "001b4f":
$device_vendor = "avaya";
break;
case "00549f":
$device_vendor = "avaya";
break;
case "048a15":
$device_vendor = "avaya";
break;
case "10cdae":
$device_vendor = "avaya";
break;
case "14612f":
$device_vendor = "avaya";
break;
case "24b209":
$device_vendor = "avaya";
break;
case "24d921":
$device_vendor = "avaya";
break;
case "2cf4c5":
$device_vendor = "avaya";
break;
case "3475c7":
$device_vendor = "avaya";
break;
case "38bb3c":
$device_vendor = "avaya";
break;
case "3c3a73":
$device_vendor = "avaya";
break;
case "3cb15b":
$device_vendor = "avaya";
break;
case "44322a":
$device_vendor = "avaya";
break;
case "506184":
$device_vendor = "avaya";
break;
case "50cd22":
$device_vendor = "avaya";
break;
case "581626":
$device_vendor = "avaya";
break;
case "6049c1":
$device_vendor = "avaya";
break;
case "646a52":
$device_vendor = "avaya";
break;
case "64a7dd":
$device_vendor = "avaya";
break;
case "64c354":
$device_vendor = "avaya";
break;
case "6ca849":
$device_vendor = "avaya";
break;
case "6cfa58":
$device_vendor = "avaya";
break;
case "703018":
$device_vendor = "avaya";
break;
case "7038ee":
$device_vendor = "avaya";
break;
case "7052c5":
$device_vendor = "avaya";
break;
case "707c69":
$device_vendor = "avaya";
break;
case "801daa":
$device_vendor = "avaya";
break;
case "848371":
$device_vendor = "avaya";
break;
case "90fb5b":
$device_vendor = "avaya";
break;
case "a009ed":
$device_vendor = "avaya";
break;
case "a01290":
$device_vendor = "avaya";
break;
case "a051c6":
$device_vendor = "avaya";
break;
case "a4251b":
$device_vendor = "avaya";
break;
case "a47886":
$device_vendor = "avaya";
break;
case "b0adaa":
$device_vendor = "avaya";
break;
case "b4475e":
$device_vendor = "avaya";
break;
case "b4a95a":
$device_vendor = "avaya";
break;
case "b4b017":
$device_vendor = "avaya";
break;
case "bcadab":
$device_vendor = "avaya";
break;
case "c057bc":
$device_vendor = "avaya";
break;
case "c4bed4":
$device_vendor = "avaya";
break;
case "c81fea":
$device_vendor = "avaya";
break;
case "c8f406":
$device_vendor = "avaya";
break;
case "ccf954":
$device_vendor = "avaya";
break;
case "d47856":
$device_vendor = "avaya";
break;
case "d4ea0e":
$device_vendor = "avaya";
break;
case "e45d52":
$device_vendor = "avaya";
break;
case "f81547":
$device_vendor = "avaya";
break;
case "f873a2":
$device_vendor = "avaya";
break;
case "fc8399":
$device_vendor = "avaya";
break;
case "fca841":
$device_vendor = "avaya";
break;
case "001873": case "001873":
$device_vendor = "cisco"; $device_vendor = "cisco";
break; break;
@ -222,6 +378,9 @@
if (preg_replace('/^.*?(flyingvoice).*$/i', '$1', $agent) == "flyingvoice") { if (preg_replace('/^.*?(flyingvoice).*$/i', '$1', $agent) == "flyingvoice") {
return "flyingvoice"; return "flyingvoice";
} }
if (preg_replace('/^.*?(avaya).*$/i', '$1', $agent) == "avaya") {
return "avaya";
}
// unknown vendor // unknown vendor
return ""; return "";
} }

View File

@ -185,6 +185,16 @@
end end
end end
--avaya
if (vendor == "avaya") then
if (command == "reboot") then
event:addHeader('event-string', 'check-sync;reboot=true');
end
if (command == "check_sync") then
event:addHeader('event-string', 'check-sync;reboot=false');
end
end
--send the event --send the event
event:fire(); event:fire();

View File

@ -0,0 +1,14 @@
<IPPhoneDirectory>
{foreach $contacts as $row}
<DirectoryEntry>
<LastName>{$row.contact_name_family}</LastName>
<FirstName>{$row.contact_name_given}</FirstName>
<PhoneNumbers>
<Phone>
<Number>{if $row.category == "extensions"}{$row.phone_extension}{else}{$row.phone_number}{/if}</Number>
<Type>Work</Type>
</Phone>
</PhoneNumbers>
</DirectoryEntry>
{/foreach}
</IPPhoneDirectory>

View File

@ -1,13 +1,19 @@
## Phone firmware ## Phone firmware
SET APPNAME "{if isset($avaya_j169_firmware_filename)}{$avaya_j169_firmware_filename}{else}FW_S_J169_R4_0_2_1_3.bin{/if}" SET APPNAME "{if isset($avaya_j169_firmware_filename)}{$avaya_j169_firmware_filename}{else}FW_S_J169_R4_1_4_0_5.bin{/if}"
## JEM24 Expansion Module firmware ## JEM24 Expansion Module firmware
SET "{if isset($avaya_jem24_firmware_filename)}{$avaya_jem24_firmware_filename}{else}JEM24_APPNAME FW_JEM24_R1_0_1_0_8.bin{/if}" SET "{if isset($avaya_jem24_firmware_filename)}{$avaya_jem24_firmware_filename}{else}JEM24_APPNAME FW_JEM24_R1_0_1_0_26.bin{/if}"
## Enable Out-Of-Dialog REFER messages to provision or reboot the device
SET ENABLE_OOD_RESET_NOTIFY 1
## Do not require TLS to accept Out-Of-Dialog REFER messages
SET ENABLE_OOD_MSG_TLS_ONLY 0
## Trust public certs rather than the phone downloading a trusted cert from the server ## Trust public certs rather than the phone downloading a trusted cert from the server
SET ENABLE_PUBLIC_CA_CERTS 1 SET ENABLE_PUBLIC_CA_CERTS 1
## Set Admin Access ## Set Admin Access
## 27238 is the Avaya default ## 27238 is the Avaya default
## Valid values are 8 to 31 alphanumeric characters.
SET ENABLE_WEBSERVER 1 SET ENABLE_WEBSERVER 1
SET FORCE_WEB_ADMIN_PASSWORD "{if isset($admin_password)}{$admin_password}{else}27238{/if}" SET FORCE_WEB_ADMIN_PASSWORD "{if isset($admin_password)}{$admin_password}{else}27238{/if}"
@ -29,6 +35,25 @@ SET CODEC_PRIORITY G711U
## 7 means 1+2+4 ## 7 means 1+2+4
SET CALLFWDSTAT 7 SET CALLFWDSTAT 7
## Sets the BLF incoming call mode
## 0 - None (no alerting for BLF incoming call).
## 1 - Audible (only audible alerting for BLF incoming call).
## 2 - Visual (only visual alerting for BLF incoming call).
## 3(default) - Both (both audible and visual alerting for BLF incoming call)
## 4 - Force None (forced only audible alerting for BLF incoming call).
## 5 - Force Audible (forced only audible alerting for BLF incoming call).
## 6 - Force Visual (forced only visual alerting for BLF incoming call).
## 7 - Force Both (forced both audible and visual alerting for BLF incoming call).
SET BLF_INCOMING_CALL_INDICATION_MODE 0
## Specifies whether Prioritize own incoming calls over BLF calls feature is enabled or not. Valid values are:
## 0 - Feature is disabled. The phone displays all calls in the order they are received.
## 1 - Feature is enabled. The phone displays users own incoming calls and own parked calls before BLF calls and BLF parked calls.
SET PRIORITIZE_OWN_INCOMING_CALL 1
## Allows the call decline button to be visible
SET CALL_DECLINE_POLICY 1
## Allow the phone to be locked ## Allow the phone to be locked
SET ENABLE_PHONE_LOCK 1 SET ENABLE_PHONE_LOCK 1
@ -107,14 +132,14 @@ SET PSTN_VM_NUM *97
## BACKGROUND_IMAGE - The selected image ## BACKGROUND_IMAGE - The selected image
## BACKGROUND_IMAGE_AVAILABLE - The list of available images ## BACKGROUND_IMAGE_AVAILABLE - The list of available images
{if isset($avaya_j179_wallpaper)} {if isset($avaya_j169_wallpaper_url)}
SET BACKGROUND_IMAGE "{$avaya_j179_wallpaper}" SET BACKGROUND_IMAGE "{$avaya_j169_wallpaper_url}"
SET BACKGROUND_IMAGE_AVAILABLE "{$avaya_j169_wallpaper}" SET BACKGROUND_IMAGE_AVAILABLE "{$avaya_j169_wallpaper_url}"
SET BACKGROUND_IMAGE_DISPLAY "{$avaya_j169_wallpaper}" SET BACKGROUND_IMAGE_DISPLAY "{$avaya_j169_wallpaper_url}"
{/if} {/if}
{if isset($avaya_jem24_wallpaper)} {if isset($avaya_jem24_wallpaper_url)}
SET BACKGROUND_IMAGE_AVAILABLE_JEM "{$avaya_jem24_wallpaper}" SET BACKGROUND_IMAGE_AVAILABLE_JEM "{$avaya_jem24_wallpaper_url}"
SET SCREENSAVER_IMAGE_AVAILABLE_JEM "{$avaya_jem24_wallpaper}" SET SCREENSAVER_IMAGE_AVAILABLE_JEM "{$avaya_jem24_wallpaper_url}"
{/if} {/if}
## Disable Avaya Mode ## Disable Avaya Mode
@ -158,19 +183,19 @@ SET SIMULTANEOUS_REGISTRATIONS 1
{foreach $keys["line"] as $row} {foreach $keys["line"] as $row}
{if in_array($row.device_key_type, array("callfwd", "callfwdna", "callfwdbusy", "dnd" , "autoanswer"))} {if in_array($row.device_key_type, array("callfwd", "callfwdna", "callfwdbusy", "dnd" , "autoanswer"))}
SET PHONEKEY "Key={$row.device_key_id};Type=feature;Name={$row.device_key_type};Label={$row.device_key_label};Forced" SET PHONEKEY "Key={$row.device_key_id+1};Type=feature;Name={$row.device_key_type};Label={$row.device_key_label};Forced"
{elseif in_array($row.device_key_type, array("blf"))} {elseif in_array($row.device_key_type, array("blf"))}
SET PHONEKEY "Key={$row.device_key_id};Type=feature;Name={$row.device_key_type};Label={$row.device_key_label};attr1={$row.device_key_value};attr2={$row.device_key_value};Forced" SET PHONEKEY "Key={$row.device_key_id+1};Type=feature;Name={$row.device_key_type};Label={$row.device_key_label};attr1={$row.device_key_value};attr2={$row.device_key_value};Forced"
{elseif in_array($row.device_key_type, array("lock", "logout", "screensaver"))} {elseif in_array($row.device_key_type, array("lock", "logout", "screensaver"))}
SET PHONEKEY "Key={$row.device_key_id};Type=application;Name={$row.device_key_type};Label={$row.device_key_label};Forced" SET PHONEKEY "Key={$row.device_key_id+1};Type=application;Name={$row.device_key_type};Label={$row.device_key_label};Forced"
{elseif in_array($row.device_key_type, array("primary"))} {elseif in_array($row.device_key_type, array("primary"))}
SET PHONEKEY "Key={$row.device_key_id};Type=line;Name={$row.device_key_type};attr1={$row.device_key_line};Forced" SET PHONEKEY "Key={$row.device_key_id+1};Type=line;Name={$row.device_key_type};attr1={$row.device_key_line};Forced"
{elseif in_array($row.device_key_type, array("autodial"))} {elseif in_array($row.device_key_type, array("autodial"))}
SET PHONEKEY "Key={$row.device_key_id};Type=autodial;Name={$row.device_key_type};attr1={$row.device_key_value};Forced" SET PHONEKEY "Key={$row.device_key_id+1};Type=autodial;Name={$row.device_key_type};attr1={$row.device_key_value};Label={$row.device_key_label};Forced"
{/if} {/if}
{/foreach} {/foreach}

View File

@ -0,0 +1,14 @@
<IPPhoneDirectory>
{foreach $contacts as $row}
<DirectoryEntry>
<LastName>{$row.contact_name_family}</LastName>
<FirstName>{$row.contact_name_given}</FirstName>
<PhoneNumbers>
<Phone>
<Number>{if $row.category == "extensions"}{$row.phone_extension}{else}{$row.phone_number}{/if}</Number>
<Type>Work</Type>
</Phone>
</PhoneNumbers>
</DirectoryEntry>
{/foreach}
</IPPhoneDirectory>

View File

@ -1,13 +1,19 @@
## Phone firmware ## Phone firmware
SET APPNAME "{if isset($avaya_j179_firmware_filename)}{$avaya_j179_firmware_filename}{else}FW_S_J179_R4_0_2_1_3.bin{/if}" SET APPNAME "{if isset($avaya_j179_firmware_filename)}{$avaya_j179_firmware_filename}{else}FW_S_J179_R4_1_4_0_5.bin{/if}"
## JEM24 Expansion Module firmware ## JEM24 Expansion Module firmware
SET "{if isset($avaya_jem24_firmware_filename)}{$avaya_jem24_firmware_filename}{else}JEM24_APPNAME FW_JEM24_R1_0_1_0_8.bin{/if}" SET "{if isset($avaya_jem24_firmware_filename)}{$avaya_jem24_firmware_filename}{else}JEM24_APPNAME FW_JEM24_R1_0_1_0_26.bin{/if}"
## Enable Out-Of-Dialog REFER messages to provision or reboot the device
SET ENABLE_OOD_RESET_NOTIFY 1
## Do not require TLS to accept Out-Of-Dialog REFER messages
SET ENABLE_OOD_MSG_TLS_ONLY 0
## Trust public certs rather than the phone downloading a trusted cert from the server ## Trust public certs rather than the phone downloading a trusted cert from the server
SET ENABLE_PUBLIC_CA_CERTS 1 SET ENABLE_PUBLIC_CA_CERTS 1
## Set Admin Access ## Set Admin Access
## 27238 is the Avaya default ## 27238 is the Avaya default
## Valid values are 8 to 31 alphanumeric characters.
SET ENABLE_WEBSERVER 1 SET ENABLE_WEBSERVER 1
SET FORCE_WEB_ADMIN_PASSWORD "{if isset($admin_password)}{$admin_password}{else}27238{/if}" SET FORCE_WEB_ADMIN_PASSWORD "{if isset($admin_password)}{$admin_password}{else}27238{/if}"
@ -29,6 +35,25 @@ SET CODEC_PRIORITY G711U
## 7 means 1+2+4 ## 7 means 1+2+4
SET CALLFWDSTAT 7 SET CALLFWDSTAT 7
## Sets the BLF incoming call mode
## 0 - None (no alerting for BLF incoming call).
## 1 - Audible (only audible alerting for BLF incoming call).
## 2 - Visual (only visual alerting for BLF incoming call).
## 3(default) - Both (both audible and visual alerting for BLF incoming call)
## 4 - Force None (forced only audible alerting for BLF incoming call).
## 5 - Force Audible (forced only audible alerting for BLF incoming call).
## 6 - Force Visual (forced only visual alerting for BLF incoming call).
## 7 - Force Both (forced both audible and visual alerting for BLF incoming call).
SET BLF_INCOMING_CALL_INDICATION_MODE 0
## Specifies whether Prioritize own incoming calls over BLF calls feature is enabled or not. Valid values are:
## 0 - Feature is disabled. The phone displays all calls in the order they are received.
## 1 - Feature is enabled. The phone displays users own incoming calls and own parked calls before BLF calls and BLF parked calls.
SET PRIORITIZE_OWN_INCOMING_CALL 1
## Allows the call decline button to be visible
SET CALL_DECLINE_POLICY 1
## Allow the phone to be locked ## Allow the phone to be locked
SET ENABLE_PHONE_LOCK 1 SET ENABLE_PHONE_LOCK 1
@ -158,19 +183,19 @@ SET SIMULTANEOUS_REGISTRATIONS 1
{foreach $keys["line"] as $row} {foreach $keys["line"] as $row}
{if in_array($row.device_key_type, array("callfwd", "callfwdna", "callfwdbusy", "dnd" , "autoanswer"))} {if in_array($row.device_key_type, array("callfwd", "callfwdna", "callfwdbusy", "dnd" , "autoanswer"))}
SET PHONEKEY "Key={$row.device_key_id};Type=feature;Name={$row.device_key_type};Label={$row.device_key_label};Forced" SET PHONEKEY "Key={$row.device_key_id+1};Type=feature;Name={$row.device_key_type};Label={$row.device_key_label};Forced"
{elseif in_array($row.device_key_type, array("blf"))} {elseif in_array($row.device_key_type, array("blf"))}
SET PHONEKEY "Key={$row.device_key_id};Type=feature;Name={$row.device_key_type};Label={$row.device_key_label};attr1={$row.device_key_value};attr2={$row.device_key_value};Forced" SET PHONEKEY "Key={$row.device_key_id+1};Type=feature;Name={$row.device_key_type};Label={$row.device_key_label};attr1={$row.device_key_value};attr2={$row.device_key_value};Forced"
{elseif in_array($row.device_key_type, array("lock", "logout", "screensaver"))} {elseif in_array($row.device_key_type, array("lock", "logout", "screensaver"))}
SET PHONEKEY "Key={$row.device_key_id};Type=application;Name={$row.device_key_type};Label={$row.device_key_label};Forced" SET PHONEKEY "Key={$row.device_key_id+1};Type=application;Name={$row.device_key_type};Label={$row.device_key_label};Forced"
{elseif in_array($row.device_key_type, array("primary"))} {elseif in_array($row.device_key_type, array("primary"))}
SET PHONEKEY "Key={$row.device_key_id};Type=line;Name={$row.device_key_type};attr1={$row.device_key_line};Forced" SET PHONEKEY "Key={$row.device_key_id+1};Type=line;Name={$row.device_key_type};attr1={$row.device_key_line};Forced"
{elseif in_array($row.device_key_type, array("autodial"))} {elseif in_array($row.device_key_type, array("autodial"))}
SET PHONEKEY "Key={$row.device_key_id};Type=autodial;Name={$row.device_key_type};attr1={$row.device_key_value};Forced" SET PHONEKEY "Key={$row.device_key_id+1};Type=autodial;Name={$row.device_key_type};attr1={$row.device_key_value};Label={$row.device_key_label};Forced"
{/if} {/if}
{/foreach} {/foreach}

View File

@ -0,0 +1,14 @@
<IPPhoneDirectory>
{foreach $contacts as $row}
<DirectoryEntry>
<LastName>{$row.contact_name_family}</LastName>
<FirstName>{$row.contact_name_given}</FirstName>
<PhoneNumbers>
<Phone>
<Number>{if $row.category == "extensions"}{$row.phone_extension}{else}{$row.phone_number}{/if}</Number>
<Type>Work</Type>
</Phone>
</PhoneNumbers>
</DirectoryEntry>
{/foreach}
</IPPhoneDirectory>

View File

@ -0,0 +1,206 @@
## Phone firmware
SET APPNAME "{if isset($avaya_j189_firmware_filename)}{$avaya_j189_firmware_filename}{else}FW_S_J189_R4_1_4_0_5.bin{/if}"
## JEM24 Expansion Module firmware
SET "{if isset($avaya_jem24_firmware_filename)}{$avaya_jem24_firmware_filename}{else}JEM24_APPNAME FW_JEM24_R1_0_1_0_26.bin{/if}"
## Enable Out-Of-Dialog REFER messages to provision or reboot the device
SET ENABLE_OOD_RESET_NOTIFY 1
## Do not require TLS to accept Out-Of-Dialog REFER messages
SET ENABLE_OOD_MSG_TLS_ONLY 0
## Trust public certs rather than the phone downloading a trusted cert from the server
SET ENABLE_PUBLIC_CA_CERTS 1
## Set Admin Access
## 27238 is the Avaya default
## Valid values are 8 to 31 alphanumeric characters.
SET ENABLE_WEBSERVER 1
SET FORCE_WEB_ADMIN_PASSWORD "{if isset($admin_password)}{$admin_password}{else}27238{/if}"
SET SHA2CAPABLE 1
SET ENABLE_PRESENCE 0
## Codec Settings
SET ENABLE_G729 0
SET ENABLE_G722 0
SET ENABLE_G726 0
SET ENABLE_OPUS 0
SET CODEC_PRIORITY G711U
## Call forwarding allowed
## 1 = permits unconditional call forwarding
## 2 = permits call forwarding on busy
## 4 = permits call forwarding on no answer
## add the numbers above to get your desired combination
## 7 means 1+2+4
SET CALLFWDSTAT 7
## Sets the BLF incoming call mode
## 0 - None (no alerting for BLF incoming call).
## 1 - Audible (only audible alerting for BLF incoming call).
## 2 - Visual (only visual alerting for BLF incoming call).
## 3(default) - Both (both audible and visual alerting for BLF incoming call)
## 4 - Force None (forced only audible alerting for BLF incoming call).
## 5 - Force Audible (forced only audible alerting for BLF incoming call).
## 6 - Force Visual (forced only visual alerting for BLF incoming call).
## 7 - Force Both (forced both audible and visual alerting for BLF incoming call).
SET BLF_INCOMING_CALL_INDICATION_MODE 0
## Specifies whether Prioritize own incoming calls over BLF calls feature is enabled or not. Valid values are:
## 0 - Feature is disabled. The phone displays all calls in the order they are received.
## 1 - Feature is enabled. The phone displays users own incoming calls and own parked calls before BLF calls and BLF parked calls.
SET PRIORITIZE_OWN_INCOMING_CALL 1
## Allows the call decline button to be visible
SET CALL_DECLINE_POLICY 1
## Allow the phone to be locked
SET ENABLE_PHONE_LOCK 1
## DISABLE Avaya Spaces
SET SPACES_ACCESS_MODE 0
SET CALL_PICKUP_BARGEIN_FAC *33
SET ENCRYPT_VERSION_IN_USE 1
SET MAX__DISPLAYED_SESSION_APPEARANCES 3
SET ENHDIALSTAT 0
## Specifies the screen mode used on the phone
## 0 = Non-forced Half Screen mode
## 1 = Non-forced Full Screen mode
## 2 = Forced Half Screen mode is used
## 3 = Forced Full Screen mode
SET PHONE_SCREEN_MODE 2
## Specifies the scrolling mode used on the phone
## 0 = Line scrolling mode
## 1 = Page scrolling mode
SET SCROLLING_MODE 1
SET OVERRIDE_USER_SELECTION ""
SET USER_LOGGED_IN 1
SET LANGUAGE_FILE_IN_USE Mlf_English.xml
SET LANGUAGES_RESOURCE_LIST English=res://Mlf_English.xml,Canadian French=lang/Mlf_J169_J179_CanadianFrench.xml,Latin American Spanish=lang/Mlf_J169_J179_LatinAmericanSpanish.xml,Brazilian Portuguese=lang/Mlf_J169_J179_BrazilianPortuguese.xml,Italian=lang/Mlf_J169_J179_Italian.xml
SET SYSTEM_LANGUAGE Mlf_J169_J179_English.xml
SET LANGUAGE_IN_USE English
SET LANGUAGES Mlf_J169_J179_CanadianFrench.xml,Mlf_J169_J179_LatinAmericanSpanish.xml,Mlf_J169_J179_BrazilianPortuguese.xml,Mlf_J169_J179_Italian.xml
## DIALING_MODE_DEFAULT
## 0 - Automatic
## 1 - Manual
SET DIALING_MODE_DEFAULT 0
## Dialplan
## |: This character is used to separate each different number pattern.
## X: This character is a wildcard for any single digit match.
## [ ]- Square brackets can be used to contain possible specific single digit matches. For example:
## [1237] matches 1, 2, 3 or 7. A - character can be used to match a range of digits.
## [1-4] matches any digit from 1 to 4.
SET DIALPLAN "{if isset($avaya_dialplan)}{$avaya_dialplan}{else}XXX|XXXX,*XX,1XXXXXXXXXX,XXXXXXXXXX{/if}"
## INTER_DIGIT_TIMEOUT - Set the number of seconds from the last digit dialed after which the phone assumes dialing is complete and send the digits dialed to the system
SET INTER_DIGIT_TIMEOUT 2
## GMTOFFSET
SET GMTOFFSET "{if isset($avaya_time_zone)}{$avaya_time_zone}{else}-5:00{/if}"
## Time format
## 0 - 12hr, 1 - 24h, 2 - 12hr forced, 3 - 24h forced
SET ADMINTIMEFORMAT 0
## DST start date. Default: 2SunMar2L
SET DSTSTART "{if isset($avaya_dst_start)}{$avaya_dst_start}{else}2SunMar2L{/if}"
## DST stop date. Default: 1SunNov2L
SET DSTSTOP "{if isset($avaya_dst_stop)}{$avaya_dst_stop}{else}1SunNov2L{/if}"
SET ENABLE_SHOW_EMERG_SK 0
SET ENABLE_SHOW_EMERG_SK_UNREG 0
SET DISCOVER_AVAYA_ENVIRONMENT 0
SET TCP_KEEP_ALIVE_TIME 30
SET DTMF_PAYLOAD_TYPE 101
SET RTP_PORT_LOW 40750
SET RTP_PORT_RANGE 10000
## User Key customization
## 0 - Blocked, 1 - Limited (User customization is allowed for Applications and Contacts), 2 - Full
SET CUSTOMIZATION_MODE {if isset($avaya_key_customization)}{$avaya_key_customization}{else}0{/if}
## Specifies whether the Auto Answer feature is available to users.
SET ENABLE_AUTO_ANSWER_SUPPORT 1
## Voicemail access code
SET PSTN_VM_NUM *97
## BACKGROUND_IMAGE - The selected image
## BACKGROUND_IMAGE_AVAILABLE - The list of available images
{if isset($avaya_j189_wallpaper_url)}
SET BACKGROUND_IMAGE "{$avaya_j189_wallpaper_url}"
SET BACKGROUND_IMAGE_AVAILABLE "{$avaya_j189_wallpaper_url}"
SET BACKGROUND_IMAGE_DISPLAY "{$avaya_j189_wallpaper_url}"
{/if}
{if isset($avaya_j189_secondary_wallpaper_url)}
SET BACKGROUND_IMAGE "{$avaya_j189_secondary_wallpaper_url}"
SET BACKGROUND_IMAGE_AVAILABLE "{$avaya_j189_secondary_wallpaper_url}"
SET BACKGROUND_IMAGE_DISPLAY "{$avaya_j189_wallpaper_url}"
{/if}
{if isset($avaya_jem24_wallpaper_url)}
SET BACKGROUND_IMAGE_AVAILABLE_JEM "{$avaya_jem24_wallpaper_url}"
SET SCREENSAVER_IMAGE_AVAILABLE_JEM "{$avaya_jem24_wallpaper_url}"
{/if}
## Disable Avaya Mode
SET ENABLE_IPOFFICE 0
SET ENABLE_AVAYA_ENVIRONMENT 0
SET ENABLE_3PCC_ENVIRONMENT 1
SET 3PCC_SERVER_MODE 0
SET DES_BLOCK 1
SET DES_SUPPORT 0
SET DES_STAT 0
SET BLF_LIST_URI_CURRENT BLFfakegroup
{if isset($avaya_directory_url)}SET DOWNLOADABLE_DIRECTORY {$avaya_directory_url}{/if}
SET ENABLE_RCV_CONFERENCE 0
{foreach $lines as $row}
SET FORCE_SIP_EXTENSION {$row.user_id}
SET FORCE_SIP_USERNAME {$row.user_id}
SET FORCE_SIP_PASSWORD {$row.password}
SET SIP_USER_ACCOUNT {$row.user_id}@{$row.server_address}
SET SIP_USER_ID {$row.user_id}
SET SNTPSRVR "{if isset($avaya_ntp_server)}{$avaya_ntp_server}{else}ca.pool.ntp.org{/if}"
SET SIP_CONTROLLER_LIST {$row.server_address}:{$row.sip_port};transport={$row.sip_transport}
SET SIPPROXYSRVR_IN_USE {$row.server_address}
SET SIP_PROXY_SELECTION_POLICY 1
SET SIPDOMAIN {$row.server_address}
SET MWISRVR {$row.server_address}
SET RTCPMON {$row.server_address}
SET SIMULTANEOUS_REGISTRATIONS 1
{if $row@index eq 2}{break}{/if}
{/foreach}
## Button config
## Type can be feature,application,line,autodial
## Name is the name of the button type. All options can be found here: https://documentation.avaya.com/bundle/InstallandAdminJ100seriesIPPhonein3PCCsetup_r4.0.11/page/PHONEKEY_parameter_values__3PCC_.html
## attr1 is usually the specific data for the button. For example extension number
{foreach $keys["line"] as $row}
{if in_array($row.device_key_type, array("callfwd", "callfwdna", "callfwdbusy", "dnd" , "autoanswer"))}
SET PHONEKEY "Key={$row.device_key_id+1};Type=feature;Name={$row.device_key_type};Label={$row.device_key_label};Forced"
{elseif in_array($row.device_key_type, array("blf"))}
SET PHONEKEY "Key={$row.device_key_id+1};Type=feature;Name={$row.device_key_type};Label={$row.device_key_label};attr1={$row.device_key_value};attr2={$row.device_key_value};Forced"
{elseif in_array($row.device_key_type, array("lock", "logout", "screensaver"))}
SET PHONEKEY "Key={$row.device_key_id+1};Type=application;Name={$row.device_key_type};Label={$row.device_key_label};Forced"
{elseif in_array($row.device_key_type, array("primary"))}
SET PHONEKEY "Key={$row.device_key_id+1};Type=line;Name={$row.device_key_type};attr1={$row.device_key_line};Forced"
{elseif in_array($row.device_key_type, array("autodial"))}
SET PHONEKEY "Key={$row.device_key_id+1};Type=autodial;Name={$row.device_key_type};attr1={$row.device_key_value};Label={$row.device_key_label};Forced"
{/if}
{/foreach}