Serveur asterix un petit coup de pouce

Pascal -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Comment allez-vous tout le monde ?

Je vous communique un petit souci concernant le serveur Astérix, voilà je suis actuellement a mettre en place ce serveur, j'ai fini la configuration hier soir, tout marche vraiment bien en local.

Je voudrais savoir comment je peux faire pour rajouter un compte sip externe à mon réseau local sur mon serveur Astérix, afin de pouvoir appeler de mon Lan vers l’extérieur et que de l'extérieurs on puisse m'appeler ...

Merci d'avance de votre aide qui serait le bienvenu.

3 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Bonjour,

    De manière générale quand un serveur (ici asterisk) n'est visible qu'en local c'est souvent dû à l'un de ces trois symptômes :

    1) le serveur est bindé en local : si tu tapes
    netstat -ntlp
    et que le serveur est associé à
    127.0.0.1
    au lieu de
    0.0.0.0
    , il n'est accessible qu'en local. Il faut alors corriger sa
    bind-address
    (voir fichier(s) de configuration, probablement dans
    /etc/asterisk
    ) et le relancer (avec une commande du genre
    sudo service asterisk restart
    ).

    2) un pare-feu ou un proxy localisé entre le client et le serveur bloque ce port (voir par exemple
    sudo iptables -L
    )

    3) la redirection de port n'est pas faite : si le client est extérieur au réseau dans lequel est le serveur (par exemple ton serveur est à la maison, et ton client n'est pas dans ton réseau domestique), il faut s'assurer que le client parvient à router le serveur (tu peux vérifier avec les commandes
    /sbin/route -n
    et
    ping -c2 ip_du_serveur
    ) et accède au port associé au serveur (voir commande
    nmap ip_du_serveur
    ). En outre si ton PC est dans ton réseau domestique, il faut que ta box redirige un port vers le port et l'IP du serveur asterisk. Dans ce cas, le client doit se connecter à l'IP publique de ta box et au port redirigé.

    Bonne chance
    0
    1. Noel-barbu Messages postés 305 Statut Membre 2
       
      Du coter netstat voici ce que ça me donne :

      root@SRV-VOIP:~# netstat -ntlp
      Active Internet connections (only servers)
      Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
      tcp 0 u 0 0.0.0.0:111 0.0.0.0:* LISTEN 745/rpcbind
      tcp 0 0 0.0.0.0:2000 0.0.0.0:* LISTEN 3119/asterisk
      tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1007/sshd
      tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1152/master
      tcp6 0 0 :::111 :::* LISTEN 745/rpcbind
      tcp6 0 0 :::22 :::* LISTEN 1007/sshd
      tcp6 0 0 ::1:25 :::* LISTEN 1152/master


      Pour information le client est local en Lan sur le serveur, mais je cherche à pouvoir appeler du Lan vers l'extérieur, mais qu'on puisse m'appeler avec un numéro hippy de l’extérieur, auquel cas je peux répondre en LAN en cas d’Apelle.

      Ensuite du coter routeur j’ai régler mes règles NAT de façon a redirigé les ports vers le serveur Astérix notamment le 2000 et 5060

      Je pense que c'ais plus un souci de configuration fichier, voilà ce que j'ai sur mon fichier :

      sip.conf

      [general]
      register => Unoelbarbu:******@sip.ippi.com

      [ippi_incoming] ; configuration des appels entrants depuis ippi
      type = peer
      host = sip.ippi.com
      context = from_ippi
      nat = yes
      canreinvite = no

      [ippi_outgoing] ; configuration des appels sortants par ippi
      type = peer
      host = sip.ippi.com
      username = Unoelbarbu
      secret = ******
      fromuser = Unoelbarbu
      fromdomain = sip.ippi.com
      nat = yes
      canreinvite = no


      user.conf

      [general]
      hasvoicemail = yes
      hassip = yes
      hasiax = yes
      callwaiting = yes
      threewaycalling = yes
      callwaitingcallerid = yes
      transfer = yes
      canpark = yes
      cancallforward = yes
      callreturn = yes
      callgroup = 1
      pickupgroup = 1
      nat = yes

      [6001]
      type = friend
      host = dynamic
      dtmfmode = rfc2833
      disallow = all
      allow = ulaw
      fullname = noelperso
      username = noelperso
      secret = *******
      context = work

      [6002]
      type = friend
      host = dynamic
      dtmfmode = rfc2833
      disallow = all
      allow = ulaw
      fullname = Kevin
      username = kevin
      secret = *******
      context = work


      [6003]
      type = friend
      host = dynamic
      dtmfmode = rfc2833
      disallow = all
      allow = ulaw
      fullname = noel barbu
      username = 6003
      secret = *******
      context = work


      extensions.conf

      [general]
      static=yes
      writeprotect=no
      clearglobalvars=no

      [globals]
      CONSOLE=Console/dsp ; Console interface for demo
      IAXINFO=guest ; IAXtel username/password
      TRUNK=DAHDI/G2 ; Trunk interface
      TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0)

      [work]
      exten => _6XXX,1,Dial(SIP/${EXTEN},20)
      exten => _6XXX,2,VoiceMail(${EXTEN}@work)

      ;Num ro de la boite vocale
      exten => 600,1,VoiceMailMain(${CALLERID(num)}@work,s)

      [from_ippi] ; les appels entrants de ippi font sonner le compte SIP neoteck
      exten => s,1,Dial(SIP/6003)

      [home] ; tous les appels sortants du compte neoteck sont envoyes sur le reseau ippi
      exten => _X.,1,Dial(SIP/ippi_outgoing/${EXTEN})


      [pbx_config]
      exten => 6001,1,Dial(SIP/6001,10,tr)
      exten => 6001,2,Voicemail(6001)
      exten => 6001,3,playBack(vm-goodbye)
      exten => 6001,4,HangUp()

      exten => 6002,1,Dial(SIP/6002,10,tr)
      exten => 6002,2,Voicemail(6002)
      exten => 6002,3,playBack(vm-goodbye)
      exten => 6002,4,HangUp()

      exten => 6003,1,Dial(SIP/6003,10,tr)
      exten => 6003,2,Voicemail(6003)
      exten => 6003,3,playBack(vm-goodbye)
      exten => 6003,4,HangUp()


      Tout me semble bon, je ne comprend pas d'ou vient le problème
      0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Ici asterisk écoute sur le réseau et sur le port 2000. Ce n'est donc pas la cause (1).

    Maintenant il faut essayer de voir si ça ne vient pas des causes (2) et (3).

    Si j'ai bien compris ce que tu veux dire par "le client est local en Lan sur le serveur", tu veux dire que ton client est sur une autre machine dans le même LAN que le serveur. À noter qu'en réseau, dire que quelque chose est local signifie par défaut sur la même machine (ou alors il faut parler de réseau local, alias LAN). Si c'est bien le cas ça veut dire que le pare-feu du client et du serveur ne sont pas en cause et que ce n'est pas la cause (2).

    Reste à vérifier le cas numéro 3. Jusqu'ici ton client se connectait à disons
    192.168.1.10:2000
    si on admet que
    192.168.1.10
    correspond à l'IP dans le réseau local de ton serveur asterisk. Evidemment, comme son nom l'indique, une IP locale (192.168.*.*) n'a de sens que dans ton réseau local, ou plus exactement, a une autre signification dans le LAN de quelqu'un d'autre. En effet on peut imaginer que quand tu es chez un ami, cette IP corresponde à un PC de son propre LAN.

    L'idée pour t'adresser à ton serveur asterisk est de faire "croire" à ton client que ton serveur asterisk est hébergé par ta box, qui elle, a une IP publique (disons
    11.22.33.44
    ). On parle de redirection de port. Tu peux retrouver ton IP publique sur ce genre de site. Tu vas donc dire à ton client de se connecter désormais à
    11.22.33.44:2000
    . Le truc c'est que le serveur asterisk n'est pas hébergé sur ta box, donc il va falloir la configurer pour lui demander de faire suivre cette connexion. On va donc rediriger
    11.22.33.44:2000
    vers
    192.168.1.10:2000
    . Pour le coup, ta box ayant une patte dans le bon LAN, elle va bien contacter ton serveur asterisk. Ainsi une fois cette redirection de port configurée, tu devrais pouvoir te connecter à ton serveur asterisk :
    - depuis l'extérieur de ton LAN via
    11.22.33.44:2000

    - depuis l'intérieur de ton LAN via
    192.168.1.10:2000


    Configurer une redirection de port diffère d'un modèle de box à l'autre (freebox, livebox, etc...). Chez orange, cela dépend même du modèle de livebox. De nombreux tutoriels expliquent comment faire, une petite recherche google devrait donc te permettre de le faire sans problème.

    Bonne chance
    0
    1. Noel-barbu Messages postés 305 Statut Membre 2
       
      Bonjour,

      Alors oui effectivement mon serveur est bien sur le réseau local (et non en local), il a une adresse IP du genre
      192.168.1.57
      .

      Mon client donc mon ordinateur qui a X-lite, lui est sur le même réseau local avec une IP par exemple de
      192.168.1.30
      .

      Du coter de mon routeur Sagem 2 j'ai des règles Nat que j'ai redirigées vers mon serveur Astérix , notamment la règle Nat nommée Astérix avec les ports
      5060
      et
      2000
      .

      Si j'effectue des appels en réseau local d'un compte a l'autre cela fonctionne, si j'appelle par exemple le compte 6001 vers 6002 ça marche et vice versa.

      Voici quelques captures d'écran sur ce que ça m'indique, peut-être que cela est plus parlant pour la résolution du problème.

      Depuis hier soir j'ai tout de même réussi à faire communiquer le compte sip avec ippi mais cela raccroche tout de suite.

      https://imgur.com/a/P7yaH
      0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Depuis hier soir j'ai tout de même réussi à faire communiquer le compte sip avec ippi mais cela raccroche tout de suite.

    La première étape c'est de t'assurer qu'en local tout fonctionne correctement pour traiter un problème à la phrase. Est-ce le cas ? Ou est-ce que cette phrase signifiait que même en ayant le client et le serveur dans le même réseau local ça ne marche pas correctement ? Si ça n'est pas le cas est qu'asterisk marche quand le client est lancé sur la même machine que le serveur ?

    Concernant les captures d'écran, on évite autant que possible de mettre des captures d'écran quand il s'agit de données texte. Ça permet aux gens d'éviter d'avoir plein d'onglets à ouvrir, de pouvoir copier coller des messages d'erreur, et de permettre aux gens qui ont les mêmes erreurs de trouver le fil de discussion. Ceci dit, aucune erreur ne semble apparaître donc je ne pense pas que ça aide à comprendre le problème.

    Une fois qu'asterisk marchera correctement dans le même réseau local, on pourra faire la redirection de port dont je parlais. En l'occurrence il faudra que ta livebox sagem2 redirige le port
    2000
    vers
    192.168.1.57:2000
    . Pour cela tu peux suivre ce tutoriel.

    Bonne chance
    0