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