PDA

Voir la version complète : Problème de son avec Asterisk+Free dans Dial()



sunny
13/10/2010, 10h47
Bonjour à tous,

Cette fois-ci, j'ai un autre problème (attention accrochez-vous, c'est un peu compliqué):

Etat initial:
Je dispose d'un serveur Asterisk 1.6. Je suis connecté à mon compte free pour utiliser la freephonie. De mon coté, je dispose d'un téléphone SIP ST2030 (nous l'appelerons Interieur1), et je dispose d'un autre (identique, nous l'appelerons Exterieur1) qui utilise la ligne FT.

J'ai configuré un menu vocale si l'on m'appel sur le le 0951XXXXXX fourni par free.
Grâce à ce menu vocale, je peut accéder à des salles de conférences que j'ai précédemment configurées.

Cas n°1:
Extérieur 1 appel Interieur 1: Aucune personne n'entend l'autre.

Cas n°2:
Interieur 1 appel Extérieur1: Aucune personne n'entend l'autre.

Cas n°3:
Extérieur accède à la salle de conférence 600 grâce au menu vocale. Dans cette salle, Intérieur1 est déjà présent:
les deux personnes communiquent normalement

Donc voilà, si quelqu'un pouvait me donner une piste pour savoir comment faire pour que Intérieur1 et Extérieur1 s'entendent :)
merci d'avance

PS: il est bien évidemment de rigueur de me demander des précisions, notamment coté configuration, alors n'hésitez pas. Si vous avez des idées de quoi taper dans google aussi, je suis preneur (histoire de comprendre un peu).

therebel23
13/10/2010, 20h57
Regarde du coté du NAT au niveau de l'extension de ton téléphone SIP. Sinon, regarde aussi tes codecs (voir si ceux que tu as choisi sont compatibles Free)

au besoin, fait un

sip set debug

et épluche le log ..

therebel23
13/10/2010, 20h58
Regarde aussi du côté du RTP direct (essaye de le désactiver s'il est activé)

sunny
14/10/2010, 10h37
Merci de ta réponse :)

J'y est réfléchi et je pense que c'est forcement un problème de NAT en effet. Cela ne peut pas être un problème de codecs puisque le codec supporté par free est alaw, le même que moi et que la conférence téléphonique fonctionne.

Justement, cette conférence est géré par un numéro directement sur le serveur Asterisk, donc il n'y a pas d'histoire de NAT (enfin si, mais ça marche, alors pas grave). Par contre, pour atteindre un téléphone après avoir contacter l'Asterisk, il y a du NAT, forcement.

Bon, c'est expliqué de façon archaïque, niveau débutant, mais je pense que l'idée est là. Maintenant, il faut que je pense, je réfléchisse, et que je me renseigne un peu, parce que ce genre de problème, c'est un peu au dessus de mes connaissances actuelles.

Merci à toi en tout cas.

therebel23
14/10/2010, 11h01
Donc au niveau du user que tu as déclaré dans ton asterisk, user utilisé par ton téléphone interne, il faut mettre nat=yes
Est-ce que le register du téléphone se fait bien sur ton asterisk ?

asterisk -r

puis refait un register du téléphone ..
sinon

sip show peers

te donne quelques infos aussi

sunny
14/10/2010, 16h09
Hello,

alors, venant de résoudre un autre problème, je me suis remis à ce problème.

J'ai suivi ton conseil et essayer de mettre nat=yes. Dans sip show peers, les postes appelé et le contexte pour les numéros free sortants sont tous indiqué comme Naté (N). Malheureusement, cela ne m'avance pas énormément, le problème reste entier, malgré le fait que le téléphone est bien reconnu (et apparait comme reachable).

J'essai de trouver conseil dans le sip debug, mais c'est plus facile à dire qu'à faire...

sunny
14/10/2010, 16h47
Rebonjour,

j'ai un peut potassé le sujet, et je suis tombé là dessus:
http://www.freephonie.org/doku/tutoriel:asterisk

donc effectivement, le problème est évident: le NAT.

Seulement voilà, je ne comprend pas comment je dois configurer mon iptables:
dans le guide, il est écrit ip.lan et ip.public. Je dois donc remplacer par quoi? ip.lan doit surement être l'IP de mon poste destinataire (local) et IP.public par l'adresse public de ma freebox non?

therebel23
14/10/2010, 21h22
Avant de changer quelque chose dans ton iptables,
essaye quand même de passer un appel depuis un softphone (X-lite par exemple) pour exclure un probème de config de téléphone ..

sunny
14/10/2010, 21h54
oui en effet bonne idée, je vais essayer demain matin. Merci, je te tiens au courant.

sunny
15/10/2010, 09h35
bon, ça attendra demain on dirait...

je peut pas appeler depuis l'extérieur le numéro free, c'est embêtant... (et j'ai pas de ligne direct à mon poste, donc là, c'est mort pour aujourd'hui).

je te tiendrai au courant.

EDIT:
C'est bon, je peut de nouveau appeler mon numéro free!

J'ai donc testé avec xlite, tout fonctionne très bien, j'entend parfaitement mon correspondant. Je viens juste de me remettre au problème, je vais potassé ça jusqu'à midi, je te tiens au courant.


EDIT2: j'ai parlé trop vite. J'ai refais un appel un peu plus tard. J'ai retrouvé le fameux "En raison d'un trop grand nombre d'appels, veuillez rappeler ultérieurement". Bon ba je m'y remettrai ultérieurement...

sunny
19/10/2010, 14h42
J'y suis revenu à ce facheux problème.

Alors précisons les choses:

Je dispose de deux ST2030. Nous appellerons 111 celui avec le vieux firmware et 114 celui avec le dernier (2.72).
Je dispose d'un client Xlite sur mon poste.
Je dispose d'un serveur Asterisk 1.6.2.13.
Et enfin, j'utilise l'offre SIP de Free (le numéro en 09).
J'utilise un autre serveur Asterisk avec des lignes numéris pour réaliser le test veres l'extérieur. (nous l'appellerons 33ext)

Cas n°1:
Je m'authentifie bien auprès de free.
114 émet un appel vers 33ext
au décroché, 33ext ne m'entend pas, mais moi je l'entends.

idem avec 111, sauf qu'on entend rien du tout des deux cotés

Cas n°2:
33ext appel 111 ou 114: aucun son

Cas n°3:
33ext appel xlite: son entrant OK, son sortant "?" (j'ai pas de micro, mais si on utilise l'option mute, on entend le grésillement).

Cas n°4:
l'inverse: idem.

Ceci étant, je suis un peu perdu. Cela ne peut donc pas être une histoire de codecs, étant donné que j'ai toujours mi alaw partout (ou G711a). Cela ne peut pas non plus être un problème de nat, étant donné que xlite passe tranquillement. Pare-feu non plus, j'ai tous désactivé et c'est pareil.

Notez enfin que les ST2030 ont la même configuration que le 111 et tourne très bien avec le serveur AsteriskNOW actuellement en production.

J'en conclu donc qu'il doit s'agir de ma configuration d'Asterisk, mais là je sèche.

Pour ne pas surcharger la page, je ne vais pas mettre tous les logs (je sais pas mettre de toute façon), donc si vous avez besoin de certains points en particulier, je les posterais dans un prochain poste.

Je poste tout de même le sip.conf en partis, si ça peut aider:


[general]
context=default
language=fr
register => YYYYYYY:XXXXXXXXX@freephonie.net
defaultexpirey=1800
dtmfmode=auto
qualify=yes
disallow=all
allow=alaw

[basic-options](!) ; a template
dtmfmode=auto
context=from-office
type=friend

[public-phone](!,basic-options) ; another template inheriting basic-options
nat=no
directmedia=yes
host=dynamic
context=outgoing

[alaw-phone](!) ; and another one for alaw-only
disallow=all
allow=alaw

[xlite](public-phone,alaw-phone)
secret = NNNN
callerid= "Bonjour" <124>

[111](public-phone,alaw-phone)
secret = NNNN
callerid= "Salut" <111>
pickupgroup=1
callgroup=1

[114](public-phone,alaw-phone)
secret = NNNN
callerid= "Accueil" <114>
callgroup=1
pickupgroup=1

[freephonie-in] ; Et pour les appels entrants
type=peer
context=fromfree
host=freephonie.net

[freephonie-out] ; on déclare le point d'accès SIP pour les appels sortants
type=friend
host=freephonie.net
username=YYYYYYYYYYY
fromuser=YYYYYYYYYYYY
secret=XXXXXXXXXXXX
nat=yes

sunny
25/10/2010, 11h01
C'est bon!

J'ai enfin trouvé la solution:

j'avais simplement oublié de mettre dans [general] le canreinvite=no

Voilà, en espérant avoir pu être utile à quelqu'un :)