Serveur asterix un petit coup de pouce

Pascal -  
mamiemando Messages postés 33782 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.
A voir également:

3 réponses

mamiemando Messages postés 33782 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
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
Noel-barbu Messages postés 258 Date d'inscription   Statut Membre Dernière intervention   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
mamiemando Messages postés 33782 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
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
Noel-barbu Messages postés 258 Date d'inscription   Statut Membre Dernière intervention   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
mamiemando Messages postés 33782 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
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