Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
152d8d8777 | ||
|
6e28b501e9 | ||
|
6e5cfaa3eb | ||
|
9fc70cdbca | ||
|
9ed891b130 | ||
|
09b259c85e | ||
|
b214fee18a | ||
|
a0c5cda9d3 | ||
|
6aaf4327cd | ||
|
8f300559e1 | ||
|
a096463b5f | ||
|
6dd47d03ab | ||
|
9e7cb0eb8d | ||
|
a34b53249b | ||
|
d3e2889b24 | ||
|
06922fc679 |
@@ -16,7 +16,7 @@ server {
|
||||
|
||||
location / {
|
||||
# settings
|
||||
rewrite ^/((.*)(\.cnf\.xml|\.tlv|authorized_keys)(\.enc)?(\.sgn)?)$ /settings/$1 last;
|
||||
rewrite ^/((.*)(\.cnf\.xml|\.tlv|\.json|authorized_keys)(\.enc)?(\.sgn)?)$ /settings/$1 last;
|
||||
|
||||
# firmware
|
||||
rewrite ^/((.*).(bin|bin.|loads|LOADS|sbn|SBN|sb2|sbin|zz|zup)(\.sgn)?)$ /firmware/$1 last;
|
||||
@@ -27,7 +27,7 @@ server {
|
||||
rewrite ^/(.*)/((.*)(-kate(.*)\.xml)(\.sgn)?)$ /locales/languages/$1/$2 last;
|
||||
rewrite ^/(.*)/((.*)(-sccp\.jar)(\.sgn)?)$ /locales/languages/$1/$2 last;
|
||||
rewrite ^/(.*)/((.*)(-font\.xml)(\.sgn)?)$ /locales/languages/$1/$2 last;
|
||||
rewrite ^/(.*)/(CIPC_Locale\.(.*))(\.sgn)?)$ /locales/languages/$1/$2 last;
|
||||
rewrite ^/(.*)/(CIPC_Locale\.(.*))(\.sgn)?$ /locales/languages/$1/$2 last;
|
||||
|
||||
rewrite ^/(.*)/((.*)(-tones.xml)(\.sgn)?)$ /locales/countries/$1/$2 last;
|
||||
|
||||
|
@@ -1,3 +1,11 @@
|
||||
#
|
||||
# TFTPd Rewrite for SCCP_Manager Custom remaping
|
||||
# /firmware
|
||||
# /settings
|
||||
# /wallpapers
|
||||
# /ringtones
|
||||
# /locales
|
||||
#
|
||||
# 6901 firmware (java-based)
|
||||
ri ^(APP6901SCCP)(.+\.sgn)$ firmware/6901/\1\2
|
||||
ri ^(KNL6901SCCP)(.+\.sgn)$ firmware/6901/\1\2
|
||||
@@ -50,13 +58,13 @@ ri ^(P00405000700.sbn)$ firmware/7910/\1
|
||||
ri ^(CP7912080004SCCP080108A.sbin)$ firmware/7912/\1
|
||||
|
||||
# 7915 firmware (ancient)
|
||||
ri ^(B015-1-0-4.SBN)$ firmware/7915/\1
|
||||
ri ^(B015-1-0-)(.+\.SBN)$ firmware/7915/\1\2
|
||||
|
||||
# 7916 firmware (ancient)
|
||||
ri ^(B016-1-0-4.SBN)$ firmware/7916/\1
|
||||
ri ^(B016-1-0-)(.+\.SBN)$ firmware/7916/\1\2
|
||||
|
||||
# 7920 firmware (ancient)
|
||||
ri ^(cmterm_7920.4.0-03-02.bin)$ firmware/7920/\1
|
||||
ri ^(cmterm_7920)(.+\.bin)$ firmware/7920/\1\2
|
||||
|
||||
# 7921_7925 firmware (ancient)
|
||||
ri ^(APPS-1.4.3.4.SBN)$ firmware/7921/\1
|
||||
@@ -98,14 +106,10 @@ ri ^(cmterm_7936.3-3-21-0.bin)$ firmware/7936/\1
|
||||
ri ^(apps37sccp.1-4-5-7.bin)$ firmware/7937/\1
|
||||
|
||||
# 7940_7960 firmware (ancient)
|
||||
ri ^(P0030801SR.bin)$ firmware/7940/\1
|
||||
ri ^(P0030801SR.loads)$ firmware/7940/\1
|
||||
ri ^(P0030801SR.sb2)$ firmware/7940/\1
|
||||
ri ^(P0030801SR.sbn)$ firmware/7940/\1
|
||||
ri ^(P0030801SR01.bin)$ firmware/7940/\1
|
||||
ri ^(P0030801SR01.loads)$ firmware/7940/\1
|
||||
ri ^(P0030801SR01.sb2)$ firmware/7940/\1
|
||||
ri ^(P0030801SR01.sbn)$ firmware/7940/\1
|
||||
ri ^(P0030801SR)(.+\.bin)$ firmware/7940/\1\2
|
||||
ri ^(P0030801SR)(.+\.loads)$ firmware/7940/\1\2
|
||||
ri ^(P0030801SR)(.+\.sb2)$ firmware/7940/\1\2
|
||||
ri ^(P0030801SR)(.+\.sbn)$ firmware/7940/\1\2
|
||||
|
||||
# 7941_7961 firmware (java-based)
|
||||
ri ^(apps41)(.+\.sbn)$ firmware/7941/\1\2
|
||||
@@ -167,12 +171,6 @@ ri ^(SCCP894x)(.+\.loads)$ firmware/894x/\1\2
|
||||
# ata186/ata188 firmware (ancient)
|
||||
ri ^(ATA030204SCCP090202A.zup)$ firmware/ata186/\1
|
||||
|
||||
# SPA
|
||||
ri ^(spa50x)(.+\.bin)$ firmware/spa50x/\1\2
|
||||
ri ^(spa51x)(.+\.bin)$ firmware/spa51x/\1\2
|
||||
ri ^(spa525)(.+\.bin)$ firmware/spa525/\1\2
|
||||
ri ^(spa941)(.+\.bin)$ firmware/spa941/\1\2
|
||||
|
||||
# Sub-Directory Handling
|
||||
|
||||
# settings
|
||||
@@ -187,21 +185,25 @@ ri ^\/((SPA504G-cfg.xml)(\.enc)?(\.sgn)?)$ settings/\1
|
||||
#ri ^(.+\.sbn)$ firmware/\1
|
||||
|
||||
# Keep locales in a separate directory (optional)
|
||||
ri ^(.+)\/(.+-sccp.jar(.+\.sgn)?)$ locales/languages/\1/\2
|
||||
ri ^(.+)\/(.+-dictionary.+.xml(.+\.sgn)?)$ locales/languages/\1/\2
|
||||
ri ^(.+)\/(.+-font.xml(.+\.sgn)?)$ locales/languages/\1/\2
|
||||
ri ^(.+)\/(.+-kate.+\.xml(.+\.sgn)?)$ locales/languages/\1/\2
|
||||
ri ^(.+)\/(CIPC_Locale\..+(.+\.sgn)?)$ locales/languages/\1/\2
|
||||
ri ^(.+)\/(.+-tones.xml(.+\.sgn)?)$ locales/countries/\1/\2
|
||||
ri ^(.+)\/(.+-sccp.jar)$ languages/\1/\2
|
||||
ri ^(.+)\/(.+-sip.jar)$ languages/\1/\2
|
||||
ri ^(.+)\/(.+-dictionary.xml)$ languages/\1/\2
|
||||
ri ^(.+)\/(.+-dictionary-ext.xml)$ languages/\1/\2
|
||||
ri ^(.+)\/(.+-tones.xml)$ languages/\1/\2
|
||||
ri ^(.+)\/(.+-font.xml)$ languages/\1/\2
|
||||
ri ^(.+)\/(.+-kate.xml)$ languages/\1/\2
|
||||
ri ^(.+)\/(gk.+)(\.cfg)$ languages/\1/\2\3
|
||||
|
||||
#ri ^(.+)\/(.+-tones.xml)$ locales/countries/\1/\2
|
||||
|
||||
# Keep ring-tones in a separate directory (optional)
|
||||
ri ^([R|r]ing[L|l]ist)(\.xml|-wb\.xml)(\.sgn)?$ ringtones/ringlist.xml
|
||||
ri ^(Distinctive[R|r]ing[L|l]ist)(\.xml|-wb\.xml)(\.sgn)?$ ringtones/ringlist.xml
|
||||
ri ^(.+)(\.raw|\.rwb)(\.sgn)?$ ringtones/\1\2\3
|
||||
ri ^(.+)(\.raw|\.rwb|\.pcm)(\.sgn)?$ ringtones/\1\2\3
|
||||
|
||||
# Rename Desktops to wallpapers (optional)
|
||||
ri ^Desktops/(.+)/(List\.xml)(\.sgn)?$ wallpapers/\1/\2\3
|
||||
ri ^Desktops/(.+)/(.+\.png)(\.sgn)?$ wallpapers/\1/\2\3
|
||||
#ri ^Desktops/(.+)/(List\.xml)(\.sgn)?$ wallpapers/\1/\2\3
|
||||
#ri ^Desktops/(.+)/(.+\.png)(\.sgn)?$ wallpapers/\1/\2\3
|
||||
|
||||
ri ^authorized_keys$ settings/authorized_keys
|
||||
|
||||
|
@@ -26,7 +26,7 @@
|
||||
<part m="off" t="300"/>
|
||||
<part m="on" t="200"/>
|
||||
<part m="off" t="300"/>
|
||||
<part m="on" t="300"/>
|
||||
<part m="on" t="200"/>
|
||||
<part m="off" t="800"/>
|
||||
<repeat c="65535"/>
|
||||
</tone>
|
||||
|
@@ -26,7 +26,7 @@
|
||||
<part m="off" t="300"/>
|
||||
<part m="on" t="200"/>
|
||||
<part m="off" t="300"/>
|
||||
<part m="on" t="300"/>
|
||||
<part m="on" t="200"/>
|
||||
<part m="off" t="800"/>
|
||||
<repeat c="65535"/>
|
||||
</tone>
|
||||
|
@@ -26,7 +26,7 @@
|
||||
<part m="off" t="300"/>
|
||||
<part m="on" t="200"/>
|
||||
<part m="off" t="300"/>
|
||||
<part m="on" t="300"/>
|
||||
<part m="on" t="200"/>
|
||||
<part m="off" t="800"/>
|
||||
<repeat c="65535"/>
|
||||
</tone>
|
||||
|
@@ -1,23 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
outfile=ringlist.xml
|
||||
echo -e "<CiscoIPPhoneRingList>" >$outfile
|
||||
if [ ! -z "`ls *.pcm 2>/dev/null`" ]; then
|
||||
for filename in *.pcm;do
|
||||
basename=`basename ${filename} .pcm`
|
||||
echo -e "\t<Ring>" >>$outfile
|
||||
echo -e "\t\t<DisplayName>${basename}</DisplayName>" >>$outfile
|
||||
echo -e "\t\t<FileName>ringtones\${filename}</FileName>" >>$outfile
|
||||
echo -e "\t</Ring>" >>$outfile
|
||||
done
|
||||
fi
|
||||
if [ ! -z "`ls *.raw 2>/dev/null`" ]; then
|
||||
for filename in *.raw;do
|
||||
basename=`basename ${filename} .raw`
|
||||
echo -e "\t<Ring>" >>$outfile
|
||||
echo -e "\t\t<DisplayName>${basename}</DisplayName>" >>$outfile
|
||||
echo -e "\t\t<FileName>ringtones\${filename}</FileName>" >>$outfile
|
||||
echo -e "\t</Ring>" >>$outfile
|
||||
done
|
||||
fi
|
||||
echo -e "</CiscoIPPhoneRingList>" >>$outfile
|
||||
|
@@ -1,62 +1,63 @@
|
||||
<CiscoIPPhoneRingList>
|
||||
<Ring>
|
||||
<DisplayName>drums1</DisplayName>
|
||||
<FileName>ringtones\drums1.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>drums2</DisplayName>
|
||||
<FileName>ringtones\drums2.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>loudc1</DisplayName>
|
||||
<FileName>ringtones\loudc1.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>loudc2</DisplayName>
|
||||
<FileName>ringtones\loudc2.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>loudlaser</DisplayName>
|
||||
<FileName>ringtones\loudlaser.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>merlin2</DisplayName>
|
||||
<FileName>ringtones\merlin2.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>merlin3</DisplayName>
|
||||
<FileName>ringtones\merlin3.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>merlin4</DisplayName>
|
||||
<FileName>ringtones\merlin4.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>merlin5</DisplayName>
|
||||
<FileName>ringtones\merlin5.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>merlin6</DisplayName>
|
||||
<FileName>ringtones\merlin6.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>merlin7</DisplayName>
|
||||
<FileName>ringtones\merlin7.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>ringer1</DisplayName>
|
||||
<FileName>ringtones\ringer1.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>ringer2</DisplayName>
|
||||
<FileName>ringtones\ringer2.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>ringer3</DisplayName>
|
||||
<FileName>ringtones\ringer3.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>ringer4</DisplayName>
|
||||
<FileName>ringtones\ringer4.pcm</FileName>
|
||||
</Ring>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<CiscoIPPhoneRingList>
|
||||
<Ring>
|
||||
<DisplayName>drums1</DisplayName>
|
||||
<FileName>ringtones/drums1.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>drums2</DisplayName>
|
||||
<FileName>ringtones/drums2.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>loudc1</DisplayName>
|
||||
<FileName>ringtones/loudc1.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>loudc2</DisplayName>
|
||||
<FileName>ringtones/loudc2.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>loudlaser</DisplayName>
|
||||
<FileName>ringtones/loudlaser.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>merlin2</DisplayName>
|
||||
<FileName>ringtones/merlin2.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>merlin3</DisplayName>
|
||||
<FileName>ringtones/merlin3.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>merlin4</DisplayName>
|
||||
<FileName>ringtones/merlin4.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>merlin5</DisplayName>
|
||||
<FileName>ringtones/merlin5.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>merlin6</DisplayName>
|
||||
<FileName>ringtones/merlin6.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>merlin7</DisplayName>
|
||||
<FileName>ringtones/merlin7.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>ringer1</DisplayName>
|
||||
<FileName>ringtones/ringer1.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>ringer2</DisplayName>
|
||||
<FileName>ringtones/ringer2.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>ringer3</DisplayName>
|
||||
<FileName>ringtones/ringer3.pcm</FileName>
|
||||
</Ring>
|
||||
<Ring>
|
||||
<DisplayName>ringer4</DisplayName>
|
||||
<FileName>ringtones/ringer4.pcm</FileName>
|
||||
</Ring>
|
||||
</CiscoIPPhoneRingList>
|
||||
|
38
tools/createTftpbootXmlStructure.php
Normal file
38
tools/createTftpbootXmlStructure.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
//Usage: php createTftpbootXmlStructure.php;
|
||||
|
||||
function createCats($currDirPos){
|
||||
|
||||
$xml = '';
|
||||
|
||||
if(is_dir($currDirPos)){
|
||||
// Remove unix ./..
|
||||
foreach (array_diff(scandir($currDirPos),array('.','..')) as $subDir) {
|
||||
if (is_dir("{$currDirPos}/{$subDir}")) {
|
||||
$thisPath = "{$currDirPos}/{$subDir}";
|
||||
if (is_link("{$currDirPos}/{$subDir}")) {
|
||||
$thisPath= $currDirPos . "/" . readlink("{$currDirPos}/{$subDir}");
|
||||
}
|
||||
$xml .= "<Directory name = '{$subDir}'><DirectoryPath>" . ltrim($thisPath,'./') . "/</DirectoryPath>";
|
||||
$xml .= createCats("{$currDirPos}/{$subDir}");
|
||||
$xml .= "</Directory>";
|
||||
} else {
|
||||
$xml .= "<FileName>{$subDir}</FileName>";
|
||||
}
|
||||
}
|
||||
}
|
||||
return $xml;
|
||||
}
|
||||
|
||||
function saveXml($xml, $filename) {
|
||||
$xml = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'.'<tftpboot>' . $xml . '</tftpboot>';
|
||||
$dom = new \DOMDocument("1.0");
|
||||
$dom->preserveWhiteSpace = false;
|
||||
$dom->formatOutput = true;
|
||||
$dom->loadXML($xml);
|
||||
$dom->save($filename);
|
||||
}
|
||||
|
||||
saveXml(createCats('../tftpboot'),'tftpbootFiles.xml');
|
||||
?>
|
34
tools/mkringlist.php
Normal file
34
tools/mkringlist.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
//Usage: php mkringlist.php;
|
||||
|
||||
function createCats($currDirPos){
|
||||
|
||||
$xml = '';
|
||||
|
||||
if(is_dir($currDirPos)){
|
||||
// Remove unix ./..
|
||||
foreach (array_diff(scandir($currDirPos),array('.','..')) as $subDir) {
|
||||
//remove link information
|
||||
$subDir = explode(' ', $subDir);
|
||||
$displayName = explode('.',$subDir[0]);
|
||||
$fileName = str_replace('../tftpboot/','',$currDirPos) .'/'. $subDir[0];
|
||||
if (in_array($displayName[1], array('pcm','raw'))) {
|
||||
$xml .= "<Ring><DisplayName>{$displayName[0]}</DisplayName><FileName>{$fileName}</FileName></Ring>";
|
||||
}
|
||||
}
|
||||
}
|
||||
return $xml;
|
||||
}
|
||||
|
||||
function saveXml($xml, $filename) {
|
||||
$xml = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'.'<CiscoIPPhoneRingList>' . $xml . '</CiscoIPPhoneRingList>';
|
||||
$dom = new \DOMDocument("1.0");
|
||||
$dom->preserveWhiteSpace = false;
|
||||
$dom->formatOutput = true;
|
||||
$dom->loadXML($xml);
|
||||
$dom->save($filename);
|
||||
}
|
||||
|
||||
saveXml(createCats('../tftpboot/ringtones'),'../tftpboot/ringtones/ringlist.xml');
|
||||
?>
|
2882
tools/tftpbootFiles.xml
Normal file
2882
tools/tftpbootFiles.xml
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user