S'identifier

Voir la version complète : Basculer automatiquement d'un trunk a un autre si il est HS ou occupé



LANconcept
27/02/2013, 15h08
Bonjour,

Je voudrais savoir comment Basculer automatiquement d'un trunk a un autre si il est HS ou occupé.

J'ai un serveur asteriskNOW avec freePbx, je pensais que ca basculerai tout seul mais....

HELP Please

fastm3
27/02/2013, 18h53
Prenons l'exemple d'une outbound route donnée national par exemple.

On a 2 trunk sip.
Avec freepbx, tu ajoutes comme trunks les 2 trunks sip comme trunk de sortie pour cette route. Si le premier n'est pas disponible, freepbx utilisera automatiquement le second. Donc ca se fait tout seul.

En fait, il peut y avoir des pbs avec dahdi en analogique car Freepbx recoit un status busy , il renvoie cette info a l'appelant et ne reessaira pas le trunk suivant. C'est un fonctionnement "normal" du fait de la mauvaise ou incomplete signalisation. Pas de pb en sip, bri, pri...
Renseigne bien le max channel deja pour limiter ce scenario "bugge" en analogique.
A partie de la 2.9, la gestion du HANGUPCAUSE et DIALSTATUS ets differente et devrait ameliorer ce point.
Une solution est de definir des groupes dahdi dans /etc/asterisk/chan_dahdi.conf pour un ensemble de canaux et d'utiliser le groupe ( un seul trunk dans freepbx ) dans la outboud route.
Fastm3.

LANconcept
01/03/2013, 16h55
Merci, justement c'est des trunks dahdi sur une carte TDM400P 4 port FXO

Max channels à 1 sur chaque Trunk

A partir de la 2.9 tu parle de la version de quoi ?
J'ai la derniere version d'AsteriskNow 2.0.2

"Une solution est de definir des groupes dahdi dans /etc/asterisk/chan_dahdi.conf pour un ensemble de canaux et d'utiliser le groupe ( un seul trunk dans freepbx ) dans la outboud route.
Fastm3. "

Tu veux dire quoi en language de neuneu.

Merci deja pour tout ca et merci d'avance

Comdif
01/03/2013, 17h43
J'ai également remarqué plein de fois cette difficulté sur freepbx
le backup finis par se faire, mais au bout du time out et le dialstatus n'est pas pris en compte.

Pour le faire marcher, chaque fois j'ai du écraser le dialplan normal et utilisé un truc du genre

exten => _0ZX.,n,GotoIf($[$[${DIALSTATUS} = CHANUNAVAIL] | $[${DIALSTATUS} = CONGESTION] | $[${DIALSTATUS} = BUSY]]?t2:end)

après ça fonctionne très bien

LANconcept
02/03/2013, 12h24
exten => _0ZX.,n,GotoIf($[$[${DIALSTATUS} = CHANUNAVAIL] | $[${DIALSTATUS} = CONGESTION] | $[${DIALSTATUS} = BUSY]]?t2:end)


tu met ca dans : /etc/asterisk/extensions_custom.conf ????

J'avais essayer de mettre :

[from-pstn-custom]
exten => _0[12345679]XXXXXXXX,1,Dial(DAHDI/TrunkZap01/${exten})
exten => _0[12345679]XXXXXXXX,n,Dial(DAHDI/TrunkZap02/${exten})


pour basculer sur 2 Trunk mais une fois mis dans le extensions_custom.conf plus rien ne fonctionne meme les appel entre postes interne.

J'ai mis ta ligne de commande dans extensions_custom.conf et plus rien ne marche, je l'ai mis ensuite dans extensions.conf sous [from-pstn] et la ca ne bloque pas les appels interne mais ca ne bascule pas, ca sonne occupé et ca racroche.

Je n'ai pas compris ce qu'il fallais faire pour mettre en application la solution de fastm3, je suis neuneu dans tout ca

merci encore et si vous avez d'autres pistes je veux bien

Comdif
02/03/2013, 14h58
Je ne suis pas un expert de freepbx et pas sur du tout que le context sortant soit from-pstn
le mieux est de regarder sur la CLI le dernier context utilisé avant le départ de l'appel
après regarder dans les fichiers extension ce qu'il y a dedans et on l'écrase dans custom en définissant

exten => _0ZX.,1,(DAHDI/TrunkZap01/${exten})
exten => _0ZX.,n,GotoIf($[$[${DIALSTATUS} = CHANUNAVAIL] | $[${DIALSTATUS} = CONGESTION] | $[${DIALSTATUS} = BUSY]]?t2:end)
exten => _0ZX.,n(t2),Dial(DAHDI/TrunkZap02/${exten})
exten => _0ZX.,n(end),hangup()


à adapter suivant ses trunks bien sur
garantie backup super rapide :-)

fastm3
02/03/2013, 15h07
La version 2.9 dont je parle est celle de freepbx. ( l'un des gui de asterisk now, je connais freepbx mais pas asterisk now )


exten => _0ZX.,n,GotoIf($[$[${DIALSTATUS} = CHANUNAVAIL] | $[${DIALSTATUS} = CONGESTION] | $[${DIALSTATUS} = BUSY]]?t2:end)


tu met ca dans : /etc/asterisk/extensions_custom.conf ????

J'avais essayer de mettre :

[from-pstn-custom]
exten => _0[12345679]XXXXXXXX,1,Dial(DAHDI/TrunkZap01/${exten})
exten => _0[12345679]XXXXXXXX,n,Dial(DAHDI/TrunkZap02/${exten})

pour basculer sur 2 Trunk mais une fois mis dans le extensions_custom.conf plus rien ne fonctionne meme les appel entre postes interne.

Normal, il vaut mieux se faire bien la main avant sans freepbx sur le dialplan. Ensuite, on peut passer bcp de temps ( et apprendre ) a essayer de comprendre le dialplan de freepbx. Et seulement apres, on peut essayer de personnaliser en inserant son dialplan sans perturber l'initial et en gardant les autres fonctionnalités de freepbx. Ca sert a rien d'essayer de griller les etapes.
from-pstn-custom c'est pour les appels entrant en gros, ca ne va trop te servir.
Tu vois bien que la ligne de comdif est juste la ligne de tests du statut, il manque bien sur la ligne de dial et les etiquettes des goto.
On pourrait le faire en mode "bourrin" dans from-internal custom mais tu bypasses alors toutes la logique freepbx et tu ne comprendras plus pourquoi certaines choses ne marchent plus.

Pour la reinserer dans le dialplan de freepbx en gardant la logique des outbounds et trunks de freepbx, ca n'est pas si simple. Tu as la solution custom trunk. Tu peux regarder le tuto que j'avais fais la dessus pour alterner l'usage d'autre trunks. Mais il faut modifier le dialplan exemple.
Tu as aussi la solution _override de freepbx mais la encore, il faut vraiment connaitre bien le dialplan et les macros de freepbx.



Je n'ai pas compris ce qu'il fallais faire pour mettre en application la solution de fastm3, je suis neuneu dans tout ca

On a tous été neuneu...Il faut passer pas mal de temps et experimenter/chercher aussi par soi meme. Le forum est une aide mais il ne fait pas tout.

La solution des groupes dahdi est la plus simple je pense car tu n'as pas besoin de mlodifier le dialplan que tu ne maitrises pas encore. Je vais essayer de detailler.
En fait, si tu as 4 fxo, tu as quatre channels. Actuellement, tu a defini un trunk pour chacun dans freepbx en specifiant le channel.

Pour chaque fxo, tu peux le mettre dans un groupe. Va voir dans ton fichier de config dahdi, probablement /etc/asterisk/dahdi-channels.conf.
Tu as des lignes group=
Par defaut, il est probable que tout tes fxo appartiennent au group 0
Il est donc possible de faire un dial dahdi/g0/num et c'est dahdi qui selectionnera la ligne libre pour toi ( une de celles du group ).
Il te faut donc definir un trunk dans freepbx avec g0 et nom 1 ou 2 ou 3 ou 4 comme actuellement je devine que tu as fait.
En utilisant ce trunk en sortie, dahdi utilisera tes fxo de maniere plus "intelligente" en evitant celle deja occupées.

Avec g0, dahdi testera la 1ere mais si occuppée il choisira la 2eme...

Une autre nuance pas tres connue est le r0 au lieu de g0. La c'est du round robin entre les lignes du groupes.
Voila les 4 possibilités pour les groupes avec Dahdi:

* g – channel group allocation search forward
* G – channel group allocation search backward
* r – channel group allocation round robin search forward
* R – channel group allocation round robin search backward

Bonne experimentation.
Fastm3.

fastm3
02/03/2013, 15h16
exten => _0ZX.,n,GotoIf($[$[${DIALSTATUS} = CHANUNAVAIL] | $[${DIALSTATUS} = CONGESTION] | $[${DIALSTATUS} = BUSY]]?t2:end)


tu met ca dans : /etc/asterisk/extensions_custom.conf ????

J'avais essayer de mettre :

[from-pstn-custom]
exten => _0[12345679]XXXXXXXX,1,Dial(DAHDI/TrunkZap01/${exten})
exten => _0[12345679]XXXXXXXX,n,Dial(DAHDI/TrunkZap02/${exten})


pour basculer sur 2 Trunk mais une fois mis dans le extensions_custom.conf plus rien ne fonctionne meme les appel entre postes interne.

J'ai mis ta ligne de commande dans extensions_custom.conf et plus rien ne marche, je l'ai mis ensuite dans extensions.conf sous [from-pstn] et la ca ne bloque pas les appels interne mais ca ne bascule pas, ca sonne occupé et ca racroche.

Je n'ai pas compris ce qu'il fallais faire pour mettre en application la solution de fastm3, je suis neuneu dans tout ca

merci encore et si vous avez d'autres pistes je veux bien


Je ne suis pas un expert de freepbx et pas sur du tout que le context sortant soit from-pstn
le mieux est de regarder sur la CLI le dernier context utilisé avant le départ de l'appel
après regarder dans les fichiers extension ce qu'il y a dedans et on l'écrase dans custom en définissant

exten => _0ZX.,1,(DAHDI/TrunkZap01/${exten})
exten => _0ZX.,n,GotoIf($[$[${DIALSTATUS} = CHANUNAVAIL] | $[${DIALSTATUS} = CONGESTION] | $[${DIALSTATUS} = BUSY]]?t2:end)
exten => _0ZX.,n(t2),Dial(DAHDI/TrunkZap02/${exten})
exten => _0ZX.,n(end),hangup()


à adapter suivant ses trunks bien sur
garantie backup super rapide :-)
Bah voila la methode "bourrin" dont je parlais. :lol: Ca devrait le faire dans from-internal custom mais c'est dommage car on perds l'integration avec le gui freepbx. Plus de gestion des inbound routes, plus de gestion des destinations...
Je me suis mal exprimé en disant "bourrin". :whistle:

En reprenant ce code legerement modifié dans un custom trunk freepbx, ca serait aussi en effet une tres bonne solution.

Fastm3.

Comdif
03/03/2013, 10h17
François pour le round Robin, je suis pas sur que ça fonctionne, je me souvient
avoir cramé un T0 à l'époque sur un IPBX dans un centre d'appel en utilisant
la méthode, mais c'était il y a longtemps et ça à peut être évolué.
J'avais finalement à l'époque écris une AGI en Perl pour arriver à randomiser
les T0.


Oui la méthode est bourin j'avoue, c'est inspiré de ce que j'utilise sur mes switch
de wholesale en AGI, la pré-lecture du statu est la garantie d'un ASR et PDD le plus performant possible.

LANconcept
08/03/2013, 20h22
Ce que vous m'avez dit m'a beaucoup aidé je vous en remercie
surtout sur les groupe, j' y ai passé le week end et je suis arivé a peu prés a ce que je voulais mais d'autres problème (echo, pas d'appell entrant etc...) m'on fait pétter un cable, du coup pour voir si c'était le matériel qui merder ou le systeme AsteriskNOW, j ai tou flingué et je suis parti sur XIVO, dimanche a 4h du mat j'avais un système parfait, il est en prod depuis mardi il y a un CTI c'est génial, mis a part quelque petit réglage je suis contant du résultat.

Bon comme j'ai pétté un cable et que je n'ai pas voulu petter mon DD Astérisk, j ai pris ce ue j'avais sous la main, domage il fait clac clac depuis hier donc ce week il faux que je trouve comment faire une install sur nouveau disquue et un backup restore si vous avez des infos .....

autre chose : Patton 4114 pour faire un backup vous avez deja mis ca ?

Fast3m merci tu peux pas savoir tout ce que j'ai lu de toi ce week end.....

J'ai beaucoup appris

merci encore