C'est pas très propre, parce que vous n'avez pas de gestion de cas.
Merci pour toutes ces pistes que je vais test de ce pas.
Je reviens vers vous pour le résultat.
Chezto,
Oui, on pourrait faire comme ça ? (je n'ai pas testé)
exten => _X.,1,dial(SIP/TRUNK/${EXTEN})
exten => _X.,n,Goto(${DIALSTATUS},1)
exten => CHANUNAVAIL,1,dial(SIP/TRUNK2/${EXTEN})
Non, il faut lire le wiki cité plus haut.
Bonjour,
Il faut faire un effort de recherche pour comprendre et aboutir a ce qu'on veut faire
Reaper a raisonReaper
Non, il faut lire le wiki cité plus haut.
je livre un extrait de config!!
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;
;Extrait gestion etat dial
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Extrait de extensions.conf
OUTPUT_CHANNEL = 1 si provider est SIP (trunk) sinon ISDN ou autre
ACCESS_PROVIDER = contexte definition trunk1 sip (sip.conf)
ACCESS_PROVIDER_1 = contexte definition trunk2 sip (sip.conf)
Status_Dial_Isdn macro de gestion du DIALSTATUS
OUTGOING_CHANNEL = definition DAHDI/gx
[macro-OUTGOING_CALL]
exten => s,1,GotoIf($["${OUTPUT_CHANNEL}" = "1"]?:Following_channel_output)
;
;------------ Provider SIP
;
#include "extensions_Provider.conf"
;
;------------ end Provider SIP
;
;----------- Provider ISDN
exten=>s,n(Following_channel_output),Dial(${OUTGOI NG_CHANNEL}/${FILTER(0-9,${ARG1})},${dial_tout},rtT)
exten => s,n,NoOp(Dial Status: ${DIALSTATUS})
exten => s,n,Macro(Status_Dial_Isdn,${DIALSTATUS})
exten => s,n,hangup
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;
;extensions_Provider.conf
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;
exten => s,n,Set(ARG_CALL=${ARG1})
exten=>s,n(first_dial),Dial(SIP/${FILTER(0-9,${ARG_CALL})}@${ACCESS_PROVIDER},${dial_tout},rT )
exten => s,n,NoOp(Dial Status: ${DIALSTATUS})
exten => s,n,GotoIf($["${DIALSTATUS}"="BUSY"]?Folow_trunk)
exten => s,n,GotoIf($["${DIALSTATUS}"="CHANUNAVAIL"]?Folow_trunk)
exten => s,n,GotoIf($["${DIALSTATUS}"="CONGESTION"]?Folow_trunk)
;
; gestion etat dial ${DIALSTATUS}
;
exten => s,n,Macro(Status_Dial_Isdn,${DIALSTATUS})
exten => s,n,Busy(10)
exten => s,n,hangup
exten => s,n(Folow_trunk),Dial(SIP/${FILTER(0-9,${ARG_CALL})}@${ACCESS_PROVIDER_1},${dial_tout}, rT)
exten => s,n,NoOp(Dial Status: ${DIALSTATUS})
exten => s,n,Macro(Status_Dial_Isdn,${DIALSTATUS})
exten => s,n,Busy(10)
exten => s,n,hangup
On peut gerer ainsi plusieurs trunk sip > 2 ou boucler avec un time sur first_dial jusqu'a ce qu'un trunk soit disponible.
A+