La Fibre
Datacenter et équipements réseaux => Routeurs =>
Remplacer la box SFR par un routeur => Discussion démarrée par: nagra le 04 novembre 2025 à 12:50:44
-
Ayant passé presque 48 heures non-stop à essayer de faire fonctionner le VoIP, en grainant des infos ça et là, je me suis dit que ce serait bien d'avoir quelque chose de simple et qui explique le pourquoi des configs.
Comme tout le monde, je suis passé en IPv4 du coté WAN. et j'ai utilisé le programme de Florent Daignière pour récupérer les informations de compte
https://florent.daigniere.com/posts/2019/04/extracting-voip-credentials-from-my-broadband-router/
Display name : +33*********
Username : NDI0*********.ALP.THD@sfr.fr
Password : ************************
Domain : ims.mnc010.mcc208.3gppnetwork.org
Servers : (pick the one with the lowest latency)
corbas.p-cscf.sfr.net.:5062
venissieux.p-cscf.sfr.net.:5062
mitry.p-cscf.sfr.net.:5062
Dans le forum certains suggèrent residential.p-cscf.sfr.net comme serveur.
Comme on voit ci-dessous, cela revient au même si on fait une requête DNS SRV sur le service _sip._udp - à voir si votre client SIP peut faire cela.
;; ANSWER SECTION:
_sip._udp.residential.p-cscf.sfr.net. 327 IN SRV 10 0 5062 venissieux.p-cscf.sfr.net.
_sip._udp.residential.p-cscf.sfr.net. 327 IN SRV 10 0 5062 corbas.p-cscf.sfr.net.
_sip._udp.residential.p-cscf.sfr.net. 327 IN SRV 10 0 5062 mitry.p-cscf.sfr.net.
Pour le NAT traversal, j'utilise STUN avec le service de Google: stun.l.google.com:19302
Ensuite il faut s'assurer que le client SIP met bien l'adresse WAN dans le champ Contact du message REGISTER.
Pour l'expiration de ce même REGISTER, j'ai mis 2 minutes (minimum accepté par SFR) comme ça en cas de changement d'IP, ça sera prendra 2 minutes max pour être joinable.
Pour le Keep Alive, j'utilise le message OPTIONS plutôt que NOTIFY, avec un intervalle de 20 seconds. Ca c'est pour s'assurer que le router garde le mapping NAT ouvert (le port UDP entrant redirigé vers mon client SIP).
Le plus grand problème que j'ai eu a résoudre est que SFR indique, dans le champ Contact de certains messages SIP, le serveur interne qui traite les appels (par example pcgw-0006.imsgroup-019.mit2asbc03.ims.sfr.net). Hors, les DNS publiques de SFR ne connaissent pas ces serveurs et certains clients SIP (incluant le mien) échouent à envoyer le message ACK nécessaire lors d'un appel sortant, ce qui cause une coupure de la communication par SFR après environ 32 secondes.
Il semble que le message ACK peut simplement aller au même endpoint (IP + port) utilisé depuis le début de la session SIP. Cela indiquerait que les noms des servers mentionnés précédemment sont des load balancers.
A ce stade je ne sais pas si le client SIP de la box SFR a accès à des serveurs DNS différents, ou bien si le champ Contact est ignoré (tout le temps ou ignoré si la résolution DNS échoue). Ca ne m'étonnerait pas que le client SIP des box SFR ignorent simplement l'erreur et que personne chez SFR ne s'est rendu compte que ces serveurs sont inconnus des serveurs DNS utilisés par la box.
Pour éviter une requête DNS qui va échouer, il semble que certains sur ce forum utilisent Asterisk avec la configuration rewrite_contact=yes.
Comme je ne voulais pas installer Asterisk, j'ai configuré le client SIP directement avec une des IPs (92.91.129.72) d'un des serveurs et j'ai mis dans mon routeur une règle DNS wildcard. Ca marche, mais évidement ça va planter le jour ou SFR change les IPs.
-
salut,
du coup dans ton contexte, pourrais-tu nous indiquer aussi, en images (pour faciliter la validation), la configuration de ton client SIP ?
je vais voir de mon côté si je peux mettre un dns wildcard sur mon openwrt, a priori ca devrait etre faisable.
echo "address=/.ims.sfr.net/92.91.129.72" >> /etc/dnsmasq.conf
/etc/init.d/dnsmasq restart
a l'époque, j'avais fait tous mes tests sur MicroSIP sur windows. https://www.microsip.org/downloads
et j'étais bloqué par cette fameuse coupure au bout d'une 30ene de secondes.
-
Ca devrait marcher, mon routeur utilise Dnsmasq
OK pour de photos de mon ATA, je ferais ça dans les jours qui viennent.
-
pour la config que j'avais faite :
sur Microsip :
https://lafibre.info/remplacer-sfr/comment-recuperer-les-informations-sfr-liees-a-mon-telephone/msg1025961/#msg1025961
et celle sur Zoiper :
https://lafibre.info/remplacer-sfr/comment-recuperer-les-informations-sfr-liees-a-mon-telephone/msg1025906/#msg1025906
-
Bonjour,
Je suis également en train d'essayer de faire fonctionner la Voip de SFR avec mon routeur openwrt.
J'ai lu beaucoup de posts sur cec forum à ce sujet.
Je voulais vous faire part de mes investigations quand j'aurais tout terminé, mais je profite de ce post pour commencer.
Je que je veux faire à terme :
- conserver mon téléphone analogique : il a une fonctionnalité anti spam qui marche bien.
- je dispose de deux ATA anciens : un cisco ATA190 et un linksys 2102 ; j'espère en utiliser un pour faire fonctionner mon téléphone.
- je ne veux pas utiliser asterisk : je trouve que la solution est lourde pour l'usage. Au pire, j'utiliserai siproxd
J'ai voulu d'abord faire fonctionner microsip, pour valider ; en direct, sans siproxd. Comme vous, je me suis cassé les dents sur le fameux pcgw-0006.imsgroup-019.mit2asbc03.ims.sfr.net (ou autre) dans le champ Contact.
Je l'ai réglé en mettant la règle que vous proposez dans la conf de dnsmasq du routeur.
Ca peut se faire depuis Luci :
Network -> DHCP and DNS -> General
Il suffit d'ajouter ceci dans la partie Adresses : /.ims.sfr.net/92.91.179.56
L'IP cible peut être la meme IP, ou une IP différente de celle utilisée dans SIP Proxy
Ca ajoute ceci dans /etc/config/dhcp :
list address '/.ims.sfr.net/92.91.179.56'
Tout marche très bien, sans avoir à ajouter de règles de firewall ou de redirection de port.
Coté linksys 2102 'en direct' (sans siproxd), mission impossible : il est trop vieux, ca ne passe pas la première requete REGISTER. Ca échoue avec un "CLF interrogation failure"
La seule différence notable que je vois entre la trame REGISTER générée par microsip et cette du linksys 2102 est le champ Allow :
pour microsip : Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
pour linksys 2102 : Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, PRACK, REFER
Je vais donc essayer avec siproxd.
J'ai déja commencé avec microsip et siproxd. Ca marche bien, pas besoin de règles de redirection ou de firewall. Cerise sur le gateau, plus besoin de faire la bidouille DNS pour .ims.sfr.net.
Je vois dans la log de debug siproxd qu'io n'arrive pas à résoudre pcgw-0006.imsgroup-019.mit2asbc03.ims.sfr.net ou son équivalent, mais il continue en renvoyant la requete PRACK au proxy avec lequel il est en relation.
Pour le moment, dans la conf siproxd, j'ai mis une des IP de proxy :
option outbound_proxy_host '92.91.179.56'
J'ai bon espoir de pouvoir le faire fonctionner en profitant du round robin, avec :
option outbound_proxy_host 'corbas.p-cscf.sfr.net'
Une fois que ce sera fait, je commencerais les tests avec le linksys2102 + siproxd.
-
En fait, la ligne :
option outbound_proxy_host 'corbas.p-cscf.sfr.net'
fonctionne normalement; j'avais fait une erreur de syntaxe. Pas besoin de bidouille.
Donc ,coté openwrt, il suffit d'installer et de paramétrer siproxd ; aucune autre modif à faire par ailleurs, que ce soit firewall ou DNS.
En bénéficiant du round-robin DNS sur un site (corbas, mitry ou venissieux).
J'en ai terminé je pense de ces premiers essais, je vais passer au linksys 2102
Si je m'en sort, je crois qu'il est préférable de créer un autre sujet, pour ne pas polluer celui ci ...
-
Ca devrait marcher, mon routeur utilise Dnsmasq
OK pour de photos de mon ATA, je ferais ça dans les jours qui viennent.
bon ben ca ne marche toujours pas chez moi, avec Microsip configuré comme ci-dessous, l'appel coupe au bout de 27s.
j'ai bien mis le DNS de SFR qui n'est pas mon dns habituel, et ajouté le dns wildcard.
Ma config :
(https://i.imgur.com/CalBepW.png)
-
Ca peut se faire depuis Luci :
Network -> DHCP and DNS -> General
Il suffit d'ajouter ceci dans la partie Adresses : /.ims.sfr.net/92.91.179.56
L'IP cible peut être la meme IP, ou une IP différente de celle utilisée dans SIP Proxy
Ca ajoute ceci dans /etc/config/dhcp :
list address '/.ims.sfr.net/92.91.179.56'
je viens de tester ca aussi. pareil ca ne marche pas chez moi, ca coupe. :-\
-
Je viens de refaire un essai avec microsip en direct, sans siproxd.
J'ai arrêté siproxd sur le routeur, débranché le linksys 2102, remis la bidouille DNS.
Ca marche dans tous les cas : appel depuis microsip, appel depuis le distant. Le raccrochage depuis microsip ou depuis le distant est immédiatement recu par l'autre.
J'ai maintenu une connexion vocale de 5 mn sans interruption.
Il y a une gougoune dans ta conf :
SIP Server doit être ims.mnc010.mcc208.3gppnetwork.org ; tu as ajouté ton numéro de tel devant.
Chez moi, lors des tests, j'ai mis SIP Proxy à 92.91.179.56:5062 . Si je mets corbas.p-cscf.sfr.net:5062, il y a un 'Server internal Error' dans les 20s qui suivent l'appel.
J'avais analysé pourquoi, mais j'ai fait tellement d'essais depuis que je ne m'en souviens plus ...
De toute manière, à partir du moment ou on triche sur .ims.sfr.net, on est bloqué sur une IP ; donc mettre 92.91.179.56:5062 au lieu de corbas.p-cscf.sfr.net:5062 ne change plus rien.
Si tu veux profiter avec microsip du round robin DNS, et sans bidouille, je crois qu'il faut passer par siproxd ou autre. Je trouve que la solution asterisk ressemble à un marteau pilon pour écraser une mouche.
-
alors j'ai fait ce que tu as indiqué. Mais malheureusement ca coupe toujours.
tu as mis le serveur stun de google ? sans ca plus de son chez moi.
-
c'est bon ca fonctionne.
je n'avais pas les memes IP dans Microsip et dans openwrt. Nagra et toi vous utilisez des ip differentes, et j'ai fait des copier/coller de l'un et de l'autre. ;D
Bref en faisant un nslookup sur corbas.p-cscf.sfr.net :
C:\>nslookup corbas.p-cscf.sfr.net
Serveur : OpenWrt.lan
Address: 192.168.1.1
Réponse ne faisant pas autorité :
Nom : corbas.p-cscf.sfr.net
Addresses: 2a02:8400:20:1208::8
2a02:8400:20:120b::8
2a02:8400:20:120c::8
2a02:8400:20:120a::8
2a02:8400:20:1209::8
92.91.179.72
92.91.179.40
92.91.179.24
92.91.179.8
92.91.179.56
j'ai décidé de partir sur 92.91.179.56
ce qui me donne ceci sur openwrt :
(https://i.imgur.com/oCEvrTn.png)
et ceci dans Microsip :
(https://i.imgur.com/oN7uuBR.png)(https://i.imgur.com/FSiuRGK.png)
et maintenant ça ne coupe plus.
Bravo a vous deux. ;)
-
Il serait intéressant de regarder s'il se passe la même chose côté mobile. C'est quels messages qui sont concernés ? Session progress ? 200 ok ?
Après avoir glané quelques infos, si les specs IMS sont suivies à la lettre, les clients SIP ne doivent dialoguer qu'avec le P-CSCF et aucun autre proxy. Il semble donc qu'il y ait un problème de leur côté. En théorie, le P-CSCF devrait réécrire le champ contact pour y mettre son IP.
J'ai regardé un peu côté Orange sur le mobile et c'est bien le cas : tous les champs Contact ont l'IP du P-CSCF.