Asterisk un contexte entrant par trunk ?
Bonjour,
Je suis en train de me documenter sur la configuration "un contexte par trunk pour appels entrants" pour Asterisk...
Je rappelle le contexte d'origine :
J'ai plusieurs trunk SIP vers le même provider, les registers pointeront tous vers la même IP. Sous XiVO il n'est pas possible de faire cette séparation sur les contextes entrants.
Il me semble que Jean m'avait dit que sur du "Asterisk pur" cela peut être effectué, sur mes recherches, je ne trouve pas vraiment de réponse si cela est faisable.
Est-ce que d'après vous cela est possible de faire :
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
Merci
1 trunk = 1 context; ma solution
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 :wink:
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 :
Citation:
<--- 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,...
Citation:
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.
Citation:
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 :
Citation:
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 :confused:
A vot' bon coeur m'ssieursdames
Cordialement,
Bruno.