Cursos Asterisk en México

Wait for Silences en Auto Dialer

Colapsar

Anuncio

Colapsar
No hay anuncio todavía.
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Wait for Silences en Auto Dialer

    Hola estoy diseñando un auto dialer desde php con archivos call y voicemenus todo va bien pero no encuentro como iniciar audio al momento de que contestan el telefono

    con la sig configuracion hay un delay de 5 seg antes de empesar el audio

    archivo call

    Channel: DAHDI/g1/8436286138
    Callerid: "18007801943" <18007801943>
    Application: Dial
    Data: local/7000@voicemenus
    Context: voicemenu-custom-1
    extension: s
    priority: 1
    AlwaysDelete: Yes

    a lo cual asumo que es el tiempo que toma en crear el canal para conectar a el menu asi que lo que e hecho es invertir primero levantar el canal del menu y despues dial out de la sig manera

    archivo call

    Channel: local/7000@voicemenus
    Callerid: "18007801943" <18007801943>
    Application: Dial
    Data: DAHDI/g1/8436286138
    Context: voicemenu-custom-1
    extension: s
    priority: 1
    AlwaysDelete: Yes

    de esta manera empieza la reproducir de archivo antes de que empiece a sonar el timbrado

    de ahi por que el nombre del post estoy pensando en agregar al voicemenu-custom el wait for silence para que inicie la reproduccion hasta una ves que alguien haya tomado el telefono pero no logro entender lo del todo. el menu es el sig .

    exten=s,1,NoOp(capturar)
    exten=s,2,Background(/var/lib/asterisk/sounds/record/reward3)
    exten=s,3,SetMusicOnHold(musiconhold)
    exten=s,4,Wait(3)
    exten=s,5,Background(/var/lib/asterisk/sounds/record/reward3)
    exten=s,6,Wait(3)
    exten=s,7,Hangup()
    exten=1,1,Goto(queues,6501,1)


    habria que agregar antes de primer exten=s,2,Background la orden de esperar pero como gracias espero alguien pueda ayudarme lo he intentado con AMD de la sig manera pero no conosco el contesto correcto para que funcione

    exten=s,1,NoOp(capturar)
    exten=s,n,AMD
    exten=s,n,GotoIf($[${AMDSTATUS}=HUMAN]?humn:mach)
    exten=s,n(mach),WaitForSilence(2500)
    exten=s,n,Hangup
    exten=s,n(humn),WaitForSilence(500)
    exten=s,2,Background(/var/lib/asterisk/sounds/record/reward3)
    exten=s,3,SetMusicOnHold(musiconhold)
    exten=s,4,Wait(3)
    exten=s,5,Background(/var/lib/asterisk/sounds/record/reward3)
    exten=s,6,Wait(3)
    exten=s,7,Hangup()
    exten=1,1,Goto(queues,6501,1)

  • #2
    Hola,

    Hago una aclaración antes de que pases tiempo de más trabajando en una solución que no va a quedar:

    Si en tu canal DAHDI tienes una tarjeta con líneas análogas, en cuando hagas el Dial(DAHDI/g0/XXXXXXXXX) el canal se va a marcar como contestado, por lo que el audio se enviaría ANTES de que te contesten, y cuando realmente contesten, ya habría comenzado. Si tienes una tarjeta digital con E1, esto no pasa, y la reproducción puede funcionar normalmente.

    Ahora bien, nos pones esto:

    Código:
    Channel: DAHDI/g1/8436286138
    Callerid: "18007801943" <18007801943>
    Application: Dial
    Data: local/7000@voicemenus
    Context: voicemenu-custom-1
    extension: s
    priority: 1
    AlwaysDelete: Yes
    El uso de los campos Application/Data y Context/Extension/Priority son mutuamente excluyentes (usas uno o usas otro), por lo que te recomiendo que lo acomodes asi:

    Código:
    Channel: DAHDI/g1/8436286138
    Callerid: "18007801943" <18007801943>
    Context: voicemenu-custom-1
    extension: s
    priority: 1
    AlwaysDelete: Yes
    Desconozco que tengas dentro de voicemenu-custom-1,s,1 así que eso puede ser causa del problema. ¿Qué es lo que tienes allí?

    Saludos,
    dCAP Christian Cabrera R.
    Para aprender a usar Asterisk, asiste a uno de mis cursos Asterisk
    Si deseas asesoría pagada, por favor contáctame

    Comentario


    • #3
      Hola Christian Gracias ya he dejado el archivo call como me especificas, el voicemenu-custom-1 contiene lo sig

      [voicemenu-custom-1]

      exten=s,1,NoOp(capturar)
      exten=s,2,Background(/var/lib/asterisk/sounds/record/reward3)
      exten=s,3,SetMusicOnHold(musiconhold)
      exten=s,4,Wait(3)
      exten=s,5,Background(/var/lib/asterisk/sounds/record/reward3)
      exten=s,6,Wait(3)
      exten=s,7,Hangup()
      exten=1,1,Goto(queues,6501,1)

      la tarjeta es una tdm400 y el servicio que tengo es magicjack

      Comentario


      • #4
        Entonces creo que si vas a tener el problema que comenté desde el inicio. Tu código se ve bien, pero sin lugar a dudas cuando mandes la llamada por el canal DAHDI, ésta se va a etiquetar como contestada desde el primer momento en que tomes la línea, por lo que no podrás usarla como un marcador automático para reproducir un mensaje.

        Lo que necesitas usar es una troncal digital, una troncal SIP o conectarla a través de algún equipo que SI tenga answer supervision (la TDM de Digium no ofrece esta característica).

        Saludos,
        dCAP Christian Cabrera R.
        Para aprender a usar Asterisk, asiste a uno de mis cursos Asterisk
        Si deseas asesoría pagada, por favor contáctame

        Comentario

        Principales Usuarios Activos

        Colapsar

        No hay usuarios activos superiores.
        Trabajando...
        X