CLI Asterisk — les 30 commandes à connaître¶
Asterisk a une console interactive très riche. La maîtriser c'est gagner des heures. Toutes les commandes ci-dessous se lancent soit en interactif (
asterisk -rvvvv) soit one-shot (asterisk -rx '<commande>').
Entrer/sortir¶
sudo asterisk -rvvvv # mode interactif, verbose niveau 4
# Ctrl+D ou 'exit' pour sortir
sudo asterisk -rx 'core show version' # one-shot
Vue système¶
core show version # version Asterisk + uptime
core show uptime # uptime seul
core show settings # config core (channel limits, codecs autorisés)
core show channels # appels en cours, format tableau
core show channels concise # idem mais machine-readable
core show channeltypes # technologies dispo (PJSIP, IAX2, …)
core show calls # nombre d'appels actifs
Modules¶
module show # tous les modules + état (Running/Not Running)
module show like pjsip # filtrer
module reload chan_pjsip # recharge un module sans restart full
module load <name> # charge à la volée
module unload <name> # décharge
PJSIP — la stack SIP moderne¶
Vue d'ensemble¶
pjsip list endpoints # liste compacte
pjsip show endpoints # avec contexts
pjsip show endpoint <name> # tout le détail (codecs, transport, AOR, auth)
Registrations (trunks sortants)¶
pjsip show registrations # vue trunks register
pjsip send register <name> # force register d'un trunk
Contacts (téléphones inscrits)¶
pjsip show contacts # téléphones IP qui sont REGISTERed
pjsip show aor <name> # détail AOR (qualify_frequency, max_contacts)
pjsip send qualify <endpoint> # OPTIONS keepalive immédiat
Transports¶
Identifies (auth par IP)¶
Logger SIP¶
pjsip set logger on # log les messages SIP dans /var/log/asterisk/full
pjsip set logger off
pjsip set logger host <ip> # filtrer un IP source
pjsip set logger pcap <file> # capturer en pcap
Channels (appels actifs)¶
core show channels # vue de tous les canaux
core show channel <name> # détail d'un canal (codec, bridge, vars)
soft hangup <channel> # raccrocher proprement un canal
core hangup all # raccroche tout (urgence !)
Bridges¶
core show bridges # ponts actifs (typiquement 2 channels par appel)
core show bridge <id> # qui parle à qui
Dialplan (extensions, contexts)¶
dialplan show # tout le dialplan (long !)
dialplan show <ext>@<context> # une extension précise
dialplan show <context> # un context entier
dialplan reload # recharge sans Asterisk restart
core show globals # variables globales
RTP¶
Voicemail¶
Fichiers et sons¶
file convert <src> <dst> # convertit un audio (.wav ↔ .gsm ↔ .sln)
core show file formats # formats supportés
moh show classes # musique d'attente disponible
Verbose et logs¶
core set verbose 5 # niveau 0-10 (5 = bon compromis diag)
core set debug 3 # debug, plus low-level encore
logger reload # recharge logger.conf
Database (AstDB — clé-valeur interne)¶
database show # toutes les clés
database show <famille> # un namespace
database get <famille> <key>
database put <famille> <key> <value>
database del <famille> <key>
Utile pour les CFwd, DND, BLF — FreePBX y stocke beaucoup de state.
Les 10 que vous taperez le plus¶
| Commande | Quand |
|---|---|
core show channels |
Voir si des appels sont en cours |
pjsip show contacts |
Quels téléphones sont enregistrés |
pjsip show registrations |
Trunks SIP OK ou KO |
pjsip set logger on |
Avant un appel test |
core set verbose 5 |
Pour voir le dialplan trace |
dialplan show <ext>@from-internal |
Vérifier qu'une extension existe |
pjsip send qualify <ext> |
Réveiller un endpoint flaky |
module reload chan_pjsip |
Après modif pjsip.conf |
rtp set debug on |
Pour debug audio |
core hangup all |
Quand tout est en vrac, dernier recours |
L'autocomplétion¶
Dans la console interactive, Tab complète. Toujours essayer.
asterisk*CLI> pjsip show <Tab>
auth contacts endpoint transport
aor endpoints identifies transports
channels history settings registrations
Le mode silencieux pour les scripts¶
Pour récupérer du JSON (Asterisk 16+) :
(L'AMI — Asterisk Manager Interface — est un protocole TCP texte qu'on utilise pour piloter Asterisk depuis un script. Voir chapitre dédié.)
En cas de freeze CLI¶
Asterisk peut refuser d'accepter Ctrl+C si très chargé :
core stop now # stop propre, attend les appels en cours
core stop gracefully # stop quand tous les appels finissent
core stop when convenient
core restart now # restart immédiat
Si même ça bloque : kill -9 du processus + systemctl start asterisk.
À éviter, peut corrompre la AstDB.
Suivant : Logs Asterisk