Cordial saludo,
he tomado un código de un Foro que decia problemas Dialstatus, y cree un contexto en base de este para generar autollamadas a traves de archivos .call.
ejemplo del .call
Channel: SIP/3174210578@troncal
Callerid: 6009
MaxRetries:1
RetryTime: 30
WaitTime: 30
Context: celular
Extension: 3174210578
Archive: yes
SetVar: campana=56
SetVar: audio=agent
Priority: 1
al colocarlo en la ruta de outgoing me genera la llamada, pero si no la contesto no hace nada.
tome el contexto mencionado anteriormente
[celular]
exten => _XXXXXXXXXX,n,Dial(SIP/${EXTEN}@troncal,15,gt)
exten => _XXXXXXXXXX,n,NoOp(Extension : ${CHANNEL})
exten => _XXXXXXXXXX,n,Set(duracion=${CDR(duration)})
exten => _XXXXXXXXXX,n,Set(Destino=${CDR(dst)}) ;Fuente
exten => _XXXXXXXXXX,n,Set(inicio=${CDR(start)}) ; Inicio de la llamada
exten => _XXXXXXXXXX,n,Set(estatus=${CDR(disposition)})
exten => _XXXXXXXXXX,n,NoOp(${sip})
exten => _XXXXXXXXXX,n,GotoIf($["${estatus}"="FAILED"]?fin:continua) ;contesto no contesto u ocupado
exten => _XXXXXXXXXX,n(fin),Hangup
exten => _XXXXXXXXXX,n(continua),Goto(h-${DIALSTATUS},1})
exten => h-ANSWER,1,NoOp(Contesto)
exten => h-ANSWER,n,Hangup
exten => h-ANSWERED,1,NoOp(Contesto)
exten => h-ANSWERED,n,Hangup
exten => h-NOANSWER,1,NoOp(No Contesto)
exten => h-NOANSWER,n,Hangup
exten => h-CHANUNAVAIL,1,(Sin Canales)
exten => h-CHANUNAVAIL,n,Hangup
exten => h-BUSY,1,NoOp(Ocupado)
exten => h-BUSY,n,Hangup
exten => h-FAIL,1,NoOp(Fallo)
exten => h-FAIL,n,Hangup
exten => h-CONGESTION,1,NoOp(Congestion)
exten => h-CONGESTION,n,Hangup
exten => s,n,Hangup
este contexto funciona si el usuario contesta la llamada si no, sigue generando lo intentos respectivos configurados en el .call.
Esta integración quiero integrarla con php-agi, pero como mencione anteriormente si no se contesta la llamada no hace nada, si se contesta genera una nueva llamada al mismo número y el registro de los eventos se le aplica a la última llamada.
me explico.
se genera la llamada para el número 3174210578 si no se contesta el no hace nada y sigue en los intentos definidos en .call
si la llamada se contesta, genera una nueva llamada al mismo número en este momento si ingresa al contexto y realiza todo el proceso sobre este contexto.
Otra cosa como puedo validar cuantos canales tengo activos para poder decirle que realice la llamada.
agradezco toda su colaboración, me he documentado leido pero mi experticia no me ha llevado a darle solución al caso.
atentamente,
Lgserrano
he tomado un código de un Foro que decia problemas Dialstatus, y cree un contexto en base de este para generar autollamadas a traves de archivos .call.
ejemplo del .call
Channel: SIP/3174210578@troncal
Callerid: 6009
MaxRetries:1
RetryTime: 30
WaitTime: 30
Context: celular
Extension: 3174210578
Archive: yes
SetVar: campana=56
SetVar: audio=agent
Priority: 1
al colocarlo en la ruta de outgoing me genera la llamada, pero si no la contesto no hace nada.
tome el contexto mencionado anteriormente
[celular]
exten => _XXXXXXXXXX,n,Dial(SIP/${EXTEN}@troncal,15,gt)
exten => _XXXXXXXXXX,n,NoOp(Extension : ${CHANNEL})
exten => _XXXXXXXXXX,n,Set(duracion=${CDR(duration)})
exten => _XXXXXXXXXX,n,Set(Destino=${CDR(dst)}) ;Fuente
exten => _XXXXXXXXXX,n,Set(inicio=${CDR(start)}) ; Inicio de la llamada
exten => _XXXXXXXXXX,n,Set(estatus=${CDR(disposition)})
exten => _XXXXXXXXXX,n,NoOp(${sip})
exten => _XXXXXXXXXX,n,GotoIf($["${estatus}"="FAILED"]?fin:continua) ;contesto no contesto u ocupado
exten => _XXXXXXXXXX,n(fin),Hangup
exten => _XXXXXXXXXX,n(continua),Goto(h-${DIALSTATUS},1})
exten => h-ANSWER,1,NoOp(Contesto)
exten => h-ANSWER,n,Hangup
exten => h-ANSWERED,1,NoOp(Contesto)
exten => h-ANSWERED,n,Hangup
exten => h-NOANSWER,1,NoOp(No Contesto)
exten => h-NOANSWER,n,Hangup
exten => h-CHANUNAVAIL,1,(Sin Canales)
exten => h-CHANUNAVAIL,n,Hangup
exten => h-BUSY,1,NoOp(Ocupado)
exten => h-BUSY,n,Hangup
exten => h-FAIL,1,NoOp(Fallo)
exten => h-FAIL,n,Hangup
exten => h-CONGESTION,1,NoOp(Congestion)
exten => h-CONGESTION,n,Hangup
exten => s,n,Hangup
este contexto funciona si el usuario contesta la llamada si no, sigue generando lo intentos respectivos configurados en el .call.
Esta integración quiero integrarla con php-agi, pero como mencione anteriormente si no se contesta la llamada no hace nada, si se contesta genera una nueva llamada al mismo número y el registro de los eventos se le aplica a la última llamada.
me explico.
se genera la llamada para el número 3174210578 si no se contesta el no hace nada y sigue en los intentos definidos en .call
si la llamada se contesta, genera una nueva llamada al mismo número en este momento si ingresa al contexto y realiza todo el proceso sobre este contexto.
Otra cosa como puedo validar cuantos canales tengo activos para poder decirle que realice la llamada.
agradezco toda su colaboración, me he documentado leido pero mi experticia no me ha llevado a darle solución al caso.
atentamente,
Lgserrano
Comentario