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