Opciones en Correo de Voz

ElasMex

Joined
Oct 22, 2007
Messages
493
Likes
0
Points
16
#1
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
 

ElasMex

Joined
Oct 22, 2007
Messages
493
Likes
0
Points
16
#2
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.. :)
 

vlad

Joined
Nov 15, 2007
Messages
86
Likes
0
Points
0
#3
Estamos esperando =P
 

ElasMex

Joined
Oct 22, 2007
Messages
493
Likes
0
Points
16
#4
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.

Latest posts

Forum statistics

Threads
30,915
Messages
130,920
Members
17,591
Latest member
dalibor66
Top