[Asterisk] Les commandes utiles pour Asterisk
24/06/2018
En cas de problème sur Asterisk, il est pratique de connaître les commandes de base à utiliser pour établir un premier diagnostique.
Nous présentons ici les principales commandes utiles et les explications pour bien les comprendre.
Nous partons du principe que le service Asterisk tourne en tâche de fond sur nos serveurs.
Pour se connecter à la console Asterisk, la commande est la suivante :
Une fois connecté à la console, pour connaître la liste des commandes disponibles il suffit de saisir « ? ».
Pour lister toutes les entités SIP, c'est-à-dire tous les téléphones et les trunks SIP, la commande est la suivante :
Cette commande précise notamment le username SIP, l'adresse IP associée, l'état de l'entité et le ping SIP.
Le résultat de la commande ressemble à ceci :
La lecture du résultat de la commande est la suivante :
La commande nous renseigne aussi sur le fait qu'il y a 3 comptes SIP de créés sur le serveur Asterisk, dont 2 qui sont connectés et 1 qui ne l'est pas.
La commande suivante permet de lister les paramètres détaillés d'un compte SIP :
Pour visualiser les communications en cours :
Le résultat de la commande ressemble à ceci :
La lecture du résultat est la suivante :
Pour connaître le détail d'une communication en cours, la commande est la suivante :
Le résultat de cette commande est très verbeux. Plusieurs parties peuvent nous intéresser.
Les lignes suivantes nous renseigne sur le codec utilisé :
Les variables CDR nous renseigne notamment sur la durée de l'appel (peut être très utile pour détecter les appels fantômes, c'est-à-dire mal raccrochés) :
La commande suivante est utile pour s'assurer qu'il n'y a pas de pertes de paquets RTP (c'est-à-dire de paquets audios) lors d'une communication :
Le résultat est de la forme suivante :
La lecture du résultat est la suivante :
Il est à noter que l'ensemble des commandes présentées peuvent être saisies directement depuis un shell Linux de la manière suivante :
Cette possibilité s'avère particulièrement utile pour combiner le résultat d'une commande Asterisk avec d'autres commandes SHELL.
Par exemple, pour lister tous les postes SIP connectés depuis un site dont le sous-réseau est 192.168.11.x :
root@asterisk1:~# asterisk -rx 'sip show peers' | grep 192.168.11.
Exemple de résultat :
Seuls les postes 1002 et 1003 ressortent.
Dans un prochain article, nous aborderons les clés de lecture nécessaires à l'analyse des fichiers de log Asterisk.
[Asterisk] Connaître son nombre d'appels simultanés
[Asterisk] Mettre à jour son serveur Asterisk
Tous nos articles classés par thème
Voir un article au hasard
Vous avez aimé cet article ? Vous cherchez un support professionnel ? Alors contactez-nous.
Nous présentons ici les principales commandes utiles et les explications pour bien les comprendre.
Connexion à la console Asterisk
Nous partons du principe que le service Asterisk tourne en tâche de fond sur nos serveurs.
Pour se connecter à la console Asterisk, la commande est la suivante :
root@asterisk1:~# asterisk -rvvv
Une fois connecté à la console, pour connaître la liste des commandes disponibles il suffit de saisir « ? ».
Lister tous les comptes SIP
Pour lister toutes les entités SIP, c'est-à-dire tous les téléphones et les trunks SIP, la commande est la suivante :
asterisk*CLI> sip show peers
Cette commande précise notamment le username SIP, l'adresse IP associée, l'état de l'entité et le ping SIP.
Le résultat de la commande ressemble à ceci :
Name/username Host Dyn Forcerport Comedia ACL Port Status Description 1001/s Unspecified D Yes Yes 11475 UNKNOW 1002/s 192.168.11.1 D Yes No A 1024 OK (29 ms) 1003/s 192.168.11.2 D Yes No 5060 OK (14 ms) 3 sip peers [Monitored: 2 online, 1 offline Unmonitored: 0 online, 0 offline]
La lecture du résultat de la commande est la suivante :
- Le poste « 1001 » n'est pas enregistré sur le serveur Asterisk :
- Son adresse IP n'est pas connue : elle vaut « Unspecified »
- Son état est à « UNKNOW »
- Le poste « 1002 » est bien enregistré sur le serveur Asterisk :
- Son état est à « OK »
- Son adresse IP est 192.168.11.1
- Sa latence SIP est de « 29ms »
- Le poste « 1003 » est bien enregistré sur le serveur Asterisk :
- Son état est à « OK »
- Son adresse IP est 192.168.11.2
- Sa latence SIP est de « 14ms »
La commande nous renseigne aussi sur le fait qu'il y a 3 comptes SIP de créés sur le serveur Asterisk, dont 2 qui sont connectés et 1 qui ne l'est pas.
Détailler les paramètres d'un compte SIP
La commande suivante permet de lister les paramètres détaillés d'un compte SIP :
asterisk*CLI> sip show peer 1001
Voir les communications en cours
Pour visualiser les communications en cours :
asterisk*CLI> core show channels
Le résultat de la commande ressemble à ceci :
Channel Location State Application(Data) SIP/1001-00009867 s@user:36 Up Dial(SIP/1002,15,hHtT) SIP/1002-00009876 (None) Up AppDial((Outgoing Line)) 2 active channels 1 active call 4012 calls processed
La lecture du résultat est la suivante :
- Les postes « 1001 » et « 1002 » sont en communication (l'un avec l'autre)
- C'est le poste « 1001 » qui appelle l'autre poste (la dernière application lancée étant « Dial(SIP/1002,15,hHtT) » qui se traduit par « appeler le poste SIP 1002, laisser sonner 15 secondes avant de passer à l'étape suivante du dialplan s'il ne décroche pas »).
- On observe qu'il y a 1 appel en cours (1001 vers 1002) et qu'il y a eu 4012 appels passés depuis que le service Asterisk est démarré.
Connaître le détail d'une communication en cours
Pour connaître le détail d'une communication en cours, la commande est la suivante :
asterisk*CLI> core show channel SIP/1001-00009867
Le résultat de cette commande est très verbeux. Plusieurs parties peuvent nous intéresser.
Les lignes suivantes nous renseigne sur le codec utilisé :
NativeFormats: (alaw) WriteFormat: alaw ReadFormat: alaw
Les variables CDR nous renseigne notamment sur la durée de l'appel (peut être très utile pour détecter les appels fantômes, c'est-à-dire mal raccrochés) :
level 1: start=2015-06-09 15:44:26 level 1: answer=2015-06-09 15:44:47 level 1: duration=774 level 1: billsec=753
Observer la perte de paquets sur une communication
La commande suivante est utile pour s'assurer qu'il n'y a pas de pertes de paquets RTP (c'est-à-dire de paquets audios) lors d'une communication :
asterisk*CLI> sip show channelstats
Le résultat est de la forme suivante :
Peer Call ID Duration Recv: Pack Lost ( %) Jitter Send: Pack Lost ( %) Jitter 192.168.11.1 4d67bf4946f 0000002619 0000000000 ( 0.00%) 0.0000 0000002626 0000000000 ( 0.00%) 0.0001 192.168.11.2 3560b15a896 00:02:22 0000007095 0000000000 ( 0.00%) 0.0000 0000007096 0000000000 ( 0.00%) 0.0001 192.168.10.1 2f10b98f723 00:43:18 0000000129K 0000000001 ( 0.00%) 0.0000 0000000129K 0000000003 ( 0.00%) 0.0000 3 active SIP channels
La lecture du résultat est la suivante :
- Il n'y a pas de perte de paquets sur ces appels concernant les peer SIP 1001 et 1002 (que ce soit pour les paquets reçus (Recv Pack Lost) comme pour les paquets émis (Send Pack Lost))
- Le peer 1003 rencontre très peu de perte de paquets (quantité totalement négligeable)
- La variation de la latence (Jitter) est faible : cela signifie que la qualité du lien réseau est stable.
Saisir les commandes Asterisk directement depuis le SHELL Linux
Il est à noter que l'ensemble des commandes présentées peuvent être saisies directement depuis un shell Linux de la manière suivante :
root@asterisk1:~# asterisk -rx 'ma commande Asterisk'
Cette possibilité s'avère particulièrement utile pour combiner le résultat d'une commande Asterisk avec d'autres commandes SHELL.
Par exemple, pour lister tous les postes SIP connectés depuis un site dont le sous-réseau est 192.168.11.x :
root@asterisk1:~# asterisk -rx 'sip show peers' | grep 192.168.11.
Exemple de résultat :
1002/s 192.168.11.1 D Yes No A 1024 OK (29 ms) 1003/s 192.168.11.2 D Yes No 5060 OK (14 ms)
Seuls les postes 1002 et 1003 ressortent.
Dans un prochain article, nous aborderons les clés de lecture nécessaires à l'analyse des fichiers de log Asterisk.
Pour aller plus loin
[Asterisk] Connaître son nombre d'appels simultanés
[Asterisk] Mettre à jour son serveur Asterisk
Tous nos articles classés par thème
Voir un article au hasard
Vous avez aimé cet article ? Vous cherchez un support professionnel ? Alors contactez-nous.
Retrouvez nos services et firewall pour pfSense & OPNsense
7 commentaires
sana - 05/01/2016 à 22:10:05
Merci beaucoup pour ces infos et je te souhaite bonne chance avec ce blog et bonne continuation.
patrick - 20/01/2017 à 11:56:13
Top cette page d'aide, utile et efficace, bravo !
meee - 27/04/2017 à 10:28:05
Très utile merci :)
angelo - 30/04/2017 à 12:37:31
très bon merci beaucoup
john - 26/04/2018 à 20:30:24
Salut les gens, je voulais savoir comment appeler un téléphone ip depuis son serveur asterisk, ou encore appeler un téléphone ip depuis un autre téléphone ip
myriam - 28/10/2020 à 11:44:49
je veux savoir le commande pour supprimer le contenu d un fichier sip.conf afin de modifier
Guillaume - 29/10/2020 à 12:09:13
@myriam :
Bonjour,
Dans un terminal, vous pouvez, par exemple, saisir la commande suivante :
echo "" > /etc/sip.conf
Cordialement,
Guillaume
--
Provya
Flux RSS des commentaires de cet article