Hi,
we’re using an Asterisk based PBX as our main.
We have a pair of 902 xxx xxx numbers over an isdn number with six channels.
We wanna process in a different way incoming calls depending upon from wich 902 the calls originate.
Inorder to get that,we have a new DID for the second 902.
How can i process the DDI call and transfer the call to a fixed extension (i.e. 2219) ?
Here it’s how looks like my actual extensions.conf
; Core de llamadas inter-extensiones
#include macro-estado.conf
; Core de servicios (desvios, fuera_oficina …)
#include svc-apps.conf
; Marca de razon de cuelgue
#include macro-resultado-llamada.conf
; Core de black_listing
#include macro-blist.conf
; Core disciminacion de horario
#include macro-horario.conf
; Core disriminacion de fechas
;#include macro-calendario.conf
[general]
static=yes
writeprotect=yes
[globals]
; Numero de cabecera RDSI
numrdsi=937208222
; Grupo para RDSI
; NOTA:
; Variable que define el grupo ZAP al que pertenecen
; los canales de la RDSI
RDSI=ZAP/g0
; Grupo para GSM
; NOTA:
; En caso que no hubiera modulos GSM instalados
; debemos definir la variable con el grupo ZAP
; para llamadas salientes. Es necesario para que
; los desvios a movil desde la macro-estado
; alcancen su objetivo
GSM=ZAP/g1
; Grupo para GSM_INTEGRA
; NOTA:
; En caso que no hubiera modulos GSM instalados
; debemos definir la variable con el grupo ZAP
; para llamadas salientes. Es necesario para que
; los desvios a movil desde la macro-estado
; alcancen su objetivo
GSM_INT=ZAP/g3
; Salida para desvios
; NOTA:
; Es necesario definir esta variable para que las
; llamadas desiadas desde la macro-estado puedan
; alcanzar su destino.
;
DIAL=ZAP/g0
; Num maximo de extension interna
; NOTA:
; Este valor define el numero maximo de ext interna.
; si un desvio es mayor al valor de la variable
; se considerara llamar por PSTN.
MAXEXTEN=8888
; Numero del buzon general
BUZONGENERAL=2214
; definimos una variable para establecer el timeout de la cola
; de llamadas entrantes a la operadora
COLA_TIMEOUT=60
[default]
; el contexto default es donde van por defecto las llamadas si no se
; indica otra cosa
; Evento de cuelge
exten => h,1,ResetCDR(w)
exten => h,2,Macro(resultado-llamada)
; Evento ext invalida
exten => i,1,PlayBack(invalid)
exten => i,2,Hangup() ;invalid event
; Evento TimeOut
exten => t,1,Hangup() ;timeout event
;
;Llamadas entrantes mediante la linea Analogica
;
;Llamadas entrantes
[incoming]
exten => s,1,Goto(incoming,s,300)
exten => s,300,Answer()
exten => s,301,Set(DESTINO=0)
exten => s,302,NoOp(${DESTINO})
exten => s,303,Goto(incoming,s,2)
exten => s,2,Set(LANGUAGE()=es)
exten => s,3,Macro(horario,incoming,s,4)
exten => s,4,goto(incoming,s,30)
exten => s,5,DBget(DND-estado=DND/2200)
exten => s,6,goto(incoming,s,20)
exten => s,106,Background(menubienvenida)
exten => s,107,Background(silence/3)
exten => s,108,goto(incoming,s,8)
exten => s,8,Dial(SIP/2200,25,tTwWm)
exten => s,9,Queue(MyQueue1|tT|||${COLA_TIMEOUT})
exten => s,10,Read(DESTINO,cola,1)
exten => s,11,GotoIf($[${DESTINO} < 3]?12:13)
exten => s,109,Queue(MyQueue1|tT|||${COLA_TIMEOUT})
exten => s,110,Read(DESTINO,cola,1)
exten => s,111,GotoIf($[${DESTINO} < 3]?12:13)
exten => s,20,Background(menubienvenida)
exten => s,21,Background(silence/3)
exten => s,22,Queue(MyQueue1|tT|||${COLA_TIMEOUT})
exten => s,23,Read(DESTINO,cola,1)
exten => s,24,GotoIf($[${DESTINO} < 3]?12:13)
exten => s,12,Goto(incoming|${DESTINO}|1|||3)
exten => s,13,Voicemail(su${BUZONGENERAL})
exten => s,30,GotoIf($[${CALLERID(num):0:1}=6]?5:31)
exten => s,31,Set(CALLERID(num)=${CALLERID(num):1})
exten => s,32,goto(incoming,s,5)
exten => 0,1,Goto(incoming,s,20)
exten => 1,1,Goto(incoming,s,20)
exten => 2,1,Voicemail(sb${BUZONGENERAL})
exten => fax,1,Dial(Zap/14,30,tTwWr)
exten => fax,2,Macro(resultado-llamada)
exten => fax,102,Macro(resultado-llamada)
exten => 2200,1,Dial(SIP/2200,25,tTwWm)
exten => 2200,2,goto(incoming,s,9)
exten => 2200,102,goto(incoming,s,9)
exten => 2201,1,Dial(SIP/2201,25,tTwWm)
exten => 2201,2,goto(incoming,s,9)
exten => 2201,102,goto(incoming,s,9)
exten => 334,1,Set(DESTINO=0)
exten => 334,2,Queue(MyQueue1|tT|||${COLA_TIMEOUT})
exten => 334,3,Read(DESTINO,cola,1)
exten => 334,4,GotoIf($[${DESTINO} < 3]?5:1)
exten => 334,5,goto(incoming,334,1)