Asterisk et la nouveau config?

Démarré par zapgadget, 20 Novembre 2015 à 12:33:34

« précédent - suivant »

0 Membres et 1 Invité sur ce sujet

Bonsoir,

Ce post m'a motivé de jouer avec Asterisk ce weekend, ce que je voulais faire depuis une année (pour éviter de grosses factures lorsque ma femme appelle des portables suisses et en prévision d'un portail avec un interphone voip). Je suis encore sur l'ancienne infrastructure. Après quelques galères de compilation, j'ai réussi à installer FreePBX 12 sur mon serveur et tout configurer depuis mon réseau interne, y compris Android (client SIP "natif")

Le seul truc qui ne marche pas, c'est de me connecter comme client SIP sur mon serveur depuis l'extérieur (j'ai essayé la 4G sunrise et wifi au boulot): j'ai enclenché les options NAT partout dans FreePBX et ai ouvert les ports 5060 et 10000-10100 RTP. Les docs sur le net sur ce cas de figure sont un peu confuses... Je reçois un timeout systématiquement quand j'essaie un appel depuis l'extérieur.

Quelqu'un a réussi à le faire marcher dans cette configuration?

Merci!

Merci @sagres pour la configuration!

Citation de: sagres le 28 Janvier 2016 à 18:57:07
Comme vu avec JC-DC et le support K-Net, le register sip ne semble pas stable, c'est à dire qu'un coup on est enregistré, et le coup d'après non. Cela doit avoir une influence sur l'utilisation de la ligne, à voir avec le temps.

On a encore un ticket sur ça ce matin, j'insiste pour que les gens fassent des traces SIP.  ;)
Deux choses à noter:

  • Typiquement, Asterisk dit qu'il est Registered mais en fait il boucle sur des REGISTER avec des réponses "423 Interval Too Brief" parce que la configuration utilise un timer trop court. Du coup il n'est jamais enregistré de notre côté et les appels entrants ne passent pas. Ca se voit très bien sur une trace SIP.
  • Notre "min expiry" est de 180, mais idéalement (pour que ça soit stable) c'est mieux si vous utilisez un timer plus long (je recommande 1800 secondes, soit 30 minutes). La config de @sagres utilise defaultexpiry=1200, c'est bien aussi.

Pour info: le client qui avait le problème de Expires que je mentionnais dans mon précédent message a résolu son problème et nous informe qu'il existe aussi une option qui permet de mettre la valeur à la fin de la ligne "register" (c'est peut-être disponible uniquement sur des versions récentes), la syntaxe complète de la ligne devenant:

register => [peername?][transport://]user[@domain][:secret[:authuser]]@host[:port][/extension][~expiry]

(Le paramètre se met alors après un tilde, tout à la fin de la ligne.)

En espérant que cela puisse aider!

#18
Citation de: shimaore le 22 Février 2016 à 10:31:34
Merci @sagres pour la configuration!

Citation de: sagres le 28 Janvier 2016 à 18:57:07
Comme vu avec JC-DC et le support K-Net, le register sip ne semble pas stable, c'est à dire qu'un coup on est enregistré, et le coup d'après non. Cela doit avoir une influence sur l'utilisation de la ligne, à voir avec le temps.

On a encore un ticket sur ça ce matin, j'insiste pour que les gens fassent des traces SIP.  ;)
Deux choses à noter:

  • Typiquement, Asterisk dit qu'il est Registered mais en fait il boucle sur des REGISTER avec des réponses "423 Interval Too Brief" parce que la configuration utilise un timer trop court. Du coup il n'est jamais enregistré de notre côté et les appels entrants ne passent pas. Ca se voit très bien sur une trace SIP.
  • Notre "min expiry" est de 180, mais idéalement (pour que ça soit stable) c'est mieux si vous utilisez un timer plus long (je recommande 1800 secondes, soit 30 minutes). La config de @sagres utilise defaultexpiry=1200, c'est bien aussi.
salut a tous, je vous fait suivre mon retour d'expérience car ayant galéré pendant des mois depuis la migration de ligne téléphonique, je dis des mois car j'ai procrastiné a mort sur ce problème car chez moi il n'y a pas eu une panne franche car cela fonctionnait par intermittences et je me débrouillais a coup de sip reload de modifs de paramètres divers dans mon sip.conf.
Tour d'abord, dès la migration de ligne j'ai eu les erreur 423 timer too short, pas de problème un coup de google => defaultepiry= la valeur qui va bien, sauf que dès fois ca marchait puis si coupure malencontreuse une heure a galérer pour avoir le sip trunk a nouveau "registered". A force de tatonnement et de races sip j'ai remarqué que lorsque je recevais le sip 200 OK parfois le binding était a 0 et parfois a 1, quand il était a 0 pas d'appels entrant possible, lorsqu'il était a 1 alors appels entrant OK.
Comme je travaille dans le support réseau ce facteur "aléatoire" a vraiment commencé a m'irriter car je n'arrivais ps vraiment mettre le doigt dessus. J'ai lu pas mal de chose sur les bug du chan_sip d'asterisk et j'ai donc migré de 1.8 en 11 ... et là miracle ... même problème, enfin non, impossible de remonter le sip trunk sous asterisk 11, au moins c'était stable. Suite a d'innombrables essais de conf avec le defaultexpiry, maxexpiry, session-timer j'ai fais appel au support k-net qui a mis le doigt sur un point important dans une de mes traces, l'expiry initial envoyé lors de mon register était de 120s alors que le paramètre dans mon sip.conf était a 1800s. Pourtant j'ai lu et relu la doc asterisk et la RFC3261 grace au support k-net mais ils disent de changer le defaultexpiry jusqu'a ce que je tombe sur ceci:
If callbackextension is defined for a peer it successfully causes a registration to occur, but the registration ignores the outboundproxy settings for the peer.  This is because the call to obproxy_get() in transmit_register() is not capable of passing a peer.  This patch adds the peername option, [peername?], to the register string allowing transmit_register to attempt to find the peer and use it's outbound proxy.

register => [peername?][transport://]user[@domain][:secret[:authuser]]@host[:port][/extension][~expiry]

Donc pour en finir avec mon laïus  il suffisait d'appendre ~1800 a la fiin de ma ligne register et voila ca fonctionne a 100%.
merci encore au support k-net qui fait des recherches

mort de rire, shimaore a mis la solution a dispo pendant que je tapais mon message :)

Merci shimaore et JC-DC pour votre aide.  ;)

bonjour,

je me permets de remonter ce topic car ayant eu un peu de mal mettre en place mon asterisk, et a faire autre chose que de l'interne, ce topic m'a vraiment bien aidé.

merci a tous