PDA

Voir la version complète : Aide pour grand débutant...



ojal
25/11/2010, 21h56
Bonjour,

J'ai installé ASTERISK sur une distrib LINPUS dérivée de FEDORA, c'est la seule que j'avais sous la main...
J'ai l'impression que ASTERISK est installé correctement, mais il me manque peut être des éléments?
J'ai connecté 2 softphones X-LITE, ça fonctionne très bien... je vois sur leurs inscriptions sur le CLI.
Pour celà j'ai fait une config dans sip.conf

Ensuite je souhaite que les tél puissent s'appeler mutuellement.
J'ai donc créé des extensions dans extensions dans extensions.conf et quand j'essais d'appeler un tél j'ai sur le CLI un message d'erreur du style
Call from '100' to extension '1000' rejected because extension not found

Pourtant que je fais un dialplan show, je vois bien mes extensions...

Merci par avance :) :jap:

jean
26/11/2010, 04h01
est ce que le contexte defini dans le sip.conf pour les extensions correspond au contexte du dialplan ?

si non, corrige... sinon poste tes fichiers de conf (sip & extensions)

j.

ojal
26/11/2010, 17h40
Merci.

Voici mes 2 fichiers de config :

sip.conf

[1000]
type=friend
context=phones
host=dynamic

[100]
type=friend
context=phones
host=dynamic


Ce qui fait que mes softphones se connectent sans problème...

Et extensions.conf

[incomings calls]
exten => 1000,1,Dial(SIP/1000,,120)
exten => 1000,n,Hangup()

exten => 100,1,Dial(SIP/100,,120)
exten => 100,n,Hangup()


J'ai volontairement voulu essayer de faire simple... :)

Voici le message d'erreur qui m'est retourné

[Nov 26 16:41:22] NOTICE[7464]: chan_sip.c:14383 handle_request_invite: Call from
'100' to extension '1000' rejected because extension not found.

Merci par avance pour vos conseils ;-)

jean
26/11/2010, 18h34
remplace context=phones par context=incoming-calls dans le sip.conf (pour les deux phones)

vu que tu es débutant, fais EXTREMENT attention si / quand ton asterisk sera accessible depuis le net (recherche fail2ban sur ce forum)

j.

ffossard
26/11/2010, 19h05
Utiliser les numéros comme noms d'utilisateurs est une très mauvaise idée (déconseillé par Digium), ça n'apporte que de la confusion et des problèmes de sécurité.

ojal
26/11/2010, 19h15
remplace context=phones par context=incoming-calls dans le sip.conf (pour les deux phones)

vu que tu es débutant, fais EXTREMENT attention si / quand ton asterisk sera accessible depuis le net (recherche fail2ban sur ce forum)

j.

Merci, j'ai fait correspondre les contextes et par magie ça fonctionne au poil :)
Merci pour l'aide c'est vraiment sympa, je tournais en rond...

ASTERISK est sur mon réseau local pour le moment, pas accessible de l'extérieur :) Je vais regarder les problèmes de sécurité, merci.

ojal
26/11/2010, 19h22
Il manque les "username" dans sip.conf !
De plus, utiliser les numéros comme noms d'utilisateurs est une très mauvaise idée (déconseillé par Digium), ça n'apporte que de la confusion et des problèmes de sécurité.
Oui oui, mais je voulais démarrer au plus simple :)
J'avais pourtant suivi le bouquin d'O'REILLY, mais j'ai du louper une étape :confused:

ffossard
26/11/2010, 19h47
En effet je crois que dans le bouquin d'Oreilly ils mettent des numéros comme username au départ, mais c'est vieux :non:
Digium recommande de mettre des noms d'utilisateurs, ou mieux l'adresse mac du tel (non-liée au numéro ou à l'utilisateur, ça tombe bien puisqu'on définit là un téléphone et pas autre chose)

ffossard
26/11/2010, 20h09
Un morceau du sample sip.conf pour t'expliquer:


;------- Naming devices ------------------------------------------------------
;
; When naming devices, make sure you understand how Asterisk matches calls
; that come in.
; 1. Asterisk checks the SIP From: address username and matches against
; names of devices with type=user
; The name is the text between square brackets [name]
; 2. Asterisk checks the From: addres and matches the list of devices
; with a type=peer
; 3. Asterisk checks the IP address (and port number) that the INVITE
; was sent from and matches against any devices with type=peer
;
; Don't mix extensions with the names of the devices. Devices need a unique
; name. The device name is *not* used as phone numbers. Phone numbers are
; anything you declare as an extension in the dialplan (extensions.conf).
;
; When setting up trunks, make sure there's no risk that any From: username
; (caller ID) will match any of your device names, because then Asterisk
; might match the wrong device.
;
; Note: The parameter "username" is not the username and in most cases is
; not needed at all. Check below. In later releases, it's renamed
; to "defaultuser" which is a better name, since it is used in
; combination with the "defaultip" setting.
;-----------------------------------------------------------------------------

jean
26/11/2010, 21h04
je rebondis sur le message de ffossard...

on oublie souvent, mais il y a PLEIN d'infos utiles dans les .conf.samples, présents dans le répertoire des sources / configs

ojal
27/11/2010, 01h07
Pour mes connexions depuis mon réseau local, c'est OK. Merci :) :jap:
Je voudrais maintenant connecter un téléphone situé en dehors de mon réseau local...
ASTERISK tourne sur un petit netbook en LINPUS - sorte de FEDORA - à l'adresse locale 192.168.0.14
J'imagine qu'il faut que je fasse un transfert de port pour accéder depuis l'extérieur à 192.168.0.14.
J'ai donc transféré le port 5090 vers 192.168.0.14 sur mon routeur
Je connecte le téléphone à l'adresse IP publique XXX.XXX.XXX.XXX:5090 rien ne se passe...
Lorsque je ping XXX.XXX.XXX.XXX:5090 rien ne se passe non plus...
Le netbook qui fait tourner ASTERISK tourne en LINPUS et ne possède pas IPTABLES... => Je croyais que de ce fait tous les ports étaient ouverts... vrai ou faux?
Comment vérifier ?

La démarche est-elle bonne ou entre-t-elle en conflit avec la notion de port de la connexion SIP? Je ne vous cache pas que c'est confus pour le moment...

Par avance merci si vous pouvez me conseiller :)

ffossard
27/11/2010, 17h05
Pour le sip c'est le 5060, à moins que tu le change explicitement dans Asterisk.

Regarde dans les sources de ton asterisk, dans contrib/scripts/ il y'a un script te permettant de générer automatiquement les paramètres qui vont bien pour ce que tu veux faire, je ne l'ai jamais essayé, ça sera l'occasion :wink:

Pense surtout aux paramètres nat=yes, externip, localnet ...

ojal
27/11/2010, 17h19
J'ai redirigé le port 5060 de mon routeur vers l'adresse IP de la machine qui fait tourner Asterisk.
Quand je ping - sous WINDOWS - cette adresse IP publique XXX.XXX.XXX.XXX:5060, j'ai une erreur, la requête ne peut pas trouver l'hote... C'est peut être normal, je n'arrive pas à savoir... :frown:

Je ne trouve pas contrib/scripts/.. Il faut chercher où? :confused:

Les paramètres nat=yes, externip, localnet : il faut que je bouquine, je ne les maitrise pas du tout pour le moment...

ojal
28/11/2010, 01h59
Lorsque je mets la config sip.conf suivante:

[3000]
type=friend
context=incoming-calls
host=193.253.141.65 ; adresse du réseau extérieur sur lequel j'ai un softphone

J'obtiens l'erreur :

[Nov 28 00:51:58] ERROR[11752]: chan_sip.c:8764 register_verify: Peer '3000' is trying to register, but not configured as host=dynamic
[Nov 28 00:51:58] NOTICE[11752]: chan_sip.c:15593 handle_request_register: Registration from '<sip:3000@XXX.XXX.5.20>' failed for '80.10.46.70' - Peer is not supposed to register


J'en conclu donc que dde l'extérieur, j'arrive bien sur mon serveur Asterisk, ce n'est donc pas un problème de firewall ou de nat...

Je ne comprends pas ce que veut dire failed for '80.10.46.70' C'est une adresse IP?

Et lorsque je mets host=dynamic, le message d'erreur est alors
-- Unregistred SIP '3000'

la commande
localnet = 192.168.0.0/255.255.255.0
ou la commande
nat=yes
ne changent rien...

Avez-vous une idée ? :pt1cable:

Merci par avance

hb22
28/11/2010, 02h39
Pour le sip c'est le 5060, à moins que tu le change explicitement dans Asterisk.

IL FAUT CHANGER. Avec un autre port et des mots de passe forts tu vas éviter 99.99% des pirates et donc les factures de xxxxxxxx euros.

Quand je ping - sous WINDOWS - cette adresse IP publique XXX.XXX.XXX.XXX:5060
Tu ne peux jamais pinger XXX.XXX.XXX.XXX:5060 par contre tu peux peut être pinger XXX.XXX.XXX.XXX. Mais une connexion vers un couple ip-port peut fonctionner sans que le ping ne fonctionne. Une box peut interdire le ping sur l'adresse publique et autoriser une connexion sur son IP publique sur un port.

ojal
28/11/2010, 11h50
Je mettrai en effet en place des sécurités plus tard, je suis entrain d'essayer de faire au plus simple pour mes premiers essais.
dans ma config actuelle, au pire, un 'pirate' pourrait faire sonner mes tél... :)

ffossard
28/11/2010, 16h12
Lorsque je mets la config sip.conf suivante:

[3000]
type=friend
context=incoming-calls
host=193.253.141.65 ; adresse du réseau extérieur sur lequel j'ai un softphone

J'obtiens l'erreur :

[Nov 28 00:51:58] ERROR[11752]: chan_sip.c:8764 register_verify: Peer '3000' is trying to register, but not configured as host=dynamic
[Nov 28 00:51:58] NOTICE[11752]: chan_sip.c:15593 handle_request_register: Registration from '<sip:3000@85.xxx.xx.20>' failed for '80.10.46.70' - Peer is not supposed to register


J'en conclu donc que dde l'extérieur, j'arrive bien sur mon serveur Asterisk, ce n'est donc pas un problème de firewall ou de nat...

Je ne comprends pas ce que veut dire failed for '80.10.46.70' C'est une adresse IP?

Et lorsque je mets host=dynamic, le message d'erreur est alors
-- Unregistred SIP '3000'

la commande
localnet = 192.168.0.0/255.255.255.0
ou la commande
nat=yes
ne changent rien...

Avez-vous une idée ? :pt1cable:

Merci par avance

Mets nous ton sip.conf complet.
Mets host=dynamic pour la définition de ton client sip.
Change "3000" par un nom, sans parler de sécurité, je t'ai dis que ça t'amènera des problèmes de compréhension.

C'est quoi l'ip wan de ton serveur, 80.10.46.70 ou 193.253.141.65 ?
Et celle de ton client sip ?
(ça semble évident, mais ils ne sont pas sur le même réseau local ?)

Ping est un protocole ICMP, pas TCP ou UDP, donc pas de notion de port.

Les paramètres sont expliqués dans le fichier d'exemple sip.conf (quand tu fais "make samples" après l'installation d'asterisk)
contrib/scripts/ est un répertoire dans les sources d'asterisk (typiquement /usr/src/asterisk-1.*/)

jean
28/11/2010, 22h16
Je mettrai en effet en place des sécurités plus tard, je suis entrain d'essayer de faire au plus simple pour mes premiers essais.
dans ma config actuelle, au pire, un 'pirate' pourrait faire sonner mes tél... :)



Je ne comprends pas ce que veut dire failed for '80.10.46.70' C'est une adresse IP?


tu es déjà en train de te faire scanner.... et sauf erreur, le scanneur a déjà repéré le username 3000....

change de port asap (au minimum) et installe fail2ban. utilise des mots depasse sécurisés

ojal
28/11/2010, 22h31
Oula, vous me faites peur :heink:
Je vais en effet sécuriser tout celà, mais pour le moment quel risque puis-je courrir? A part faire sonner un des postes connectés, je ne vois pas...:)
Qu'est-ce qui te faire dire que je suis scanné?
Les logs que j'ai rapportés sont générés par moi et moi seul... Je n'en comprends simplement pas l'interprétation...
C'est vrai qu'avec ce que j'ai copié sur le forum, maintenant il peut y avoir des curieux :)

jean
29/11/2010, 02h28
des tentatives d'enregistrements depuis une ip différente de celle que tu as définie dans le host= indiquent que une ip non attendue tente de s'enregistrer

il faut savoir que chaque ip se fait scanner entre 0 et 10 fois par jour sur le port 5060 à la recherche d'un switch voix

meme si tu ne peux téléphoner à l'exterieur, certains scanneurs mantiennent des listes et reviennent regulierement : http://voipsa.org/blog/2010/09/29/voip-attackers-sometimes-they-come-back/ et peuvent te causer des soucis plus tard

enfin, meme si il n'y a pas de sortie pstn derriere, les scanners peuvent te bouffer la bande passante en faisant une recherche bruteforce

donc, mieux vaut sécuriser tot que tard !

ojal
29/11/2010, 12h28
des tentatives d'enregistrements depuis une ip différente de celle que tu as définie dans le host= indiquent que une ip non attendue tente de s'enregistrer
Es-tu certain? Ce log a été généré par un des mes essais... Je me suis connecté depuis mon samrtphone en 3G...

jean
29/11/2010, 14h06
en ce cas, c'est différent, mais les autres points restent valables

ojal
29/11/2010, 14h16
OK mer ci ;-)
J'essaie désespérément d'installer un UNIX sur une machine, mais le sort se dresse contre moi... J'ai une machine que je n'arrive pas à partitionner à cause d'un problème de cluster et une autre qui bug lors du boot sur le LIVE CD UBUNTU...

ffossard
29/11/2010, 14h49
OK mer ci ;-)
J'essaie désespérément d'installer un UNIX sur une machine, mais le sort se dresse contre moi... J'ai une machine que je n'arrive pas à partitionner à cause d'un problème de cluster et une autre qui bug lors du boot sur le LIVE CD UBUNTU...

Changez de machine pas besoin de puissance, juste qu'elle fonctionne correctement :wahoo:

ojal
30/11/2010, 00h52
J'ai installé Asterisk 1.8 sur un UBUNTU.
J'espère ne plus avoir de problème avec la distribution...

J'aimerais faire quelques exemples de paramétrages les plus simples. Je suis donc reparti sur 2 fichiers vides sip.conf et extensions.conf.
Mais quand je fais un reload, je vois qu'il y a plein de fichiers qui se montent. J'aurais souhaité partir de feuille blanche...
Quels sont les fichiers à effacer ou supprimer?

Voici ou j'en suis.... pas avancé... :heink::frown:
sip.conf

[moi]
type=friend
username=moi
secret=moi
host=dynamic
context=maison

[toi]
type=friend
username=toi
secret=toi
host=dynamic
context=maison On ne doit pas pouvoir faire plus simple... :)

extensions.conf

[maison] ; on déclare le contexte local qu'on a spécifié dans le sip.conf
; numéros "locaux"
exten => 10,1,Dial(SIP/moi) ; quand on compose le 10, le softphone branché sur le lien "moi" sonnera
exten => 11,1,Dial(SIP/toi) ; quand on compose le 11, le softphone branché sur le lien "toi" sonnera

Voici les retours CLI :

ubuntu*CLI>
== Using SIP RTP CoS mark 5
[Nov 29 22:35:13] NOTICE[14429]: chan_sip.c:20063 handle_request_invite: Call from 'moi' to extension '10' rejected because extension not found.
== Using SIP RTP CoS mark 5
[Nov 29 22:35:17] NOTICE[14429]: chan_sip.c:20063 handle_request_invite: Call from 'moi' to extension '11' rejected because extension not found.
== Using SIP RTP CoS mark 5
[Nov 29 22:35:22] NOTICE[14429]: chan_sip.c:20063 handle_request_invite: Call from 'moi' to extension '12' rejected because extension not found.
[Nov 29 22:36:38] NOTICE[14429]: chan_sip.c:21380 handle_request_subscribe: Received SIP subscribe for peer without mailbox: moi
ubuntu*CLI>

Les contexts sont bons... enfin je pense...

Sur mon ancienne config, je pensais que celà fonctionnait?

ojal
30/11/2010, 00h58
Ca fonctionne après un service asterisk restart...

Le reload dans le CLI ne suffisait pas...?

ffossard
30/11/2010, 01h04
Oui vos contexts sont bons.

Asterisk est installé par compilation et aucune installation par "paquets" n'a été faite avant sur ce système ?
Peux-t-on voir le sip.conf et extensions.conf complets ? (par expérience, le problème est souvent caché dans un morceau que l'utilisateur ne juge pas utile de montrer..)

Pour tout ce que vous voyez au reload, c'est normal, de base Asterisk charge de nombreux modules (que vous pouvez désactiver dans /etc/asterisk/modules.conf), ainsi que le contenu des fichiers de configurations contenant les exemples.
Faire une liste est un peu long, je ne peux que vous conseiller d'ouvrir rapidement chaque fichier et vous faire une idée sur les fichiers qui peuvent être vidés, vous ne risquez pas grand chose à essayer, puisque leur contenu est actuellement le sample (donc un "make samples" dans les sources les régénérera)

ffossard
30/11/2010, 01h06
Ca fonctionne après un service asterisk restart...

Le reload dans le CLI ne suffisait pas...?

Normalement un reload suffit, puisqu'il comprends le "sip reload" et le "dialplan reload" nécessaire à prendre en compte les modifications de vos deux fichiers.

jean
30/11/2010, 04h20
sip reload
dialplan reload

sinon, ben oui, il faut plein de trucs dans asterisk.... par defaut, tout ce qui est sous /var/lib/asterisk/modules

idealement, tu regarde chaque module et tu décides si tu gardes ou pas en parametrant /etc/asterisk/modules.conf

n'oublie pas la lecture de asterisk... the future of telephony, et aussi voip-info.org !

jean
30/11/2010, 04h27
Je mettrai en effet en place des sécurités plus tard, je suis entrain d'essayer de faire au plus simple pour mes premiers essais.
dans ma config actuelle, au pire, un 'pirate' pourrait faire sonner mes tél... :)

tiens... profite... regarde comme ca vient vite:
http://www.asterisk-france.org/showthread.php/378-Asterisk-S450IP...-et-n°-surtaxé-(

ojal
30/11/2010, 16h21
Je clos cette discussion du fait que mon installation est sur les rails et je vous en remercie :)