Affichage des résultats 1 à 8 sur 8

Discussion: Asterisk, trunk SIP et pannes DNS : quelles bonnes pratiques ?

  1. #1
    Trésorier Association
    Date d'inscription
    septembre 2010
    Localisation
    Lyon
    Messages
    105
    Downloads
    0
    Uploads
    0

    Asterisk, trunk SIP et pannes DNS : quelles bonnes pratiques ?

    En testant le scénario "coupure de courant" sur une install de Xivo 1.2.11 (qui utilise Asterisk 1.8.13) reliée à un trunk OVH où le switch mettait plus de temps à booter que le serveur Asterisk, j'ai fait le constat suivant :

    Si, au démarrage d'Asterisk, Asterisk n'a pas accès à son serveur DNS, alors, même quand la DNS devient finalement disponible, les appels provenant du trunk SIP OVH sont rejetés par Asterisk avec un "403 forbidden" (juste après le INVITE envoyé par le serveur OVH) et on voit dans les logs :

    [Jul 6 22:10:10] NOTICE[1849]: chan_sip.c:22726 handle_request_invite: Failed to authenticate device "0613124212" <sip:0613124212@siptrunk.ovh.net;user=phone>;tag=1 9433-VL-002dfe35-338c96d94

    La seule solution est alors de faire /etc/init.d/asterisk stop puis start.

    Si vous voulez reproduire ce problème chez vous, la procédure est simple :
    - configuez un asterisk avec un trunk SIP déclaré avec la DNS,
    - arrêtez Asterisk
    - mettez un règle iptables sur le serveur Asterisk qui droppe les requêtes DNS,
    - démarrez Asterisk
    - virez la règle iptables et attendez que le trunk SIP soit bien enregistré en surveillant via "sip show registry"
    => vous constatez alors que les appels sortants via le trunk fonctionnent, mais que les appels entrants sont rejetés par Asterisk avec un "403 Forbidden" et le message 'Failed to authenticate device "0613124212"' dans les logs Asterisk.

    J'avais déjà lu des articles sur les pbs d'Asterisk lors d'une panne de DNS (par exemple http://support.freepbx.org/forum/fre...-problem-occur), mais je pensais que, sur les versions récentes d'Asterisk, ce problème était résolu. Mais apparemment, le problème persiste : https://issues.asterisk.org/jira/browse/ASTERISK-18930

    Pour résoudre le pb, j'ai d'abord essayé de mettre l'IP de siptrunk.ovh.net dans ma config Asterisk et lieu de mettre la DNS... mais l'enregistrement SIP du serveur Asterisk sur le serveur SIP d'OVH est alors rejetée (ce n'est pas le cas avec freephonie.net par contre, donc, selon l'opérateur, on peut utiliser l'IP au lieu de la DNS ou pas).

    Du coup, j'ai remis siptrunk.ovh.net dans ma config Asterisk et j'ai ajouté une entrée dans mon /etc/hosts pour siptrunk.ovh.net.

    Vous êtes au courant de ces soucis avec Asterisk lors d'une perte de DNS ? Quand vous utilisez un trunk SIP, vous faites comment ? Vous mettez une entrée dans /etc/hosts ? Mais alors, si l'opérateur change l'IP de son serveur SIP, vous êtes chocolat...

    Apparemment, l'installation d'un serveur BIND sur Asterisk résoudrait le pb (mais je n'ai pas testé) :
    http://www.freepbx.org/support/docum...rk-when-intern
    Mon expérience de déploiement Asterisk : http://people.via.ecp.fr/~alexis/asterisk/

  2. #2
    Asterisk Fan Avatar de fastm3
    Date d'inscription
    août 2010
    Localisation
    Corbeil Essonnes (91)
    Messages
    1 302
    Downloads
    1
    Uploads
    1
    En cas de test de coupure edf, on teste les onduleurs non ?
    C'est le plus simple et efficace pour parer a edf.

    Bah oui, pas de dns , ca risque de mal se passer. J'explique simplement a mes clients de redemarrer apres que le service internet soit up en cas de panique.

    Ton stop start d'Asterisk me semble un peu violent, un sip reload devrait suffire je pense.
    Neanmoins, si tu monitores tes trunks, ca se retablit automatiquement. Pour ma part, je tente un sip reload automatique quand j'ai un pb. Dans le cas d'un pb de dns , ca devrait resoudre le pb.
    Note que effectivement pour des clients ou la mise en marche successive des equipements reseaux n'est pas possible, je mets en dur l'ip des serveurs sip. Je n'ai pas de soucis en mettant l'ip de sip.ovh.net par exemple.
    Un on-off de tous les equipements dans n'importe quel ordre fait que asterisk marche toujours alors. ( quand internet est reparti et que le serveur asterisk est allumé bien sur )
    Fastm3.

  3. #3
    Membre Senior
    Date d'inscription
    septembre 2010
    Localisation
    Where the sun shines
    Messages
    1 418
    Downloads
    0
    Uploads
    0
    il me semble avoir lu que asterisk est notoirement connu pour mal gérer les dns et resolutions de nom.

    cependant, ce qui est étrange, c'est que * ne semble pas ré-enregistré... le sip reload proposé par fastm3 doit résoudre cela. si cela marche, joue ensuite sur le timer d'enregistrement sur cet host

  4. #4
    Trésorier Association
    Date d'inscription
    septembre 2010
    Localisation
    Lyon
    Messages
    105
    Downloads
    0
    Uploads
    0
    Certes, un "sip reload" suffit peut-être, je n'ai pas fait le test... mais, dans tous les cas, quand la personne qui est sur site n'est pas un pro de l'informatique, ça reste difficile de lui demander de mettre les mains dans le cambouis, donc ce n'est pas une solution satisfaisante.

    La solution de mettre la correspondance IP/DNS dans /etc/hosts me parait bonne. Je ne pense pas que les opérateurs s'amusent à changer l'IP de leurs serveurs SIP pour le plaisir, mais bon, ça serait quand même mieux si Asterisk ne devenait pas fou quand il démarre sans DNS et la récupère après !
    Mon expérience de déploiement Asterisk : http://people.via.ecp.fr/~alexis/asterisk/

  5. #5
    Membre Senior
    Date d'inscription
    septembre 2010
    Localisation
    Where the sun shines
    Messages
    1 418
    Downloads
    0
    Uploads
    0
    je pense que si le le sip reload marche, il faut ensuite régler les timer de registration, et ensuite, ca se réenregistrera tout seul.

    Code:
    ;registertimeout=20             ; retry registration calls every 20 seconds (default)
    ;registerattempts=10            ; Number of registration attempts before we give up
                                    ; 0 = continue forever, hammering the other server
                                    ; until it accepts the registration
                                    ; Default is 0 tries, continue forever

  6. #6
    Membre Senior
    Date d'inscription
    septembre 2010
    Messages
    410
    Downloads
    1
    Uploads
    0
    Sinon,
    si OVH ne change pas d'IP tous les 36 du mois,tu peux déclarer l'IP dans ton fichier /etc/hosts.

    siptrunk.ovh.net sera résolu ensuite indépendamment de l'état du DNS ..

  7. #7
    Asterisk Fan Avatar de fastm3
    Date d'inscription
    août 2010
    Localisation
    Corbeil Essonnes (91)
    Messages
    1 302
    Downloads
    1
    Uploads
    1
    Citation Envoyé par sixela Voir le message
    Certes, un "sip reload" suffit peut-être, je n'ai pas fait le test... mais, dans tous les cas, quand la personne qui est sur site n'est pas un pro de l'informatique, ça reste difficile de lui demander de mettre les mains dans le cambouis, donc ce n'est pas une solution satisfaisante.
    Pas la peine de mettre les mains dans le cambouis, un petit cron suffit.

    Exemple de Monitoring a l'arrache avec cron si on n'a pas le temps de mettre ne place zabbix ou autre. Je verifie le resultat 2 fois de suite pour eviter les fausses alertes.

    Code:
    #
    
    #
    CLIENT=xxx
    # si le fichier existe , cela a echoué une premiere fois.
    if [ -s "/tmp/checkTrunk" ]; then
    ALREADYFAILED=0
    rm -f /tmp/checkTrunk
    #echo "already failed"
    fi
    
    /usr/sbin/asterisk -rx 'sip show registry' | grep -v -i registered | grep -v -i "Refresh State" >/tmp/checkTrunk
    #
    if [ -s "/tmp/checkTrunk" ]; then
    #cat /tmp/checkTrunk
    if [ $ALREADYFAILED ]; then
    #echo "send mail"
    mail -s "trunk $CLIENT Connections OffLine please Check" -b xx@gmail.com xx@gmail.com </tmp/checkTrunk
    fi
    /usr/sbin/asterisk  -rx "sip reload"
    fi

  8. #8
    Asterisk Fan Avatar de fastm3
    Date d'inscription
    août 2010
    Localisation
    Corbeil Essonnes (91)
    Messages
    1 302
    Downloads
    1
    Uploads
    1
    Avec ce script, aujourd'hui , tu aurais vu le pb chez ovh ce matin depuis 11h15 meme si c'est intermittent.
    Fastm3.

Les tags pour cette discussion

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •