Cursos Asterisk en México

Monitorear llamada del agente

Colapsar

Anuncio

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

  • Monitorear llamada del agente


    Hei que tal saludos a todos!!!!
    quisiera saber si se puede o existe alguna forma de intervenir en las llamdads que estan haciendo los agentes de call center para "monitorear" la calidad de agente en linea con el cliente?
    encontre esto en el foro de elastix (no lo he probado )pero quisiera saber si es buena opcion o existe otra manera..
    les agradeceria su ayuda...

    en el archivo "extensions_custom.conf", buscas la linea "[from-internal-custom]" e ingresar el siguiente codigo:

    [from-internal-custom]
    exten => 555,1,Macro(user-callerid)
    exten => 555,2,Authenticate(1234)
    exten => 555,3,Read(SPYNUM,agent-newlocation)
    exten => 555,4,ChanSpy(SIP/${SPYNUM))

    con esto que haces:

    1) marcas 555.
    2) te suena un mensaje que te solicita la contraseña que para el ejemplo es del 1 al 4 y luego la tecla #
    3) escuchas un mensaje que te solicita ingresar el numero de extension del agente que desees monitorear y finalizas con la tecla #
    4) escucharas la conversación sin que el cliente o el agente se enteren de tu presencia.

  • #2
    Re: Monitorear llamada del agente

    En efecto eso hace que monitorees las llamadas, aunque podrias hacerlo "un poquito" mas rápido si en lugar de poner un READ mandas la extensión a monitorear desde el marcado:

    Por ejemplo: exten => _555XXXX,1,ChanSpy(SIP/${EXTEN:3})

    Suponiendo que tus extensiones sean de 4 Dígitos. También puedes hablar con tu agente sin que el cliente escuche me parece que es con la opción w, útil cuando vas entrenando a tus agentes.

    Comentario


    • #3
      Re: Monitorear llamada del agente

      a ok me podrias esplicar mas detalladamente tu comentario hacerca de como hacerlo mas rapido y el de hablar con el cliente te lo agradeceria mucho XD gracias por tu comentario

      Comentario


      • #4
        Re: Monitorear llamada del agente

        Hola estaba leyendo tu post es un tema muy interesante algo que probablemente yo llegue algun dia a utilizar, por lo que menciona Navaismo, parace ser que le tienes que agregar una opcion al codigo por ejemplo el menciona w.

        Cuando graba uno las llamadas defines Ww para especificar el audio de entrada y de salida, solo hay que invstigar si con la W mayuscula es para entrada o salida, por lo tanto y suponiendo que la W mayuscula.

        [from-internal-custom]
        exten => 555,1,Macro(user-callerid)
        exten => 555,2,Authenticate(1234)
        exten => 555,3,Read(SPYNUM,agent-newlocation)
        exten => 555,4,ChanSpy(SIP/${SPYNUM),W)

        igual y tendrias que hacer la prueba ya que esto es algo que aun no he hecho.

        Por otra parte
        el ejemplo de navaismo
        exten => _555XXXX,1,ChanSpy(SIP/${EXTEN:3})
        viene reemplazando la linea de read de tu codigo, alguna vez en un callcenter vi que el monitor de calidad marcaba el numero por ejemplo 5552107, donde 2107 era la extension del analista y en automatico el analista mismo empezaba a escuchar lo que el agente del monitor le decia, pero el usuario (un suscriptor nextel) no sabia que lo estaban escuchando.
        Solo hay 10 tipos de personas...
        Las que conocen código binario y las que no

        Comentario


        • #5
          Re: Monitorear llamada del agente

          Puedes checar la informacion de la aplicacion chanspy con:

          core show application chanspy

          Comentario


          • #6
            Re: Monitorear llamada del agente

            agregue lo que esta ahi en el extensions_custom.conf en el from-internal-custom
            pero cuando marco en el xlite me dice que el numero que marqe es incorrecto?

            saben porque ?

            Comentario


            • #7
              Re: Monitorear llamada del agente

              Recargaste el dialplan? Puedes poner la salida del cli cuando haces la llamada para veriicar el error?

              Comentario


              • #8
                Re: Monitorear llamada del agente

                hey que tal navaismo gracias por el apoyo... sabes soy nuevo en estas cosas es por eso que agradesco tu ayuda y tu tiemepo lo que ice fue lo siguiente

                1- entre al archivo extensions_custom.conf

                2- en la parte del archivo del 1. punto coloque esto
                [from-internal-custom]
                include => custom-spy y mas abajo creo mi
                [custom-spy]
                exten => 555,1,Macro(user-callerid)
                exten => 555,2,Authenticate(1234)
                exten => 555,3,Read(SPYNUM,agent-newlocation)
                exten => 555,4,ChanSpy(SIP/${SPYNUM))

                3- luego me fui a mi elastix y en la pestaña donde dice PBX hay otra pestaña que dice TOOLS entre ahi
                y en el CLI le di un reload.
                4- en el xlite marque 555 y me dice en ingles que el numero de marcado es incorrecto !!!
                que estoy asiendo mal ??? lo unico que quiero es espiar las extensiones. no tengo creado agentes, solo hice las extensiones y se las agregue a los xlite

                Comentario


                • #9
                  Re: Monitorear llamada del agente

                  Entra vía ssh(usando putty por ejemplo) a tu server, necesitas la contraseña de root. Una vez ahí das asterisk -rvvvv y entraras al cli de asterisk.

                  Ahí dale dialplan reload y veras como recarga el dialplan.
                  Después ejecuta: dialplan show 555@from-internal(suponiendo que ese sea el contexto de tus extensiones) Y muestranos que es lo que arroja el cli de asterisk cuando pones eso.

                  Comentario


                  • #10
                    Re: Monitorear llamada del agente

                    me mostro lo siguiente


                    elastix*CLI> dialplan show 555@from-internal
                    [ Included context 'custom-spy' created by 'pbx_config' ]
                    '555' => 1. Macro(user-callerid) [pbx_config]
                    2. Authenticate(1234) [pbx_config]
                    3. Read(SPYNUM|agent-newlocation) [pbx_config]
                    4. ChanSpy(SIP/${SPYNUM)) [pbx_config]

                    [ Included context 'app-chanspy' created by 'pbx_config' ]
                    '555' => 1. Macro(user-callerid|) [pbx_config]
                    2. Answer() [pbx_config]
                    3. Wait(1) [pbx_config]
                    4. ChanSpy() [pbx_config]
                    5. Hangup() [pbx_config]

                    [ Included context 'bad-number' created by 'pbx_config' ]
                    '_X.' => 1. ResetCDR() [pbx_config]
                    2. NoCDR() [pbx_config]
                    3. Wait(1) [pbx_config]
                    4. Playback(silence/1&cannot-complete-as-dialed&check-number-dial-again|noanswer) [pbx_config]
                    5. Wait(1) [pbx_config]
                    6. Congestion(20) [pbx_config]
                    7. Hangup() [pbx_config]

                    -= 3 extensions (16 priorities) in 3 contexts. =-
                    -- Executing [h@macro-dialout-trunk:1] Macro("SIP/103-08e04dd0", "hangupcall|") in new stack
                    -- Executing [s@macro-hangupcall:1] GotoIf("SIP/103-08e04dd0", "1?skiprg") in new stack
                    -- Goto (macro-hangupcall,s,4)
                    -- Executing [s@macro-hangupcall:4] GotoIf("SIP/103-08e04dd0", "1?skipblkvm") in new stack
                    -- Goto (macro-hangupcall,s,7)
                    -- Executing [s@macro-hangupcall:7] GotoIf("SIP/103-08e04dd0", "1?theend") in new stack
                    -- Goto (macro-hangupcall,s,9)
                    -- Executing [s@macro-hangupcall:9] Hangup("SIP/103-08e04dd0", "") in new stack
                    == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/103-08e04dd0' in macro 'hangupcall'
                    == Spawn h extension (macro-dialout-trunk, h, 1) exited non-zero on 'SIP/103-08e04dd0'
                    == Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'SIP/103-08e04dd0' in macro 'dialout-trunk'
                    == Spawn extension (LLAMADAS, 0457445063650, 4) exited non-zero on 'SIP/103-08e04dd0'
                    == MixMonitor close filestream
                    == End MixMonitor Recording SIP/103-08e04dd0
                    elastix*CLI> elastix*CLI> dialplan show 555@from-internal
                    No such command 'elastix*CLI> dialplan show 555@from-internal' (type 'help elastix*CLI> dialplan' for other possible commands)
                    elastix*CLI> [ Included context 'custom-spy' created by 'pbx_config' ]
                    elastix*CLI> '555' => 1. Macro(user-callerid) [pbx_config]
                    No such command '[ Included context 'custom-spy' created by 'pbx_config' ]' (type 'help [ Included' for other possible commands)
                    No such command ' '555' => 1. Macro(user-callerid) [pbx_config]' (type 'help '555' =>' for other possible commands)
                    elastix*CLI> 2. Authenticate(1234) [pbx_config]
                    elastix*CLI> 3. Read(SPYNUM|agent-newlocation) [pbx_config]
                    elastix*CLI> 4. ChanSpy(SIP/${SPYNUM)) [pbx_config]
                    No such command ' 2. Authenticate(1234) [pbx_config]' (type 'help 2. Authenticate(1234)' for other possible commands)
                    No such command ' 3. Read(SPYNUM|agent-newlocation) [pbx_config]' (type 'help 3. Read(SPYNUM|agent-newlocation)' for other possible commands)
                    No such command ' 4. ChanSpy(SIP/${SPYNUM)) [pbx_config]' (type 'help 4. ChanSpy(SIP/${SPYNUM))' for other possible commands)
                    elastix*CLI>
                    elastix*CLI> [ Included context 'app-chanspy' created by 'pbx_config' ]
                    No such command '[ Included context 'app-chanspy' created by 'pbx_config' ]' (type 'help [ Included' for other possible commands)
                    elastix*CLI> '555' => 1. Macro(user-callerid|) [pbx_config]
                    elastix*CLI> 2. Answer() [pbx_config]
                    No such command ' '555' => 1. Macro(user-callerid|) [pbx_config]' (type 'help '555' =>' for other possible commands)
                    No such command ' 2. Answer() [pbx_config]' (type 'help 2. Answer()' for other possible commands)
                    elastix*CLI> 3. Wait(1) [pbx_config]
                    elastix*CLI> 4. ChanSpy() [pbx_config]
                    elastix*CLI> 5. Hangup() [pbx_config]
                    No such command ' 3. Wait(1) [pbx_config]' (type 'help 3. Wait(1)' for other possible commands)
                    No such command ' 4. ChanSpy() [pbx_config]' (type 'help 4. ChanSpy()' for other possible commands)
                    No such command ' 5. Hangup() [pbx_config]' (type 'help 5. Hangup()' for other possible commands)
                    elastix*CLI>
                    elastix*CLI> [ Included context 'bad-number' created by 'pbx_config' ]
                    No such command '[ Included context 'bad-number' created by 'pbx_config' ]' (type 'help [ Included' for other possible commands)
                    elastix*CLI> '_X.' => 1. ResetCDR() [pbx_config]
                    No such command ' '_X.' => 1. ResetCDR() [pbx_config]' (type 'help '_X.' =>' for other possible commands)
                    elastix*CLI> 2. NoCDR() [pbx_config]
                    No such command ' 2. NoCDR() [pbx_config]' (type 'help 2. NoCDR()' for other possible commands)
                    elastix*CLI> 3. Wait(1) [pbx_config]
                    No such command ' 3. Wait(1) [pbx_config]' (type 'help 3. Wait(1)' for other possible commands)
                    elastix*CLI> 4. Playback(silence/1&cannot-complete-as-dialed&check-number-dial-again|noanswer) [pbx_config]
                    No such command ' 4. Playback(silence/1&cannot-complete-as-dialed&check-number-dial-again|noanswer) [pbx_config]' (type 'help 4. Playback(silence/1&cannot-complete-as-dialed&check-number-dial-again|noanswe' for other possible commands)
                    elastix*CLI> 5. Wait(1) [pbx_config]
                    No such command ' 5. Wait(1) [pbx_config]' (type 'help 5. Wait(1)' for other possible commands)
                    elastix*CLI> 6. Congestion(20) [pbx_config]
                    No such command ' 6. Congestion(20) [pbx_config]' (type 'help 6. Congestion(20)' for other possible commands)
                    elastix*CLI> 7. Hangup() [pbx_config]
                    No such command ' 7. Hangup() [pbx_config]' (type 'help 7. Hangup()' for other possible commands)
                    elastix*CLI>
                    elastix*CLI> -= 3 extensions (16 priorities) in 3 contexts. =-
                    No such command '-= 3 extensions (16 priorities) in 3 contexts. =-' (type 'help -= 3' for other possible commands)
                    elastix*CLI> -- Executing [h@macro-dialout-trunk:1] Macro("SIP/103-08e04dd0", "hangupcall|") in new stack
                    No such command ' -- Executing [h@macro-dialout-trunk:1] Macro("SIP/103-08e04dd0", "hangupcall|") in new stack' (type 'help -- Executing' for other possible commands)
                    elastix*CLI> -- Executing [s@macro-hangupcall:1] GotoIf("SIP/103-08e04dd0", "1skiprg") in new stack
                    No such command ' -- Executing [s@macro-hangupcall:1] GotoIf("SIP/103-08e04dd0", "1skiprg") in new stack' (type 'help -- Executing' for other possible commands)
                    elastix*CLI> -- Goto (macro-hangupcall,s,4)
                    No such command ' -- Goto (macro-hangupcall,s,4)' (type 'help -- Goto' for other possible commands)
                    elastix*CLI> -- Executing [s@macro-hangupcall:4] GotoIf("SIP/103-08e04dd0", "1skipblkvm") in new stack
                    No such command ' -- Executing [s@macro-hangupcall:4] GotoIf("SIP/103-08e04dd0", "1skipblkvm") in new stack' (type 'help -- Executing' for other possible commands)
                    elastix*CLI> -- Goto (macro-hangupcall,s,7)
                    No such command ' -- Goto (macro-hangupcall,s,7)' (type 'help -- Goto' for other possible commands)
                    elastix*CLI> -- Executing [s@macro-hangupcall:7] GotoIf("SIP/103-08e04dd0", "1theend") in new stack
                    No such command ' -- Executing [s@macro-hangupcall:7] GotoIf("SIP/103-08e04dd0", "1theend") in new stack' (type 'help -- Executing' for other possible commands)
                    elastix*CLI> -- Goto (macro-hangupcall,s,9)
                    No such command ' -- Goto (macro-hangupcall,s,9)' (type 'help -- Goto' for other possible commands)
                    elastix*CLI> -- Executing [s@macro-hangupcall:9] Hangup("SIP/103-08e04dd0", "") in new stack
                    No such command ' -- Executing [s@macro-hangupcall:9] Hangup("SIP/103-08e04dd0", "") in new stack' (type 'help -- Executing' for other possible commands)
                    elastix*CLI> == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/103-08e04dd0' in macro 'hangupcall'
                    elastix*CLI> == Spawn h extension (macro-dialout-trunk, h, 1) exited non-zero on 'SIP/103-08e04dd0'
                    No such command ' == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/103-08e04dd0' in macro 'hangupcall'' (type 'help == Spawn' for other possible commands)
                    No such command ' == Spawn h extension (macro-dialout-trunk, h, 1) exited non-zero on 'SIP/103-08e04dd0'' (type 'help == Spawn' for other possible commands)
                    elastix*CLI> == Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'SIP/103-08e04dd0' in macro 'dialout-trunk'
                    No such command ' == Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'SIP/103-08e04dd0' in macro 'dialout-trunk'' (type 'help == Spawn' for other possible commands)
                    elastix*CLI> == Spawn extension (LLAMADAS, 0457445063650, 4) exited non-zero on 'SIP/103-08e04dd0'
                    No such command ' == Spawn extension (LLAMADAS, 0457445063650, 4) exited non-zero on 'SIP/103-08e04dd0'' (type 'help == Spawn' for other possible commands)
                    elastix*CLI> == MixMonitor close filestream
                    No such command ' == MixMonitor close filestream' (type 'help == MixMonitor' for other possible commands)
                    elastix*CLI> == End MixMonitor Recording SIP/103-08e04dd0
                    No such command ' == End MixMonitor Recording SIP/103-08e04dd0' (type 'help == End' for other possible commands)
                    elastix*CLI>
                    Disconnected from Asterisk server
                    Executing last minute cleanups

                    Comentario


                    • #11
                      Re: Monitorear llamada del agente

                      Lo que muestra el cli al inicio quiere decir que si tomo tu cambio:

                      Código:
                      elastix*CLI> dialplan show 555@from-internal
                      [ Included context 'custom-spy' created by 'pbx_config' ]
                       '555' => 1. Macro(user-callerid) [pbx_config]
                       2. Authenticate(1234) [pbx_config]
                       3. Read(SPYNUM|agent-newlocation) [pbx_config]
                       4. ChanSpy(SIP/${SPYNUM)) [pbx_config]
                      Ahora entra de nuevo al cli y haz una llamada desde tu xlite a ese numero(555) y muéstranos todo el log de esa llamada.

                      Comentario


                      • #12
                        Re: Monitorear llamada del agente

                        hei que tal navaismo gracias por tu tiempo y apoyo....
                        ya logre solucionarlo, es que a mis agentes los mando por un custom_context indicando que algunos pueden marcar tales numeros telefonicos y a otros no, lo cual agregue el
                        555 y listo ya entra el marcado y me pide las intrucciones del custom_spy que tengo en extensions_custom.conf ya esta funcionando

                        Gracias a ver que otro dia de estos me ayudas en mis siguientes comentarios jajajajaj

                        Saludos y Gracias

                        Comentario

                        Principales Usuarios Activos

                        Colapsar

                        No hay usuarios activos superiores.
                        Trabajando...
                        X