Connect. Communicate. Collaborate. Securely.

Home » Kerio User Forums » Kerio Operator » Unique config for Cisco SPA500S
  •  
nhoague

Messages: 853
Karma: 18
Send a private message to this user
I have a need for different phones to have different console configs, how can I do this? Here is a config for one of them, but this needs to be changed for each phone. Possible?

<Unit_1_Key_1 ua="na">fnc=blf+sd;sub=100@$PROXY;ext=100@$PROXY</Unit_1_Key_1 >
<Unit_1_Key_2 ua="na">fnc=blf+sd;sub=101@$PROXY;ext=101@$PROXY</Unit_1_Key_2 >
<Unit_1_Key_3 ua="na">fnc=blf+sd;sub=102@$PROXY;ext=102@$PROXY</Unit_1_Key_3 >
<Unit_1_Key_4 ua="na">fnc=blf+sd;sub=103@$PROXY;ext=103@$PROXY</Unit_1_Key_4 >
<Unit_1_Key_5 ua="na">fnc=blf+sd;sub=104@$PROXY;ext=104@$PROXY</Unit_1_Key_5 >
<Unit_1_Key_6 ua="na">fnc=blf+sd;sub=107@$PROXY;ext=107@$PROXY</Unit_1_Key_6 >
<Unit_1_Key_7 ua="na">fnc=blf+sd;sub=108@$PROXY;ext=108@$PROXY</Unit_1_Key_7 >
<Unit_1_Key_8 ua="na">fnc=blf+sd;sub=109@$PROXY;ext=109@$PROXY</Unit_1_Key_8 >
<Unit_1_Key_9 ua="na">fnc=blf+sd;sub=110@$PROXY;ext=110@$PROXY</Unit_1_Key_9 >
<Unit_1_Key_10 ua="na">fnc=blf+sd;sub=113@$PROXY;ext=113@$PROXY</Unit_1_Key_10 >
<Unit_1_Key_11 ua="na">fnc=blf+sd;sub=114@$PROXY;ext=114@$PROXY</Unit_1_Key_11 >
<Unit_1_Key_12 ua="na">fnc=blf+sd;sub=117@$PROXY;ext=117@$PROXY</Unit_1_Key_12 >
<Unit_1_Key_13 ua="na">fnc=blf+sd;sub=118@$PROXY;ext=118@$PROXY</Unit_1_Key_13 >
<Unit_1_Key_14 ua="na">fnc=blf+sd;sub=119@$PROXY;ext=119@$PROXY</Unit_1_Key_14 >
<Unit_1_Key_15 ua="na">fnc=blf+sd;sub=120@$PROXY;ext=120@$PROXY</Unit_1_Key_15 >
<Unit_1_Key_16 ua="na">fnc=blf+sd;sub=121@$PROXY;ext=121@$PROXY</Unit_1_Key_16 >
<Unit_1_Key_17 ua="na">fnc=blf+sd;sub=122@$PROXY;ext=122@$PROXY</Unit_1_Key_17 >
<Unit_1_Key_18 ua="na">fnc=blf+sd;sub=123@$PROXY;ext=123@$PROXY</Unit_1_Key_18 >
<Unit_1_Key_19 ua="na">fnc=blf+sd;sub=124@$PROXY;ext=124@$PROXY</Unit_1_Key_19 >
<Unit_1_Key_20 ua="na">fnc=blf+sd;sub=125@$PROXY;ext=125@$PROXY</Unit_1_Key_20 >
<Unit_1_Key_21 ua="na">fnc=blf+sd;sub=126@$PROXY;ext=126@$PROXY</Unit_1_Key_21 >
<Unit_1_Key_22 ua="na">fnc=blf+sd;sub=127@$PROXY;ext=127@$PROXY</Unit_1_Key_22 >
<Unit_1_Key_23 ua="na">fnc=blf+sd;sub=154@$PROXY;ext=154@$PROXY</Unit_1_Key_23 >
<Unit_1_Key_24 ua="na">fnc=blf+sd;sub=128@$PROXY;ext=128@$PROXY</Unit_1_Key_24 >
<Unit_1_Key_25 ua="na">fnc=blf+sd;sub=129@$PROXY;ext=129@$PROXY</Unit_1_Key_25 >
<Unit_1_Key_26 ua="na">fnc=blf+sd;sub=130@$PROXY;ext=130@$PROXY</Unit_1_Key_26 >
<Unit_1_Key_27 ua="na">fnc=blf+sd;sub=131@$PROXY;ext=131@$PROXY</Unit_1_Key_27 >
<Unit_1_Key_28 ua="na">fnc=blf+sd;sub=132@$PROXY;ext=132@$PROXY</Unit_1_Key_28 >
<Unit_1_Key_29 ua="na">fnc=blf+sd;sub=133@$PROXY;ext=133@$PROXY</Unit_1_Key_29 >
<Unit_1_Key_30 ua="na">fnc=blf+sd;sub=134@$PROXY;ext=134@$PROXY</Unit_1_Key_30 >
<Unit_1_Key_31 ua="na">fnc=blf+sd;sub=136@$PROXY;ext=136@$PROXY</Unit_1_Key_31 >
<Unit_1_Key_32 ua="na">fnc=blf+sd;sub=138@$PROXY;ext=138@$PROXY</Unit_1_Key_32 >
  •  
Vladimir Toncar (Kerio)

Messages: 1696
Karma: 39
Send a private message to this user
You can create a template override and test for the HW address of the particular phone. That's probably the best approach we can offer now.
  •  
nhoague

Messages: 853
Karma: 18
Send a private message to this user
Hey Vlad, so I'm trying this, but no luck, all the phones are getting the "trans" config of the SPA500S.

I've also tried $sideCar['dept'] === "trans" with the 3 equals and that isnt working either.

<flat-profile>

<!-- Phone model: {$model} -->
@// Phone line buttons with BLF functionality configuration
@// mac - HW address of the phone
@// button - phone button to configure (2, 3,... 12)
@// label - label
@// ext - extension or parking position to monitor (10, *501, ...)
@//
@// Please uncomment the following lines by removing '//' and modify them.
@
@ $blfs = array(
@// array("mac" => "e8b74816172a", "button" => 2, "label" => "John", "ext" => "11"),
@// array("mac" => "e8b74816172a", "button" => 3, "label" => "Doe", "ext" => "12"),
@ array("mac" => "00:02:FD:FF:53:09", "button" => 4, "label" => "Page All", "ext" => "90"),
@ );

@ $sideCars = array(
@ array("mac" => "00:02:FD:FF:53:09", "dept" => "trans"),
@ );

@// To enable call pickup and one-touch transfers, uncomment the following options
@// <Attendant_Console_Call_Pickup_Code>**#</Attendant_Console_Call_Pickup_Code >
@// <BXfer_To_Starcode_Enable>Yes</BXfer_To_Starcode_Enable>
<BXfer_On_Speed_Dial_Enable>Yes</BXfer_On_Speed_Dial_Enable >
<Server_Type>Asterisk</Server_Type>

<Provision_Enable>Yes</Provision_Enable>
<Resync_On_Reset>Yes</Resync_On_Reset>
<Resync_From_SIP>Yes</Resync_From_SIP>
<Auth_Resync-Reboot_1_>Yes</Auth_Resync-Reboot_1_>
<Resync_Periodic>604800</Resync_Periodic>

@if ($firmware_path) {
<Upgrade_Rule>tftp://{$OPERATOR_IP}{$firmware_path}</Upgrade_Rule>
@}

<Primary_NTP_Server>{$NTP_PRIMARY}</Primary_NTP_Server>
<Secondary_NTP_Server>{$NTP_PRIMARY}</Secondary_NTP_Server >

@// `$timezoneString' is generated in `providers/spa.php'.;
<Time_Zone>{$timezoneString}</Time_Zone>
<Daylight_Saving_Time_Rule></Daylight_Saving_Time_Rule>
<Daylight_Saving_Time_Enable>Yes</Daylight_Saving_Time_Enable >
<Voice_Mail_Number>{$VOICEMAIL_EXT}</Voice_Mail_Number>
<Station_Name ua="rw">{transliterate($PHONE_LABEL)}</Station_Name>
<Interdigit_Short_Timer ua="rw">{$AUTODIAL_TIMEOUT}</Interdigit_Short_Timer>

<Admin_Password>{$ADMIN_PASSWORD}</Admin_Password>
<Admin_Passwd>{$ADMIN_PASSWORD}</Admin_Passwd>
<router-configuration>
<Web_Login_Admin_Password>{$ADMIN_PASSWORD}</Web_Login_Admin_Password >
</router-configuration>

@ if ($DISPLAY_LOGO && $logo_path) {
<BMP_Picture_Download_URL>tftp://{$OPERATOR_IP}{$logo_path}</BMP_Picture_Download_URL>
@ if ($model === 'spa525g' || $model === 'spa525g2') {
<Background_Picture_Type>Download BMP Picture</Background_Picture_Type>
@ } else {
<Select_Background_Picture>BMP Picture</Select_Background_Picture>
@ }
@ }

@ if ($DIRECTORY_ENABLED) {
@ $displayAttrs = array("a=$DIRECTORY_COMMON_NAME");
@ $firstNumberName = '';
@ $firstNumberDescription = '';
@ foreach ($DIRECTORY_NUMBERS as $name => $description) {
@ $displayAttrs[] = "a=$name,n=$description,t=p";
@ $firstNumberName = strlen($firstNumberName) > 0 ? $firstNumberName : $name;
@ $firstNumberDescription = strlen($firstNumberDescription) > 0 ? $firstNumberDescription : $description;
@ }
@ $displayAttrs = implode(';', $displayAttrs);

@ if ($model === 'spa525g' || $model === 'spa525g2') {
<LDAP_Dir_Enable group="Phone/LDAP">Yes</LDAP_Dir_Enable>
<Corp_Dir_Name group="Phone/LDAP">Kerio Operator</Corp_Dir_Name>
<Server group="Phone/LDAP">{$DIRECTORY_HOSTNAME}</Server>
<Auth_Type group="Phone/LDAP">Simple</Auth_Type>
<Client_DN group="Phone/LDAP">{$DIRECTORY_CLIENT_DN}</Client_DN>
<User_Name group="Phone/LDAP">{$DIRECTORY_USERNAME}</User_Name>
<Password group="Phone/LDAP">{$DIRECTORY_PASSWORD}</Password>
<Search_Base group="Phone/LDAP">{$DIRECTORY_SEARCH_BASE}</Search_Base>
<Last_Name_Filter group="Phone/LDAP">{$DIRECTORY_LAST_NAME}:({$DIRECTORY_LAST_NAME}=$VALUE*) </Last_Name_Filter>
<First_Name_Filter group="Phone/LDAP">{$DIRECTORY_FIRST_NAME}:({$DIRECTORY_FIRST_NAME}=$VALUE*) </First_Name_Filter>
@if (strlen($firstNumberName)) {
<Search_Item_3 ua="rw">{$firstNumberDescription}</Search_Item_3>
<Search_Item_3_Filter ua="rw">{$firstNumberName}:({$firstNumberName}=$VALUE*)</Search_Item_3_Filter >
@}
<Display_Attr group="Phone/LDAP">{$displayAttrs}</Display_Attr>
@ } else {
<LDAP_Dir_Enable ua="rw">Yes</LDAP_Dir_Enable>
<LDAP_Corp_Dir_Name ua="rw">Kerio Operator</LDAP_Corp_Dir_Name>
<LDAP_Server ua="rw">{$DIRECTORY_HOSTNAME}</LDAP_Server>
<LDAP_Auth_Method ua="rw">Simple</LDAP_Auth_Method>
<LDAP_Client_DN ua="rw">{$DIRECTORY_CLIENT_DN}</LDAP_Client_DN>
<LDAP_Username ua="rw">{$DIRECTORY_USERNAME}</LDAP_Username>
<LDAP_Password ua="rw">{$DIRECTORY_PASSWORD}</LDAP_Password>
<LDAP_Search_Base ua="rw">{$DIRECTORY_SEARCH_BASE}</LDAP_Search_Base>
<LDAP_Last_Name_Filter ua="rw">{$DIRECTORY_LAST_NAME}:({$DIRECTORY_LAST_NAME}=$VALUE*) </LDAP_Last_Name_Filter>
<LDAP_First_Name_Filter ua="rw">{$DIRECTORY_FIRST_NAME}:({$DIRECTORY_FIRST_NAME}=$VALUE*) </LDAP_First_Name_Filter>
@if (strlen($firstNumberName)) {
<LDAP_Search_Item_3 ua="rw">{$firstNumberDescription}</LDAP_Search_Item_3>
<LDAP_Item_3_Filter ua="rw">{$firstNumberName}:({$firstNumberName}=$VALUE*)</LDAP_Item_3_Filter >
@}
<LDAP_Display_Attrs ua="rw">{$displayAttrs}</LDAP_Display_Attrs>
@ }
@ }

@ for ($i = 1; $i <= $MAX_LINES; $i++) {
@ if (isset($LINES[$i - 1])) {
@ $data = $LINES[$i - 1];
<_at_> $displayName = ($data['USER_FULLNAME'] ? transliterate($data['USER_FULLNAME']) . ' ' : '') . $data['TELNUM'];
@ if ($data['SECURE']) {
@ $SECURE_LINE=true;
@ }
<Extension_{$i}_>{$i}</Extension_{$i}_>
<Line_Enable_{$i}_>Yes</Line_Enable_{$i}_>
<Proxy_{$i}_>{$OPERATOR_IP}</Proxy_{$i}_>
<Display_Name_{$i}_>{$displayName}</Display_Name_{$i}_>
<Short_Name_{$i}_>{$displayName}</Short_Name_{$i}_>
<User_ID_{$i}_>{$data['SIP_USERNAME']}</User_ID_{$i}_>
<Password_{$i}_>{$data['SIP_PASSWORD']}</Password_{$i}_>
<Dial_Plan_{$i}_> (P60[23456789]11|1[2-9]xx[2-9]xxxxxx|&lt;:1&gt;[2-9] xx[2-9]xxxxxx|[x*].) </Dial_Plan_{$i}_>
<Extended_Function_{$i}_></Extended_Function_{$i}_>
<SIP_Transport_{$i}_>{$data['SECURE'] ? 'TLS' : 'UDP'}</SIP_Transport_{$i}_>
<Secure_Call_Setting_{$i}_>{$data['SECURE'] ? 'Yes' : 'No'}</Secure_Call_Setting_{$i}_>
@ } else {
@ $blfOverride = false;
@ foreach ($blfs as $blf) {
@ if (normalizeMac($blf['mac']) === $MAC && $blf['button'] === $i) {
<Extension_{$blf['button']}_>Disabled</Extension_{$blf['button']}_ >
<Line_Enable_{$i}_>Yes</Line_Enable_{$i}_>
<Short_Name_{$i}_>{$blf['label']}</Short_Name_{$i}_>
<Display_Name_{$i}_>{$blf['label']}</Display_Name_{$i}_>
<Extended_Function_{$i}_>fnc=blf+sd+cp;sub={$blf['ext']}@$PROXY </Extended_Function_{$i}_>
@ $blfOverride = true;
@ break;
@ }
@ }
@ if (!$blfOverride) {
<Extension_{$i}_>1</Extension_{$i}_>
<Line_Enable_{$i}_>Yes</Line_Enable_{$i}_>
<Proxy_{$i}_></Proxy_{$i}_>
<Display_Name_{$i}_></Display_Name_{$i}_>
<User_ID_{$i}_></User_ID_{$i}_>
<Password_{$i}_></Password_{$i}_>
<Dial_Plan_{$i}_></Dial_Plan_{$i}_>
<Short_Name_{$i}_></Short_Name_{$i}_>
<Extended_Function_{$i}_></Extended_Function_{$i}_>
@ }
@ }
@ if (isset($fax_support)) {
<FAX_Enable_T38_{$i}_ ua="rw">Yes</FAX_Enable_T38_{$i}_>
<FAX_Passthru_Method_{$i}_ ua="rw">ReINVITE</FAX_Passthru_Method_{$i}_>
<FAX_Disable_ECAN_{$i}_ ua="rw">Yes</FAX_Disable_ECAN_{$i}_>
@ }

@ }

@//<Extension_4_>Disabled</Extension_4_>
@//<Line_Enable_4_>No</Line_Enable_4_>
@//<Proxy_4_></Proxy_4_>
@//<Display_Name_4_></Display_Name_4_>
@//<User_ID_4_></User_ID_4_>
@//<Password_4_></Password_4_>
@//<Dial_Plan_4_></Dial_Plan_4_>
@//<Short_Name_4_>Call Park</Short_Name_4_>
@//<Extended_Function_4_> fnc=blf+sd;sub=*5{$data['SIP_USERNAME']}@$PROXY;ext=*5{$data ['SIP_USERNAME']}@$PROXY </Extended_Function_4_>

<Programmable_Softkey_Enable ua="na">Yes</Programmable_Softkey_Enable>
<Connected_Key_List ua="na"> xfer|1;bxfer|2;conf|3;hold|4; </Connected_Key_List>

@ foreach($sideCars as $sideCar){
@ if($sideCar['dept'] == "trans"){

<Unit_1_Key_1 ua="na">fnc=blf+sd;sub=201@$PROXY;ext=201@$PROXY</Unit_1_Key_1 >
<Unit_1_Key_2 ua="na">fnc=blf+sd;sub=202@$PROXY;ext=202@$PROXY</Unit_1_Key_2 >
<Unit_1_Key_3 ua="na">fnc=blf+sd;sub=203@$PROXY;ext=203@$PROXY</Unit_1_Key_3 >

@}else{

<Unit_1_Key_1 ua="na">fnc=blf+sd;sub=101@$PROXY;ext=101@$PROXY</Unit_1_Key_1 >
<Unit_1_Key_2 ua="na">fnc=blf+sd;sub=102@$PROXY;ext=102@$PROXY</Unit_1_Key_2 >
<Unit_1_Key_3 ua="na">fnc=blf+sd;sub=103@$PROXY;ext=103@$PROXY</Unit_1_Key_3 >
<Unit_1_Key_4 ua="na">fnc=blf+sd;sub=104@$PROXY;ext=104@$PROXY</Unit_1_Key_4 >
@//<Unit_1_Key_5 ua="na">fnc=blf+sd;sub=105@$PROXY;ext=105@$PROXY</Unit_1_Key_5 >
@//<Unit_1_Key_6 ua="na">fnc=blf+sd;sub=106@$PROXY;ext=106@$PROXY</Unit_1_Key_6 >
@//<Unit_1_Key_7 ua="na">fnc=blf+sd;sub=107@$PROXY;ext=107@$PROXY</Unit_1_Key_7 >
<Unit_1_Key_8 ua="na">fnc=blf+sd;sub=108@$PROXY;ext=108@$PROXY</Unit_1_Key_8 >
@//<Unit_1_Key_9 ua="na">fnc=blf+sd;sub=109@$PROXY;ext=109@$PROXY</Unit_1_Key_9 >
<Unit_1_Key_10 ua="na">fnc=blf+sd;sub=110@$PROXY;ext=110@$PROXY</Unit_1_Key_10 >
@//<Unit_1_Key_11 ua="na">fnc=blf+sd;sub=111@$PROXY;ext=111@$PROXY</Unit_1_Key_11 >
@//<Unit_1_Key_12 ua="na">fnc=blf+sd;sub=112@$PROXY;ext=112@$PROXY</Unit_1_Key_12 >
@//<Unit_1_Key_13 ua="na">fnc=blf+sd;sub=113@$PROXY;ext=113@$PROXY</Unit_1_Key_13 >
@//<Unit_1_Key_14 ua="na">fnc=blf+sd;sub=114@$PROXY;ext=114@$PROXY</Unit_1_Key_14 >
@//<Unit_1_Key_15 ua="na">fnc=blf+sd;sub=115@$PROXY;ext=115@$PROXY</Unit_1_Key_15 >
@//<Unit_1_Key_16 ua="na">fnc=blf+sd;sub=116@$PROXY;ext=116@$PROXY</Unit_1_Key_16 >
<Unit_1_Key_17 ua="na">fnc=blf+sd;sub=201@$PROXY;ext=201@$PROXY</Unit_1_Key_17 >
<Unit_1_Key_18 ua="na">fnc=blf+sd;sub=202@$PROXY;ext=202@$PROXY</Unit_1_Key_18 >
<Unit_1_Key_19 ua="na">fnc=blf+sd;sub=203@$PROXY;ext=203@$PROXY</Unit_1_Key_19 >
@//<Unit_1_Key_20 ua="na">fnc=blf+sd;sub=120@$PROXY;ext=120@$PROXY</Unit_1_Key_20 >
@//<Unit_1_Key_21 ua="na">fnc=blf+sd;sub=121@$PROXY;ext=121@$PROXY</Unit_1_Key_21 >
@//<Unit_1_Key_22 ua="na">fnc=blf+sd;sub=122@$PROXY;ext=122@$PROXY</Unit_1_Key_22 >
@//<Unit_1_Key_23 ua="na">fnc=blf+sd;sub=123@$PROXY;ext=123@$PROXY</Unit_1_Key_23 >
@//<Unit_1_Key_24 ua="na">fnc=blf+sd;sub=124@$PROXY;ext=124@$PROXY</Unit_1_Key_24 >
@//<Unit_1_Key_25 ua="na">fnc=blf+sd;sub=125@$PROXY;ext=125@$PROXY</Unit_1_Key_25 >
@//<Unit_1_Key_26 ua="na">fnc=blf+sd;sub=126@$PROXY;ext=126@$PROXY</Unit_1_Key_26 >
@//<Unit_1_Key_27 ua="na">fnc=blf+sd;sub=127@$PROXY;ext=127@$PROXY</Unit_1_Key_27 >
@//<Unit_1_Key_28 ua="na">fnc=blf+sd;sub=128@$PROXY;ext=128@$PROXY</Unit_1_Key_28 >
@//<Unit_1_Key_29 ua="na">fnc=blf+sd;sub=129@$PROXY;ext=129@$PROXY</Unit_1_Key_29 >
@//<Unit_1_Key_30 ua="na">fnc=blf+sd;sub=130@$PROXY;ext=130@$PROXY</Unit_1_Key_30 >
@//<Unit_1_Key_31 ua="na">fnc=blf+sd;sub=131@$PROXY;ext=131@$PROXY</Unit_1_Key_31 >
@//<Unit_1_Key_32 ua="na">fnc=blf+sd;sub=132@$PROXY;ext=132@$PROXY</Unit_1_Key_32 >
@}
@}

<Ring1>n=operator-internal;w=6;c=1</Ring1>
<Ring2>n=Classic-2;w=3;c=2</Ring2>
<Ring3>n=Classic-3;w=3;c=3</Ring3>
<Ring4>n=Classic-4;w=3;c=4</Ring4>
<Ring5>n=Simple-1;w=2;c=1</Ring5>
<Ring6>n=Simple-2;w=2;c=2</Ring6>
<Ring7>n=Simple-3;w=2;c=3</Ring7>
<Ring8>n=Simple-4;w=2;c=4</Ring8>
<Ring9>n=operator-queue;w=2;c=5</Ring9>
<Ring10>n=operator-group;w=4;c=1</Ring10>
<Ring11>n=operator-external;w=5;c=1</Ring11>
<Ring12>n=Du-dut;w=6;c=1</Ring12>

<SRTP_Method>s-descriptor</SRTP_Method>
<Secure_Call_Serv>Yes</Secure_Call_Serv>
<Secure_Call_Setting>{$SECURE_LINE ? 'Yes' : 'No'}</Secure_Call_Setting>
<Secure_Call_Indication_Tone></Secure_Call_Indication_Tone>

</flat-profile>

[Updated on: Fri, 02 October 2015 00:33]

  •  
Filip Jenicek (Kerio)

Messages: 1094
Karma: 80
Send a private message to this user
Try this:
@ $sideCars = array(
@   array("mac" => "00:02:FD:FF:53:09", "dept" => "trans"),
@   array("mac" => "00:02:FD:FF:53:10", "dept" => "sales"),
@ );

@ $found = false;
@ foreach ($sideCars as $sideCar) {
@   if (normalizeMac($sideCar['mac']) === normalizeMac($MAC)) {
@     if ($sideCar['dept'] === "trans") {
@       // department trans
        <Unit_1_Key_1 ua="na">fnc=blf+sd;sub=201@$PROXY;ext=201@$PROXY</Unit_1_Key_1>
@     } else if ($sideCar['dept'] === "sales") {
@       // department sales
        <Unit_1_Key_1 ua="na">fnc=blf+sd;sub=201@$PROXY;ext=201@$PROXY</Unit_1_Key_1>
@     }
@     $found = true;
@     break; //foreach
@   }
@}
@ if (!$found) {
@   // other phones than the listed ones
    <Unit_1_Key_1 ua="na">fnc=blf+sd;sub=201@$PROXY;ext=201@$PROXY</Unit_1_Key_1>
@ }

[Updated on: Fri, 02 October 2015 08:17]

  •  
nhoague

Messages: 853
Karma: 18
Send a private message to this user
Filip, you rock! Works, and I was able to extend it further. Thanks!
  •  
nhoague

Messages: 853
Karma: 18
Send a private message to this user
OK ran into an issue. Here is my problem, after setting up this config, the phones are rebooting often. Not continuously but enough for the end user to complain! I have checked my config, and I dont see any errors. I know the Cisco SPA504 will reboot if the config is messed up though, can you look at this and see if you find any errors?

Thanks!

<flat-profile>

<!-- Phone model: {$model} -->
@// Phone line buttons with BLF functionality configuration
@// mac - HW address of the phone
@// button - phone button to configure (2, 3,... 12)
@// label - label
@// ext - extension or parking position to monitor (10, *501, ...)
@//
@// Please uncomment the following lines by removing '//' and modify them.
@
@ $blfs = array(
@ array("mac" => "C4:72:95:66:52:FB","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "C4:72:95:66:58:40","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "84:80:2D:41:AF:BB","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "C4:72:95:66:4F:9B","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "84:80:2D:41:AF:C7","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "C4:72:95:66:58:93","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "84:80:2D:41:AF:54","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "84:80:2D:41:AE:9E","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "84:80:2D:41:78:34","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "C4:72:95:66:58:93","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:AF:1A","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:AF:4E","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:75:A2","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "C4:72:95:66:4F:32","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:74:1E","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "E0:2F:6D:61:F9:95","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:AF:54","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:75:6A","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:B3:15","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:77:2C","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "A4:4C:11:9E:40:7B","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "A4:4C:11:9E:43:EC","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:78:CB","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:73:0A","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:76:7C","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "C4:72:95:66:58:39","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:AF:1C","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:AF:56","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "A4:4C:11:9E:43:FA","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:78:C2","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:65:F3","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:74:14","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:AF:57","button" => 3,"label" => "Help Line","ext" => "91"),
@ );

@ $sideCars = array(
@ array("mac" => "E0:2F:6D:62:7A:82", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:75:DC", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:B2:C7", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:76:86", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:76:40", "dept" => "trans"),
@ array("mac" => "C4:72:95:66:57:FF", "dept" => "trans"),
@ array("mac" => "C4:72:95:66:58:25", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:76:04", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:75:F0", "dept" => "trans"),
@ array("mac" => "C4:72:95:66:58:6B", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:58:6A", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:53", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:61", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:58:9C", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:66", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:58:24", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:65", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:58:8C", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:60", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:58:23", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:6F", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:5C", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:68", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:58:2F", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:58:55", "dept" => "ev"),
@ );

@// To enable call pickup and one-touch transfers, uncomment the following options
@// <Attendant_Console_Call_Pickup_Code>**#</Attendant_Console_Call_Pickup_Code >
@// <BXfer_To_Starcode_Enable>Yes</BXfer_To_Starcode_Enable>
<BXfer_On_Speed_Dial_Enable>Yes</BXfer_On_Speed_Dial_Enable >
<Server_Type>Asterisk</Server_Type>

<Provision_Enable>Yes</Provision_Enable>
<Resync_On_Reset>Yes</Resync_On_Reset>
<Resync_From_SIP>Yes</Resync_From_SIP>
<Auth_Resync-Reboot_1_>Yes</Auth_Resync-Reboot_1_>
<Resync_Periodic>604800</Resync_Periodic>

@if ($firmware_path) {
<Upgrade_Rule>tftp://{$OPERATOR_IP}{$firmware_path}</Upgrade_Rule>
@}

<Primary_NTP_Server>{$NTP_PRIMARY}</Primary_NTP_Server>
<Secondary_NTP_Server>{$NTP_PRIMARY}</Secondary_NTP_Server >

@// `$timezoneString' is generated in `providers/spa.php'.;
<Time_Zone>{$timezoneString}</Time_Zone>
<Daylight_Saving_Time_Rule></Daylight_Saving_Time_Rule>
<Daylight_Saving_Time_Enable>Yes</Daylight_Saving_Time_Enable >
<Voice_Mail_Number>{$VOICEMAIL_EXT}</Voice_Mail_Number>
<Station_Name ua="rw">{transliterate($PHONE_LABEL)}</Station_Name>
<Interdigit_Short_Timer ua="rw">{$AUTODIAL_TIMEOUT}</Interdigit_Short_Timer>

<Admin_Password>{$ADMIN_PASSWORD}</Admin_Password>
<Admin_Passwd>{$ADMIN_PASSWORD}</Admin_Passwd>
<router-configuration>
<Web_Login_Admin_Password>{$ADMIN_PASSWORD}</Web_Login_Admin_Password >
</router-configuration>

@ if ($DISPLAY_LOGO && $logo_path) {
<BMP_Picture_Download_URL>tftp://{$OPERATOR_IP}{$logo_path}</BMP_Picture_Download_URL>
@ if ($model === 'spa525g' || $model === 'spa525g2') {
<Background_Picture_Type>Download BMP Picture</Background_Picture_Type>
@ } else {
<Select_Background_Picture>BMP Picture</Select_Background_Picture>
@ }
@ }

@ if ($DIRECTORY_ENABLED) {
@ $displayAttrs = array("a=$DIRECTORY_COMMON_NAME");
@ $firstNumberName = '';
@ $firstNumberDescription = '';
@ foreach ($DIRECTORY_NUMBERS as $name => $description) {
@ $displayAttrs[] = "a=$name,n=$description,t=p";
@ $firstNumberName = strlen($firstNumberName) > 0 ? $firstNumberName : $name;
@ $firstNumberDescription = strlen($firstNumberDescription) > 0 ? $firstNumberDescription : $description;
@ }
@ $displayAttrs = implode(';', $displayAttrs);

@ if ($model === 'spa525g' || $model === 'spa525g2') {
<LDAP_Dir_Enable group="Phone/LDAP">Yes</LDAP_Dir_Enable>
<Corp_Dir_Name group="Phone/LDAP">Kerio Operator</Corp_Dir_Name>
<Server group="Phone/LDAP">{$DIRECTORY_HOSTNAME}</Server>
<Auth_Type group="Phone/LDAP">Simple</Auth_Type>
<Client_DN group="Phone/LDAP">{$DIRECTORY_CLIENT_DN}</Client_DN>
<User_Name group="Phone/LDAP">{$DIRECTORY_USERNAME}</User_Name>
<Password group="Phone/LDAP">{$DIRECTORY_PASSWORD}</Password>
<Search_Base group="Phone/LDAP">{$DIRECTORY_SEARCH_BASE}</Search_Base>
<Last_Name_Filter group="Phone/LDAP">{$DIRECTORY_LAST_NAME}:({$DIRECTORY_LAST_NAME}=$VALUE*) </Last_Name_Filter>
<First_Name_Filter group="Phone/LDAP">{$DIRECTORY_FIRST_NAME}:({$DIRECTORY_FIRST_NAME}=$VALUE*) </First_Name_Filter>
@if (strlen($firstNumberName)) {
<Search_Item_3 ua="rw">{$firstNumberDescription}</Search_Item_3>
<Search_Item_3_Filter ua="rw">{$firstNumberName}:({$firstNumberName}=$VALUE*)</Search_Item_3_Filter >
@}
<Display_Attr group="Phone/LDAP">{$displayAttrs}</Display_Attr>
@ } else {
<LDAP_Dir_Enable ua="rw">Yes</LDAP_Dir_Enable>
<LDAP_Corp_Dir_Name ua="rw">Kerio Operator</LDAP_Corp_Dir_Name>
<LDAP_Server ua="rw">{$DIRECTORY_HOSTNAME}</LDAP_Server>
<LDAP_Auth_Method ua="rw">Simple</LDAP_Auth_Method>
<LDAP_Client_DN ua="rw">{$DIRECTORY_CLIENT_DN}</LDAP_Client_DN>
<LDAP_Username ua="rw">{$DIRECTORY_USERNAME}</LDAP_Username>
<LDAP_Password ua="rw">{$DIRECTORY_PASSWORD}</LDAP_Password>
<LDAP_Search_Base ua="rw">{$DIRECTORY_SEARCH_BASE}</LDAP_Search_Base>
<LDAP_Last_Name_Filter ua="rw">{$DIRECTORY_LAST_NAME}:({$DIRECTORY_LAST_NAME}=$VALUE*) </LDAP_Last_Name_Filter>
<LDAP_First_Name_Filter ua="rw">{$DIRECTORY_FIRST_NAME}:({$DIRECTORY_FIRST_NAME}=$VALUE*) </LDAP_First_Name_Filter>
@if (strlen($firstNumberName)) {
<LDAP_Search_Item_3 ua="rw">{$firstNumberDescription}</LDAP_Search_Item_3>
<LDAP_Item_3_Filter ua="rw">{$firstNumberName}:({$firstNumberName}=$VALUE*)</LDAP_Item_3_Filter >
@}
<LDAP_Display_Attrs ua="rw">{$displayAttrs}</LDAP_Display_Attrs>
@ }
@ }

@ for ($i = 1; $i <= $MAX_LINES; $i++) {
@ if (isset($LINES[$i - 1])) {
@ $data = $LINES[$i - 1];
<_at_> $displayName = ($data['USER_FULLNAME'] ? transliterate($data['USER_FULLNAME']) . ' ' : '') . $data['TELNUM'];
@ if ($data['SECURE']) {
@ $SECURE_LINE=true;
@ }
<Extension_{$i}_>{$i}</Extension_{$i}_>
<Line_Enable_{$i}_>Yes</Line_Enable_{$i}_>
<Proxy_{$i}_>{$OPERATOR_IP}</Proxy_{$i}_>
<Display_Name_{$i}_>{$displayName}</Display_Name_{$i}_>
<Short_Name_{$i}_>{$displayName}</Short_Name_{$i}_>
<User_ID_{$i}_>{$data['SIP_USERNAME']}</User_ID_{$i}_>
<Password_{$i}_>{$data['SIP_PASSWORD']}</Password_{$i}_>
<Dial_Plan_{$i}_> (P60[23456789]11|1[2-9]xx[2-9]xxxxxx|&lt;:1&gt;[2-9] xx[2-9]xxxxxx|[x*].) </Dial_Plan_{$i}_>
<Extended_Function_{$i}_></Extended_Function_{$i}_>
<SIP_Transport_{$i}_>{$data['SECURE'] ? 'TLS' : 'UDP'}</SIP_Transport_{$i}_>
<Secure_Call_Setting_{$i}_>{$data['SECURE'] ? 'Yes' : 'No'}</Secure_Call_Setting_{$i}_>
@ } else {
@ $blfOverride = false;
@ foreach ($blfs as $blf) {
@ if (normalizeMac($blf['mac']) === $MAC && $blf['button'] === $i) {
<Extension_{$blf['button']}_>Disabled</Extension_{$blf['button']}_ >
<Line_Enable_{$i}_>Yes</Line_Enable_{$i}_>
<Short_Name_{$i}_>{$blf['label']}</Short_Name_{$i}_>
<Display_Name_{$i}_>{$blf['label']}</Display_Name_{$i}_>
<Extended_Function_{$i}_>fnc=blf+sd+cp;sub={$blf['ext']}@$PROXY </Extended_Function_{$i}_>
@ $blfOverride = true;
@ break;
@ }
@ }
@ if (!$blfOverride) {
<Extension_{$i}_>1</Extension_{$i}_>
<Line_Enable_{$i}_>Yes</Line_Enable_{$i}_>
<Proxy_{$i}_></Proxy_{$i}_>
<Display_Name_{$i}_></Display_Name_{$i}_>
<User_ID_{$i}_></User_ID_{$i}_>
<Password_{$i}_></Password_{$i}_>
<Dial_Plan_{$i}_></Dial_Plan_{$i}_>
<Short_Name_{$i}_></Short_Name_{$i}_>
<Extended_Function_{$i}_></Extended_Function_{$i}_>
@ }
@ }
@ if (isset($fax_support)) {
<FAX_Enable_T38_{$i}_ ua="rw">Yes</FAX_Enable_T38_{$i}_>
<FAX_Passthru_Method_{$i}_ ua="rw">ReINVITE</FAX_Passthru_Method_{$i}_>
<FAX_Disable_ECAN_{$i}_ ua="rw">Yes</FAX_Disable_ECAN_{$i}_>
@ }

@ }

@//<Extension_4_>Disabled</Extension_4_>
@//<Line_Enable_4_>No</Line_Enable_4_>
@//<Proxy_4_></Proxy_4_>
@//<Display_Name_4_></Display_Name_4_>
@//<User_ID_4_></User_ID_4_>
@//<Password_4_></Password_4_>
@//<Dial_Plan_4_></Dial_Plan_4_>
@//<Short_Name_4_>Page All</Short_Name_4_>
@//<Extended_Function_4_>fnc=sd;ext=90</Extended_Function_4_ >

<Programmable_Softkey_Enable ua="na">Yes</Programmable_Softkey_Enable>
<Connected_Key_List ua="na"> xfer|1;bxfer|2;conf|3;hold|4; </Connected_Key_List>


@ $found = false;
@ foreach ($sideCars as $sideCar) {
@ if (normalizeMac($sideCar['mac']) === normalizeMac($MAC)) {
@ if ($sideCar['dept'] === "trans") {
@ // department trans
<Unit_1_Key_1 ua="na">fnc=blf+sd;sub=107@$PROXY;ext=107@$PROXY</Unit_1_Key_1 >
<Unit_1_Key_2 ua="na">fnc=blf+sd;sub=117@$PROXY;ext=117@$PROXY</Unit_1_Key_2 >
<Unit_1_Key_3 ua="na">fnc=blf+sd;sub=119@$PROXY;ext=119@$PROXY</Unit_1_Key_3 >
<Unit_1_Key_4 ua="na">fnc=blf+sd;sub=121@$PROXY;ext=121@$PROXY</Unit_1_Key_4 >
<Unit_1_Key_5 ua="na">fnc=blf+sd;sub=170@$PROXY;ext=170@$PROXY</Unit_1_Key_5 >
<Unit_1_Key_6 ua="na">fnc=blf+sd;sub=172@$PROXY;ext=172@$PROXY</Unit_1_Key_6 >
<Unit_1_Key_7 ua="na">fnc=blf+sd;sub=174@$PROXY;ext=174@$PROXY</Unit_1_Key_7 >
<Unit_1_Key_8 ua="na">fnc=blf+sd;sub=175@$PROXY;ext=175@$PROXY</Unit_1_Key_8 >
<Unit_1_Key_9 ua="na">fnc=blf+sd;sub=199@$PROXY;ext=199@$PROXY</Unit_1_Key_9 >
@ } else if ($sideCar['dept'] === "ev") {
@ // department ev
<Unit_1_Key_1 ua="na">fnc=blf+sd;sub=300@$PROXY;ext=300@$PROXY</Unit_1_Key_1 >
<Unit_1_Key_2 ua="na">fnc=blf+sd;sub=301@$PROXY;ext=301@$PROXY</Unit_1_Key_2 >
<Unit_1_Key_3 ua="na">fnc=blf+sd;sub=302@$PROXY;ext=302@$PROXY</Unit_1_Key_3 >
<Unit_1_Key_4 ua="na">fnc=blf+sd;sub=304@$PROXY;ext=304@$PROXY</Unit_1_Key_4 >
<Unit_1_Key_5 ua="na">fnc=blf+sd;sub=305@$PROXY;ext=305@$PROXY</Unit_1_Key_5 >
<Unit_1_Key_6 ua="na">fnc=blf+sd;sub=306@$PROXY;ext=306@$PROXY</Unit_1_Key_6 >
<Unit_1_Key_7 ua="na">fnc=blf+sd;sub=307@$PROXY;ext=307@$PROXY</Unit_1_Key_7 >
<Unit_1_Key_8 ua="na">fnc=blf+sd;sub=308@$PROXY;ext=308@$PROXY</Unit_1_Key_8 >
<Unit_1_Key_9 ua="na">fnc=blf+sd;sub=309@$PROXY;ext=309@$PROXY</Unit_1_Key_9 >
<Unit_1_Key_10 ua="na">fnc=blf+sd;sub=310@$PROXY;ext=310@$PROXY</Unit_1_Key_10 >
<Unit_1_Key_11 ua="na">fnc=blf+sd;sub=311@$PROXY;ext=311@$PROXY</Unit_1_Key_11 >
<Unit_1_Key_12 ua="na">fnc=blf+sd;sub=312@$PROXY;ext=312@$PROXY</Unit_1_Key_12 >
<Unit_1_Key_13 ua="na">fnc=blf+sd;sub=313@$PROXY;ext=313@$PROXY</Unit_1_Key_13 >
<Unit_1_Key_14 ua="na">fnc=blf+sd;sub=314@$PROXY;ext=314@$PROXY</Unit_1_Key_14 >
<Unit_1_Key_15 ua="na">fnc=blf+sd;sub=315@$PROXY;ext=315@$PROXY</Unit_1_Key_15 >
<Unit_1_Key_16 ua="na">fnc=blf+sd;sub=318@$PROXY;ext=318@$PROXY</Unit_1_Key_16 >
<Unit_1_Key_17 ua="na">fnc=blf+sd;sub=321@$PROXY;ext=321@$PROXY</Unit_1_Key_17 >
<Unit_1_Key_18 ua="na">fnc=blf+sd;sub=370@$PROXY;ext=370@$PROXY</Unit_1_Key_18 >
@ } else if ($sideCar['dept'] === "hr"){
@ // department hr
<Unit_1_Key_1 ua="na">fnc=blf+sd;sub=201@$PROXY;ext=201@$PROXY</Unit_1_Key_1 >
@ }
@ $found = true;
@ break; //foreach
@ }
@}
@ if (!$found) {
@ // other phones than the listed ones
<Unit_1_Key_1 ua="na">fnc=blf+sd;sub=100@$PROXY;ext=100@$PROXY</Unit_1_Key_1 >
<Unit_1_Key_2 ua="na">fnc=blf+sd;sub=101@$PROXY;ext=101@$PROXY</Unit_1_Key_2 >
<Unit_1_Key_3 ua="na">fnc=blf+sd;sub=102@$PROXY;ext=102@$PROXY</Unit_1_Key_3 >
<Unit_1_Key_4 ua="na">fnc=blf+sd;sub=103@$PROXY;ext=103@$PROXY</Unit_1_Key_4 >
<Unit_1_Key_5 ua="na">fnc=blf+sd;sub=104@$PROXY;ext=104@$PROXY</Unit_1_Key_5 >
<Unit_1_Key_6 ua="na">fnc=blf+sd;sub=107@$PROXY;ext=107@$PROXY</Unit_1_Key_6 >
<Unit_1_Key_7 ua="na">fnc=blf+sd;sub=108@$PROXY;ext=108@$PROXY</Unit_1_Key_7 >
<Unit_1_Key_8 ua="na">fnc=blf+sd;sub=109@$PROXY;ext=109@$PROXY</Unit_1_Key_8 >
<Unit_1_Key_9 ua="na">fnc=blf+sd;sub=110@$PROXY;ext=110@$PROXY</Unit_1_Key_9 >
<Unit_1_Key_10 ua="na">fnc=blf+sd;sub=113@$PROXY;ext=113@$PROXY</Unit_1_Key_10 >
<Unit_1_Key_11 ua="na">fnc=blf+sd;sub=114@$PROXY;ext=114@$PROXY</Unit_1_Key_11 >
<Unit_1_Key_12 ua="na">fnc=blf+sd;sub=117@$PROXY;ext=117@$PROXY</Unit_1_Key_12 >
<Unit_1_Key_13 ua="na">fnc=blf+sd;sub=118@$PROXY;ext=118@$PROXY</Unit_1_Key_13 >
<Unit_1_Key_14 ua="na">fnc=blf+sd;sub=119@$PROXY;ext=119@$PROXY</Unit_1_Key_14 >
<Unit_1_Key_15 ua="na">fnc=blf+sd;sub=120@$PROXY;ext=120@$PROXY</Unit_1_Key_15 >
<Unit_1_Key_16 ua="na">fnc=blf+sd;sub=121@$PROXY;ext=121@$PROXY</Unit_1_Key_16 >
<Unit_1_Key_17 ua="na">fnc=blf+sd;sub=122@$PROXY;ext=122@$PROXY</Unit_1_Key_17 >
<Unit_1_Key_18 ua="na">fnc=blf+sd;sub=123@$PROXY;ext=123@$PROXY</Unit_1_Key_18 >
<Unit_1_Key_19 ua="na">fnc=blf+sd;sub=124@$PROXY;ext=124@$PROXY</Unit_1_Key_19 >
<Unit_1_Key_20 ua="na">fnc=blf+sd;sub=125@$PROXY;ext=125@$PROXY</Unit_1_Key_20 >
<Unit_1_Key_21 ua="na">fnc=blf+sd;sub=126@$PROXY;ext=126@$PROXY</Unit_1_Key_21 >
<Unit_1_Key_22 ua="na">fnc=blf+sd;sub=127@$PROXY;ext=127@$PROXY</Unit_1_Key_22 >
<Unit_1_Key_23 ua="na">fnc=blf+sd;sub=154@$PROXY;ext=154@$PROXY</Unit_1_Key_23 >
<Unit_1_Key_24 ua="na">fnc=blf+sd;sub=128@$PROXY;ext=128@$PROXY</Unit_1_Key_24 >
<Unit_1_Key_25 ua="na">fnc=blf+sd;sub=129@$PROXY;ext=129@$PROXY</Unit_1_Key_25 >
<Unit_1_Key_26 ua="na">fnc=blf+sd;sub=130@$PROXY;ext=130@$PROXY</Unit_1_Key_26 >
<Unit_1_Key_27 ua="na">fnc=blf+sd;sub=131@$PROXY;ext=131@$PROXY</Unit_1_Key_27 >
<Unit_1_Key_28 ua="na">fnc=blf+sd;sub=132@$PROXY;ext=132@$PROXY</Unit_1_Key_28 >
<Unit_1_Key_29 ua="na">fnc=blf+sd;sub=133@$PROXY;ext=133@$PROXY</Unit_1_Key_29 >
<Unit_1_Key_30 ua="na">fnc=blf+sd;sub=134@$PROXY;ext=134@$PROXY</Unit_1_Key_30 >
<Unit_1_Key_31 ua="na">fnc=blf+sd;sub=136@$PROXY;ext=136@$PROXY</Unit_1_Key_31 >
<Unit_1_Key_32 ua="na">fnc=blf+sd;sub=138@$PROXY;ext=138@$PROXY</Unit_1_Key_32 >

<Unit_2_Key_1 ua="na">fnc=blf+sd;sub=139@$PROXY;ext=139@$PROXY</Unit_2_Key_1 >
<Unit_2_Key_2 ua="na">fnc=blf+sd;sub=140@$PROXY;ext=140@$PROXY</Unit_2_Key_2 >
<Unit_2_Key_3 ua="na">fnc=blf+sd;sub=141@$PROXY;ext=141@$PROXY</Unit_2_Key_3 >
<Unit_2_Key_4 ua="na">fnc=blf+sd;sub=142@$PROXY;ext=142@$PROXY</Unit_2_Key_4 >
<Unit_2_Key_5 ua="na">fnc=blf+sd;sub=147@$PROXY;ext=147@$PROXY</Unit_2_Key_5 >
<Unit_2_Key_6 ua="na">fnc=blf+sd;sub=150@$PROXY;ext=150@$PROXY</Unit_2_Key_6 >
<Unit_2_Key_7 ua="na">fnc=blf+sd;sub=152@$PROXY;ext=152@$PROXY</Unit_2_Key_7 >
<Unit_2_Key_8 ua="na">fnc=blf+sd;sub=160@$PROXY;ext=160@$PROXY</Unit_2_Key_8 >
<Unit_2_Key_9 ua="na">fnc=blf+sd;sub=161@$PROXY;ext=161@$PROXY</Unit_2_Key_9 >
<Unit_2_Key_10 ua="na">fnc=blf+sd;sub=162@$PROXY;ext=162@$PROXY</Unit_2_Key_10 >
<Unit_2_Key_11 ua="na">fnc=blf+sd;sub=163@$PROXY;ext=163@$PROXY</Unit_2_Key_11 >
<Unit_2_Key_12 ua="na">fnc=blf+sd;sub=164@$PROXY;ext=164@$PROXY</Unit_2_Key_12 >
<Unit_2_Key_13 ua="na">fnc=blf+sd;sub=165@$PROXY;ext=165@$PROXY</Unit_2_Key_13 >
<Unit_2_Key_14 ua="na">fnc=blf+sd;sub=166@$PROXY;ext=166@$PROXY</Unit_2_Key_14 >
<Unit_2_Key_15 ua="na">fnc=blf+sd;sub=167@$PROXY;ext=167@$PROXY</Unit_2_Key_15 >
<Unit_2_Key_16 ua="na">fnc=blf+sd;sub=168@$PROXY;ext=168@$PROXY</Unit_2_Key_16 >
<Unit_2_Key_17 ua="na">fnc=blf+sd;sub=169@$PROXY;ext=169@$PROXY</Unit_2_Key_17 >
<Unit_2_Key_18 ua="na">fnc=blf+sd;sub=170@$PROXY;ext=170@$PROXY</Unit_2_Key_18 >
<Unit_2_Key_19 ua="na">fnc=blf+sd;sub=171@$PROXY;ext=171@$PROXY</Unit_2_Key_19 >
<Unit_2_Key_20 ua="na">fnc=blf+sd;sub=172@$PROXY;ext=172@$PROXY</Unit_2_Key_20 >
<Unit_2_Key_21 ua="na">fnc=blf+sd;sub=174@$PROXY;ext=174@$PROXY</Unit_2_Key_21 >
<Unit_2_Key_22 ua="na">fnc=blf+sd;sub=175@$PROXY;ext=175@$PROXY</Unit_2_Key_22 >
<Unit_2_Key_23 ua="na">fnc=blf+sd;sub=176@$PROXY;ext=176@$PROXY</Unit_2_Key_23 >
<Unit_2_Key_24 ua="na">fnc=blf+sd;sub=177@$PROXY;ext=177@$PROXY</Unit_2_Key_24 >
<Unit_2_Key_25 ua="na">fnc=blf+sd;sub=179@$PROXY;ext=179@$PROXY</Unit_2_Key_25 >
<Unit_2_Key_26 ua="na">fnc=blf+sd;sub=180@$PROXY;ext=180@$PROXY</Unit_2_Key_26 >
<Unit_2_Key_27 ua="na">fnc=blf+sd;sub=181@$PROXY;ext=181@$PROXY</Unit_2_Key_27 >
<Unit_2_Key_28 ua="na">fnc=blf+sd;sub=182@$PROXY;ext=182@$PROXY</Unit_2_Key_28 >
<Unit_2_Key_29 ua="na">fnc=blf+sd;sub=186@$PROXY;ext=186@$PROXY</Unit_2_Key_29 >
<Unit_2_Key_30 ua="na">fnc=blf+sd;sub=187@$PROXY;ext=187@$PROXY</Unit_2_Key_30 >
<Unit_2_Key_31 ua="na">fnc=blf+sd;sub=193@$PROXY;ext=193@$PROXY</Unit_2_Key_31 >
<Unit_2_Key_32 ua="na">fnc=blf+sd;sub=194@$PROXY;ext=194@$PROXY</Unit_2_Key_32 >
@ }

<Ring1>n=operator-internal;w=6;c=1</Ring1>
<Ring2>n=Classic-2;w=3;c=2</Ring2>
<Ring3>n=Classic-3;w=3;c=3</Ring3>
<Ring4>n=Classic-4;w=3;c=4</Ring4>
<Ring5>n=Simple-1;w=2;c=1</Ring5>
<Ring6>n=Simple-2;w=2;c=2</Ring6>
<Ring7>n=Simple-3;w=2;c=3</Ring7>
<Ring8>n=Simple-4;w=2;c=4</Ring8>
<Ring9>n=operator-queue;w=2;c=5</Ring9>
<Ring10>n=operator-group;w=4;c=1</Ring10>
<Ring11>n=operator-external;w=5;c=1</Ring11>
<Ring12>n=Du-dut;w=6;c=1</Ring12>

<SRTP_Method>s-descriptor</SRTP_Method>
<Secure_Call_Serv>Yes</Secure_Call_Serv>
<Secure_Call_Setting>{$SECURE_LINE ? 'Yes' : 'No'}</Secure_Call_Setting>
<Secure_Call_Indication_Tone></Secure_Call_Indication_Tone>

</flat-profile>
  •  
Filip Jenicek (Kerio)

Messages: 1094
Karma: 80
Send a private message to this user
Hi,

as far as I know Linksys/Cisco SPA phones require that each xml element appears only once, otherwise they may reboot once they receive a resync request. So make sure there are no duplicates in the configuration file. To do that, right click on a phone that reboots and select "Download configuration". Then you will have to search for duplicates. I can't tell you exactly how, perhaps importing the file to excel and sorting the lines alphabetically might help.

Resync requests are sent to the phones when you make a change to the user/extension/phone in Operator, or when you schedule a resync. The phones also resync periodically every <Resync_Periodic>604800</Resync_Periodic> seconds.

When you right click a phone and select "Resync Configuration", spa phones should not reboot unless their configuration differs.

Filip

  •  
nhoague

Messages: 853
Karma: 18
Send a private message to this user
Hey there, I fixed it! You ready for this ... when I built the config using notepad on my Mac, my quotes were curly quotes. I converted the text to plain text and did a find / replace for the curly quotes to the straight quotes, and it replaced the bad ones. And since then, my phones have not rebooted!

So, for anyone else doing a custom config like this, CHECK YOUR QUOTES! Smile
  •  
nhoague

Messages: 853
Karma: 18
Send a private message to this user
OK ran into another problem trying to add a third else if statement, are we allowed to do this, or should I change to using a switch statement?

The config for the ihc console is not working ...

<flat-profile>

<!-- Phone model: {$model} -->
@// Phone line buttons with BLF functionality configuration
@// mac - HW address of the phone
@// button - phone button to configure (2, 3,... 12)
@// label - label
@// ext - extension or parking position to monitor (10, *501, ...)
@//
@// Please uncomment the following lines by removing '//' and modify them.
@
@ $blfs = array(
@ array("mac" => "C4:72:95:66:52:FB","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "C4:72:95:66:58:40","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "84:80:2D:41:AF:BB","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "C4:72:95:66:4F:9B","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "84:80:2D:41:AF:C7","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "C4:72:95:66:58:93","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "84:80:2D:41:AF:54","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "84:80:2D:41:AE:9E","button" => 4,"label" => "Page All","ext" => "90"),
@ array("mac" => "84:80:2D:41:78:34","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "C4:72:95:66:58:93","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:AF:1A","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:AF:4E","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:75:A2","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "C4:72:95:66:4F:32","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:74:1E","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "E0:2F:6D:61:F9:95","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:AF:54","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:75:6A","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:B3:15","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:77:2C","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "A4:4C:11:9E:40:7B","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "A4:4C:11:9E:43:EC","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:78:CB","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:73:0A","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "C4:72:95:66:58:39","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:AF:1C","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:AF:56","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "A4:4C:11:9E:43:FA","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:78:C2","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:65:F3","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:74:14","button" => 3,"label" => "Help Line","ext" => "91"),
@ array("mac" => "84:80:2D:41:AF:57","button" => 3,"label" => "Help Line","ext" => "91"),
@ );

@ $sideCars = array(
@ array("mac" => "E0:2F:6D:62:7A:82", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:75:DC", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:B2:C7", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:76:86", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:76:40", "dept" => "trans"),
@ array("mac" => "C4:72:95:66:57:FF", "dept" => "trans"),
@ array("mac" => "C4:72:95:66:58:25", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:76:04", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:75:F0", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:76:5E", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:76:86", "dept" => "trans"),
@ array("mac" => "C4:72:95:66:58:25", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:76:68", "dept" => "trans"),
@ array("mac" => "84:80:2D:41:75:E6", "dept" => "trans"),
@ array("mac" => "C4:72:95:66:58:6B", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:58:6A", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:53", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:61", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:58:9C", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:66", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:58:24", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:65", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:58:8C", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:60", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:58:23", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:6F", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:5C", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:56:68", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:58:2F", "dept" => "ev"),
@ array("mac" => "C4:72:95:66:58:55", "dept" => "ev"),
@ array("mac" => "E0:2F:6D:61:F7:0C", "dept" => "ihc"),
@ );

@// To enable call pickup and one-touch transfers, uncomment the following options
@// <Attendant_Console_Call_Pickup_Code>**#</Attendant_Console_Call_Pickup_Code >
@// <BXfer_To_Starcode_Enable>Yes</BXfer_To_Starcode_Enable>
<BXfer_On_Speed_Dial_Enable>Yes</BXfer_On_Speed_Dial_Enable >
<Server_Type>Asterisk</Server_Type>

<Provision_Enable>Yes</Provision_Enable>
<Resync_On_Reset>Yes</Resync_On_Reset>
<Resync_From_SIP>Yes</Resync_From_SIP>
<Auth_Resync-Reboot_1_>Yes</Auth_Resync-Reboot_1_>
<Resync_Periodic>604800</Resync_Periodic>

@if ($firmware_path) {
<Upgrade_Rule>tftp://{$OPERATOR_IP}{$firmware_path}</Upgrade_Rule>
@}

<Primary_NTP_Server>{$NTP_PRIMARY}</Primary_NTP_Server>
<Secondary_NTP_Server>{$NTP_PRIMARY}</Secondary_NTP_Server >

@// `$timezoneString' is generated in `providers/spa.php'.;
<Time_Zone>{$timezoneString}</Time_Zone>
<Daylight_Saving_Time_Rule></Daylight_Saving_Time_Rule>
<Daylight_Saving_Time_Enable>Yes</Daylight_Saving_Time_Enable >
<Voice_Mail_Number>{$VOICEMAIL_EXT}</Voice_Mail_Number>
<Station_Name ua="rw">{transliterate($PHONE_LABEL)}</Station_Name>
<Interdigit_Short_Timer ua="rw">{$AUTODIAL_TIMEOUT}</Interdigit_Short_Timer>

<Admin_Password>{$ADMIN_PASSWORD}</Admin_Password>
<Admin_Passwd>{$ADMIN_PASSWORD}</Admin_Passwd>
<router-configuration>
<Web_Login_Admin_Password>{$ADMIN_PASSWORD}</Web_Login_Admin_Password >
</router-configuration>

@ if ($DISPLAY_LOGO && $logo_path) {
<BMP_Picture_Download_URL>tftp://{$OPERATOR_IP}{$logo_path}</BMP_Picture_Download_URL>
@ if ($model === 'spa525g' || $model === 'spa525g2') {
<Background_Picture_Type>Download BMP Picture</Background_Picture_Type>
@ } else {
<Select_Background_Picture>BMP Picture</Select_Background_Picture>
@ }
@ }

@ if ($DIRECTORY_ENABLED) {
@ $displayAttrs = array("a=$DIRECTORY_COMMON_NAME");
@ $firstNumberName = '';
@ $firstNumberDescription = '';
@ foreach ($DIRECTORY_NUMBERS as $name => $description) {
@ $displayAttrs[] = "a=$name,n=$description,t=p";
@ $firstNumberName = strlen($firstNumberName) > 0 ? $firstNumberName : $name;
@ $firstNumberDescription = strlen($firstNumberDescription) > 0 ? $firstNumberDescription : $description;
@ }
@ $displayAttrs = implode(';', $displayAttrs);

@ if ($model === 'spa525g' || $model === 'spa525g2') {
<LDAP_Dir_Enable group="Phone/LDAP">Yes</LDAP_Dir_Enable>
<Corp_Dir_Name group="Phone/LDAP">Kerio Operator</Corp_Dir_Name>
<Server group="Phone/LDAP">{$DIRECTORY_HOSTNAME}</Server>
<Auth_Type group="Phone/LDAP">Simple</Auth_Type>
<Client_DN group="Phone/LDAP">{$DIRECTORY_CLIENT_DN}</Client_DN>
<User_Name group="Phone/LDAP">{$DIRECTORY_USERNAME}</User_Name>
<Password group="Phone/LDAP">{$DIRECTORY_PASSWORD}</Password>
<Search_Base group="Phone/LDAP">{$DIRECTORY_SEARCH_BASE}</Search_Base>
<Last_Name_Filter group="Phone/LDAP">{$DIRECTORY_LAST_NAME}:({$DIRECTORY_LAST_NAME}=$VALUE*) </Last_Name_Filter>
<First_Name_Filter group="Phone/LDAP">{$DIRECTORY_FIRST_NAME}:({$DIRECTORY_FIRST_NAME}=$VALUE*) </First_Name_Filter>
@if (strlen($firstNumberName)) {
<Search_Item_3 ua="rw">{$firstNumberDescription}</Search_Item_3>
<Search_Item_3_Filter ua="rw">{$firstNumberName}:({$firstNumberName}=$VALUE*)</Search_Item_3_Filter >
@}
<Display_Attr group="Phone/LDAP">{$displayAttrs}</Display_Attr>
@ } else {
<LDAP_Dir_Enable ua="rw">Yes</LDAP_Dir_Enable>
<LDAP_Corp_Dir_Name ua="rw">Kerio Operator</LDAP_Corp_Dir_Name>
<LDAP_Server ua="rw">{$DIRECTORY_HOSTNAME}</LDAP_Server>
<LDAP_Auth_Method ua="rw">Simple</LDAP_Auth_Method>
<LDAP_Client_DN ua="rw">{$DIRECTORY_CLIENT_DN}</LDAP_Client_DN>
<LDAP_Username ua="rw">{$DIRECTORY_USERNAME}</LDAP_Username>
<LDAP_Password ua="rw">{$DIRECTORY_PASSWORD}</LDAP_Password>
<LDAP_Search_Base ua="rw">{$DIRECTORY_SEARCH_BASE}</LDAP_Search_Base>
<LDAP_Last_Name_Filter ua="rw">{$DIRECTORY_LAST_NAME}:({$DIRECTORY_LAST_NAME}=$VALUE*) </LDAP_Last_Name_Filter>
<LDAP_First_Name_Filter ua="rw">{$DIRECTORY_FIRST_NAME}:({$DIRECTORY_FIRST_NAME}=$VALUE*) </LDAP_First_Name_Filter>
@if (strlen($firstNumberName)) {
<LDAP_Search_Item_3 ua="rw">{$firstNumberDescription}</LDAP_Search_Item_3>
<LDAP_Item_3_Filter ua="rw">{$firstNumberName}:({$firstNumberName}=$VALUE*)</LDAP_Item_3_Filter >
@}
<LDAP_Display_Attrs ua="rw">{$displayAttrs}</LDAP_Display_Attrs>
@ }
@ }

@ for ($i = 1; $i <= $MAX_LINES; $i++) {
@ if (isset($LINES[$i - 1])) {
@ $data = $LINES[$i - 1];
<_at_> $displayName = ($data['USER_FULLNAME'] ? transliterate($data['USER_FULLNAME']) . ' ' : '') . $data['TELNUM'];
@ if ($data['SECURE']) {
@ $SECURE_LINE=true;
@ }
<Extension_{$i}_>{$i}</Extension_{$i}_>
<Line_Enable_{$i}_>Yes</Line_Enable_{$i}_>
<Proxy_{$i}_>{$OPERATOR_IP}</Proxy_{$i}_>
<Display_Name_{$i}_>{$displayName}</Display_Name_{$i}_>
<Short_Name_{$i}_>{$displayName}</Short_Name_{$i}_>
<User_ID_{$i}_>{$data['SIP_USERNAME']}</User_ID_{$i}_>
<Password_{$i}_>{$data['SIP_PASSWORD']}</Password_{$i}_>
<Dial_Plan_{$i}_> (P60[23456789]11|1[2-9]xx[2-9]xxxxxx|&lt;:1&gt;[2-9] xx[2-9]xxxxxx|[x*].) </Dial_Plan_{$i}_>
<Extended_Function_{$i}_></Extended_Function_{$i}_>
<SIP_Transport_{$i}_>{$data['SECURE'] ? 'TLS' : 'UDP'}</SIP_Transport_{$i}_>
<Secure_Call_Setting_{$i}_>{$data['SECURE'] ? 'Yes' : 'No'}</Secure_Call_Setting_{$i}_>
@ } else {
@ $blfOverride = false;
@ foreach ($blfs as $blf) {
@ if (normalizeMac($blf['mac']) === $MAC && $blf['button'] === $i) {
<Extension_{$blf['button']}_>Disabled</Extension_{$blf['button']}_ >
<Line_Enable_{$i}_>Yes</Line_Enable_{$i}_>
<Short_Name_{$i}_>{$blf['label']}</Short_Name_{$i}_>
<Display_Name_{$i}_>{$blf['label']}</Display_Name_{$i}_>
<Extended_Function_{$i}_>fnc=blf+sd+cp;sub={$blf['ext']}@$PROXY </Extended_Function_{$i}_>
@ $blfOverride = true;
@ break;
@ }
@ }
@ if (!$blfOverride) {
<Extension_{$i}_>1</Extension_{$i}_>
<Line_Enable_{$i}_>Yes</Line_Enable_{$i}_>
<Proxy_{$i}_></Proxy_{$i}_>
<Display_Name_{$i}_></Display_Name_{$i}_>
<User_ID_{$i}_></User_ID_{$i}_>
<Password_{$i}_></Password_{$i}_>
<Dial_Plan_{$i}_></Dial_Plan_{$i}_>
<Short_Name_{$i}_></Short_Name_{$i}_>
<Extended_Function_{$i}_></Extended_Function_{$i}_>
@ }
@ }
@ if (isset($fax_support)) {
<FAX_Enable_T38_{$i}_ ua="rw">Yes</FAX_Enable_T38_{$i}_>
<FAX_Passthru_Method_{$i}_ ua="rw">ReINVITE</FAX_Passthru_Method_{$i}_>
<FAX_Disable_ECAN_{$i}_ ua="rw">Yes</FAX_Disable_ECAN_{$i}_>
@ }

@ }

@//<Extension_4_>Disabled</Extension_4_>
@//<Line_Enable_4_>No</Line_Enable_4_>
@//<Proxy_4_></Proxy_4_>
@//<Display_Name_4_></Display_Name_4_>
@//<User_ID_4_></User_ID_4_>
@//<Password_4_></Password_4_>
@//<Dial_Plan_4_></Dial_Plan_4_>
@//<Short_Name_4_>Page All</Short_Name_4_>
@//<Extended_Function_4_>fnc=sd;ext=90</Extended_Function_4_ >

<Programmable_Softkey_Enable ua="na">Yes</Programmable_Softkey_Enable>
<Connected_Key_List ua="na"> xfer|1;bxfer|2;conf|3;hold|4; </Connected_Key_List>


@ $found = false;
@ foreach ($sideCars as $sideCar) {
@ if (normalizeMac($sideCar['mac']) === normalizeMac($MAC)) {
@ if ($sideCar['dept'] === "trans") {
@ // department trans
<Unit_1_Key_1 ua="na">fnc=blf+sd;sub=401@$PROXY;ext=401@$PROXY</Unit_1_Key_1 >
<Unit_1_Key_2 ua="na">fnc=blf+sd;sub=117@$PROXY;ext=117@$PROXY</Unit_1_Key_2 >
<Unit_1_Key_3 ua="na">fnc=blf+sd;sub=119@$PROXY;ext=119@$PROXY</Unit_1_Key_3 >
<Unit_1_Key_4 ua="na">fnc=blf+sd;sub=121@$PROXY;ext=121@$PROXY</Unit_1_Key_4 >
<Unit_1_Key_5 ua="na">fnc=blf+sd;sub=170@$PROXY;ext=170@$PROXY</Unit_1_Key_5 >
<Unit_1_Key_6 ua="na">fnc=blf+sd;sub=172@$PROXY;ext=172@$PROXY</Unit_1_Key_6 >
<Unit_1_Key_7 ua="na">fnc=blf+sd;sub=174@$PROXY;ext=174@$PROXY</Unit_1_Key_7 >
<Unit_1_Key_8 ua="na">fnc=blf+sd;sub=175@$PROXY;ext=175@$PROXY</Unit_1_Key_8 >
<Unit_1_Key_9 ua="na">fnc=blf+sd;sub=199@$PROXY;ext=199@$PROXY</Unit_1_Key_9 >
<Unit_1_Key_10 ua="na">fnc=blf+sd;sub=103@$PROXY;ext=103@$PROXY</Unit_1_Key_10 >
<Unit_1_Key_11 ua="na">fnc=blf+sd;sub=126@$PROXY;ext=126@$PROXY</Unit_1_Key_11 >
<Unit_1_Key_12 ua="na">fnc=blf+sd;sub=210@$PROXY;ext=210@$PROXY</Unit_1_Key_12 >
<Unit_1_Key_13 ua="na">fnc=blf+sd;sub=171@$PROXY;ext=171@$PROXY</Unit_1_Key_13 >
<Unit_1_Key_15 ua="na">fnc=sd;ext=*33</Unit_1_Key_15>
<Unit_1_Key_16 ua="na">fnc=sd;ext=*34</Unit_1_Key_16>
<Unit_1_Key_26 ua="na">fnc=sd;ext=97205798500</Unit_1_Key_26>
<Unit_1_Key_27 ua="na">fnc=sd;ext=93035501999</Unit_1_Key_27>
<Unit_1_Key_28 ua="na">fnc=sd;ext=93035966560</Unit_1_Key_28>
<Unit_1_Key_29 ua="na">fnc=sd;ext=93032793852</Unit_1_Key_29>
<Unit_1_Key_30 ua="na">fnc=sd;ext=93034213033</Unit_1_Key_30>
<Unit_1_Key_31 ua="na">fnc=sd;ext=93034551264</Unit_1_Key_31>
<Unit_1_Key_32 ua="na">fnc=sd;ext=918666533629</Unit_1_Key_32>
@ } else if ($sideCar['dept'] === "ev") {
@ // department ev
<Unit_1_Key_1 ua="na">fnc=blf+sd;sub=300@$PROXY;ext=300@$PROXY</Unit_1_Key_1 >
<Unit_1_Key_2 ua="na">fnc=blf+sd;sub=301@$PROXY;ext=301@$PROXY</Unit_1_Key_2 >
<Unit_1_Key_3 ua="na">fnc=blf+sd;sub=302@$PROXY;ext=302@$PROXY</Unit_1_Key_3 >
<Unit_1_Key_4 ua="na">fnc=blf+sd;sub=304@$PROXY;ext=304@$PROXY</Unit_1_Key_4 >
<Unit_1_Key_5 ua="na">fnc=blf+sd;sub=305@$PROXY;ext=305@$PROXY</Unit_1_Key_5 >
<Unit_1_Key_6 ua="na">fnc=blf+sd;sub=306@$PROXY;ext=306@$PROXY</Unit_1_Key_6 >
<Unit_1_Key_7 ua="na">fnc=blf+sd;sub=307@$PROXY;ext=307@$PROXY</Unit_1_Key_7 >
<Unit_1_Key_8 ua="na">fnc=blf+sd;sub=308@$PROXY;ext=308@$PROXY</Unit_1_Key_8 >
<Unit_1_Key_9 ua="na">fnc=blf+sd;sub=309@$PROXY;ext=309@$PROXY</Unit_1_Key_9 >
<Unit_1_Key_10 ua="na">fnc=blf+sd;sub=310@$PROXY;ext=310@$PROXY</Unit_1_Key_10 >
<Unit_1_Key_11 ua="na">fnc=blf+sd;sub=311@$PROXY;ext=311@$PROXY</Unit_1_Key_11 >
<Unit_1_Key_12 ua="na">fnc=blf+sd;sub=312@$PROXY;ext=312@$PROXY</Unit_1_Key_12 >
<Unit_1_Key_13 ua="na">fnc=blf+sd;sub=313@$PROXY;ext=313@$PROXY</Unit_1_Key_13 >
<Unit_1_Key_14 ua="na">fnc=blf+sd;sub=314@$PROXY;ext=314@$PROXY</Unit_1_Key_14 >
<Unit_1_Key_15 ua="na">fnc=blf+sd;sub=315@$PROXY;ext=315@$PROXY</Unit_1_Key_15 >
<Unit_1_Key_16 ua="na">fnc=blf+sd;sub=318@$PROXY;ext=318@$PROXY</Unit_1_Key_16 >
<Unit_1_Key_17 ua="na">fnc=blf+sd;sub=321@$PROXY;ext=321@$PROXY</Unit_1_Key_17 >
<Unit_1_Key_18 ua="na">fnc=blf+sd;sub=370@$PROXY;ext=370@$PROXY</Unit_1_Key_18 >
@ } else if ($sideCar['dept'] === "ihc"){
@ // department hr
<Unit_1_Key_1 ua="na">fnc=blf+sd;sub=176@$PROXY;ext=176@$PROXY</Unit_1_Key_1 >
<Unit_1_Key_2 ua="na">fnc=blf+sd;sub=193@$PROXY;ext=193@$PROXY</Unit_1_Key_2 >
<Unit_1_Key_3 ua="na">fnc=blf+sd;sub=140@$PROXY;ext=140@$PROXY</Unit_1_Key_3 >
@//<Unit_1_Key_4 ua="na">fnc=blf+sd;sub=103@$PROXY;ext=103@$PROXY</Unit_1_Key_4 >
<Unit_1_Key_5 ua="na">fnc=blf+sd;sub=170@$PROXY;ext=170@$PROXY</Unit_1_Key_5 >
<Unit_1_Key_6 ua="na">fnc=blf+sd;sub=195@$PROXY;ext=195@$PROXY</Unit_1_Key_6 >
<Unit_1_Key_7 ua="na">fnc=blf+sd;sub=107@$PROXY;ext=107@$PROXY</Unit_1_Key_7 >
<Unit_1_Key_8 ua="na">fnc=blf+sd;sub=142@$PROXY;ext=142@$PROXY</Unit_1_Key_8 >
@//<Unit_1_Key_9 ua="na">fnc=blf+sd;sub=110@$PROXY;ext=110@$PROXY</Unit_1_Key_9 >
@//<Unit_1_Key_10 ua="na">fnc=blf+sd;sub=113@$PROXY;ext=113@$PROXY</Unit_1_Key_10 >
<Unit_1_Key_11 ua="na">fnc=blf+sd;sub=401@$PROXY;ext=401@$PROXY</Unit_1_Key_11 >
<Unit_1_Key_12 ua="na">fnc=blf+sd;sub=312@$PROXY;ext=312@$PROXY</Unit_1_Key_12 >
<Unit_1_Key_13 ua="na">fnc=blf+sd;sub=305@$PROXY;ext=305@$PROXY</Unit_1_Key_13 >
<Unit_1_Key_14 ua="na">fnc=blf+sd;sub=307@$PROXY;ext=307@$PROXY</Unit_1_Key_14 >
<Unit_1_Key_15 ua="na">fnc=blf+sd;sub=300@$PROXY;ext=300@$PROXY</Unit_1_Key_15 >
@//<Unit_1_Key_16 ua="na">fnc=blf+sd;sub=121@$PROXY;ext=121@$PROXY</Unit_1_Key_16 >
<Unit_1_Key_17 ua="na">fnc=blf+sd;sub=165@$PROXY;ext=165@$PROXY</Unit_1_Key_17 >
<Unit_1_Key_18 ua="na">fnc=blf+sd;sub=194@$PROXY;ext=194@$PROXY</Unit_1_Key_18 >
<Unit_1_Key_19 ua="na">fnc=blf+sd;sub=122@$PROXY;ext=122@$PROXY</Unit_1_Key_19 >
@//<Unit_1_Key_20 ua="na">fnc=blf+sd;sub=125@$PROXY;ext=125@$PROXY</Unit_1_Key_20 >
<Unit_1_Key_21 ua="na">fnc=blf+sd;sub=172@$PROXY;ext=172@$PROXY</Unit_1_Key_21 >
<Unit_1_Key_22 ua="na">fnc=blf+sd;sub=161@$PROXY;ext=161@$PROXY</Unit_1_Key_22 >
<Unit_1_Key_23 ua="na">fnc=blf+sd;sub=148@$PROXY;ext=148@$PROXY</Unit_1_Key_23 >
<Unit_1_Key_24 ua="na">fnc=blf+sd;sub=152@$PROXY;ext=152@$PROXY</Unit_1_Key_24 >
@//<Unit_1_Key_25 ua="na">fnc=blf+sd;sub=129@$PROXY;ext=129@$PROXY</Unit_1_Key_25 >
@//<Unit_1_Key_26 ua="na">fnc=blf+sd;sub=130@$PROXY;ext=130@$PROXY</Unit_1_Key_26 >
@//<Unit_1_Key_27 ua="na">fnc=blf+sd;sub=131@$PROXY;ext=131@$PROXY</Unit_1_Key_27 >
<Unit_1_Key_28 ua="na">fnc=blf+sd;sub=136@$PROXY;ext=136@$PROXY</Unit_1_Key_28 >
<Unit_1_Key_29 ua="na">fnc=blf+sd;sub=134@$PROXY;ext=134@$PROXY</Unit_1_Key_29 >
<Unit_1_Key_30 ua="na">fnc=blf+sd;sub=123@$PROXY;ext=123@$PROXY</Unit_1_Key_30 >
<Unit_1_Key_31 ua="na">fnc=blf+sd;sub=100@$PROXY;ext=100@$PROXY</Unit_1_Key_31 >
@//<Unit_1_Key_32 ua="na">fnc=blf+sd;sub=138@$PROXY;ext=138@$PROXY</Unit_1_Key_32 >
@ }
@ $found = true;
@ break; //foreach
@ }
@}
@ if (!$found) {
@ // other phones than the listed ones
<Unit_1_Key_1 ua="na">fnc=blf+sd;sub=100@$PROXY;ext=100@$PROXY</Unit_1_Key_1 >
<Unit_1_Key_2 ua="na">fnc=blf+sd;sub=101@$PROXY;ext=101@$PROXY</Unit_1_Key_2 >
<Unit_1_Key_3 ua="na">fnc=blf+sd;sub=102@$PROXY;ext=102@$PROXY</Unit_1_Key_3 >
<Unit_1_Key_4 ua="na">fnc=blf+sd;sub=103@$PROXY;ext=103@$PROXY</Unit_1_Key_4 >
<Unit_1_Key_5 ua="na">fnc=blf+sd;sub=104@$PROXY;ext=104@$PROXY</Unit_1_Key_5 >
<Unit_1_Key_6 ua="na">fnc=blf+sd;sub=107@$PROXY;ext=107@$PROXY</Unit_1_Key_6 >
<Unit_1_Key_7 ua="na">fnc=blf+sd;sub=108@$PROXY;ext=108@$PROXY</Unit_1_Key_7 >
<Unit_1_Key_8 ua="na">fnc=blf+sd;sub=109@$PROXY;ext=109@$PROXY</Unit_1_Key_8 >
<Unit_1_Key_9 ua="na">fnc=blf+sd;sub=110@$PROXY;ext=110@$PROXY</Unit_1_Key_9 >
<Unit_1_Key_10 ua="na">fnc=blf+sd;sub=113@$PROXY;ext=113@$PROXY</Unit_1_Key_10 >
<Unit_1_Key_11 ua="na">fnc=blf+sd;sub=114@$PROXY;ext=114@$PROXY</Unit_1_Key_11 >
<Unit_1_Key_12 ua="na">fnc=blf+sd;sub=117@$PROXY;ext=117@$PROXY</Unit_1_Key_12 >
<Unit_1_Key_13 ua="na">fnc=blf+sd;sub=118@$PROXY;ext=118@$PROXY</Unit_1_Key_13 >
<Unit_1_Key_14 ua="na">fnc=blf+sd;sub=119@$PROXY;ext=119@$PROXY</Unit_1_Key_14 >
<Unit_1_Key_15 ua="na">fnc=blf+sd;sub=120@$PROXY;ext=120@$PROXY</Unit_1_Key_15 >
<Unit_1_Key_16 ua="na">fnc=blf+sd;sub=121@$PROXY;ext=121@$PROXY</Unit_1_Key_16 >
<Unit_1_Key_17 ua="na">fnc=blf+sd;sub=122@$PROXY;ext=122@$PROXY</Unit_1_Key_17 >
<Unit_1_Key_18 ua="na">fnc=blf+sd;sub=123@$PROXY;ext=123@$PROXY</Unit_1_Key_18 >
<Unit_1_Key_19 ua="na">fnc=blf+sd;sub=124@$PROXY;ext=124@$PROXY</Unit_1_Key_19 >
<Unit_1_Key_20 ua="na">fnc=blf+sd;sub=125@$PROXY;ext=125@$PROXY</Unit_1_Key_20 >
<Unit_1_Key_21 ua="na">fnc=blf+sd;sub=126@$PROXY;ext=126@$PROXY</Unit_1_Key_21 >
<Unit_1_Key_22 ua="na">fnc=blf+sd;sub=127@$PROXY;ext=127@$PROXY</Unit_1_Key_22 >
<Unit_1_Key_23 ua="na">fnc=blf+sd;sub=154@$PROXY;ext=154@$PROXY</Unit_1_Key_23 >
<Unit_1_Key_24 ua="na">fnc=blf+sd;sub=128@$PROXY;ext=128@$PROXY</Unit_1_Key_24 >
<Unit_1_Key_25 ua="na">fnc=blf+sd;sub=129@$PROXY;ext=129@$PROXY</Unit_1_Key_25 >
<Unit_1_Key_26 ua="na">fnc=blf+sd;sub=130@$PROXY;ext=130@$PROXY</Unit_1_Key_26 >
<Unit_1_Key_27 ua="na">fnc=blf+sd;sub=131@$PROXY;ext=131@$PROXY</Unit_1_Key_27 >
<Unit_1_Key_28 ua="na">fnc=blf+sd;sub=132@$PROXY;ext=132@$PROXY</Unit_1_Key_28 >
<Unit_1_Key_29 ua="na">fnc=blf+sd;sub=133@$PROXY;ext=133@$PROXY</Unit_1_Key_29 >
<Unit_1_Key_30 ua="na">fnc=blf+sd;sub=134@$PROXY;ext=134@$PROXY</Unit_1_Key_30 >
<Unit_1_Key_31 ua="na">fnc=blf+sd;sub=136@$PROXY;ext=136@$PROXY</Unit_1_Key_31 >
<Unit_1_Key_32 ua="na">fnc=blf+sd;sub=138@$PROXY;ext=138@$PROXY</Unit_1_Key_32 >

<Unit_2_Key_1 ua="na">fnc=blf+sd;sub=139@$PROXY;ext=139@$PROXY</Unit_2_Key_1 >
<Unit_2_Key_2 ua="na">fnc=blf+sd;sub=140@$PROXY;ext=140@$PROXY</Unit_2_Key_2 >
<Unit_2_Key_3 ua="na">fnc=blf+sd;sub=141@$PROXY;ext=141@$PROXY</Unit_2_Key_3 >
<Unit_2_Key_4 ua="na">fnc=blf+sd;sub=142@$PROXY;ext=142@$PROXY</Unit_2_Key_4 >
<Unit_2_Key_5 ua="na">fnc=blf+sd;sub=147@$PROXY;ext=147@$PROXY</Unit_2_Key_5 >
<Unit_2_Key_6 ua="na">fnc=blf+sd;sub=150@$PROXY;ext=150@$PROXY</Unit_2_Key_6 >
<Unit_2_Key_7 ua="na">fnc=blf+sd;sub=152@$PROXY;ext=152@$PROXY</Unit_2_Key_7 >
<Unit_2_Key_8 ua="na">fnc=blf+sd;sub=160@$PROXY;ext=160@$PROXY</Unit_2_Key_8 >
<Unit_2_Key_9 ua="na">fnc=blf+sd;sub=161@$PROXY;ext=161@$PROXY</Unit_2_Key_9 >
<Unit_2_Key_10 ua="na">fnc=blf+sd;sub=162@$PROXY;ext=162@$PROXY</Unit_2_Key_10 >
<Unit_2_Key_11 ua="na">fnc=blf+sd;sub=163@$PROXY;ext=163@$PROXY</Unit_2_Key_11 >
<Unit_2_Key_12 ua="na">fnc=blf+sd;sub=164@$PROXY;ext=164@$PROXY</Unit_2_Key_12 >
<Unit_2_Key_13 ua="na">fnc=blf+sd;sub=165@$PROXY;ext=165@$PROXY</Unit_2_Key_13 >
<Unit_2_Key_14 ua="na">fnc=blf+sd;sub=166@$PROXY;ext=166@$PROXY</Unit_2_Key_14 >
<Unit_2_Key_15 ua="na">fnc=blf+sd;sub=167@$PROXY;ext=167@$PROXY</Unit_2_Key_15 >
<Unit_2_Key_16 ua="na">fnc=blf+sd;sub=168@$PROXY;ext=168@$PROXY</Unit_2_Key_16 >
<Unit_2_Key_17 ua="na">fnc=blf+sd;sub=169@$PROXY;ext=169@$PROXY</Unit_2_Key_17 >
<Unit_2_Key_18 ua="na">fnc=blf+sd;sub=170@$PROXY;ext=170@$PROXY</Unit_2_Key_18 >
<Unit_2_Key_19 ua="na">fnc=blf+sd;sub=171@$PROXY;ext=171@$PROXY</Unit_2_Key_19 >
<Unit_2_Key_20 ua="na">fnc=blf+sd;sub=172@$PROXY;ext=172@$PROXY</Unit_2_Key_20 >
<Unit_2_Key_21 ua="na">fnc=blf+sd;sub=174@$PROXY;ext=174@$PROXY</Unit_2_Key_21 >
<Unit_2_Key_22 ua="na">fnc=blf+sd;sub=175@$PROXY;ext=175@$PROXY</Unit_2_Key_22 >
<Unit_2_Key_23 ua="na">fnc=blf+sd;sub=176@$PROXY;ext=176@$PROXY</Unit_2_Key_23 >
<Unit_2_Key_24 ua="na">fnc=blf+sd;sub=177@$PROXY;ext=177@$PROXY</Unit_2_Key_24 >
<Unit_2_Key_25 ua="na">fnc=blf+sd;sub=179@$PROXY;ext=179@$PROXY</Unit_2_Key_25 >
<Unit_2_Key_26 ua="na">fnc=blf+sd;sub=180@$PROXY;ext=180@$PROXY</Unit_2_Key_26 >
<Unit_2_Key_27 ua="na">fnc=blf+sd;sub=181@$PROXY;ext=181@$PROXY</Unit_2_Key_27 >
<Unit_2_Key_28 ua="na">fnc=blf+sd;sub=182@$PROXY;ext=182@$PROXY</Unit_2_Key_28 >
<Unit_2_Key_29 ua="na">fnc=blf+sd;sub=186@$PROXY;ext=186@$PROXY</Unit_2_Key_29 >
<Unit_2_Key_30 ua="na">fnc=blf+sd;sub=187@$PROXY;ext=187@$PROXY</Unit_2_Key_30 >
<Unit_2_Key_31 ua="na">fnc=blf+sd;sub=193@$PROXY;ext=193@$PROXY</Unit_2_Key_31 >
<Unit_2_Key_32 ua="na">fnc=blf+sd;sub=194@$PROXY;ext=194@$PROXY</Unit_2_Key_32 >
@ }

<Ring1>n=operator-internal;w=6;c=1</Ring1>
<Ring2>n=Classic-2;w=3;c=2</Ring2>
<Ring3>n=Classic-3;w=3;c=3</Ring3>
<Ring4>n=Classic-4;w=3;c=4</Ring4>
<Ring5>n=Simple-1;w=2;c=1</Ring5>
<Ring6>n=Simple-2;w=2;c=2</Ring6>
<Ring7>n=Simple-3;w=2;c=3</Ring7>
<Ring8>n=Simple-4;w=2;c=4</Ring8>
<Ring9>n=operator-queue;w=2;c=5</Ring9>
<Ring10>n=operator-group;w=4;c=1</Ring10>
<Ring11>n=operator-external;w=5;c=1</Ring11>
<Ring12>n=Du-dut;w=6;c=1</Ring12>

<SRTP_Method>s-descriptor</SRTP_Method>
<Secure_Call_Serv>Yes</Secure_Call_Serv>
<Secure_Call_Setting>{$SECURE_LINE ? 'Yes' : 'No'}</Secure_Call_Setting>
<Secure_Call_Indication_Tone></Secure_Call_Indication_Tone>

</flat-profile>
  •  
Filip Jenicek (Kerio)

Messages: 1094
Karma: 80
Send a private message to this user
I think you probably want to place the code below inside each if block.
@ $found = true;
@ break; //foreach


Example:
@ $found = false;
@ foreach ($sideCars as $sideCar) {
@   if (normalizeMac($sideCar['mac']) === normalizeMac($MAC)) {
@     if ($sideCar['dept'] === "trans") {
@       // department trans
        <Unit_1_Key_1 ua="na">fnc=blf+sd;sub=401@$PROXY;ext=401@$PROXY</Unit_1_Key_1 >
@       $found = true;
@       break; //foreach
@     } else if ($sideCar['dept'] === "ev") {
@       // department ev
        <Unit_1_Key_1 ua="na">fnc=blf+sd;sub=300@$PROXY;ext=300@$PROXY</Unit_1_Key_1 >
@       $found = true;
@       break; //foreach
@     } else if ($sideCar['dept'] === "ihc"){
@       // department hr
        <Unit_1_Key_1 ua="na">fnc=blf+sd;sub=176@$PROXY;ext=176@$PROXY</Unit_1_Key_1 >
@       $found = true;
@       break; //foreach
@     }
@   }
@ }
Previous Topic: Using # in a Menu that interprets anything as an extension.
Next Topic: Caller ID from MYSQL Database
Goto Forum:
  


Disclaimer:
Kerio discussion forums are intended for open communication between forum members and may contain information and material posted by members which may be useful in learning about Kerio products. The discussion forums are not intended to provide technical support for any specific product. Any information implied or expressed in the discussion forums is that of the posting member. Kerio is in no way responsible for the information posted in the forums, or its accuracy. Kerio employees may participate in the discussions, but their postings do not represent an offical position of the company on any issues raised or discussed. Kerio reserves the right to monitor and maintain the forums to promote free and accurate exchange of information.

Current Time: Thu May 25 03:18:15 CEST 2017

Total time taken to generate the page: 0.06559 seconds
.:: Contact :: Home ::.
Powered by: FUDforum 3.0.4.