Bonjour à tous,

Citation Envoyé par seb
Je suis en train de me documenter sur la configuration "un contexte par trunk pour appels entrants" pour Asterisk...
A priori on a le même besoin

Citation Envoyé par seb
Appel entrant vers N° 123 > SIP Provider: 1.1.1.1 >>>> Trunk1 => ContexteIN_1
Appel entrant vers N° 456 > SIP Provider: 1.1.1.1 >>>> Trunk2 => ContexteIN_2
Appel entrant vers N° 789; 111 > SIP Provider: 1.1.1.1 >>>> Trunk3 => ContexteIN_3
J'ai pas mal galéré pour parvenir à ce résultat (un peu comme toi et surement plein d'autres), mais je pense avoir trouvé une solution satisfaisante

Le problème réside dans le fait qu'Asterisk se base sur l'adresse du provider pour déterminer sur quel trunk l'appel est présenté.
Celle que l'on voit dans les logs SIP sous cette forme :
<--- SIP read from UDP:1.1.1.1:5060 --->
Mes différents tests montrent qu'il parcours les trunks et s'arrête dès qu'il a une correspondance. Ce qui, dans le cas qui nous intéresse, le conduit inexorablement à utiliser toujours le même trunk et par conséquent toujours le même context.

Bon allez, vous avez suffisamment attendu, l'astuce consiste à affecter un port différent à chaque trunk : 5060,5061,5062,...
sip.conf :
[general]
register => USER1:PWD1@1.1.1.1:5060
register => USER2:PWD2@1.1.1.1:5061
register => USER3:PWD3@1.1.1.1:5062

[Trunk1]
...
host= 1.1.1.1
port=5060
context=from-Trunk1
...
[Trunk2]
...
host= 1.1.1.1
port=5061
context=from-Trunk2
...
[Trunk3]
...
host= 1.1.1.1
port=5062
context=from-Trunk3
...
Il ne reste alors plus qu'à NATté tous ces ports vers celui du provider 5060.
1.1.1.1:5060 --> NAT --> 1.1.1.1:5060
1.1.1.1:5061 --> NAT --> 1.1.1.1:5060
1.1.1.1:5062 --> NAT --> 1.1.1.1:5060
Pour peu que les lignes soient bien dispatchés côté provider, on obtient alors quelque chose de ce genre :
Appel entrant vers N° 123 > SIP Provider: 1.1.1.1:5060 >>>> Trunk1 => from-Trunk1
Appel entrant vers N° 456 > SIP Provider: 1.1.1.1:5061 >>>> Trunk2 => from-Trunk2
Appel entrant vers N° 789 > SIP Provider: 1.1.1.1:5062 >>>> Trunk3 => from-Trunk3
Alors oui, la solution demandée ne devait qu'être pur Asterisk, mais qui de nos jours laisse encore un Asterisk sans pare-feu


A vot' bon coeur m'ssieursdames


Cordialement,
Bruno.