Connection d’Asterisk au serveur SIP de Free
Suite à l’article d’hier sur la configuration d’un serveur Asterisk SIP sous Fedora, voici un tutoriel permettant de le connecter au serveur SIP de l’opérateur Free (Freephonie), ou à toutes autres opérateur SIP.
Ce que nous voulons obtenir:
- les appels sortant (vers fixes, portables) depuis un client SIP (X-Lite dans notre exemple).
- les appels entrant sont automatiquement basculés vers le client SIP, puis vers le téléphone branché sur la Freebox (si le client SIP ne décroche pas) et enfin vers la messagerie (si le téléphone e décroche pas).
Vous êtes près ? alors c’est partie…
Configuration de votre compte SIP Free
La première chose à faire est d’aller sur l’interface d’administration de votre compte Free afin d’activer votre compte SIP (dans le menu Gestion de mes services de téléphonie).

Cette opération a pour but de rediriger les appels en SIP.
Il faut redémarrer la Freebox pour que la configuration soit prise en compte.
Configuration du serveur Asterisk
Nous allons apporter quelques modifications à notre fichier de configuration SIP (/etc/asterisk/sip.conf).
[general]
context=default
srvlookup=no
externip=81.54.223.16
localnet=192.168.1.0/255.255.255.0
defaultexpirey=1800
dtmfmode=auto
qualify=yes
register = utilisateur:motdepasse@freephonie.net
[freephonie_appelsortant]
type=peer
allow=all
host=freephonie.net
fromuser=utilisateur
username=utilisateur
secret=motdepasse
dtmfmode=inband
qualify=yes
fromdomain=freephonie.net
[freephonie_appelentrant]
type=peer
context=depuisfreephonie
host=freephonie.net
qualify=yes
allow=all
[nicolargo]
type=friend
username=nicolargo
secret=motdepasse
context=maison
quality=yes
nat=no
canreinvite=no
auth=md5
host=dynamic
dtfmode=rfc2833
allow=ulaw
context=internal
Il faut remplacer ‘utilisateur’ et ‘motdepasse’ par ceux fournis par Free dans l’interface d’administration Free.
‘exterip’ doit être remplacée par votre adresse IP publique (aussi récupérable sur l’interface d’administration Free).
‘localnet’ doit être remplacé par l’adresse réseau et le masque de votre réseau local.
Ensuite, on edite le fichier de plan de numérotation (/etc/asterisk/extensions.conf):
[maison]
; Numéros “maison”
exten => 10,1,Dial(SIP/nicolargo) ; quand on compose le 10, le softphone “nicolargo” sonnera
; numéros externes
exten => _9.,1,Dial(SIP/freephonie-out/${EXTEN:1}) ; quand on compose un numero qui commence par 9, on utilise le lien “freephonie” et on passe le numero au peer en ôtant le premier digit.
[depuisfreephonie]
; Contexte pour les appels recus depuis Free
exten => s,1,Ringing
exten => s,2,Dial(SIP/nicolargo)
exten => s,3,Congestion
Il ne reste plus qu’a faire prendre en compte la nouvelle configuration par votre serveur Asterisk:
# asterisk -r
*CLI> restart gracefully
Et voila, vous pouvez tester ![]()
Mise à jour du billet
Dans le Linux magazine n°90, un article très complet sur comment configurer son serveur Asterisk avec le service Freephonie de l’opérateur Free.





Twitter:
Rss:
22 commentaires
bonjour,
est ce possible de rendre asterisk comme une paserelle, pour rediriger le trafic (3 millions de minutes par mois) vers des provider voip en utilisant le protrocol sip.
Cordialement,
Mr El Adadi Youssef
@youssef: Il est possible de configurer Asterisk comme proxy. C’est à dire que toutes les commnuciations seront reroutées vers un autre serveur (se trouvant par exemple chez un provider).
je te remercie pour ta réponse Nicolargo cé gentille
tu sé comment faire rendre mon serveur comme un proxy
ou si tu as une doc ou un lien qui peut m’aider
la config hard a peu pré du serveur quel distribution mieux a utiliser .
merci
@youssef: je te conseille de poser ta question sur le forum officiel. Disponible à l’adresse suivante.
Hey Nicolargo ! Teès intéressant ce billet
il est vaiment sympa le design du blog (dsl si je suis hors sujet), j’appprécie le blog !
bone continuation
peut on installer Asterisk de la meme maniere sur une FC 8 ?
@petous: je n’ai jamais testé mais je pense que oui. Si tu fais la manip, merci de nous tenir informé.
Et oui, 2 ans plus tard, il y en a encore qui s’interessent à cet excellent post mais ne comprennent pas tout
Je connais un peu Asterisk, mais je n’arrive pas à comprendre quelle est la partie qui va faire que le call entrant sera redirigé sur le telephone (hard) en cas de non réponse du softphone ?
@djManu: effectivement il y a une boulette dans la conf (je viens de la modifier)
[depuisfreephonie]
; Contexte pour les appels recus depuis Free
exten => s,1,Ringing
exten => s,2,Dial(SIP/nicolargo)
exten => s,3,Congestion
A+
Bonjour,
Je suis actuellement entrain de monter une plateforme de test Asterisk sous debian eth 4.0.
L’installation d’asterisk se déroule correctement et j’arrive a recevoir des appels vers mon numéro sip depuis le reseau RTC mais je n’arrive pas à émettre d’appel.
Pour information mon compte sip est bien activé et les appels sortants et entrants ont été testés avec succes en utilisant le soft phone Xlite sans passer par asterisk.
Voici mes fichiers de configuration :
Pour info plicploc est mon identifiant chez ippi (enfin pas le vrai hein :p) et non pas le numero qu’ils m’ont attribués.
_____________________________________________________________________________________
SIP.CONF
[general]
bindport=5060 ; UDP Port to bind to (SIP standard port is 5060)
bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all)
disallow=all
allow=ulaw
allow=alaw
allow=gsm
allow=ilbc
register =>plicploc:monmotdepasse@ippi.fr
[ippi_outgoing] ; configuration des appels sortants par ippi
type=peer
host=ippi.fr
user=plicploc
secret=monmotdepasse
fromuser=plicploc
fromdomain=ippi.fr
nat=yes
canreinvite=no
[ippi_incoming] ; configuration des appels entrants depuis ippi
type=friend
host=ippi.fr
context=from_ippi
nat=yes
canreinvite=no
[201]
username=201
type=friend ; user appel entrant,peer appel sortant,friend les deux
qualify=yes ; test toutes les deux secondes qu’un client est joignable
secret=12345 ; mot de passe pour autentification client
nat=no ; le client est pas deriere un firwall qui nat
host=dynamic ; le client s’enregistre lui meme
canreinvite=no ; le client ne fait pas de rappel auto
context=appel_entrants ; contexte du client
[202]
username=202
type=friend ; user pour appel entrant, peer pour appel sortant, friend pour les deux
qualify=yes ; test toutes les deux secondes qu’un client est joignable
secret=12345 ; mot de passe pour autentification client
nat=no ; le client n’est pas deriere un firwall qui nat
host=dynamic ; le client s’enregistre lui meme
canreinvite=no ; le client ne fait pas de rappel auto
context=appel_entrants ; contexte du client
______________________________________________________________________________________
EXENTENSIONS.CONF
[from_ippi] ; les appels entrants de ippi font sonner le compte SIP 201
exten => s,1,Dial(SIP/201)
[home] ; tous les appels sortants du compte my_phone sont envoyés sur le réseau ippi
exten => _X.,1,Dial(SIP/ippi_outgoing/${EXTEN})
Dans l’attente d’un ptit coup de main …
Bien cordialement
jey
Franchement, ton post me sera d’une grande utilité pour monter un petit projet… Franchement thanks for that.
Bonjour à tous,
Tout d’abord merci pour le super tuto !!!!!
Je suis un nouvel utilisateur du serveur asterisk. je viens de monter mon serveur et il fonctionne plutôt pas mal
J’ai un compte sip chez free et je l’utilise dans mon serveur asterisk. Mais j’ai voulu optimiser les fonctionnalités de mon serveur asterisk pour en faire un partage de mon compte sip avec plusieurs softphone. (j’ai installé un softphone sur chacun des pc des mes enfants pour qu’ils puissent passer des comm) Pour les appels entrant j’ai pas de problème. Tout les téléphone sonne en même temps et c’est le premier qui décroche qui a lal ligne. Cependant pour les appel sortant ca n’aboutit pas… Je peux seulement passer une comm à la fois et js 2 en même temps. Si qq un a une petite idée sur le sujet je suis preneur. Je donne en même temps ma conf.
@+plasitkman
sip.conf
[general]
context=default
dtmfmode=auto
qualify=yes
srvlookup=no
externip=xxx.xxx.xxx.xxxx
localnet=192.168.69.11/255.255.255.0
defaultexpirey=1800
dtmfmode=auto
qualify=yes
register=09xxxxxxxx:09xxxxxxxx@freephonie.net
[freephonie_appelsortant]
type=friend
allow=all
host=freephonie.net
fromuser=09xxxxxxxx
username=09xxxxxxxx
secret=09xxxxxxxx
dtmfmode=inband
qualify=yes
fromdomain=freephonie.net
[freephonie_appelsortant2]
type=friend
allow=all
host=freephonie.net
fromuser=09xxxxxxxx
username=09xxxxxxxx
secret=0952751261
dtmfmode=inband
qualify=yes
fromdomain=freephonie.net
[freephonie_appelentrant]
type=peer
context=depuisfreephonie
host=freephonie.net
qualify=yes
allow=all
[nicolargo]
type=friend
username=nicolargo
secret=motdepasse
quality=yes
nat=yes
canreinvite=no
auth=md5
host=dynamic
dtfmode=rfc2833
allow=ulaw
context=phones
[brice]
type=friend
username=brice
secret=brice
quality=yes
nat=yes
canreinvite=no
auth=md5
host=dynamic
dtfmode=rfc2833
allow=ulaw
context=phones
extensions.conf
[globals]
[general]
autofallthrough=yes
[default]
[internal]
; Numéros “maison”
exten => 10,1,Dial(SIP/nicolargo) ; quand on compose le 10, le softphone “nicolargo” sonnera
;exten => 11,1,Dial(SIP/brice) ; quand on compose le 11, le softphone “brice” sonnera
; numéros externes
exten => _0[1-6].,1,Dial(SIP/freephonie_appelsortant/${EXTEN}) ; appel avec le compte free
exten => _0[1-6].,2,Dial(SIP/freephonie_appelsortant2/${EXTEN}) ; appel avec le compte free
[depuisfreephonie]
; Contexte pour les appels recus depuis Free
exten => s,1,Ringing
exten => s,2,Dial(SIP/nicolargo&SIP/brice)
exten => s,3,Congestion
[phones]
include => internal
include => repondeur
include => exterieur
include => horloge
include => maison
;include => sortant
;[sortant]
;exten => _0[1-6].,2,Dial(SIP/freephonie_appelsortant2/${EXTEN}) ; appel avec le compte free
;exten => 11,1,Dial(SIP/brice) ; quand on compose le 11, le softphone “brice” sonnera
; numéros externes
;exten => _9.,1,Dial(SIP/freephonie_appelsortant2/${EXTEN:1})
; quand on compose un numero qui commence par 9, on utilise le lien “freephonie” et on passe le numero au peer en ôtant le premier digit.
[repondeur]
exten => 222,1,Answer()
exten => 222,2,VoiceMailMain(${CALLERID(num)})
exten => 222,3,Hangup()
[horloge]
exten => 777,1,Answer()
exten => 777,2,SayUnixTime(,CET,qAdBYHM)
exten => 777,3,Playback(vm-goodbye)
exten => 777,4,Hangup()
Ps: j’ai oublié de vous donnez les log de mon serveur hihihih
– Executing [01xxxxxxxx@phones:1] Dial(”SIP/brice-083beb20″, “SIP/freephonie_appelsortant/01xxxxxxxx”) in new stack
— Called freephonie_appelsortant/01xxxxxxxx
— SIP/freephonie_appelsortant-083c61a8 is ringing
— SIP/freephonie_appelsortant-083c61a8 is making progress passing it to SIP/brice-083beb20
— Executing [06xxxxxxxx@phones:1] Dial(”SIP/nicolargo-083d77d8″, “SIP/freephonie_appelsortant/06xxxxxxxx”) in new stack
— Called freephonie_appelsortant/063xxxxxxxx
[Mar 10 00:07:20] WARNING[5325]: chan_sip.c:12334 handle_response_invite: Received response: “Forbidden” from ‘”nicolargo” ;tag=as1de25d1c’
— SIP/freephonie_appelsortant-083dc550 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
— Executing [06xxxxxxxx@phones:2] Dial(”SIP/nicolargo-083d77d8″, “SIP/freephonie_appelsortant2/06xxxxxxxx”) in new stack
— Called freephonie_appelsortant2/06xxxxxxxx
Really destroying SIP dialog ‘14f921217a8xxxxxxx81de277df2d350@freephonie.net’ Method: INVITE
salut le grand Nicolargo au faites je travail sur un projet de fin d’étude sur le deploiement de la VoIP dans un réseau d’entreprise où je dois implémenté et configuré un serveur asterisk j’aimerais savoir car j’ai vu plusieur tuto mais sur pas avec linux red hat .Est ce que ces différents tuto peuvent etre appliqué sous red hat,?Merçi d
@Saint: pas de problème il faudra au pire un peu adapter ces tutos…
donc c’est possible d’adaptater ces différents tuto avec RED Hat n’es ce pas?
salut Nicolargo ,
je travail sur un projet de VOIP ou j’utilise Asterisk installer sous la plate forme redhat et les deux softphone x-lite 2.0 installer chaqu’un sous windows. Touts mache trés bien chez moi , les deux softphone peuvent ce connecté au serveur asterisk et faire des appels entre eux. mais j’ai un petit problème, c’est lors d’un appel je peut enttendre la sonnerie du correspondant mais quand je decroche je ne peut pas entendre la voix de l’autre personne au bout du softphone.
je veux bien que vous m’aidiez sur ceci
merci d’avance.
Salut,
Très bon article, je pense m’en inspirer fortement pour faire ma config Asterisk.
Par contre, avant de me lancer, j’aimerai quelques precisions. Le but recherché en installant un IPBX chez moi est plus ou moins de filtrer les appels. En clair, je souhaiterais que de base tous les appels entrants sur mon numero free soient redirigés vers asterisk et que celui-ci fournisse une annonce du type “si vous avez quelque chose à vendre, merci de laisser un message et si vous voulez nous parler, taper le code secret…”. Enfin bon quelque chose dans l’esprit.
Donc ma question, c’est plutôt au niveau de l’archi. Est-ce que je dois passer ma ligne free en mode SIP, ou bien laisser tel quel, et mettre une carte dans le serveur avec un port FXO branché sur la freebox, et un port FXS sur lequel vient se mettre mon tel analogique. C’est un peu embrouillé dans ma petite tête dans la mesure ou je visualise pas trop l’archi du reseau free. A savoir que je suis en degroupage total et que j’ai reirigé mon ancien num FT sur le reseau free.
Voilà, merci si il y a une reponse.
@Lolovroom: je pense que le plus simple est de tout faire en SIP. Les appels seront reroutés directement sur ton Asterisk, tu pourras alors y gérer ton message de filtrage. Ensuite, les appels “amis” seront redirigé vers la freebox.
Je pense que tu dois pouvoir trouver des configurations toutes faites sur Internet.
PS: n’oublie pas le forum pour te faire aider: http://forum.nicolargo.com
Merci pour la reponse.
Quand tu dis que je peux rediriger les appels vers la freebox, on est bien d’accord que c’est pour faire sonner mon tel analogique (DECT) ? J’ai aussi un SIP phone, mais pas sans fil, donc pas super pratique.
Question subsidiaire : est ce que tout ça peut remettre en cause la “gratuité” des appels à l’etranger ? Je vois pas pourquoi d’un point de vue technique, mais legalement ??
@lolovroom: c’est effectivement le téléphone branché sur la freebox qui doit sonner.
Pour ta deuxième question, c’est une pratique autorisée, donc pas de problème.
slt je souhaite avoir un lien de site ou le processus d’installation de vmware et un systeme linux.
S’il vous plait il y a t-il quelqu’un pour m’expliquer les conceptes de base de voix sur IP. J’ai participé a un semnaire en vue de me former mais arrivé à la maison je n’arrive pas à l’appliquer. Je suis en 2 eme année BTS IG j’attend votre reponse a l’adresse suivant: koodney@yahoo.fr