Barra
29-07-2008, 16:10
Come suggeritomi apro un nuovo post.
La mia necessità è fare in modo che il centralino richiami un numero se lo trova occupato. Quanto riportato qui sotto dovrebbe fare al caso mio ma non so come modificarlo per adattarlo al mio centralino.
Installare e rendere operativo un centralino è molto facile e con trixbox non è certamente necessario conoscere la programmazione di asterisk quindi chiedo consiglio a voi.
Il mio sistema è basato su trixbox e una patton 4638. ip del trixbox è 192.168.77.190 e il patton è 230. X finire l'account sip del patton è 1000. Altro?
Praticamente creo un file timeout.conf e ci metto questo:
;This file controls the action on timeout and invalid call handling
;
;
[timeout]
exten => s,1,Goto(s-${DIALSTATUS},1) ; This gets the dial status
;
exten => s-NOANSWER,1,Playtones(congestion)
exten => s-NOANSWER,n,wait(10)
exten => s-NOANSWER,n,Hangup()
;
exten => s-CHANUNAVAIL,1,Playtones(unobtainable)
exten => s-CHANUNAVAIL,n,wait(10)
exten => s-CHANUNAVAIL,n,Hangup()
;
; If a destination is busy the call may press 5 and the call will be queued
exten => s-BUSY,1,Playtones(busy)
exten => s-BUSY,n,Set(TIMEOUT(digit)=1)
;exten => s-BUSY,n,Set(TIMEOUT(response)=5)
exten => s-BUSY,n,WaitExten(5)
exten => s-BUSY,n,Set(redialtime=30)
exten => s-BUSY,n,Goto(s-CAMPON,1) ; If users press 5 the call is requeuded
exten => s-BUSY,n,Hangup()
;
exten => s-CAMPON,1,NooP(${redial}) ;This is the number dialed
exten => s-CAMPON,n,NooP(${cont}) ;This is the Context of the call
exten => s-CAMPON,n,NooP(${redialtime})
exten => s-CAMPON,n,waitmusiconhold(${redialtime})
exten => s-CAMPON,n,Dial(Local/${redial}@${cont})
;
exten => s-CONGESTION,1,Playtones(congestion)
exten => s-CONGESTION,n,wait(10)
exten => s-CONGESTION,n,Hangup()
;
exten => 5,1,Noop(${EXTEN}
exten => 5,n,Set(redialtime=15)
exten => 5,n,Goto(s-CAMPON,1) ; If users press 5 the call is requeuded
;
exten => _5.,1,Noop(${EXTEN}
exten => _5.,n,Set(redialtime=${MATH(0${EXTEN:1}+10)})
exten => _5.,n,Goto(s-CAMPON,1) ; If users press 5 the call is requeuded
;
exten => i,1,Playtones(switching)
exten => i,n,wait(10)
exten => i,n,Hangup()
;
exten => t,1,Playtones(switching)
exten => t,n,wait(10)
exten => t,n,Hangup()
e aggiungo in extension.conf questa parte:
;Long distance context accessed through trunk
exten => _90[1-2]XXXXXXXXX,1,Dial(${TRUNK1}/${EXTEN:${TRUNKMSD}})
exten => _90[1-2]XXXXXXXXX,n,set(redial=${EXTEN})
exten => _90[1-2]XXXXXXXXX,n,set(cont=${CONTEXT})
exten => _90[1-2]XXXXXXXXX,n,Goto(timeout,s,1)
Thanks!
La mia necessità è fare in modo che il centralino richiami un numero se lo trova occupato. Quanto riportato qui sotto dovrebbe fare al caso mio ma non so come modificarlo per adattarlo al mio centralino.
Installare e rendere operativo un centralino è molto facile e con trixbox non è certamente necessario conoscere la programmazione di asterisk quindi chiedo consiglio a voi.
Il mio sistema è basato su trixbox e una patton 4638. ip del trixbox è 192.168.77.190 e il patton è 230. X finire l'account sip del patton è 1000. Altro?
Praticamente creo un file timeout.conf e ci metto questo:
;This file controls the action on timeout and invalid call handling
;
;
[timeout]
exten => s,1,Goto(s-${DIALSTATUS},1) ; This gets the dial status
;
exten => s-NOANSWER,1,Playtones(congestion)
exten => s-NOANSWER,n,wait(10)
exten => s-NOANSWER,n,Hangup()
;
exten => s-CHANUNAVAIL,1,Playtones(unobtainable)
exten => s-CHANUNAVAIL,n,wait(10)
exten => s-CHANUNAVAIL,n,Hangup()
;
; If a destination is busy the call may press 5 and the call will be queued
exten => s-BUSY,1,Playtones(busy)
exten => s-BUSY,n,Set(TIMEOUT(digit)=1)
;exten => s-BUSY,n,Set(TIMEOUT(response)=5)
exten => s-BUSY,n,WaitExten(5)
exten => s-BUSY,n,Set(redialtime=30)
exten => s-BUSY,n,Goto(s-CAMPON,1) ; If users press 5 the call is requeuded
exten => s-BUSY,n,Hangup()
;
exten => s-CAMPON,1,NooP(${redial}) ;This is the number dialed
exten => s-CAMPON,n,NooP(${cont}) ;This is the Context of the call
exten => s-CAMPON,n,NooP(${redialtime})
exten => s-CAMPON,n,waitmusiconhold(${redialtime})
exten => s-CAMPON,n,Dial(Local/${redial}@${cont})
;
exten => s-CONGESTION,1,Playtones(congestion)
exten => s-CONGESTION,n,wait(10)
exten => s-CONGESTION,n,Hangup()
;
exten => 5,1,Noop(${EXTEN}
exten => 5,n,Set(redialtime=15)
exten => 5,n,Goto(s-CAMPON,1) ; If users press 5 the call is requeuded
;
exten => _5.,1,Noop(${EXTEN}
exten => _5.,n,Set(redialtime=${MATH(0${EXTEN:1}+10)})
exten => _5.,n,Goto(s-CAMPON,1) ; If users press 5 the call is requeuded
;
exten => i,1,Playtones(switching)
exten => i,n,wait(10)
exten => i,n,Hangup()
;
exten => t,1,Playtones(switching)
exten => t,n,wait(10)
exten => t,n,Hangup()
e aggiungo in extension.conf questa parte:
;Long distance context accessed through trunk
exten => _90[1-2]XXXXXXXXX,1,Dial(${TRUNK1}/${EXTEN:${TRUNKMSD}})
exten => _90[1-2]XXXXXXXXX,n,set(redial=${EXTEN})
exten => _90[1-2]XXXXXXXXX,n,set(cont=${CONTEXT})
exten => _90[1-2]XXXXXXXXX,n,Goto(timeout,s,1)
Thanks!