Je vous explique mon problème.
Nous avons un compte SIP chez Direct Centrex, c'est un compte pour téléphoner sur IP.
Nous avons une ligne spécialisée de type sDSL chez Orange.

Tout se passe bien, sauf qu'en ce moment, nous avons de gros problèmes de qualité sur la liaison entre chez nous et direct centrex.

En effet, lorsque l'on fait des ping, il y a des pertes de paquets.
J'ai fait un traceroute et on obtient ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
1  192.168.1.2 (192.168.1.2)  50.189 ms  0.560 ms  0.532 ms
2  rv14lo-bidon.bstest06.rennes.francetelecom.net (193.253.160.3)  69.220 ms  62.843 ms  73.058 ms
3  80.10.245.5 (80.10.245.5)  70.782 ms  67.913 ms  60.897 ms
4  tengige0-15-0-0.ntpst101.paris.francetelecom.net (193.252.161.138)  95.211 ms  63.133 ms  65.015 ms
5  81.253.129.178 (81.253.129.178)  63.578 ms  68.092 ms  57.393 ms
6  te10-3.passe1.paris.opentransit.net (193.251.240.150)  83.803 ms  77.688 ms  57.416 ms
7  te4-2.parse7.paris.opentransit.net (193.251.129.166)  107.267 ms  85.651 ms  107.650 ms
8  cogent-1.gw.opentransit.net (193.251.254.246)  67.353 ms  64.484 ms  71.694 ms
9  te2-4.ccr02.par04.atlas.cogentco.com (130.117.0.238)  75.746 ms  73.531 ms
   te3-7.ccr02.par04.atlas.cogentco.com (130.117.50.174)  76.672 ms
10  frontier-software.demarc.cogentco.com (149.6.164.86)  61.757 ms *  83.778 ms
11  core1-1-0.th2.routers.frontier.fr (213.161.200.17)  67.406 ms  70.754 ms  76.451 ms
12  gw1.voixip.fr (213.161.201.200)  67.299 ms  64.292 ms  75.371 ms
J'ai pu repérer qu'il y a un problème de qualité entre le routeur 6 et le 7. En effet, sur le 6 (te10-3.passe1.paris.opentransit.net) pas de perte de paquet, et sur le 7 ( te4-2.parse7.paris.opentransit.net ), il y a des pertes de paquets.

Nous avons contacté Orange, mais comme vous vous en doutez, ils ne peuvent rien faire...

Nous avons une freebox aussi, et avec le réseau de free, il n'y a pas de problème. D'autre part, nous avons un serveur OVH, et entre chez nous et OVH, il n'y a pas de problème (que ce soit Orange ou free), en effet, on ne passe pas par les mauvais routeurs de opentransit.
D'autre part, depuis OVH vers direct centrex, on ne passe pas non plus par open transit, du coup, pas de perte de paquet non plus.

SIP est un protocole qui fonctionne en udp, il n'y a donc pas de correction d'erreur au niveau transport, et doncj, quand il y a perte de paquets, il y a : mauvaise qualité de son.

Je cherche donc à contourner le problème.

Je pensais passer par notre fameux serveur ovh pour rediriger le trafic.
Donc nous nous connecterions sur ovh, et celui-ci renverrait les paquets vers direct centrex. De ce fait, on ne passerait pas par opentransit, même si le ping serait éventuellement plus long.

Donc pour cela, j'ai bidouillé iptable de façon à rediriger le port 5060 vers le serveur direct centrex.
J'ai donc fait ça dans le firewall :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
$IPT -A INPUT -i eth0 -p udp --dport 5060 -j ACCEPT
$IPT -t nat -A POSTROUTING -o eth0 -j MASQUERADE
$IPT -t nat -A PREROUTING -p udp -i eth0 --dport 5060 -j DNAT --to 94.23.8.144:5060
$IPT -A FORWARD -p udp -i eth0 -d 94.23.8.144 --dport 5060 -j ACCEPT
J'ai testé cette même commande en ssh avec du tcp vers un serveur ssh, et ça marche.

Par contre, avec udp, pas moyen de faire la connexion entre chez nous et direct centrex via ce serveur ovh.

J'ai regardé aussi du coté du serveur qui essaye de se connecter pour voir quels ports pouvaient être utilisés, et il semble qu'il n'y ait que le 5060 en udp.

Pourquoi ce réglage de iptable fonctionne-t-il en tcp avec le protocole ssh et pourquoi ça ne fonctionne pas avec udp et le protocole sip ?

Merci