Opciones en Correo de Voz

Joined
Oct 22, 2007
Messages
493
Points
16
Hola amigos

Me pueden ayudar?

Hacer que el correo de voz me de un saludo diferente cuando esta ocupado o no disponible y tenga las opciones siguientes:

Marque uno para dejar mensaje.

Marque dos para comunicarse a otra extensión en este caso a un IVR.

Tres que me comunique con la operadora.

Y si no marca nada que se dirija al correo de voz.

Espero me puedan ayudar comunidad.

Tengo un contesto que encontré pero no se donde colocarlo.... Espero que les sirva alguien mas este diseño.

Sería buena idea colocarlo como función en el sistema.

[ivr-VM-Option]
include => ext-findmefollow
include => ext-local
include => app-directory
exten => #,1,Goto(app-directory,#,1)
exten => h,1,Hangup
exten => s,1,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Set(TIMEOUT(digit)=3)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n,Background(custom/OpcionBuzon)
exten => s,n,WaitExten()
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => 0,1,dbDel(${BLKVM_OVERRIDE})
exten => 0,n,Set(__NODEST=)
exten => 0,n,Goto(ext-local,100,1)
exten => 1,1,dbDel(${BLKVM_OVERRIDE})
exten => 1,n,Set(__NODEST=)
exten => 1,n,Set(ARG1=${VMBOX})
exten => 1,n,Goto(macro-vm,s-${DIALSTATUS},2)
exten => 2,1,dbDel(${BLKVM_OVERRIDE})
exten => 2,n,Set(__NODEST=)
exten => 2,n,Goto(ivr-Other-Extension,s,1)
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => t,1,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 2]?hang,1)
exten => loop,n,Goto(ivr-VM-Option,s,begin)
exten => return,1,Set(_IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}})
exten => return,n,Goto(ivr-VM-Option,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)

; end of [ivr-VM-Option]

[ivr-Other-Extension]
include => ext-findmefollow
include => ext-local
include => app-directory
;include => from-internal
exten => #,1,Goto(app-directory,#,1)
exten => h,1,Hangup
exten => s,1,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=20)
exten => s,n,Background(custom/OtraExtension)
exten => s,n,WaitExten()
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => t,1,dbDel(${BLKVM_OVERRIDE})
exten => t,n,Set(__NODEST=)
exten => t,n,Goto(ivr-Other-Extension,s,begin)
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 2]?hang,1)
exten => loop,n,Goto(ivr-Other-Extension,s,begin)
exten => return,1,Set(_IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}})
exten => return,n,Goto(ivr-Other-Extension,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)

; end of [ivr-Other-Extension
 
Joined
Oct 22, 2007
Messages
493
Points
16
Hola a Todos

Ya tengo solucionado la función de opciones de correo de voz.

Voy a realizar unos cambios mas y lo pongo al publico...


Saludos a mi.. :)
 
Joined
Oct 22, 2007
Messages
493
Points
16
Saludos

Ya tengo el contexto de las opciones de buzón.

- Primero hay que entrar al archivo /etc/asterisk/extension_custom.conf y colocar los siguiente:
[VMOption]
include => app-directory
exten => #,1,Goto(app-directory,#,1)
exten => h,1,Hangup
exten => s,1,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(0)
exten => s,n(begin),Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=5)
exten => s,n,Background(custom/OpcionBuzon)
exten => s,n,WaitExten()
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => 0,1,dbDel(${BLKVM_OVERRIDE})
exten => 0,n,Set(__NODEST=)
exten => 0,n,Goto(ext-local,100,1)
exten => 1,1,dbDel(${BLKVM_OVERRIDE})
exten => 1,n,Set(__NODEST=)
exten => 1,n,Set(ARG1=${VMBOX})
exten => 1,n,Goto(macro-vm,s-${DIALSTATUS},2)
exten => 2,1,dbDel(${BLKVM_OVERRIDE})
exten => 2,n,Set(__NODEST=)
exten => 2,n,Goto(OtherExtension,s,1)
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => t,1,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 1]?hang,1)
exten => loop,n,Goto(VMOption,s,begin)
exten => return,1,Set(_IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}})
exten => return,n,Goto(VMOption,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)

; end of [VMOption]

[OtherExtension]
include => ext-findmefollow
include => ext-local
include => app-directory
exten => #,1,Goto(app-directory,#,1)
exten => h,1,Hangup
exten => s,1,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=5)
exten => s,n,Background(custom/OtraExtension)
exten => s,n,WaitExten()
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => t,1,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 2]?hang,1)
exten => loop,n,Goto(OtherExtension,s,begin)
exten => return,1,Set(_IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}})
exten => return,n,Goto(OtherExtension,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)

; end of [OtherExtension]

- Segundo hay que agregar las grabaciones en Recording vía Web de
* OpcionBuzon
* OtraExtension
Nota: No es necesario el mismo nombre para los mensajes.

- Tercero Entrar al archivo /etc/asterisk/extensions.conf, ubicamos el contesto [macro-vm] y nos ubicamos en:
;**********************************
exten => s-BUSY,1,Goto(VMOption,s,1)
;**********************************
exten => s-BUSY,2,NoOp(BUSY voicemail)
exten => s-BUSY,n,Macro(get-vmcontext,${ARG1})
exten => s-BUSY,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}b${VMGAIN}) ; Voicemail Busy message
exten => s-BUSY,n,Goto(exit-${VMSTATUS},1)

exten => s-NOMESSAGE,1,NoOp(NOMESSAGE (beeb only) voicemail)
exten => s-NOMESSAGE,n,Macro(get-vmcontext,${ARG1})
exten => s-NOMESSAGE,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}${VMGAIN}) ; Voicemail Busy message
exten => s-NOMESSAGE,n,Goto(exit-${VMSTATUS},1)

;**********************************
exten => s-DIRECTDIAL,1,Goto(VMOption,s,1)
;**********************************
exten => s-DIRECTDIAL,2,NoOp(DIRECTDIAL voicemail)
exten => s-DIRECTDIAL,n,Macro(get-vmcontext,${ARG1})
exten => s-DIRECTDIAL,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}${VM_DDTYPE}${VMGAIN})
exten => s-DIRECTDIAL,n,Goto(exit-${VMSTATUS},1)

;**********************************
exten => _s-.,1,Goto(VMOption,s,1)
;**********************************
exten => _s-.,2,Macro(get-vmcontext,${ARG1})
exten => _s-.,n,Voicemail(${ARG1}@${VMCONTEXT},${VM_OPTS}u${VMGAIN}) ; Voicemail Unavailable message
exten => _s-.,n,Goto(exit-${VMSTATUS},1)

Hay que colocar lo que esta en *

espero les sirva, se aceptan actualizaciones o una mejor forma de darle opciones al buzón de los usuarios.
 

Members online

No members online now.

Forum statistics

Threads
30,988
Messages
131,101
Members
17,716
Latest member
Orbit114
Top