PDA

Voir la version complète : Appels entrants sans authentification.



Ced75
17/05/2018, 15h29
Bonjour,

J'aimerais savoir comment je peux accepter des appels entrants venant d'un autre serveur mais sans fournir de login/mot de passe à celui-ci pour qu'il s'enregistre.

Le serveur A doit pouvoir faire un exten => _XXXX,1,DIAL(SIP/${EXTEN}@MONSERVER_B) sans avoir à s'enregistrer.

J'essaye cela depuis mon serveur A, mais je n'arrive pas à joindre mon serveur B (rien dans le CLI). J'ai pourtant autorisé l'IP dans iptables...

Je ne sais pas si c'est asterisk qui bloque, s'il y a un paramètre dans les .conf pour accepter les requêtes entrantes d'autres serveurs ou bien si c'est un problème de réseau qui n'a rien à voir avec asterisk. Lorsque j'avais installé asterisk sur debian une première fois, je recevais des appels entrants d'une IP inconnue (mon parefeu était ouvert, c'était une VM de test) et je n'avais pourtant rien configuré.

Je suis sous centos 7 et asterisk 13.

Merci pour votre aide.

jean
17/05/2018, 15h59
il faut créer une entrée dans sip.conf avec
host=ip du distant

olppp
17/05/2018, 16h00
Bonjour,
dans sip.conf le compte de type=peer du serveur appelant doit comporter :


insecure=port,invite

S'il est envisagé d'autoriser "le monde" en entrée, il faut définir dans la section general un context spécifique de traitement de ce type d'appels.

exemple dans sip.conf


[general]
context=sip-public

dans extensions.ael


context sip-public {
//extensions internes OK
_[1-3]xxx => {
Answer();
Dial(SIP/destination_interne);
Hangup();
}
// le reste poubelle + log martien
s => {
Answer();
if(${REGEX("&,/|@" ${EXTEN})}) {
Log(WARNING, invalid extension ${EXTEN} from ${CHANNEL(peerip)});
Playback(invalid,noanswer);
Wait(.5);
Congestion();
}
Set(TIMEOUT(absolute)=15);
Answer(2000);
Playback(ss-noservice);
Playtones(congestion);
Congestion(5);
}
}

avec fail2ban derrière pour bannir les récidivistes.

Ced75
17/05/2018, 16h49
Bonjour et merci pour vos réponses.

Cela fonctionne parfaitement !

Au passage, je ne connaissais pas le .ael, très intéressant :)