Llamadas salientes portech mv-378 con asterisk

El siguiente código muestra como aprovechar para las llamadas salientes los 8 canales de nuestro portech mv-378; el código original aquí:

en el extensions.conf, definimos:

[globals]

TRY1=SIP/GSMtrunk
TRY2=SIP/GSMtrunk1
TRY3=SIP/GSMtrunk2
TRY4=SIP/GSMtrunk3
TRY5=SIP/GSMtrunk4
TRY6=SIP/GSMtrunk5
TRY7=SIP/GSMtrunk6
TRY8=SIP/GSMtrunk7

;////////////////////////////////////////////
; ////// moviles ///////////////////////////
;////////////////////////////////////////////

[macro-encuentra-linea]
exten => s,1,set(TRIES=0) ; inicializamos la variable
exten => s,n(nextone),set(TRIES=$[${TRIES} + 1]) ; incrementa 1 a TRIES
exten => s,n,set(DIALSTRING=${TRY${TRIES}}) ; asignamos el valor de TRYn al DIALSTRING
exten => s,n,gotoif($[“${DIALSTRING}” = “”]?donehere) ; vemos si la variable = “” entonces no hay canales
exten => s,n,ChanIsAvail(${DIALSTRING}) ; para ver si el canal esta activo
exten => s,n,gotoif($[${AVAILSTATUS} = 0]?:nextone)
exten => s,n,gotoif($[${GROUP_COUNT(${DIALSTRING})} >= 1]?nextone) ; el canal esta ocupado
exten => s,n,set(GROUP()=${DIALSTRING}) ; Encontramos linea !!!!
exten => s,n,Dial(${DIALSTRING}/${ARG1}) ; Marcamos
exten => s,n,GotoIf($[“${DIALSTATUS}” = “BUSY”]?donehere) ; no podemos llamar 🙁
exten => s,n,NoOp(“Vamos al siguiente canal”);
exten => s,n,goto(nextone) ; TEMP
exten => s,n(donehere),MacroExit() ; finalizamos, no hay canales

[moviles]
exten => _6XXXXXXXX,1,Macro(encuentra-linea,${EXTEN})
exten => _6XXXXXXXX,n,hangup()