[Résolu] Asterisk - problème d’appels entrants

Démarré par Cetcheve, 27 Juin 2020 à 17:30:55

« précédent - suivant »

0 Membres et 1 Invité sur ce sujet

Bonjour à tous,

Nouvel abonné K-Net je cherche à mettre en place un serveur Asterisk pour gérer ma téléphonie.
Je me suis inspiré de ce que j'ai pu trouver sur ce forum (notamment ce sujet) et j'aboutis à une configuration qui me permet de passer des appels vers l'extérieur sans problème (appel et communication OK), par contre, je ne reçois pas les appels entrants. Lorsque je tente d'appeler ma ligne, mon serveur Asterisk ne reçoit rien du tout en provenance de K-Net (aucune notification dans la CLI Asterisk avec debug activé et rien du tout lorsque j'écoute le port UDP 5060 avec tcpdump) et je vois sur l'interface téléphonie de mon espace client que l'appel est rejeté avec le code d'erreur « 604 No contact found » (cf. PJ 604.png). Je suis pourtant bien enregistré (cf. PJ sip_registry.png depuis la CLI de mon Asterisk et registry_panel.png depuis l'interface téléphonie).
Je vois aussi, toujours sur l'interface téléphonie de mon espace client, que l'entité SIP de ma ligne est au statut « Indéfini » (cf. PJ Entite_SIP.png), cela peut-il avoir un lien avec mon problème ?

Ci-dessous mon sip.conf :

[general]
context=default
register=09XXXXXXXX:mot_de_passe@a.phone.kwaoo.net/09XXXXXXXX~1800
allowguest=no
alwaysauthreject=yes
localnet=192.168.1.0/255.255.255.0
externip=X.Y.Z.T ; mon IP publique
contactdeny=0.0.0.0/0.0.0.0
contactpermit=178.250.209.54/255.255.255.255
contactpermit=192.168.1.0/255.255.255.0
contactpermit=192.168.2.0/255.255.255.0
dtmfmode=rfc2833
directmedia=no
nat=yes
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes
disallow=all
allow=alaw

[knet-out]
type=peer
host=a.phone.kwaoo.net
language=fr
username=09XXXXXXXX
fromuser=09XXXXXXXX
secret=mot_de_passe
fromdomain=a.phone.kwaoo.net
qualify=yes
canreinvite=no
insecure=invite,port

[knet-in]
type=user
context=from-knet
host=a.phone.kwaoo.net
insecure=invite,port

[6001]
type=friend
context=from-internal
host=dynamic
secret=pass_asterisk


Si quelqu'un avec une config Asterisk fonctionnelle voit ce qui pose problème, je suis preneur.

Avec la téléphonie sur la k-box, il y a deux secteurs entité SIP.
Celui du matériel : xxxxxxxxxx@a.phone.kwaoo.net, xxxxxxxxxx le 09 de K-net
Celui de l'utilisateur : (indéfini)
Offre Pulse, Réseau Covage74, Kbox V2b i4850_1.16.3, routeurs Asus AC52U pour AP et secours, PC Zotac Zbox PI223 et VLC sur K-net en secours.
Up-down : http://uptime.stef.cloudns.cl/
Ping : https://prtg.stef.cloudns.cl/public/mapshow.htm?id=2444&mapid=B942004D-735D-4AE6-BF48-70F7DC5EF8A8

Merci pour votre réponse.
Effectivement, je retrouve bien cela. Tout est donc ok de ce côté-là.

Sinon, quelques informations complémentaires concernant ma configuration. Le serveur Asterisk tourne sur une machine de mon réseau local, j'utilise un routeur perso qui tourne sous OpenBSD et c'est donc PF (qui ne fait pas de SIP ALG) qui gère le NAT et les redirections.
J'ai cette règle qui autorise les connexions sur le port 5060 (et les ports RTP 10000-->20000) et les redirige vers mon serveur qui héberge asterisk :

pass in quick on $ext_if inet proto udp from $voip_server_knet to any port $voip_udp rdr-to $asterisk

A priori tout est ok avec cette règle car je vois bien passer les communications.

J'ai essayé une configuration très similaire, qui marche sans problème de mon côté.

sip.conf :

[general]
context=default
register=0972xxxxxx:PASSWORD@a.phone.kwaoo.net/0972xxxxxx~1800
allowguest=no
alwaysauthreject=yes
localnet=192.168.1.0/255.255.255.0
externip=IP
contactdeny=0.0.0.0/0.0.0.0
contactpermit=127.0.0.1/255.255.0.0
dtmfmode=rfc2833
directmedia=no
nat=force_rport,comedia
bindport=5080
bindaddr=0.0.0.0
srvlookup=yes
disallow=all
allow=alaw
rtpkeepalive=20

[knet-out]
type=friend
context=from-knet
callerid=VO Test K-Net <0972xxxxxx>
host=a.phone.kwaoo.net
language=fr
username=0972xxxxxx
fromuser=0972xxxxxx
defaultuser=0972xxxxxx
authuser=0972xxxxxx
secret=PASSWORD
qualify=yes
canreinvite=no
insecure=invite,port

[6001]
type=friend
context=from-internal
host=dynamic
secret=AliceBob



extensions.conf :
[from-internal]
exten => _X.,1,Dial(SIP/${EXTEN}@knet-out,30,r)

[from-knet]
exten => 0972xxxxxx,1,Answer
exten => 0972xxxxxx,2,Dial(SIP/6001,25,Ttr)                                                                                             
exten => 0972xxxxxx,3,Hangup           


(attention, j'ai changé le port, j'avais déjà autre chose sur 5060)


#4
Bonjour,

Merci beaucoup de vous pencher sur mon problème.

Du coup j'ai effectué quelques retouches dans mon sip.conf et mon extensions.conf pour avoir une configuration au plus proche de la vôtre (les seules différences sont que j'autorise un peu plus d'IP avec contactpermit dans [general] et que je dois rajouter un fromdomain=a.phone.kwaoo.net dans le contexte [knet-out] pour que mes appels vers l'extérieur continuent à fonctionner), mais malheureusement je ne reçois toujours aucun appel entrant... (je ne vois rien arriver au niveau de mon Asterisk et toujours l'erreur « 604 No contact found » dans le pannel appel direct de l'interface téléphonie de mon espace client) :(

EDIT : Un élément que je n'avais pas signalé m'est revenu à l'esprit. La portabilité de mon numéro téléphonique de mon ancien FAI vers K-Net est en cours. Là je fais des essais avec le numéro fourni par K-Net pour préparer le terrain avant le basculement. Cela peut-il avoir un lien ?

Citation de: Cetcheve le 28 Juin 2020 à 10:38:21
EDIT : Un élément que je n'avais pas signalé m'est revenu à l'esprit. La portabilité de mon numéro téléphonique de mon ancien FAI vers K-Net est en cours. Là je fais des essais avec le numéro fourni par K-Net pour préparer le terrain avant le basculement. Cela peut-il avoir un lien ?
Non. 09 sera toujours là, c'est la base.
Quand votre numéro sera porté, il sera redirigé vers le 09

Citation604 Does Not Exist Anywhere (n'existe pas) – Le serveur détient une information fiable que l'utilisateur qui a procéder à la requête n'existe nulle part.
Selon Wikipédia.

Citation de: thedark le 28 Juin 2020 à 11:53:27
Non. 09 sera toujours là, c'est la base.
Quand votre numéro sera porté, il sera redirigé vers le 09

Ok, merci de l'info. Ça enlève une cause potentielle de mon souci.

Citation de: thedark le 28 Juin 2020 à 11:53:27
Citation604 Does Not Exist Anywhere (n'existe pas) – Le serveur détient une information fiable que l'utilisateur qui a procéder à la requête n'existe nulle part.
Selon Wikipédia.

Oui, j'avais vu ça du coup je m'étais dit qu'il manquait peut-être un paramètre à passer au moment de l'enregistrement pour être reconnu par le serveur mais vu la conf. fonctionnelle fournie par Vincent O ce doit être autre chose...
C'est embêtant ce problème, avec les appels entrants qui ne parviennent pas jusqu'à ma machine, dur dur de déboguer...

Vous avez essayé simplement avec un client SIP ? (Si la ligne est fonctionnel)

Citation de: thedark le 28 Juin 2020 à 11:53:27
Citation604 Does Not Exist Anywhere (n'existe pas) – Le serveur détient une information fiable que l'utilisateur qui a procéder à la requête n'existe nulle part.
Selon Wikipédia.

Généralement c'est :
- soit il n'y a pas d'enregistrement valide (mais on sait dans qu'il y a bien eu un REGISTER)
- soit le serveur n'arrive pas à contacter le client, généralement problème de routeur/NAT.


Cetcheve, essayez d'enlever externip=... et de rajouter qualifyfreq=25

Citation de: thedark le 28 Juin 2020 à 14:01:51
Vous avez essayé simplement avec un client SIP ? (Si la ligne est fonctionnel)

J'ai essayé avec un softphone (Zoiper) et le problème est le même : je peux appeler mais je ne reçois pas les appels.

Citation de: Vincent O le 28 Juin 2020 à 14:40:16
Cetcheve, essayez d'enlever externip=... et de rajouter qualifyfreq=25

Je viens d'essayer et je ne reçois toujours pas les appels entrants (les appels sortants fonctionnent toujours).
Au niveau du panel téléphonie de mon espace client, l'enregistrement est passé de :

Contact                              Call-ID
sip:09XXXXXXXX@IP_PUBLIQUE:5060      NOMBRE_HEXA@192.168.1.2

à

Contact                              Call-ID
sip:09XXXXXXXX@192.168.1.2:5060      NOMBRE_HEXA@192.168.1.2


(192.168.1.2 étant l'IP sur mon réseau de mon serveur Asterisk).

D'ailleurs est-ce normal que dans les 2 cas mon Call-ID soit en @192.168.1.2 ?

#11
Citation de: Cetcheve le 28 Juin 2020 à 15:24:02
Citation de: thedark le 28 Juin 2020 à 14:01:51
Vous avez essayé simplement avec un client SIP ? (Si la ligne est fonctionnel)

J'ai essayé avec un softphone (Zoiper) et le problème est le même : je peux appeler mais je ne reçois pas les appels.
Là tu as un problème avec le routeur même en 4G ?

Citation de: thedark le 28 Juin 2020 à 15:25:30
Là tu as un problème avec le routeur même en 4G ?

C'est-à-dire en 4G ?
Au niveau de mon routeur j'ai juste rajouté une règle (celle postée plus haut) qui ouvre les ports UDP nécessaires et redirige vers le serveur Asterisk (qui lui ne fait pas de filtrage).
Je suis plutôt confiant quant au fait que la règle est bien prise en compte car :
1. En écoutant le port 5060 de l'interface concernée du serveur Asterisk avec tcpdump, je vois bien des échanges se faire avec le serveur K-Net (178.250.209.54).
2. Avant de filtrer les machines autorisées à se connecter au port UDP/5060 j'avais une masse de tentative de brute force venant d'un peu partout.

En désespoir de cause je tenterai de bypasser le routeur en connectant mon PC perso directement à l'ONT pour voir si ça améliore quelque chose.


Citation de: thedark le 28 Juin 2020 à 15:49:14
Sur votre téléphone.
https://play.google.com/store/apps/details?id=com.mizuvoip.mizudroid.app&hl=fr

Ah oui très bonne idée ! J'essayais avec un softphone sur mon pc perso jusqu'alors.
Alors même problème en 4G. Je me connecte bien au serveur K-Net avec l'appli Mizudroid, je peux passer des appels vers l'extérieur mais Mizudroid ne reçoit pas non plus les appels entrants (même erreur 604 dans le pannel téléphonie).