Préambule
Avant de commencer cet article un peu de mise en contexte.
Étant bénévole pour l’association Five-Host, nous voulions mettre en place un système de téléphonie. J’avais déjà utilisé un système sous Asterisk avec une interface web faite par un dev très talentueux qui se reconnaîtra.
J’avais donc besoin de trouver une solution si possible basée sur le même système de base (Asterisk), mais avec une interface web incluse.
On a donc choisi FreePBX, alias Grenouille PBX. (Même si l’interface mériterait un petit coup de polish)

Prérequis
Pour commencer, nous allons avoir besoin de plusieurs éléments :
- Une machine Linux avec FreePBX (Logique)
- Un trunk SIP (Dans notre cas chez OVH)
- Un numéro de téléphone (SDA)
- Et un peu d’huile de coude
Installation de FreePBX
Bon, FreePBX fournit un joli script tout mignon qui va faire l’installation de base comme un grand. Juste besoin de lire les quelques lignes sur le site.
Donc on lance le script et on attend.

Configuration du Trunk
Nous voila dans l’interface de FreePBX. Maintenant, on va connecter notre trunk afin de faire transiter les numéros vers notre système de téléphonie.
Lors de la livraison de votre Trunk SIP, des informations vous sont communiquées :
- Login
- Secret (A définir vous même dans le cas d’OVH)
- Registrar

On a tout ce qu’il nous faut pour faire la connexion du Trunk au FreePBX.

Une fois dans le module, on va cliquer sur « Add Trunk » et « Add SIP Trunk »
Petit récap des options :
- Trunk Name (Mettez un petit nom à votre Trunk)
- Hide Caller ID (Si vous voulez masquer votre numéro lors d’appels sortants, perso j’ai mis non)
- Outbound Caller ID (Le numéro à afficher par défaut lors d’appel sortant, on peut laisser vide si besoin)
- CID Options (Si vous voulez faire transiter plusieurs numéros sur ce trunk il faut cocher « Allow any CID »)
Ensuite, on va aller dans « Dialed Number Manipuled Rules »
Pour la France, dans Match pattern on va mettre « 0Z » (0 pour le +33 et Z pour les numéro de 1 à 9)
Pour terminer, on va aller dans « pjsip setting », à savoir que « Auth username » n’est pas obligatoire s’il est identique à « Username ».

Et on peut submit, pour vérifier que le trunk est bien monté, on va aller dans « Reports » « Asterisk Info »
On voit que le trunk est bien monté.

Route entrante
C’est bon, le trunk est connecté, mais si tu fais pas la règle entrante, ça va pas marcher !
Allons dans « Connectivity » « Inbound Rules » « Add Inbound Rules »
Voici les options :
- Description (Un petit nom pour la route entrante)
- DID Number (le numéro qui déclanche la régle, donc normalement ton 03machinchouette)
- CallerID Number (En any si tu veux que tout le monde t’appel)
- Set Destination (La où tu veux que ça sonne)

Route Sortante
Ce sera dans le même menu mais cette fois « Outbound rules ».
Ce sera sensiblement les mêmes réglages :
- Route Name (Un petit nom sympa à la route)
- Route CID (Le numéro que tu veux présenter en sortie)
- Trunk Sequence (Le trunk qu’on à configuré au début)

Et voilà, tu peux recevoir et émettre des appels avec FreePBX
Bonjour,
Merci pour votre publication.
A priori cette configuration pose problème avec les comptes SIP OVH nouvelle infrastructure (sip-domain.io)
Il semblerait qu’il faille configurer un proxy !
Si quelqu’un a pu réaliser une configuration qui fonctionne, je suis preneur et reconnaissant !
Bonjour Pascal,
D’après ce que je comprend dans cette documentation : https://help.ovhcloud.com/csm/fr-voip-softphone-sip-register?id=kb_article_view&sysparm_article=KB0039283
Il faut utiliser la valeur proxy sortant et la définir en tant que SIP Server sur ton FreePBX.
Je peux me tromper, mais ça n’as l’air pas déconnant.
Je reste disponible par mail : contact@lucasjandot.fr
Bonjour,
J’ai réussi à faire s’enregistrer une ligne ovh découverte sip-domain.io en mettant la valeur « sip:cm31283-ovh-1.sip-proxy.io\;lr » en Outbound_proxy du trunk.
Merci pour ton retour !
Super le tuto. Un grand merci !!!
Moi aussi, je sèche sur OVH…
Les paramètres suivants :
Login / User name
00333XXXXXXXXXXX
Authorization user name
00333XXXXXXXXXXX
Domain / Registrar
sip3.ovh.fr
Proxy sortant
sip3.ovh.fr
Infrastructure
D
Date du dernier enregistrement 1
19/02/2026 09:29
Ip / port local
192.168.10.101:5060
Ip / port publique
XXXXXXXXXXX:5060
J’ai forcé mon routeur à attribuer l’adresse 192.168.10.101 à la VM où Freepbx est installé.
J’ai essayé via apache (je suis un peu moins compétant là-dessus) de renvoyer tout le trafic 5060 vers la VM également mais tout ce que j’obtiens dans les logs Asterisk c’est « rejected »:
==========================================================================================
00333XXXXXXXXX/sip:sip3.ovh.net:5060 00333XXXXXXXX Rejected (exp. 45s)
Objects found: 1
J’ai également essayé from-pstn-toheader mais ça ne change rien….
Merci pour ton commentaire !
Puc à publier en disant qu’il avait réussi à configurer je site : « J’ai réussi à faire s’enregistrer une ligne ovh découverte sip-domain.io en mettant la valeur « sip:cm31283-ovh-1.sip-proxy.io\;lr » en Outbound_proxy du trunk. »
Bonjour Lucas,
Merci pour la réponse et le tuto qui est le plus complet que j’ai trouvé concernant ovh et freepbx…
J’ai encore 2-3 petits trucs à parfaire mais le trunk est enregistré.
J’ai changé le mot de passe OVH, celui proposé par défaut ne respectait même pas les règles de caractères spéciaux imposés par OVH.
Cela semble marcher avec le ou sans le « toheader » dans le context.
Mais, en effet, il faut entrer le proxy ovh dans pjsip paramètres /Avancé/Outbound Proxy
et , surtout, entrer « sip: » devant l’adresse du proxy founrnie par ovh ( c’est la même que le registar) chez moi.
Encore merci
(à ajouter à la modération : ne pas oublier le \;lr à la fin du proxy sinon impossible de passer ou recevoir des appels) Merci.
Merci à toi pour ton commentaire !
Et dans ce cas précis, le crédit reviens à Puc qui à su t’indiquer la marche à suivre 😉
Passe une bonne journée !