05 - Script
1) Script d'administration Bash
Ce script centralise les opérations courantes d'administration de l'infrastructure VoIP.
##############################################################
# Auteur : mkermorvant #
# Date de modification : 20260511 #
# #
# Description : Management Asterisk #
# #
##############################################################
#! /bin/bash #
# #
##############################################################
# Variables :
echo ""
ASTERISK="192.168.99.9"
TEL_1000="192.168.10.67"
TEL_1001="192.168.10.66"
#Code couleur ANSI pour l'affichage terminal
VERT='\033[0;32m'
ROUGE='\033[0;31m'
JAUNE='\033[0;33m'
NEUTRE='\033[0m'
BLEU='\033[0;36m'
PS3="Qu'elle action souhaiter vous exécuter : "
OPTIONS=( "Statut Serveur Asterisk" "Ping" "Contacts" "Appels en cours" "Redémarrage Serveur Assterisk" "Rechargement Config" "Quitter" )
##############################################################
#Boucle principale : réaffiche le menu après chaque action
while true; do
clear
echo -e "${BLEU}###############################################################"
echo "# #"
echo "# Admin Asterisk #"
echo "# #"
echo "###############################################################"
echo "# #"
echo "# Liste Options : #"
echo "# #"
echo "# 1) Statut Serveur #"
echo "# 2) Ping Téléphones #"
echo "# 3) Liste Contacts #"
echo "# 4) Liste Appel #"
echo "# 5) Redémarage Asterisk #"
echo "# 6) Rechargement Config #"
echo "# 7) Quitter #"
echo "# #"
echo -e "###############################################################${NEUTRE}"
##############################################################
#Lecture du choix
echo -ne " Votre choix : "
read REPLY
#Traitement du choix via case
case $REPLY in
1)
echo -e "${VERT}=== Statut du Serveur Asterisk ===${NEUTRE}"
sudo systemctl status asterisk.service #Affiche l'état du service systemd
echo ""
;;
2)
echo -e "${VERT}=== Ping Asterisk vers Téléphones ===${NEUTRE}"
# 3 paquets ICMP envoyés, résultat coloré selon le succès ou l'échec
ping -c 3 $TEL_1000 && echo -e "${VERT}1000 OK${NEUTRE}" || echo -e "${VERT}1000 KO${NEUTRE}"
echo ""
ping -c 3 $TEL_1001 && echo -e "${VERT}1001 OK${NEUTRE}" || echo -e "${ROUGE}1001 KO${NEUTRE}"
echo ""
;;
3)
echo -e "${VERT}=== Liste contacts Asterisk ===${NEUTRE}"
sudo asterisk -rx "pjsip show contacts" #Commande exécuté dans la CLI asterisk
echo""
;;
4)
echo -e "${VERT}=== Liste d'appel en cours ===${NEUTRE}"
sudo asterisk -rx "core show channels" #Liste les canaux actifs
echo ""
;;
5)
echo -e "${VERT}=== Redémarage du Serveur Asterisk ===${NEUTRE}"
sudo systemctl restart asterisk.service #Redemmarre le service
echo ""
;;
6)
echo -e "${VERT}=== Rechargement de la Configuration ===${NEUTRE}"
sudo asterisk -rx "module reload res_pjsip.so" #Recharge le module PJSIP
sudo asterisk -rx "dialplan reload" #Recharge le plan de numérotation
echo ""
;;
7)
echo -e "${JAUNE}=== Quitter ===${NEUTRE}"
break #Sort de la boucle While
echo ""
;;
*)
#Toute saisie non reconnue
echo -e "${ROUGE}=== Option invalide, veuillez réessayer ===${NEUTRE}"
echo ""
;;
esac
#Pause avant de réafficher le menu
echo -ne "Appuie sur Entrée..."
read
done