Code:
[globals]
TRUNK = DAHDI/G2
TRUNKMSD = 1
RINGTIME = 20
trunk_1 = DAHDI/g1
trunk_2 = DAHDI/g2
trunk_3 = DAHDI/g3
timeinterval_AllTime = *|mon-sun|*|*
CID_6000 = 6000
CID_6002 = 6002
CID_6003 = 6003
CID_6004 = 6004
CID_6005 = 6005
[CallingRule_OutFranceTelecom]
exten = _1.,1,Macro(trunkdial-failover-0.3,${trunk_1}/${EXTEN:1},${trunk_2}/${EXTEN:1},trunk_1,trunk_2,${CALLERID(num)},${EXTEN:0})
[CallingRule_OutOrange]
exten = _0.,1,Macro(trunkdial-failover-0.3,${trunk_2}/${EXTEN:1},${trunk_3}/${EXTEN:1},trunk_2,trunk_3,${CALLERID(num)},${EXTEN:0})
[CallingRule_OutNoos]
exten = _2.,1,Macro(trunkdial-failover-0.3,${trunk_3}/${EXTEN:1},${trunk_1}/${EXTEN:1},trunk_3,trunk_1,${CALLERID(num)},${EXTEN:0})
[macro-trunkdial-failover-0.3]
exten = s,1,Set(CALLERID(num)=${IF($[${LEN(${CID_${CALLERID(num)}})} > 2]?${CID_${CALLERID(num)}}:)})
exten = s,n,Set(TOUCH_MIXMONITOR=${ARG5}-${ARG6}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
exten = s,n,Set(TOUCH_MIXMONITOR_FORMAT=${RECORD_FORMAT})
exten = s,n,GotoIf($[${LEN(${CALLERID(num)})} > 6]?1-dial,1)
exten = s,n,Set(CALLERID(all)=${IF($[${LEN(${CID_${ARG3}})} > 6]?${CID_${ARG3}}:${GLOBAL_OUTBOUNDCID})})
exten = s,n,Goto(1-dial,1)
exten = 1-dial,1,Dial(${ARG1},${RINGTIMEOUTBOUND},${DIALOPTIONS})
exten = 1-dial,n,Gotoif(${LEN(${ARG2})} > 0 ?1-${DIALSTATUS},1:1-out,1)
exten = 1-CHANUNAVAIL,1,Dial(${ARG2})
exten = 1-CHANUNAVAIL,n,Hangup()
exten = 1-CONGESTION,1,Dial(${ARG2})
exten = 1-CONGESTION,n,Hangup()
exten = 1-out,1,Hangup()
[DID_trunk_1_timeinterval_AllTime]
exten = s,1,ExecIf($[ "${CALLERID(num)}"="" ],SetCallerPres,unavailable)
exten = s,2,ExecIf($[ "${CALLERID(num)}"="" ],Set,CALLERID(all)=unknown <0000000>)
exten = s,3,Goto(ringroups-custom-1|s|1)
[DID_trunk_2_timeinterval_AllTime]
exten = s,1,ExecIf($[ "${CALLERID(num)}"="" ],SetCallerPres,unavailable)
exten = s,2,ExecIf($[ "${CALLERID(num)}"="" ],Set,CALLERID(all)=unknown <0000000>)
exten = s,3,Goto(ringroups-custom-1|s|1)
[DID_trunk_3_timeinterval_AllTime]
exten = s,1,ExecIf($[ "${CALLERID(num)}"="" ],SetCallerPres,unavailable)
exten = s,2,ExecIf($[ "${CALLERID(num)}"="" ],Set,CALLERID(all)=unknown <0000000>)
exten = s,3,Goto(ringroups-custom-1|s|1)
[ringroups-custom-1]
exten = s,1,NoOp(RingGroupAll)
exten = s,n,Dial(SIP/6002&SIP/6003&SIP/6004&SIP/6005&DAHDI/4,20,i${DIALOPTIONS})
exten = s,n,Voicemail(6000,u)
je fais le 0 pour la ligne branchée sur la LiveBox (avec failover sur la ligne noos), 1 pour la ligne FranceTelecom et 2 pour la ligne noos.