Serveur de téléphonie IP — Asterisk
Monter de zéro un standard téléphonique complet : compilation du serveur Asterisk sur Debian, configuration des comptes SIP et du plan de numérotation, puis raccordement de vrais téléphones IP (Yealink, Aastra) et d'un softphone (MicroSIP).
01Architecture
| Serveur Asterisk | VM Debian 12 — 192.168.11.41 |
| Yealink T54W | Poste 102 — 192.168.11.48 |
| Aastra 6755i | Poste 101 — 192.168.11.81 |
| Softphone MicroSIP | Poste 103 |
| Codecs | G711 ulaw / alaw |
02Préparation du serveur
Mise à jour du système puis installation des dépendances nécessaires à la compilation d'Asterisk :
apt update apt upgrade -y apt install -y git curl wget sudo vim net-tools build-essential apt install -y linux-headers-$(uname -r) libjansson-dev libxml2-dev \ libsqlite3-dev uuid-dev libssl-dev libedit-dev libncurses5-dev
03Compilation d'Asterisk 20 (LTS)
cd /usr/src wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20-current.tar.gz tar -xvzf asterisk-20-current.tar.gz cd asterisk-20*/ contrib/scripts/install_prereq install ./configure make menuselect # activer chan_pjsip et chan_sip dans Channel Drivers make -j$(nproc) make install make samples make config
Création de l'utilisateur système dédié, puis activation du démarrage automatique :
useradd -r -d /var/lib/asterisk -s /sbin/nologin asterisk mkdir -p /var/run/asterisk chown asterisk:asterisk /var/run/asterisk systemctl enable asterisk systemctl start asterisk systemctl status asterisk
04Configuration PJSIP
Chaque poste nécessite trois sections dans pjsip.conf — endpoint, auth, aor — qui partagent le même nom, PJSIP les distinguant par le champ type :
[transport-udp] type=transport protocol=udp bind=0.0.0.0 [101] type=endpoint context=internal disallow=all allow=ulaw allow=alaw auth=101 aors=101 identify_by=username direct_media=no rtp_symmetric=yes [101] type=auth auth_type=userpass username=101 password=1234 [101] type=aor max_contacts=1
Le poste 102 est configuré à l'identique. Le paramètre rtp_symmetric=yes a résolu un souci de son unidirectionnel rencontré lors des premiers tests.
05Plan de numérotation
Dans extensions.conf, le contexte internal définit qui peut appeler qui :
[internal] exten => 101,1,Dial(PJSIP/101,20) exten => 101,n,Hangup() exten => 102,1,Dial(PJSIP/102,20) exten => 102,n,Hangup()
Rechargement à chaud dans la console Asterisk avec dialplan reload.
06Vérification
asterisk -rvvv pjsip show endpoints pjsip show aors
Avant l'enregistrement des téléphones, les postes apparaissent en Unavailable — c'est normal, ils passeront à Available une fois les combinés raccordés.
07Raccordement des téléphones physiques
Yealink T54W (poste 102)
- Branchement en DHCP sur le switch, puis récupération de l'IP via
Menu → Statutssur l'écran du téléphone - Connexion à l'interface web du téléphone (identifiants par défaut
admin/admin, changé en1234) - Passage en IP statique dans l'onglet Network (192.168.11.48)
- Dans Account → Register, saisie des mêmes informations que dans
pjsip.conf(serveur SIP 192.168.11.41, identifiant 102, mot de passe) - Après confirmation, le poste passe en
Registered
Aastra 6755i (poste 101)
- Connexion à l'interface via son IP (192.168.11.81), identifiants
admin/22222 - Passage en IP statique dans Network Settings
- Saisie du serveur de téléphonie dans Global SIP (proxy/registrar 192.168.11.41)
- Configuration du poste dans Line 1 avec l'identifiant 101
Softphone MicroSIP (poste 103)
- Téléchargement et installation de la version standard de MicroSIP sur un poste Windows
- Création d'un compte : serveur SIP
192.168.11.41, nom d'utilisateur / login / mot de passe103 - Une fois sauvegardé, le softphone passe en statut
Disponible
Résultat
Les trois postes (101, 102, 103) s'enregistrent correctement et peuvent s'appeler entre eux. Vérification finale via pjsip show endpoints : les trois lignes affichent Available.