Snom e Asterisk: script per riavviare tutti i telefoni col SIP provisioning

Abbiamo visto in un precedente tutorial come utilizzare il sip NOTIFY per il sip provisioning (sync e reboot).
In questo tutorial vedreno uno script in php per il riavvio di tutti i telefoni SNOM.
SCRIPT
#!/usr/bin/php -q
<?php
/*------------------------------------------------------
Author: ASTERWEB
Company: ASTERWEB
Date: 25/09/2016
E-mail: info@asterweb.org
------------------------------------------------------*/
$UAsearch = "snom";
$CMDreboot = "snom-reboot-cfg"; //modificare se necessario
$data = shell_exec("/usr/sbin/asterisk -rx \"sip show peers\" | grep -v grep | awk '{print \$1\"|\"\$2\"|\"\$8}'");
$lines = explode("\n", $data);
for ($i=0;$i<count($lines); $i++)
{
if (strpos($lines[$i], 'OK') !== false)
{
$splitlines = explode("|", $lines[$i]);
$comodopeer = explode("/", $splitlines[0]);
$peer = $comodopeer[0];
$peer = str_replace("\n","",$peer);
$ua = shell_exec("/usr/sbin/asterisk -rx \"sip show peer $peer\" | grep -v grep | grep Useragent");
$ua = str_replace("\n","",$ua);
if (stripos($ua, $UAsearch) !== false)
{
echo "reboot $peer $ua\n";
$reboot = shell_exec("/usr/sbin/asterisk -rx \"sip notify $CMDreboot\"");
}
}
}
exit;
?>
Copiate il codice e create lo script (es: snom-reboot.php) e mettetelo in una cartella (es: /var/lib/asterisk/bin oppure in /usr/local/bin) e quindi da shell:
# chown root:root [percorso]/[script] (es: /usr/local/bin/snom-reboot.php)
# chmod +x [percorso]/[script] (es: /usr/local/bin/snom-reboot.php)
# chmod +x [percorso]/[script] (es: /usr/local/bin/snom-reboot.php)
Per eseguire manualmente lo script:
# [percorso]/[script] (es: /usr/local/bin/snom-reboot.php)
Potete, se necessario/opportuno, inserire lo script nel crontab per il riavvio periodico dei telefoni (es: ogni notte, la domenica, etc).
Migliora il tuo business. Partecipa ai nostri Corsi! |
||
|
I nostri corsi OnLine ed in Aula sono studiati per garantire il miglior apprendimento e sono finalizzati a "creare professionisti nel settore". Questi i prossimi corsi in calendario: |
Corsi 2019
| Corso | Data | Tipo |
|---|














