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)

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