PDA

Voir la version complète : Surveillance et Alerte perte connexion SIP/Peer



red68
26/01/2017, 14h34
Bonjour,

J'utilise Asterisk sur Raspberry pour mettre en oeuvre un système de portier IP qui fait sonner les téléphone enregistrés en SIP.
J'ai besoin d'être alerté lorsque le portier devient UNREACHABLE afin que les clients ne restent pas à la porte.
L'idéal serait que lorsque le portier IP devient Unreachable, une alerte soit envoyé sur tous les postes qui sont encore reachable.

Je précise mon système :

Portier : LINCOM IDP CAM
Serveur SIP : RASPBX (donc freepbx)
Les téléphone portables utilises : CSIPSIMPLE en Wifi.

Le fonctionnement reste local, pas de besoin d'être informé par GSM mais uniquement via le reseau local de la société.

J'espère que quelqu'un aura une solution à me donner car cela pose quelques problèmes avec les clients lorsqu'ils restent bêtement devant la porte.

Bonne journée.

jean
27/01/2017, 16h26
je ne connais pas de solution standard, il faut que tu fasses un petit script, soit en regardant l'état via un asterisk -rx "sip show peers", soit via ami, soit en étant à core set verbose 2, et surveiller le log asterisk ou les register/unregister apparaissent

fastm3
28/01/2017, 12h12
je ne connais pas de solution standard, il faut que tu fasses un petit script, soit en regardant l'état via un asterisk -rx "sip show peers", soit via ami, soit en étant à core set verbose 2, et surveiller le log asterisk ou les register/unregister apparaissent
+1.
Bien sur , il existe des solutions de monitoring bien plus evolué pour surveiller les services asterisk ou autres mais pour un usage perso. Un petit script suffit generalement.

Un exemple a adapter au nom de tes peers.


#
# Check for Offline SIP Peers
#
CLIENT=identification serveur.
# si le fichier existe , cela a echoué une premiere fois.
if [ -s "/tmp/checkTrunk" ]; then
ALREADYFAILED=0
rm -f /tmp/checkTrunk
#echo "already failed"
fi


# test des registry ovh
/usr/sbin/asterisk -rx 'sip show registry' | grep -v "Asterisk ending (0)" | grep -v -i registered | grep -v -i "SIP registrations" | grep -v -i "Refresh State" >/tmp/checkTrunk
# test des peers ovh
/usr/sbin/asterisk -rx 'sip show peers' | grep -v "Asterisk ending (0)" | grep "ovh" | grep -v -i "OK" >>/tmp/checkTrunk
#
#
if [ -s "/tmp/checkTrunk" ]; then
#cat /tmp/checkTrunk
if [ $ALREADYFAILED ]; then
#echo "send mail"
mail -s "trunk $CLIENT Connections OffLine please Check" test@gmail.com </tmp/checkTrunk
fi
#/telisk/resetgateway.sh
/usr/sbin/asterisk -rx "sip reload"
fi

Tu mets ca dans un cron avec la frequence que tu veux. Mais bon c'est pas du realtime...
Ici j'envoie un email que au bout du 2eme test en erreur.

Cheers !
Francois.