# Asterisk



# 01 - Description

## **1) Architecture du projet**

Le projet IRS-SI déploie une infrastructure VoIP complète sur un réseau local segmenté en VLAN. Le serveur Asterisk est hébergé sur une machine virtuelle Debian 12 sur le serveur Proxmox, accessible depuis le VLAN 99 (LAN VMs) à l'adresse 192.168.10.69.  
Les deux téléphones IP sont connectés via le switch PoE du projet et s'enregistrent automatiquement sur le serveur Asterisk au démarrage. Les appels internes transitent entièrement par le réseau local sans passer par l'extérieur.

  
Le schéma de communication est le suivant : lorsqu'un téléphone compose un numéro interne, il envoie une requête PJSIP au serveur Asterisk qui consulte son plan de numérotation (extensions.conf), identifie le poste destinataire et établit la communication. Le flux audio (RTP) circule ensuite directement entre les deux téléphones sans transiter par Asterisk.

  
Les deux postes configurés sont les suivants :

<table cellpadding="4" cellspacing="0" id="bkmrk-extension-t%C3%A9l%C3%A9phone-" width="100%"><colgroup><col width="85*"></col> <col width="85*"></col> <col width="85*"></col> </colgroup><tbody><tr valign="top"><td bgcolor="#003d73" style="background: #003d73; border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding: 0.1cm 0cm 0.1cm 0.1cm;" width="33%"><span style="font-family: Calibri, sans-serif; color: rgb(236, 240, 241);">**Extension**</span>

</td><td bgcolor="#003d73" style="background: #003d73; border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding: 0.1cm 0cm 0.1cm 0.1cm;" width="33%"><span style="font-family: Calibri, sans-serif; color: rgb(236, 240, 241);">**Téléphone**</span>

</td><td bgcolor="#003d73" style="background: #003d73; border: 1px solid #000000; padding: 0.1cm;" width="33%"><span style="font-family: Calibri, sans-serif; color: rgb(236, 240, 241);">**Protocole**</span>

</td></tr><tr valign="top"><td bgcolor="#dee6ef" style="background: #dee6ef; border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding: 0cm 0cm 0.1cm 0.1cm;" width="33%"><span style="font-family: Calibri, sans-serif;">1000</span>

</td><td bgcolor="#dee6ef" style="background: #dee6ef; border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding: 0cm 0cm 0.1cm 0.1cm;" width="33%"><span style="font-family: Calibri, sans-serif;">Yealink T31P</span>

</td><td bgcolor="#dee6ef" style="background: #dee6ef; border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding: 0cm 0.1cm 0.1cm 0.1cm;" width="33%"><span style="font-family: Calibri, sans-serif;">PJSIP</span>

</td></tr><tr valign="top"><td bgcolor="#dee6ef" style="background: #dee6ef; border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding: 0cm 0cm 0.1cm 0.1cm;" width="33%"><span style="font-family: Calibri, sans-serif;">1001</span>

</td><td bgcolor="#dee6ef" style="background: #dee6ef; border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding: 0cm 0cm 0.1cm 0.1cm;" width="33%"><span style="font-family: Calibri, sans-serif;">Yealink T41P</span>

</td><td bgcolor="#dee6ef" style="background: #dee6ef; border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding: 0cm 0.1cm 0.1cm 0.1cm;" width="33%"><span style="font-family: Calibri, sans-serif;">PJSIP</span>

</td></tr></tbody></table>

## **2) Qu'est ce que Asterisk**

Asterisk est un logiciel open source de téléphonie IP développé par Digium (aujourd'hui Sangoma), disponible sous licence GPL. Il s'agit du serveur IPBX (IP Private Branch Exchange) le plus répandu dans le monde, utilisé aussi bien dans les PME que dans les grandes entreprises.

  
Son rôle est de gérer les appels téléphoniques internes d'une infrastructure : il reçoit les demandes d'appel des téléphones IP, les route vers le bon destinataire et gère la signalisation entre les postes.

  
Asterisk supporte plusieurs protocoles de téléphonie IP, dont PJSIP (le module recommandé depuis Asterisk 13), SIP (l'ancien module chan\_sip) et IAX2. Il est compatible avec une très large gamme de téléphones IP physiques et de softphones.  
Dans le cadre du projet IRS-SI, Asterisk est déployé sur une machine virtuelle Debian 12 hébergée sur le serveur Proxmox. Il gère les communications entre les trois téléphones IP du site et constitue le cœur de l'infrastructure de téléphonie.

### **Matériels utilisés**  


<table border="1" cellpadding="7" cellspacing="0" id="bkmrk-%C3%89quipement-r%C3%B4le-rout" style="border-collapse: collapse; width: 605px; border-width: 1px; border-spacing: 0px; background-color: rgb(222, 230, 239); height: 237.969px;" width="605"><colgroup><col width="212"></col><col width="363"></col></colgroup><tbody><tr style="height: 23.7969px;" valign="top"><td bgcolor="#1f547d" style="background: rgb(31, 84, 125); border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="212"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Équipement**</span></span></span>

</td><td bgcolor="#1f547d" style="background: rgb(31, 84, 125); border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="363"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Rôle**</span></span></span>

</td></tr><tr style="height: 23.7969px;" valign="top"><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="212"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Routeur Cisco ISR 4321</span></span></span>

</td><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="363"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Routage, DHCP, gateway VLAN 20</span></span></span>

</td></tr><tr style="height: 23.7969px;" valign="top"><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="212"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Switch managé</span></span></span>

</td><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="363"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Segmentation VLAN</span></span></span>

</td></tr><tr style="height: 23.7969px;" valign="top"><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="212"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Proxmox</span></span></span>

</td><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="363"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Hyperviseur hébergeant la VM Asterisk</span></span></span>

</td></tr><tr style="height: 23.7969px;" valign="top"><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="212"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Debian 12 (VM)</span></span></span>

</td><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="363"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Système hôte du serveur Asterisk</span></span></span>

</td></tr><tr style="height: 23.7969px;" valign="top"><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="212"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Asterisk 18</span></span></span>

</td><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="363"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Serveur de téléphonie IP (PJSIP)</span></span></span>

</td></tr><tr style="height: 23.7969px;" valign="top"><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="212"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Yealink T41P (poste 1000)</span></span></span>

</td><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="363"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Téléphone IP SIP</span></span></span>

</td></tr><tr style="height: 23.7969px;" valign="top"><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="212"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Yealink T31P (poste 1001)</span></span></span>

</td><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="363"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Téléphone IP SIP</span></span></span>

</td></tr><tr style="height: 23.7969px;" valign="top"><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="212"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Cisco CP-7811-3PCC (poste 1002)</span></span></span>

</td><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="363"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Téléphone IP SIP</span></span></span>

</td></tr><tr style="height: 23.7969px;" valign="top"><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="212"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Zabbix</span></span></span>

</td><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="363"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Supervision réseau</span></span></span>

</td></tr></tbody></table>

### **Réseau**

 • VLAN 20 dédié à la téléphonie : 192.168.10.64/26  
 • IP Asterisk (VM) : 192.168.99.9  
 • IP Yealink T41P (1000) : 192.168.10.66  
 • IP Yealink T31P (1001) : 192.168.10.67  
 • Port SIP Asterisk : 5160/UDP (PJSIP)  
 • DHCP assuré par le Cisco ISR avec réservations par adresse MAC

# 02 - Installation Serveur

## **01) Installation**

Tout d'abord, veillez à avoir une distribution à jour :

```
sudo apt update
sudo apt upgrade 
```

Nous procédons ensuite à l'installation des dépendances :

```
sudo apt-get install gcc make pkg-config build-essential wget libssl-dev libncurses5-dev libnewt-dev  libxml2-dev linux-headers-$(uname -r) uuid-dev libsqlite3-dev libjansson-dev
```

Parmi ces dépendances, nous retrouvons entre autre :

- Build-essential : contient le compilateur gcc, le compilateur g++, make, etc…
- La librairie SQL Lite
- La librairie SSL

Une fois les dépendances installées, nous pouvons télécharger les sources d’Asterisk. Commençons par créer un dossier pour les contenir.

```
mkdir /usr/src/asterisk
cd /usr/src/asterisk
```

Dans le dossier **/usr/src/asterisk/** télécharger les sources d’Asterisk. Veillez à prendre la dernière version d’Asterisk en date (ici la version 18).

```
cd /usr/src/asterisk/                  
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
```

Puis décompresser les sources, et entrer dans le dossier nouvellement créé.

```
sudo tar -xvzf asterisk-18-current.tar.gz
cd asterisk-18.X.X
```

Avant de compiler Asterisk, il faut s’assurer que le système dispose de toutes les dépendances.

Pour cela, entrer la commande suivante dans le dossier contenant les sources :

```
./configure
```

Si la vérification ne retourne pas de message d’erreur, vous pouvez alors continuer.

[![tel.png](https://wiki-matheo.kermorvant.fr/uploads/images/gallery/2026-03/scaled-1680-/tel.png)](https://wiki-matheo.kermorvant.fr/uploads/images/gallery/2026-03/tel.png)

Dans le cas où il vous manque des dépendances, identifiez les, et ajouter les à la main (avec un **apt-get install** ou en les téléchargent à la main avec un **wget**).

Il faut ensuite choisir les options de compilation.

```
make menuselect
```

Vous pouvez aussi ajouter les sons en français dans les sections Core Sound Package, et Extras Sound Package.

[![1.png](https://wiki-matheo.kermorvant.fr/uploads/images/gallery/2026-03/scaled-1680-/R8S1.png)](https://wiki-matheo.kermorvant.fr/uploads/images/gallery/2026-03/R8S1.png)

[![2.png](https://wiki-matheo.kermorvant.fr/uploads/images/gallery/2026-03/scaled-1680-/clN2.png)](https://wiki-matheo.kermorvant.fr/uploads/images/gallery/2026-03/clN2.png)

Vous pouvez aussi ajouter les musiques d’attente en format aLAW.

[![3.png](https://wiki-matheo.kermorvant.fr/uploads/images/gallery/2026-03/scaled-1680-/xXr3.png)](https://wiki-matheo.kermorvant.fr/uploads/images/gallery/2026-03/xXr3.png)

Lancer la compilation et l’installation.

```
make
```

[![kkkk.png](https://wiki-matheo.kermorvant.fr/uploads/images/gallery/2026-03/scaled-1680-/kkkk.png)](https://wiki-matheo.kermorvant.fr/uploads/images/gallery/2026-03/kkkk.png)

```
make install
```

Il convient ensuite de créer les fichiers d’exemple de configuration.

```
make samples
```

Créer les scripts de démarrage.

```
make config
```

Enfin, vous pouvez lancer Asterisk.

```
/etc/init.d/asterisk start
```

Il est possible d’entrer dans la console d’Asterisk avec la commande suivante :

```
asterisk –r
```

# 03 - Configuration

## **1) Configuration PJSIP**

Le fichier de configuration principal à modifier est le /etc/asterisk/pjsip.conf.

### **Transport UDP**

Points critiques :  
 • **bind=0.0.0.0:5160** — écoute sur toutes les interfaces, port 5160

```
[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0:5160
```

### **Configuration des postes**

Chaque poste nécessite trois sections : endpoint, auth, aor.

Toujours dans le fichier /etc/asterisk/pjsip.conf.

##### **Poste 1000 (Yealink T41P - Matheo) :**

```
[1000]
type=endpoint
context=interne
disallow=all
allow=alaw
allow=ulaw
aors=1000
auth=auth1000
callerid="Matheo" <1000>
direct_media=no        ; Empêche le bypass RTP direct entre téléphones


[auth1000]
type=auth
auth_type=userpass
username=1000
password=azerty

[1000]
type=aor
max_contacts=2
qualify_frequency=30
```

*Répéter la même structure pour les postes 1001 et 1002 en adaptant les valeurs.*

<p class="callout warning">CRITIQUE : Sans qualify\_frequency, les contacts restent en état 'NonQual' et les appels échouent avec 'provisoirement indisponible'. Asterisk ne sait pas si le téléphone est joignable.</p>


### **Paramètres critique expliqués**  


<table cellpadding="7" cellspacing="0" id="bkmrk-param%C3%A8tre-pourquoi-c" style="height: 180.375px;" width="605"><colgroup><col width="250"></col><col width="325"></col></colgroup><tbody><tr style="height: 23.7969px;" valign="top"><td bgcolor="#1f547d" style="background: rgb(31, 84, 125); border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="250"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Paramètre**</span></span></span>

</td><td bgcolor="#1f547d" style="background: rgb(31, 84, 125); border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 23.7969px;" width="325"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Pourquoi c'est important**</span></span></span>

</td></tr><tr style="height: 69.3906px;" valign="top"><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 69.3906px;" width="250"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">direct\_media=no</span></span></span>

</td><td style="border: 1px solid rgb(0, 0, 0); padding: 0cm 0.19cm; height: 69.3906px;" width="325"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Sans ce paramètre, Asterisk tente un bypass RTP direct entre téléphones. Ça échoue sur réseau local segmenté → audio unidirectionnel ou absent.</span></span></span>

</td></tr></tbody></table>

## **2) Dial Plan (extensions.conf)**

Le dial plan est le cœur logique d'Asterisk : il définit comment chaque appel entrant est traité, routé et terminé. Il est structuré en contextes, extensions et priorités.

#### **Structure du dial plan**

```
[contexte]
exten => numéro, priorité, Application(paramètres)
```

<table cellpadding="7" cellspacing="0" id="bkmrk-%C3%89l%C3%A9ment-description-" width="627"><colgroup><col width="194"></col> <col width="195"></col> <col width="194"></col> </colgroup><tbody><tr valign="top"><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Élément**</span></span></span>

</td><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Description**</span></span></span>

</td><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Exemple**</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Contexte</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Groupe logique d'extensions. Un endpoint ne peut accéder qu'à son contexte.</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">\[interne\]</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Extension (exten)</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Numéro composé ou motif (\_, X, Z, N...)</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">1000, \_1XXX, s</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Priorité</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Ordre d'exécution. Commence à 1. n = next (priorité suivante).</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">1, 2, n</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Application</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Action à effectuer : Dial, Hangup, Playback, VoiceMail...</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Dial(PJSIP/1000,30)</span></span></span>

</td></tr></tbody></table>

#### **Configuration dans extension.conf**

<p class="callout info">Le Dial plan se configure dans ce fichier : /etc/asterisk/extension.conf</p>

```
[general]
static=yes
writeprotect=no
clearglobalvars=no

[interne]

#Téléphone 1000
exten => 1000,1,Dial(PJSIP/1000,30)
exten => 1000,2,Hangup()

#Téléphone 1001
exten => 1001,1,Dial(PJSIP/1001,30)
exten => 1001,2,Hangup()

#Téléphone 1002
exten => 1002,1,Dial(PJSIP/1002,30)
exten => 1002,2,Hangup()
```

Le timeout de 30 secondes (paramètre Dial) déclenche le Hangup si personne ne répond.  
*Après modification : sudo asterisk -rx "dialplan reload"*

#### **Rechargement du dial plan**

```
sudo asterisk -rx "dialplan reload"
sudo asterisk -rx "dialplan show interne"  ; Affiche le contexte interne
```

## **2) Configuration des téléphone IP**

#### **Yealink T41P et T31P**

Accès à l'interface web : ouvrir un navigateur et saisir http://&lt;IP\_du\_téléphone&gt;.

Naviguer vers Account → Account 1 et renseigner les champs suivants :

<p class="callout info">Identifiants par défaut : admin / admin.</p>

<table cellpadding="7" cellspacing="0" id="bkmrk-champ-valeur-pour-10" width="627"><colgroup><col width="142"></col> <col width="143"></col> <col width="143"></col> <col width="142"></col> </colgroup><tbody><tr valign="top"><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Champ**</span></span></span>

</td><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Valeur pour 1000**</span></span></span>

</td><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Valeur pour 1001**</span></span></span>

</td><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Description**</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Label</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">1000</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">1001</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Nom affiché sur le téléphone</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Display Name</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Service Comptabilité</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Service Informatique</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Identité appelant</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Register Name</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">1000</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">1001</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Username SIP (doit correspondre à pjsip.conf)</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Username</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">1000</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">1001</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Identifiant d'authentification</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Password</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">azerty</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">azerty</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Mot de passe SIP</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Server Host</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">192.168.10.69</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">192.168.10.69</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">IP du serveur Asterisk</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Port</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">5160</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">5160</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Port SIP d'Asterisk (pas le défaut 5060 !)</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Transport</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">UDP</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">UDP</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Protocole de transport</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Server Expires</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">3600</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="143"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">3600</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="142"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Durée d'enregistrement en secondes</span></span></span>

</td></tr></tbody></table>

<p class="callout warning">Le port 5160 est non standard. S'assurer que les téléphones pointent bien sur 5160 et non le port par défaut 5060, sinon l'enregistrement échoue silencieusement.  
</p>

#### **Point de vigilance**

- <span style="font-family: Arial, serif;"><span style="font-size: small;">Toujours vérifier que le mode DND est désactivé (Features → Forward &amp; DND → Etat NPD → "de"). Si activé, les appels entrants sont ignorés sans notification.</span></span><span style="font-family: Arial, serif;"><span style="font-size: small;">DND (Ne Pas Déranger)</span></span>
- <span style="font-family: Arial, serif;"><span style="font-size: small;">Au décrochage, l'audio sort par défaut via le combiné. Appuyer sur le bouton haut-parleur pour basculer. Le bouton casque active la sortie jack.</span></span><span style="font-family: Arial, serif;"><span style="font-size: small;">Mode audio</span></span>
- <span style="font-family: Arial, serif;"><span style="font-size: small;">Le message "Update Skipped" au redémarrage est normal si aucun serveur de provisioning n'est configuré. Il n'affecte pas le fonctionnement.</span></span><span style="font-family: Arial, serif;"><span style="font-size: small;">Mise à jour firmware</span></span>
- <span style="font-family: Arial, serif;"><span style="font-size: small;">Après modification de la configuration, toujours redémarrer le téléphone via Settings → Upgrade → Reboot pour forcer le re-enregistrement SIP.</span></span><span style="font-family: Arial, serif;"><span style="font-size: small;">Redémarrage</span></span>

# 04 - Maintenance

## **1) Diagnostic et dépannage**

#### **Commandes de diagnostic Asterisk**  


<table cellpadding="7" cellspacing="0" id="bkmrk-commande-usage-aster" width="627"><colgroup><col width="299"></col> <col width="299"></col> </colgroup><tbody><tr valign="top"><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Commande**</span></span></span>

</td><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Usage**</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">asterisk -rx "pjsip show contacts"</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">État des enregistrements : Avail/NonQual/Unreachable + RTT</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">asterisk -rx "pjsip show endpoints"</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">État global des endpoints configurés</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">asterisk -rx "pjsip show endpoint 1000"</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Détail d'un endpoint spécifique</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">asterisk -rx "core show channels"</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Appels actifs en cours</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">asterisk -rx "dialplan show interne"</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Afficher le contexte du dial plan</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">asterisk -rx "module reload res\_pjsip.so"</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Recharger PJSIP à chaud</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">asterisk -rx "dialplan reload"</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Recharger extensions.conf</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">asterisk -rvvvv</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="299"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Console interactive avec niveau de verbosité 4</span></span></span>

</td></tr></tbody></table>

#### **Activation des logs SIP et RTP** 

Depuis la console Asterisk (asterisk -rvvvv) :

```
pjsip set logger on    ; Active les logs SIP complets (INVITE, OPTIONS, 200 OK...)
rtp set debug on       ; Active les logs RTP (flux audio)
pjsip set logger off   ; Désactive (important en prod, très verbeux)
rtp set debug off
```

#### **Vérification réseau**

```
# Vérifier qu'Asterisk écoute sur le bon port
sudo ss -ulnp | grep 5160

# Tester la connectivité vers les téléphones
ping -c 4 192.168.10.67   # Yealink T41P
ping -c 4 192.168.10.66   # Yealink T31P

# Vérifier les logs Asterisk
sudo tail -f /var/log/asterisk/full
sudo tail -f /var/log/asterisk/messages
```

#### **Problème fréquent**

<table cellpadding="7" cellspacing="0" id="bkmrk-sympt%C3%B4me-cause-proba" width="627"><colgroup><col width="194"></col> <col width="195"></col> <col width="194"></col> </colgroup><tbody><tr valign="top"><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Symptôme**</span></span></span>

</td><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Cause probable**</span></span></span>

</td><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Solution**</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">"Provisoirement indisponible"</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Contact en état NonQual — téléphone non qualifié</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Ajouter qualify\_frequency=30 dans la section AOR. Vérifier DHCP/IP du téléphone.</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Pas de son (audio absent)</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">external\_signaling\_address manquant → Asterisk annonce 127.0.0.1</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Ajouter external\_signaling\_address et external\_media\_address dans le transport. Redémarrer Asterisk.</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Audio unidirectionnel</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">direct\_media=yes → bypass RTP échoue</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Ajouter direct\_media=no dans chaque endpoint.</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Appel en absence sans sonnerie</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">DND activé sur le téléphone destinataire</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Désactiver DND dans Features → Forward &amp; DND → Etat NPD → "de".</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Téléphone non enregistré (croix rouge)</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Port SIP incorrect, mauvaise IP serveur, ou mot de passe erroné</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Vérifier la config du téléphone : IP Asterisk, port 5160, username/password.</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Contact Unavail après redémarrage VM</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Téléphone garde l'ancienne IP du serveur en cache</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Redémarrer le téléphone. Vérifier que la réservation DHCP d'Asterisk est correcte.</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Module reload sans effet sur le transport</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Le transport PJSIP ne se recharge pas à chaud</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">sudo systemctl restart asterisk</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Appels impossibles, pas de connectivité VM</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">VM attachée au mauvais bridge Proxmox</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Changer vmbr0 → vmbr1 dans les paramètres réseau de la VM Proxmox.</span></span></span>

</td></tr></tbody></table>

## **2) Sécurité de l'infrastructure VoIP**

#### **Menaces courantes**

<table cellpadding="7" cellspacing="0" id="bkmrk-menace-description-i" width="627"><colgroup><col width="194"></col> <col width="195"></col> <col width="194"></col> </colgroup><tbody><tr valign="top"><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Menace**</span></span></span>

</td><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Description**</span></span></span>

</td><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Impact**</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Scan SIP (SIPVicious)</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Robots qui scannent le port 5060 à la recherche de serveurs Asterisk</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Tentatives d'enregistrement non autorisé</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Brute force</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Attaque par dictionnaire sur les credentials SIP</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Accès non autorisé, frais téléphoniques</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Toll fraud</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Utilisation du serveur pour passer des appels internationaux payants</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Factures exorbitantes</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Écoute RTP</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Capture des flux audio RTP sur le réseau</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Violation de la confidentialité</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Déni de service (DoS)</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Flood de paquets SIP pour saturer le serveur</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Interruption de service</span></span></span>

</td></tr></tbody></table>

#### **Mesures de sécurité recommandées**

 • (5060 → 5160 ou autre) pour réduire les scans automatisés.Changer le port SIP par défaut  
 • Minimum 16 caractères, mélange de lettres, chiffres et symboles.Mots de passe complexes  
 • Bloquer automatiquement les IPs effectuant trop de tentatives d'authentification.Fail2ban  
 • Utiliser les listes de contrôle d'accès du Cisco ISR pour n'autoriser le trafic SIP qu'en provenance du VLAN 20.ACL réseau  
 • Isoler les téléphones du reste du réseau — déjà en place dans ce projet.VLAN dédié  
 • Chiffrer le flux audio RTP avec SRTP pour les environnements sensibles.SRTP  
 • Modules Asterisk non utilisés (DAHDI, chan\_skinny...) doivent être désactivés.Désactiver les services inutiles

#### **Installation de Fail2ban pour Asterisk**

Fail2ban est un outil qui surveille les fichiers de logs d'Asterisk et bloque automatiquement les adresses IP qui font trop de tentatives d'authentification SIP échouées (brute force sur les mots de passe des postes).

```
sudo apt install -y fail2ban

# Créer /etc/fail2ban/jail.local
[asterisk]
enabled = true
port = 5160
filter = asterisk
logpath = /var/log/asterisk/full
maxretry = 5
bantime = 3600

sudo systemctl restart fail2ban
sudo fail2ban-client status asterisk
```


## **3) Supervision avec Zabbix**

#### **Éléments à superviser**

<table cellpadding="7" cellspacing="0" id="bkmrk-%C3%89l%C3%A9ment-m%C3%A9thode-seui" width="627"><colgroup><col width="194"></col><col width="195"></col><col width="194"></col></colgroup><tbody><tr valign="top"><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Élément**</span></span></span>

</td><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Méthode**</span></span></span>

</td><td bgcolor="#1f547d" style="background: #1f547d; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="color: #ffffff;"><span style="font-family: Arial, serif;"><span style="font-size: small;">**Seuil d'alerte**</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Service Asterisk</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Check process "asterisk"</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Alerte si arrêté &gt; 1 min</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Nombre d'appels actifs</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">AMI ou script</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Alerte si &gt; seuil configuré</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Enregistrements SIP</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Script pjsip show contacts</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Alerte si endpoint Unreachable</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Connectivité téléphones</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">ICMP ping</span></span></span>

</td><td bgcolor="#ffffff" style="background: #ffffff; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Alerte si téléphone injoignable</span></span></span>

</td></tr><tr valign="top"><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Logs d'erreurs</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="195"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Log monitoring</span></span></span>

</td><td bgcolor="#f0f4f8" style="background: #f0f4f8; border: 1px solid #000000; padding: 0.18cm;" width="194"><span style="font-family: Arial, serif;"><span style="font-size: small;"><span style="font-weight: normal;">Alerte sur ERROR/WARNING répétés</span></span></span>

</td></tr></tbody></table>

# 05 - Script

## **1) Script d'administration Bash**

Ce script centralise les opérations courantes d'administration de l'infrastructure VoIP.

```bash
##############################################################
# 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

```

[![image.png](https://wiki-matheo.kermorvant.fr/uploads/images/gallery/2026-06/scaled-1680-/uTwimage.png)](https://wiki-matheo.kermorvant.fr/uploads/images/gallery/2026-06/uTwimage.png)