I am trying to setup HTTP provisioning instead of TFTP due to decreasing the Cisco phone's boot-up time. I am not sure whether to post this issue here at sccp_manager or under provision_sccp, but the two are closely connected to each other.
To start off, I have installed chan_sccp, sccp_manager, and provision_sccp in that order on a FreePBX 16 system with Asterisk 16. The Default Device Language has been set to English_United_States and the Network Country is United_States.
The phones can get most of the files (firmware, config, ringtones, wallpapers, etc.) via HTTP requests, but are unable to pull down the country-specific files, specifically the /United_States/g3-tones.xml file. Between the index.php file and the index.cnf file located in the /tftpboot folder, the Apache webserver is providing a link to the phone to g3-tones.xml at /tftpboot/locales/languages/United_States/g3-tones.xml but this should be at /tftpboot/locales/countries/United_States/g3-tones.xml
Here's where it becomes more difficult: sccp_manager is looking for the language and country files to be located inside the 'locales' folder of /tftpboot to generate the device configuration files with, while provision_sccp is using a 'language' file (and no 'country' file) directly on the root of the /tftpboot folder (not nested within the 'locales' folder).
No matter what I change in the index.cnf file, I cannot modify or reroute the countries request (g3-tones.xml) from the phone to the 'countries' folder located in the 'locales' folder. And yet, with debug set to on, the 'countries' and 'languages' values are at the correct location of /tftpboot/locales/countries and /tftpboot/locales/languages respectively.
I also noticed when setting the default_language in index.cnf, the value is /tftpboot/locales/English_United_States but should be /tftpboot/locales/languages/English_United_States. Adding a languages/ to the beginning when setting this value seems to correct this.
On the other hand, the TFTP re-writes/map file works as expected and I can always provision the files via TFTP; though much slower since the phones try to connect via HTTP first, then TFTP second.
So far, the current workaround I came up with is to temporarily disable the tftpboot.conf Apache webserver, forcing the phones to update the initial firmware and config file over TFTP initially, and then re-enable the tftpboot.conf Apache webserver. It appears that the phones only request the locale information once a firmware has been changed or updated, and I am sure the phones will operate just fine without the locale information downloaded; but it would be nice to have the best of both worlds.
I do realize that there is an open request to port the index.php file into an Apache mod_rewrite webserver config file, but is there anyone able to take a look at this issue to get it work with the current index.php/index.cnf method for now to work with both sccp_manager and provision_sccp together?
Below are some config files and debug output if it helps anyone with the issue:
tftpboot.conf
Listen 6970
<VirtualHost *:6970>
DocumentRoot "/tftpboot"
ErrorLog /var/log/httpd/tftp.error.log
CustomLog /var/log/httpd/tftp.access.log combined
<Directory /tftpboot>
Options FollowSymlinks
AllowOverride none
Require all granted
RewriteEngine on
RewriteBase "/"
RewriteCond "/tftpboot/%{REQUEST_FILENAME}" !-f
RewriteCond "/tftpboot/%{REQUEST_FILENAME}" !-d
RewriteRule "(.*)" "index.php?id=$1" [PT,QSA]
</Directory>
<Directory />
Options FollowSymLinks
AllowOverride all
Require all granted
</Directory>
<Location />
Require all granted
</Location>
Alias / "/tftpboot/"
</VirtualHost>
28.03.2022 03:25:03 [ERROR] GET (CTLSEP001E4A93748B.tlv):CTLSEP001E4A93748B.tlv no match found
28.03.2022 03:25:03 [ERROR] GET (ITLSEP001E4A93748B.tlv):ITLSEP001E4A93748B.tlv no match found
28.03.2022 03:25:03 [ERROR] GET (ITLFile.tlv):ITLFile.tlv no match found
28.03.2022 03:25:03 [INFO] GET (ToveLow-Habits.raw) :ToveLow-Habits.raw Remap :/tftpboot/ringtones/ToveLow-Habits.raw
28.03.2022 03:25:04 [INFO] GET (SEP001E4A93748B.cnf.xml) :SEP001E4A93748B.cnf.xml Remap :/tftpboot/settings/SEP001E4A93748B.cnf.xml
28.03.2022 03:27:14 [ERROR] GET (CTLSEP001E4A93748B.tlv):CTLSEP001E4A93748B.tlv no match found
28.03.2022 03:27:15 [ERROR] GET (ITLSEP001E4A93748B.tlv):ITLSEP001E4A93748B.tlv no match found
28.03.2022 03:27:15 [ERROR] GET (ITLFile.tlv):ITLFile.tlv no match found
28.03.2022 03:27:15 [INFO] GET (ToveLow-Habits.raw) :ToveLow-Habits.raw Remap :/tftpboot/ringtones/ToveLow-Habits.raw
28.03.2022 03:27:16 [INFO] GET (SEP001E4A93748B.cnf.xml) :SEP001E4A93748B.cnf.xml Remap :/tftpboot/settings/SEP001E4A93748B.cnf.xml
28.03.2022 03:28:26 [ERROR] GET (CTLSEP001E4A93748B.tlv):CTLSEP001E4A93748B.tlv no match found
28.03.2022 03:28:26 [ERROR] GET (ITLSEP001E4A93748B.tlv):ITLSEP001E4A93748B.tlv no match found
28.03.2022 03:28:26 [ERROR] GET (ITLFile.tlv):ITLFile.tlv no match found
28.03.2022 03:28:26 [ERROR] GET (CTLSEP001E4A93748B.tlv):CTLSEP001E4A93748B.tlv no match found
28.03.2022 03:28:27 [ERROR] GET (ITLSEP001E4A93748B.tlv):ITLSEP001E4A93748B.tlv no match found
28.03.2022 03:28:27 [ERROR] GET (ITLFile.tlv):ITLFile.tlv no match found
28.03.2022 03:28:27 [ERROR] GET (CTLSEP001E4A93748B.tlv):CTLSEP001E4A93748B.tlv no match found
28.03.2022 03:28:27 [ERROR] GET (ITLSEP001E4A93748B.tlv):ITLSEP001E4A93748B.tlv no match found
28.03.2022 03:28:27 [ERROR] GET (ITLFile.tlv):ITLFile.tlv no match found
28.03.2022 03:28:28 [INFO] GET (SEP001E4A93748B.cnf.xml) :SEP001E4A93748B.cnf.xml Remap :/tftpboot/settings/SEP001E4A93748B.cnf.xml
28.03.2022 03:28:29 [INFO] GET (SEP001E4A93748B.cnf.xml) :SEP001E4A93748B.cnf.xml Remap :/tftpboot/settings/SEP001E4A93748B.cnf.xml
28.03.2022 03:28:32 [INFO] GET (SEP001E4A93748B.cnf.xml) :SEP001E4A93748B.cnf.xml Remap :/tftpboot/settings/SEP001E4A93748B.cnf.xml
28.03.2022 03:30:19 [INFO] GET (term61.default.loads) :term61.default.loads Remap :/tftpboot/firmware/7941/term61.default.loads
28.03.2022 03:30:20 [INFO] GET (jar41sccp.9-4-2ES26.sbn) :jar41sccp.9-4-2ES26.sbn Remap :/tftpboot/firmware/7941/jar41sccp.9-4-2ES26.sbn
28.03.2022 03:30:26 [INFO] GET (cnu41.9-4-2ES26.sbn) :cnu41.9-4-2ES26.sbn Remap :/tftpboot/firmware/7941/cnu41.9-4-2ES26.sbn
28.03.2022 03:30:29 [INFO] GET (apps41.9-4-2ES26.sbn) :apps41.9-4-2ES26.sbn Remap :/tftpboot/firmware/7941/apps41.9-4-2ES26.sbn
28.03.2022 03:30:40 [INFO] GET (dsp41.9-4-2ES26.sbn) :dsp41.9-4-2ES26.sbn Remap :/tftpboot/firmware/7941/dsp41.9-4-2ES26.sbn
28.03.2022 03:30:42 [INFO] GET (cvm41sccp.9-4-2ES26.sbn) :cvm41sccp.9-4-2ES26.sbn Remap :/tftpboot/firmware/7941/cvm41sccp.9-4-2ES26.sbn
28.03.2022 03:32:25 [ERROR] GET (CTLSEP001E4A93748B.tlv):CTLSEP001E4A93748B.tlv no match found
28.03.2022 03:32:25 [ERROR] GET (ITLSEP001E4A93748B.tlv):ITLSEP001E4A93748B.tlv no match found
28.03.2022 03:32:25 [ERROR] GET (ITLFile.tlv):ITLFile.tlv no match found
28.03.2022 03:32:26 [INFO] GET (SEP001E4A93748B.cnf.xml) :SEP001E4A93748B.cnf.xml Remap :/tftpboot/settings/SEP001E4A93748B.cnf.xml
28.03.2022 03:32:54 [INFO] GET (SCCP41.9-4-2SR3-1S.loads) :SCCP41.9-4-2SR3-1S.loads Remap :/tftpboot/firmware/7941/SCCP41.9-4-2SR3-1S.loads
28.03.2022 03:32:57 [INFO] GET (jar41sccp.9-4-2ES26.sbn) :jar41sccp.9-4-2ES26.sbn Remap :/tftpboot/firmware/7941/jar41sccp.9-4-2ES26.sbn
28.03.2022 03:33:04 [INFO] GET (cnu41.9-4-2ES26.sbn) :cnu41.9-4-2ES26.sbn Remap :/tftpboot/firmware/7941/cnu41.9-4-2ES26.sbn
28.03.2022 03:33:08 [INFO] GET (apps41.9-4-2ES26.sbn) :apps41.9-4-2ES26.sbn Remap :/tftpboot/firmware/7941/apps41.9-4-2ES26.sbn
28.03.2022 03:33:20 [INFO] GET (dsp41.9-4-2ES26.sbn) :dsp41.9-4-2ES26.sbn Remap :/tftpboot/firmware/7941/dsp41.9-4-2ES26.sbn
28.03.2022 03:33:25 [INFO] GET (cvm41sccp.9-4-2ES26.sbn) :cvm41sccp.9-4-2ES26.sbn Remap :/tftpboot/firmware/7941/cvm41sccp.9-4-2ES26.sbn
28.03.2022 03:34:43 [ERROR] GET (CTLSEP001E4A93748B.tlv):CTLSEP001E4A93748B.tlv no match found
28.03.2022 03:34:43 [ERROR] GET (ITLSEP001E4A93748B.tlv):ITLSEP001E4A93748B.tlv no match found
28.03.2022 03:34:43 [ERROR] GET (ITLFile.tlv):ITLFile.tlv no match found
28.03.2022 03:34:43 [INFO] GET (SEP001E4A93748B.cnf.xml) :SEP001E4A93748B.cnf.xml Remap :/tftpboot/settings/SEP001E4A93748B.cnf.xml
28.03.2022 03:34:51 [INFO] GET (English_United_States/mk-sccp.jar) :mk-sccp.jar Remap :/tftpboot/locales/languages/English_United_States/mk-sccp.jar
28.03.2022 03:34:53 [INFO] GET (United_States/g3-tones.xml) :g3-tones.xml Remap :/tftpboot/locales/languages/United_States/g3-tones.xml
28.03.2022 03:36:14 [INFO] GET (English_United_States/mk-sccp.jar) :mk-sccp.jar Remap :/tftpboot/locales/languages/English_United_States/mk-sccp.jar
28.03.2022 03:36:31 [INFO] GET (United_States/g3-tones.xml) :g3-tones.xml Remap :/tftpboot/locales/languages/United_States/g3-tones.xml
28.03.2022 03:36:31 [ERROR] GET (favicon.ico):favicon.ico no match found
28.03.2022 03:36:35 [ERROR] GET (CTLSEP001E4A93748B.tlv):CTLSEP001E4A93748B.tlv no match found
28.03.2022 03:36:35 [ERROR] GET (ITLSEP001E4A93748B.tlv):ITLSEP001E4A93748B.tlv no match found
28.03.2022 03:36:35 [ERROR] GET (ITLFile.tlv):ITLFile.tlv no match found
28.03.2022 03:36:35 [INFO] GET (SEP001E4A93748B.cnf.xml) :SEP001E4A93748B.cnf.xml Remap :/tftpboot/settings/SEP001E4A93748B.cnf.xml
28.03.2022 03:36:40 [INFO] GET (United_States/g3-tones.xml) :g3-tones.xml Remap :/tftpboot/locales/languages/United_States/g3-tones.xml
28.03.2022 04:37:23 [INFO] GET (United_States/g3-tones.xml) :g3-tones.xml Remap :/tftpboot/locales/languages/United_States/g3-tones.xml
/var/log/messages
Mar 28 11:38:42 freepbx in.tftpd[2080]: RRQ from 10.98.1.5 filename term61.default.loads remapped to firmware/7941/term61.default.loads
Mar 28 11:38:42 freepbx in.tftpd[2080]: Client 10.98.1.5 finished term61.default.loads
Mar 28 11:38:44 freepbx in.tftpd[2081]: RRQ from 10.98.1.5 filename jar41sccp.9-4-2ES26.sbn remapped to firmware/7941/jar41sccp.9-4-2ES26.sbn
Mar 28 11:38:47 freepbx in.tftpd[2081]: Client 10.98.1.5 finished jar41sccp.9-4-2ES26.sbn
Mar 28 11:38:52 freepbx in.tftpd[2082]: RRQ from 10.98.1.5 filename cnu41.9-4-2ES26.sbn remapped to firmware/7941/cnu41.9-4-2ES26.sbn
Mar 28 11:38:53 freepbx in.tftpd[2082]: Client 10.98.1.5 finished cnu41.9-4-2ES26.sbn
Mar 28 11:38:56 freepbx in.tftpd[2083]: RRQ from 10.98.1.5 filename apps41.9-4-2ES26.sbn remapped to firmware/7941/apps41.9-4-2ES26.sbn
Mar 28 11:39:02 freepbx in.tftpd[2083]: Client 10.98.1.5 finished apps41.9-4-2ES26.sbn
Mar 28 11:39:10 freepbx in.tftpd[2119]: RRQ from 10.98.1.5 filename dsp41.9-4-2ES26.sbn remapped to firmware/7941/dsp41.9-4-2ES26.sbn
Mar 28 11:39:11 freepbx in.tftpd[2119]: Client 10.98.1.5 finished dsp41.9-4-2ES26.sbn
Mar 28 11:39:14 freepbx in.tftpd[2120]: RRQ from 10.98.1.5 filename cvm41sccp.9-4-2ES26.sbn remapped to firmware/7941/cvm41sccp.9-4-2ES26.sbn
Mar 28 11:39:18 freepbx in.tftpd[2120]: Client 10.98.1.5 finished cvm41sccp.9-4-2ES26.sbn
Mar 28 11:41:05 freepbx in.tftpd[2244]: RRQ from 10.98.1.5 filename CTLSEP001E4A93748B.tlv remapped to settings/CTLSEP001E4A93748B.tlv
Mar 28 11:41:05 freepbx in.tftpd[2244]: Client 10.98.1.5 File not found settings/CTLSEP001E4A93748B.tlv
Mar 28 11:41:06 freepbx in.tftpd[2245]: RRQ from 10.98.1.5 filename ITLSEP001E4A93748B.tlv remapped to settings/ITLSEP001E4A93748B.tlv
Mar 28 11:41:06 freepbx in.tftpd[2245]: Client 10.98.1.5 File not found settings/ITLSEP001E4A93748B.tlv
Mar 28 11:41:06 freepbx in.tftpd[2246]: RRQ from 10.98.1.5 filename ITLFile.tlv remapped to settings/ITLFile.tlv
Mar 28 11:41:06 freepbx in.tftpd[2246]: Client 10.98.1.5 File not found settings/ITLFile.tlv
Mar 28 11:41:06 freepbx in.tftpd[2247]: RRQ from 10.98.1.5 filename SEP001E4A93748B.cnf.xml remapped to settings/SEP001E4A93748B.cnf.xml
Mar 28 11:41:06 freepbx in.tftpd[2247]: Client 10.98.1.5 finished SEP001E4A93748B.cnf.xml
Mar 28 11:41:34 freepbx in.tftpd[2254]: RRQ from 10.98.1.5 filename SCCP41.9-4-2SR3-1S.loads remapped to firmware/7941/SCCP41.9-4-2SR3-1S.loads
Mar 28 11:41:34 freepbx in.tftpd[2254]: Client 10.98.1.5 finished SCCP41.9-4-2SR3-1S.loads
Mar 28 11:41:37 freepbx in.tftpd[2255]: RRQ from 10.98.1.5 filename jar41sccp.9-4-2ES26.sbn remapped to firmware/7941/jar41sccp.9-4-2ES26.sbn
Mar 28 11:41:40 freepbx in.tftpd[2255]: Client 10.98.1.5 finished jar41sccp.9-4-2ES26.sbn
Mar 28 11:41:47 freepbx in.tftpd[2257]: RRQ from 10.98.1.5 filename cnu41.9-4-2ES26.sbn remapped to firmware/7941/cnu41.9-4-2ES26.sbn
Mar 28 11:41:48 freepbx in.tftpd[2257]: Client 10.98.1.5 finished cnu41.9-4-2ES26.sbn
Mar 28 11:41:52 freepbx in.tftpd[2258]: RRQ from 10.98.1.5 filename apps41.9-4-2ES26.sbn remapped to firmware/7941/apps41.9-4-2ES26.sbn
Mar 28 11:41:58 freepbx in.tftpd[2258]: Client 10.98.1.5 finished apps41.9-4-2ES26.sbn
Mar 28 11:42:09 freepbx in.tftpd[2294]: RRQ from 10.98.1.5 filename dsp41.9-4-2ES26.sbn remapped to firmware/7941/dsp41.9-4-2ES26.sbn
Mar 28 11:42:10 freepbx in.tftpd[2294]: Client 10.98.1.5 finished dsp41.9-4-2ES26.sbn
Mar 28 11:42:14 freepbx in.tftpd[2295]: RRQ from 10.98.1.5 filename cvm41sccp.9-4-2ES26.sbn remapped to firmware/7941/cvm41sccp.9-4-2ES26.sbn
Mar 28 11:42:18 freepbx in.tftpd[2295]: Client 10.98.1.5 finished cvm41sccp.9-4-2ES26.sbn
Mar 28 11:43:32 freepbx in.tftpd[2331]: RRQ from 10.98.1.5 filename CTLSEP001E4A93748B.tlv remapped to settings/CTLSEP001E4A93748B.tlv
Mar 28 11:43:32 freepbx in.tftpd[2331]: Client 10.98.1.5 File not found settings/CTLSEP001E4A93748B.tlv
Mar 28 11:43:32 freepbx in.tftpd[2332]: RRQ from 10.98.1.5 filename ITLSEP001E4A93748B.tlv remapped to settings/ITLSEP001E4A93748B.tlv
Mar 28 11:43:32 freepbx in.tftpd[2332]: Client 10.98.1.5 File not found settings/ITLSEP001E4A93748B.tlv
Mar 28 11:43:32 freepbx in.tftpd[2333]: RRQ from 10.98.1.5 filename ITLFile.tlv remapped to settings/ITLFile.tlv
Mar 28 11:43:32 freepbx in.tftpd[2333]: Client 10.98.1.5 File not found settings/ITLFile.tlv
Mar 28 11:43:33 freepbx in.tftpd[2334]: RRQ from 10.98.1.5 filename SEP001E4A93748B.cnf.xml remapped to settings/SEP001E4A93748B.cnf.xml
Mar 28 11:43:33 freepbx in.tftpd[2334]: Client 10.98.1.5 finished SEP001E4A93748B.cnf.xml
Mar 28 11:43:42 freepbx in.tftpd[2341]: RRQ from 10.98.1.5 filename English_United_States/mk-sccp.jar remapped to locales/languages/English_United_States/mk-sccp.jar
Mar 28 11:43:43 freepbx in.tftpd[2341]: Client 10.98.1.5 finished English_United_States/mk-sccp.jar
Mar 28 11:43:45 freepbx in.tftpd[2342]: RRQ from 10.98.1.5 filename United_States/g3-tones.xml remapped to locales/countries/United_States/g3-tones.xml
Mar 28 11:43:45 freepbx in.tftpd[2342]: Client 10.98.1.5 finished United_States/g3-tones.xml
Hello All:
I am trying to setup HTTP provisioning instead of TFTP due to decreasing the Cisco phone's boot-up time. I am not sure whether to post this issue here at
sccp_manager
or underprovision_sccp
, but the two are closely connected to each other.To start off, I have installed
chan_sccp
,sccp_manager
, andprovision_sccp
in that order on a FreePBX 16 system with Asterisk 16. The Default Device Language has been set toEnglish_United_States
and the Network Country isUnited_States
.The phones can get most of the files (firmware, config, ringtones, wallpapers, etc.) via HTTP requests, but are unable to pull down the country-specific files, specifically the
/United_States/g3-tones.xml
file. Between theindex.php
file and theindex.cnf
file located in the/tftpboot
folder, the Apache webserver is providing a link to the phone tog3-tones.xml
at/tftpboot/locales/languages/United_States/g3-tones.xml
but this should be at/tftpboot/locales/countries/United_States/g3-tones.xml
Here's where it becomes more difficult:
sccp_manager
is looking for the language and country files to be located inside the'locales'
folder of/tftpboot
to generate the device configuration files with, whileprovision_sccp
is using a'language'
file (and no'country'
file) directly on the root of the/tftpboot
folder (not nested within the'locales'
folder).No matter what I change in the
index.cnf
file, I cannot modify or reroute the countries request (g3-tones.xml
) from the phone to the'countries'
folder located in the'locales'
folder. And yet, with debug set to on, the'countries'
and'languages'
values are at the correct location of/tftpboot/locales/countries
and/tftpboot/locales/languages
respectively.I also noticed when setting the
default_language
inindex.cnf
, the value is/tftpboot/locales/English_United_States
but should be/tftpboot/locales/languages/English_United_States
. Adding alanguages/
to the beginning when setting this value seems to correct this.On the other hand, the TFTP re-writes/map file works as expected and I can always provision the files via TFTP; though much slower since the phones try to connect via HTTP first, then TFTP second.
So far, the current workaround I came up with is to temporarily disable the
tftpboot.conf
Apache webserver, forcing the phones to update the initial firmware and config file over TFTP initially, and then re-enable thetftpboot.conf
Apache webserver. It appears that the phones only request the locale information once a firmware has been changed or updated, and I am sure the phones will operate just fine without the locale information downloaded; but it would be nice to have the best of both worlds.I do realize that there is an open request to port the
index.php
file into an Apachemod_rewrite
webserver config file, but is there anyone able to take a look at this issue to get it work with the currentindex.php/index.cnf
method for now to work with bothsccp_manager
andprovision_sccp together
?Below are some config files and debug output if it helps anyone with the issue:
tftpboot.conf
index.cnf
index.php
/var/log/httpd/tftp.access.log
/tftpboot/provision.log
/var/log/messages
Thank you everyone :)