Chapitre 2
INSTALLER ET CONFIGURER UN AUTOCOMMUTATEUR PRIVE(PABX)/(IPBX) DANS UN RESEAU LOCAL D'ENTREPRISE (partie 3/3)
Lecture : 16 minQuiz de 10 questions
## Objectifs et prérequis
**Objectifs** : À l’issue de ce chapitre, l’élève sera capable de :
1. Définir une extension téléphonique et élaborer un plan de numérotation adapté à une entreprise camerounaise.
2. Créer et paramétrer une extension SIP sur un IPBX (exemple : Asterisk/FreePBX) à partir de l’interface d’administration.
3. Configurer un téléphone IP (Yealink, Grandstream, Cisco…) pour qu’il s’enregistre correctement auprès du PBX.
4. Décrire le fonctionnement d’un trunk SIP et ses éléments essentiels (identifiant, mot de passe, serveur, registre).
5. Mettre en place un trunk SIP vers un opérateur VoIP local (Camtel, MTN Business, Orange Cameroun) et vérifier son enregistrement.
6. Dimensionner le nombre de canaux simultanés nécessaires en fonction du trafic prévisionnel.
7. Réaliser les tests de base (appels internes, appels externes) et diagnostiquer les problèmes les plus fréquents.
**Prérequis** :
- Connaissances du modèle OSI et du protocole IP (adressage, sous‑masque, routage statique).
- Notions de base du protocole SIP (méthodes INVITE, ACK, BYE, réponses 1xx/2xx/4xx/5xx).
- Savoir accéder à l’interface web d’un IPBX et manipuler un téléphone IP (menus de configuration).
- Comprendre les concepts de VLAN, QoS et de filtrage de pare‑feu (ports UDP 5060, 10000‑20000).
---
## Introduction contextualisée
Dans les entreprises camerounaises modernes, la téléphonie sur IP (VoIP) remplace progressivement les centraux téléphoniques analogiques traditionnels. Cette migration permet de réduire les coûts d’abonnement auprès des opérateurs (Camtel, MTN, Orange), de mutualiser le réseau informatique existant et d’offrir des services avancés (messagerie unifiée, centre d’appels, intégration CRM).
Le cœur de cette architecture est le **PABX/IPBX** (Private Automatic Branch eXchange / Internet Protocol Private Branch eXchange). Il assure la commutation des appels internes (extensions) et l’interconnexion avec le réseau téléphonique public grâce à des **trunks SIP**. Maîtriser la création d’extensions et la configuration de ces trunks est donc une compétence clé pour les techniciens supérieurs en installation des réseaux et télécommunications, conformément au référentiel du MINESEC/IGE (série MIE).
Le présent cours détaille, étape par étape, les procédures de mise en œuvre d’un IPBX dans un réseau local d’entreprise, en s’appuyant sur des exemples concrets rencontrés dans les ateliers du Lycée Technique de Yaoundé ou dans les PME du secteur secondaire de Douala.
---
## I. Leçon 5 : Création des extensions et des téléphones IP
### 5.1 Définitions et notions de base
- **Extension** : numéro interne permettant d’atteindre un poste téléphonique (physique ou logiciel) au sein du PBX.
- **Plan de numérotation** : ensemble de règles qui attribuent des plages d’extension selon les services (accueil, technique, direction, etc.).
> « Une extension est un numéro interne permettant d’atteindre un poste téléphonique dans un PABX/IPBX. »
- **Poste IP** : terminal téléphonique qui utilise le protocole SIP pour s’enregistrer auprès du PBX et échanger des flux RTP (voix).
### 5.2 Exemple de plan de numérotation typique (entreprise de 150 postes)
| Service | Plage d’extension | Exemple d’affectation |
|--------------------|-------------------|-----------------------|
| Accueil / Standard | 100‑109 | 100 : standard, 101 : poste de secours |
| Direction | 110‑119 | 110 : DG, 111 : DRH |
| Administration | 120‑149 | 120‑129 : comptabilité, 130‑139 : achats |
| Technique / IT | 150‑169 | 150‑159 : support, 160‑169 : réseau |
| Ventes / Marketing | 170‑189 | 170‑179 : commerciaux, 180‑189 : marketing |
| Postes visiteurs | 190‑199 | 190‑199 : téléphones temporaires ou invités |
Ce plan permet une évolutivité facile : chaque nouveau service se voit attribuer la prochaine plage disponible.
### 5.3 Procédure de création d’extension sur un IPBX (FreePBX 16)
1. **Connexion** : ouvrir un navigateur, saisir l’adresse IP du PBX (ex. `http://10.0.0.10/admin`), s’authentifier avec un compte administrateur.
2. **Menu** : `Applications → Extensions`.
3. **Ajouter** : cliquer sur `+ Add Extension`, choisir `Chan_SIP` (ou `PJSIP` selon la version).
4. **Remplir les champs obligatoires** :
- **User Extension** : numéro d’extension (ex. `125`).
- **Display Name** : nom de l’utilisateur (ex. `Jean Biya`).
- **Secret** : mot de passe SIP (minimum 8 caractères, mélange de lettres, chiffres et symboles).
- **Outbound CID** : numéro qui sera affiché lors d’appels sortants (souvent laissé vide pour hériter du trunk).
5. **Paramètres avancés** (onglet `Advanced`) :
- **Codec Preference** : choisir `ulaw` (G.711) puis `alaw` pour compatibilité avec le réseau camerounais.
- **NAT** : `Yes` si le téléphone se trouve derrière un routeur NAT.
- **Qualify** : `yes` pour vérifier périodiquement la disponibilité du poste.
6. **Soumettre** : cliquer sur `Submit`, puis `Apply Config` pour activer les modifications.
> « Le secret SIP doit être conservé confidentiellement ; il constitue la première ligne de défense contre l’usurpation d’identité. »
### 5.4 Configuration du téléphone IP (exemple Yealink T46S)
| Paramètre | Valeur à saisir | Commentaire |
|--------------------------|----------------------------------------------|-------------|
| **Account 1 → Label** | `Extension 125` | Libellé affiché sur l’écran |
| **Account 1 → Register Name** | `125` | Identifiant SIP (extension) |
| **Account 1 → Register Password** | `s3cr3tP@ss!` | Même secret que dans FreePBX |
| **Account 1 → SIP Server** | `10.0.0.10` | Adresse IP du PBX |
| **Account 1 → SIP Server Port** | `5060` | Port SIP par défaut |
| **Transport** | `UDP` | Le plus courant en LAN |
| **Audio Codec** | `PCMU (G.711u)`, `PCMA (G.711a)` | Prioriser ulaw pour le Cameroun |
| **NAT Traversal** | `Keep Alive` (intervalle 30 s) | Utile si le téléphone est derrière un routeur |
| **DTMF Mode** | `RFC2833` | Compatibilité avec les systèmes IVR |
Après enregistrement, le téléphone affiche `Registered` et l’icône de ligne verte apparaît.
### 5.5 Vérification et test d’appel interne
- **Depuis la console PBX** : `sip show peers` (ou `pjsip show endpoints`) doit montrer le statut `OK` pour l’extension 125.
- **Appel interne** : composer le numéro 125 depuis un autre poste (ex. 100) ; entendre la tonalité d’appel, puis la voix de Jean Biya.
- **Journal d’appels** : vérifier dans `Reports → Call Logs` que l’appel apparaît avec durée et code de libération normal (200 OK).
### 5.6 Exemple d’atelier (tableau récapitulatif)
| Étape | Action | Résultat attendu |
|-------|--------|------------------|
| 1 | Création extension 125 | Ligne apparaît dans `Extensions` |
| 2 | Configuration téléphone Yealink | Icône `Registered` |
| 3 | Test appel interne 100 → 125 | Communication bidirectionnelle claire |
| 4 | Vérification `sip show peers` | Status `OK` avec adresse IP du téléphone |
| 5 | Déconnexion volontaire du téléphone | Status passe à `UNREACHABLE` puis `UNREGISTERED` après timeout |
---
## II. Leçon 6 : Configuration des lignes externes – Les Trunk SIP
### 6.1 Définition du trunk SIP
Un **trunk SIP** est une liaison logique, basée sur le protocole SIP, qui relie un IPBX privé à un fournisseur de service VoIP (opérateur téléphonique ou ITSP). Il transporte simultanément plusieurs canaux d’appel (voix) ainsi que les messages de signalisation (INVITE, BYE, REGISTER, etc.).
> « Un trunk SIP est une connexion virtuelle qui transporte plusieurs appels simultanés via le protocole SIP. »
### 6.2 Éléments nécessaires pour un trunk SIP
| Élément | Description | Exemple camerounais |
|---------|-------------|---------------------|
| **Fournisseur SIP (ITSP)** | Opérateur qui fournit l’accès au réseau téléphonique public (PSTN) via IP | Camtel VoIP, MTN Business SIP, Orange Cameroun SIP |
| **Nom d’utilisateur (username)** | Identifiant d’authentification auprès du fournisseur | `cmvoip123` |
| **Mot de passe (password)** | Secret partagé pour l’authentification | `V0!pS3c#2025` |
| **Serveur SIP (proxy / registrar)** | Adresse IP ou FQDN du serveur du fournisseur | `sip.camtel.cm` |
| **Port** | Généralement 5060 (UDP) pour la signalisation, parfois 5061 (TLS) | 5060 |
| **Codec préféré** | Algorithme de compression audio | G.711u (PCMU) ou G.729 pour économie de bande passante |
| **Chaîne d’enregistrement (register string)** | Format `username:password@host:port` utilisé pour s’enregistrer auprès du fournisseur | `cmvoip123:V0!pS3c#2025@sip.camtel.cm:5060` |
| **Caller ID sortant** | Numéro qui sera affiché appelé lors d’appels sortants | `+237 222 33 44 55` (numéro géographique de l’entreprise) |
### 6.3 Procédure de configuration du trunk SIP sur FreePBX
1. **Connectivité** : `Connectivity → Trunks`.
2. **Ajouter un trunk** : `+ Add SIP Trunk` (ou `+ Add PJSIP Trunk`).
3. **General** :
- **Trunk Name** : `CAMTEL_SIP_TRUNK`.
- **Outbound Caller ID** : `+237222334455`.
4. **PEER Details** (paramètres envoyés au fournisseur) :
```
type=friend
host=sip.camtel.cm
username=cmvoip123
secret=V0!pS3c#2025
port=5060
insecure=invite,port
nat=force_rport,comedia
dtmfmode=rfc2833
disallow=all
allow=ulaw
qualify=yes
```
5. **User Context** : laisser `from-trunk` (ou `from-sip-external` selon la version).
6. **Register String** : `cmvoip123:V0!pS3c#2025@sip.camtel.cm:5060`.
7. **Submit** puis **Apply Config**.
> « La chaîne d’enregistrement doit être exactement conforme au format attendu par le fournisseur ; une erreur de caractère entraîne un refus d’enregistrement. »
### 6.4 Ouverture des ports et QoS sur le pare‑feu
| Flux | Port | Protocole | Objectif |
|------|------|-----------|----------|
| Signalisation SIP | 5060 | UDP (ou TCP/TLS) | Échange INVITE, REGISTER, etc. |
| Médias RTP | 10000‑20000 | UDP | Transport des flux voix |
| Priorisation (QoS) | – | – | Marquer les paquets SIP/RTP avec DSCP EF (46) pour faible latence |
Sur un routeur Cisco ou un firewall pfSense, créer une règle `allow udp src any dst 10.0.0.0/24 eq 5060` et une autre pour la plage RTP, puis appliquer une policy QoS qui donne priorité élevée à ces flux.
### 6.5 Vérification de l’enregistrement du trunk
- **Commande PBX** : `sip show registry` (ou `pjsip show registrations`).
- Sortie attendue : `cmvoip123@sip.camtel.cm:5060 - Registered`.
- **Test d’appel sortant** : composer un numéro externe (ex. `+237 690 12 34 56`) depuis un poste interne ; entendre la tonalité d’attente, puis la voix du correspondant.
- **Test d’appel entrant** : appeler le numéro géographique de l’entreprise depuis un téléphone mobile ; le poste dédié (ex. extension 100) doit sonner.
### 6.6 Dimensionnement du nombre de canaux simultanés
Le nombre de canaux nécessaires dépend du trafic prévisionnel (en erlangs). On utilise la formule d’Erlang B pour déterminer le nombre de lignes (canaux) afin d’obtenir un taux de blocage cible (souvent 1 %).
**Exemple chiffré** :
- Effectif : 120 postes.
- Taux d’appel moyen par poste : 0,08 appel/h (environ 1 appel toutes les 12,5 h).
- Durée moyenne d’appel : 3 min = 0,05 h.
- Trafic offert : `A = N × λ × h`
- `N = 120`
- `λ = 0,08` appel/h
- `h = 0,05` h
- `A = 120 × 0,08 × 0,05 = 0,48` erlangs.
Pour un taux de blocage de 1 %, la table d’Erlang B indique qu’**1 canal** suffit (car 0,48 E < 1 E avec Pblock ≈ 0,2 %). Toutefois, on prévoit une marge de sécurité : on dimensionne **2 canaux** pour absorber les pointes (ex. réunions, campagnes marketing).
> « En pratique, on prévoie toujours au moins deux canaux de trunk SIP pour une petite entreprise afin de garantir la disponibilité lors des périodes de forte activité. »
### 6.7 Dépannage fréquent
| Symptomatique | Cause probable | Action corrective |
|---------------|----------------|-------------------|
| Trunk affiché `Not Registered` | Identifiant/mot de passe erroné ou adresse serveur fautive | Vérifier le register string, retaper les credentials, tester avec un client SIP (e.g., Zoiper) |
| Un appel entrant sonne mais aucune voix | Ports RTP bloqués ou NAT mal configuré | Ouvrir UDP 10000‑20000, activer `nat=force_rport,comedia` dans le trunk |
| Écho ou voix hachée | Paquets RTP perdus, jitter élevé, codec inadapté | Activer QoS, vérifier l’utilisation de la bande passante, privilégier G.711u si la bande passante le permet |
| Blocage d’appel sortant (tone busy) | Fournisseur refuse l’appel (Caller ID non autorisé) | Configurer un Outbound Caller ID accepté par le trunk, ou désactiver le filtrage du fournisseur |
---
## III. Synthèse du chapitre
- **Extension** : numéro interne, plan de numérotation structuré par services.
- **Création d’extension** : interface PBX → ajouter extension SIP → définir numéro, nom, secret, codec, NAT → appliquer.
- **Téléphone IP** : configurer serveur SIP, identifiant, mot de passe, port 5060, codec ulaw/alaw, keep‑alive NAT.
- **Test interne** : `sip show peers`, appel entre extensions, vérification du journal.
- **Trunk SIP** : liaison VoIP vers un fournisseur, nécessite username, password, serveur, port, registre, caller ID.
- **Configuration du trunk** : PEER details, register string, apply config.
- **Pare‑feu/QoS** : ouvrir UDP 5060 (signalisation) et 10000‑20000 (RTP), marquer DSCP EF.
- **Vérification du trunk** : `sip show registry`, appel sortant/entrant, suivi des logs.
- **Dimensionnement** : calcul du trafic en erlangs (A = N × λ × h), choisir nombre de canaux selon Erlang B avec marge de sécurité.
- **Bonnes pratiques** : garder le secret SIP confidentiel, documenter le plan de numérotation, sauvegarder la configuration du PBX, tester régulièrement les enregistrements.
---
## Glossaire
| Terme | Définition |
|-------|------------|
| **Extension** | Numéro interne permettant d’atteindre un poste téléphonique dans un PBX/IPBX. |
| **Plan de numérotation** | Ensemble de règles attribuant des plages d’extension selon les services ou les départements. |
| **Poste IP** | Terminal téléphonique utilisant le protocole SIP pour s’enregistrer auprès d’un PBX et échanger des flux RTP. |
| **Trunk SIP** | Liaison logique basée sur SIP qui relie un IPBX à un fournisseur VoIP pour transporter plusieurs appels simultanés. |
| **Register string** | Chaîne `username:password@host:port` utilisée par le PBX pour s’enregistrer auprès d’un fournisseur SIP. |
| **Codec** | Algorithme de compression/décompression de la voix (ex. G.711u, G.729). |
| **NAT** | Network Address Translation ; mécanisme qui traduit les adresses IP privées en adresses publiques, souvent nécessaire pour les téléphones derrière un routeur. |
| **QoS** | Qualité de Service ; ensemble de techniques (marquage DSCP, priorisation de files) visant à garantir faible latence et perte minimale pour la voix. |
| **Erlang** | Unité de mesure du trafic téléphonique (1 erlang = 1 appel occupé pendant 1 heure). |
| **Erlang B** | Formule permettant de calculer le nombre de canaux nécessaires pour atteindre un taux de blocage donné. |
| **DSCP EF** | Expedited Forwarding (valeur 46) ; marquage utilisé pour prioriser le trafic voix dans les réseaux IP. |
| **RTP** | Real‑time Transport Protocol ; protocole transportant les flux audio/vidéo en temps réel. |
| **SIP** | Session Initiation Protocol ; protocole de signalisation pour établir, modifier et terminer des sessions multimédia. |
| **PBX/IPBX** | Private Automatic Branch eXchange / Internet Protocol Private Branch eXchange ; système de commutation téléphonique privé. |
| **Fournisseur ITSP** | Internet Telephony Service Provider ; opérateur qui offre l’accès au réseau téléphonique public via IP. |
---
## Exercices d’application corrigés
### Exercice 1 : Création d’extension et configuration d’un téléphone IP
**Consigne**
Dans une PME de Yaoundé, le service comptabilité possède trois postes. Vous devez créer les extensions 120, 121 et 122 sur un IPBX FreePBX, puis configurer un téléphone Yealink T46S pour l’extension 121.
**Étapes attendues**
1. Connexion à l’interface d’administration du PBX (`http://10.0.0.10/admin`).
2. Menu *Applications → Extensions* → *+ Add Extension* → choisir *Chan_SIP*.
3. Pour chaque extension :
- **User Extension** : saisir le numéro (120, 121, 122).
- **Display Name** : nom de l’utilisateur (ex. `Compta_Alice`, `Compta_Bob`, `Compta_Carol`).
- **Secret** : définir un mot de passe robuste (ex. `A!s9#xQ2`).
- Laisser les autres champs par défaut, appliquer.
4. Après création des trois extensions, cliquer sur *Submit* puis *Apply Config*.
5. Configuration du téléphone Yealink T46S (extension 121) :
- Account 1 → Label : `Compta_Bob`.
- Register Name : `121`.
- Register Password : `A!s9#xQ2`.
- SIP Server : `10.0.0.10`.
- SIP Server Port : `5060`.
- Transport : `UDP`.
- Audio Codec : `PCMU (G.711u)` puis `PCMA (G.711a)`.
- NAT Traversal : *Keep Alive* 30 s.
- Enregistrer les paramètres et vérifier que l’icône de ligne passe au vert.
6. Test : depuis le poste 120, composer le 121 ; vérifier la communication bidirectionnelle.
**Corrigé**
- Les extensions apparaissent dans la liste *Extensions* avec le statut *OK*.
- Le téléphone Yealink affiche *Registered* pour le compte 1.
- L’appel interne 120 → 121 est établi sans coupure, la voix est claire, aucun écho perceptible.
- Le journal d’appels montre un appel entrant/sortant avec durée > 0 s et code de libération 200 OK.
---
### Exercice 2 : Configuration d’un trunk SIP vers Camtel VoIP
**Consigne**
Une entreprise de Douala dispose d’un numéro géographique Camtel : `+237 222 33 44 55`. Vous devez configurer un trunk SIP FreePBX vers le serveur Camtel `sip.camtel.cm` avec les identifiants suivants : username `cmvoip456`, password `S3c!rtP@ss2025`.
**Étapes attendues**
1. Accéder à *Connectivity → Trunks* → *+ Add SIP Trunk*.
2. **General** :
- Trunk Name : `CAMTEL_VOIP_TRUNK`.
- Outbound Caller ID : `+237222334455`.
3. **PEER Details** : saisir exactement :
```
type=friend
host=sip.camtel.cm
username=cmvoip456
secret=S3c!rtP@ss2025
port=5060
insecure=invite,port
nat=force_rport,comedia
dtmfmode=rfc2833
disallow=all
allow=ulaw
qualify=yes
```
4. **User Details** : laisser vide (ou `from-trunk`).
5. **Register String** : `cmvoip456:S3c!rtP@ss2025@sip.camtel.cm:5060`.
6. Cliquer sur *Submit* puis *Apply Config*.
7. Vérification : exécuter `sip show registry` dans la console PBX ; la ligne doit indiquer `Registered`.
8. Test d’appel sortant : composer un numéro externe (ex. `+237 690 12 34 56`) depuis un poste interne ; écouter la tonalité d’attente puis la voix du correspondant.
9. Test d’appel entrant : appeler le numéro géographique `+237 222 33 44 55` depuis un téléphone mobile ; le poste affecté à l’extension 100 (standard) doit sonner.
**Corrigé**
- La commande `sip show registry` retourne : `cmvoip456@sip.camtel.cm:5060 - Registered`.
- L’appel sortant aboutit après environ 2 s de tonalité, la conversation est claire, aucun délai notable.
- L’appel entrant fait sonner le poste 100 après moins de 1,5 s, la voix est bidirectionnelle sans écho.
- Aucun message d’erreur n’apparaît dans le journal `/var/log/asterisk/messages`.
---
## Erreurs fréquentes et règles de sécurité
| # | Erreur fréquente | Conséquence | Règle de prévention / bonne pratique |
|---|------------------|-------------|--------------------------------------|
| 1 | **Mot de passe SIP trop simple** (ex. `1234`) | Facile à deviner → usurpation d’identité, appels frauduleux, facturation élevée. | Utiliser un secret d’au moins 12 caractères, mêlant majuscules, minuscules, chiffres et symboles ; le changer tous les 90 jours. |
| 2 | **Omission du port RTP dans le pare‑feu** | Voix coupée, unidirectionnelle ou absence totale de son malgré un enregistrement réussi. | Toujours ouvrir la plage UDP 10000‑20000 (ou celle définie dans le PBX) et appliquer une règle QoS donnant priorité EF aux flux RTP. |
| 3 | **Register string mal formé** (oublier le `:` ou inverser username/password) | Le trunk reste en état *Not Registered* → aucun appel sortant/entrant possible. | Vérifier la chaîne exactement comme fournie par l’opérateur ; tester avec un client SIP léger (Zoiper, Linphone) avant de l’insérer dans le PBX. |
| 4 | **Utilisation du codec G.729 sans licence** | Qualité vocale dégradée, parfois silence complet si le codec n’est pas disponible. | Préférer G.711u/alaw en LAN où la bande passante suffit ; réserver G.729 uniquement pour les liaisons WAN limitées et s’assurer de posséder une licence valide. |
| 5 | **Ne pas appliquer les modifications après édition** | Les changements ne sont pas pris en compte → l’administrateur croit que la configuration est erronée. | Après chaque édition dans l’interface web, cliquer systématiquement sur *Submit* puis *Apply Config* ; vérifier le statut dans la console CLI. |
| 6 | **Configuration du NAT inadéquate** (ex. `nat=no` alors que le téléphone est derrière un routeur) | Échec d’enregistrement ou appels unidirectionnels. | Définir `nat=force_rport,comedia` (ou équivalent) pour tous les postes situés derrière un NAT ; activer le *keep‑alive* sur les téléphones. |
---
*Fin du cours.*
Quiz du chapitre
10 questions — vérifie chaque réponse pour voir l'explication.