Cursos Asterisk en México

Comportamiento de Cola en Asterisk 11

Colapsar

Anuncio

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

  • Comportamiento de Cola en Asterisk 11

    Saludos foro , tengo algunos inconvenientes en una cola que
    estoy tratando de hacer jalar en la version 11 de asterisk , tengo la
    necesidad aquí en la empresa de poner 9 agentes en una cola de
    servicio ,básicamente es que estén recibiendo las llamadas entrantes
    de un 1800 en un IVR y que a su ves puedan recibir llamadas desde
    otros internos de la empresa , he leido que la mejor manera de hacer
    esto es con agentes dinamicos.

    aqui los inconvenientes, los agentes se logean a la cola

    exten => *999,1,Verbose(2,Logeo de mis agentes)
    exten => *999,n,GoSub( AgentCallbackLogin,start,1)
    exten => *999,n,Hangup()


    [AgentCallbackLogin]
    exten => start,1,Verbose(2,Logeo de mis agentes)
    exten => start,n,Playback(silence/1)
    exten => start,n,Read(AGENT_USERID,agent-user)
    exten => start,n,VMauthenticate(${AGENT_USERID}@default)
    exten=>start,n,AddQueueMember(${MY_QUEUES},Local/${CUT(CUT(CHANNEL,-,1),/,2)}@agent_callback,,,,${CUT(CHANNEL,-,1)})
    exten => start,n,Playback(agent-loginok)
    exten => start,n,Return()

    hasta aqui todo bien , el agente se logea con su numero de agente y
    password del voicemail , lo extrano es que si le doy un show agent no
    veo que ese agente este en linea, este comportamiento no se si es
    correcto con agentes dinámicos?

    - Executing [start@AgentCallbackLogin:3] Read("SIP/1001-00000001",
    "AGENT_USERID,agent-user") in new stack

    -- <SIP/1001-00000001> Playing 'agent-user.gsm' (language 'es')

    -- User entered '5000'

    -- Executing [start@AgentCallbackLogin:4]
    VMAuthenticate("SIP/1001-00000001", "5000@default") in new stack

    -- <SIP/1001-00000001> Playing 'vm-password.gsm' (language 'es')

    -- <SIP/1001-00000001> Playing 'auth-thankyou.gsm' (language 'es')

    -- Executing [start@AgentCallbackLogin:5]
    AddQueueMember("SIP/1001-00000001",
    "servicio,Local/1001@agent_callback,,,,SIP/1001") in new stack

    [May 10 05:56:50] WARNING[2772][C-00000001]: app_queue.c:6905
    aqm_exec: Unable to add interface 'Local/1001@agent_callback' to queue
    'servicio': Already there

    -- Executing [start@AgentCallbackLogin:6]
    Playback("SIP/1001-00000001", "agent-loginok") in new stack

    -- <SIP/1001-00000001> Playing 'agent-loginok.gsm' (language 'es')

    -- Executing [start@AgentCallbackLogin:7]
    Return("SIP/1001-00000001", "") in new stack

    -- Executing [*999@editor:3] Hangup("SIP/1001-00000001", "") in new stack

    == Spawn extension (editor, *999, 3) exited non-zero on 'SIP/1001-00000001'

    aqui desde la extension 1001 SIP se logeo con el numero de agente 5000
    , pero si veo el status de este agente no lo veo conectado

    ### status de agente

    voicend*CLI> agent show

    5000 (ricardo) not logged in (musiconhold is 'default')

    5001 (abigail) not logged in (musiconhold is 'default')

    5002 (chelsy) not logged in (musiconhold is 'default')

    3 agents configured [0 online , 3 offline]


    2do incoveniente , cuando uno de mis agentes se sale de la cola
    continua recibiendo llamadas a pesar que ya se deslogeo de la cola ,
    les muestro el código que adapte en base al logeo de los agentes

    [RemoveAgentCallbackLogin]
    exten => start,1,Verbose(2,Logging in agent)
    exten => start,n,Playback(silence/1)
    exten => start,n,Read(AGENT_USERID,agent-user)
    exten => start,n,VMauthenticate(${AGENT_USERID}@default)
    exten => start,n,Removequeuemember(${MY_QUEUES},Local/${CUT(CUT(CHANNEL,-,1),/,2)}@agent_callback,,,,${CUT(CHANNEL,-,1)}

    )
    exten => start,n,Playback(agent-loggedoff)

    exten => start,n,Return()

    pero aunque se deslogee sigue conectado

    ### les muestro el proceso #####

    -- Executing [*998@editor:1] Verbose("SIP/1001-00000004", "2,Logging
    in agent") in new stack

    == Logging in agent

    -- Executing [*998@editor:2] Gosub("SIP/1001-00000004",
    "RemoveAgentCallbackLogin,start,1") in new stack

    -- Executing [start@RemoveAgentCallbackLogin:1]
    Verbose("SIP/1001-00000004", "2,Logging in agent") in new stack

    == Logging in agent

    -- Executing [start@RemoveAgentCallbackLogin:2]
    Playback("SIP/1001-00000004", "silence/1") in new stack

    > 0x7f9e4c013660 -- Probation passed - setting RTP source
    address to 192.168.0.14:4004

    -- <SIP/1001-00000004> Playing 'silence/1.gsm' (language 'es')

    > 0x7f9e4c013660 -- Probation passed - setting RTP source
    address to 192.168.0.14:4004

    -- Executing [start@RemoveAgentCallbackLogin:3]
    Read("SIP/1001-00000004", "AGENT_USERID,agent-user") in new stack

    -- <SIP/1001-00000004> Playing 'agent-user.gsm' (language 'es')

    -- User entered '5000'

    -- Executing [start@RemoveAgentCallbackLogin:4]
    VMAuthenticate("SIP/1001-00000004", "5000@default") in new stack

    -- <SIP/1001-00000004> Playing 'vm-password.gsm' (language 'es')

    -- <SIP/1001-00000004> Playing 'auth-thankyou.gsm' (language 'es')

    -- Executing [start@RemoveAgentCallbackLogin:5]
    RemoveQueueMember("SIP/1001-00000004",
    "servicio,Local/1001@agent_callback,,,,SIP/1001") in new stack

    -- Executing [start@RemoveAgentCallbackLogin:6]
    Playback("SIP/1001-00000004", "agent-loggedoff") in new stack

    -- <SIP/1001-00000004> Playing 'agent-loggedoff.gsm' (language 'es')

    -- Executing [start@RemoveAgentCallbackLogin:7]
    Return("SIP/1001-00000004", "") in new stack

    -- Executing [*998@editor:3] Hangup("SIP/1001-00000004", "") in new stack

    == Spawn extension (editor, *998, 3) exited non-zero on 'SIP/1001-00000004'

    voicend*CLI>


    hasta qui el agente en teoría no tendría que recibir llamadas , pero las recibe

    == Calling into the primary queue

    -- Executing [555@editor:2] Playback("SIP/1003-00000005",
    "silence/1") in new stack

    > 0x7f9e4c013660 -- Probation passed - setting RTP source
    address to 192.168.0.21:7076

    -- <SIP/1003-00000005> Playing 'silence/1.alaw' (language 'es')

    -- Executing [555@editor:3] Queue("SIP/1003-00000005", "servicio")
    in new stack

    -- Started music on hold, class 'default', on SIP/1003-00000005

    -- Executing [1001@agent_callback:1]
    Set("Local/1001@agent_callback-00000001;2", "EXTENSION=1001") in new
    stack

    -- Executing [1001@agent_callback:2]
    Goto("Local/1001@agent_callback-00000001;2", "start,1") in new stack

    -- Goto (agent_callback,start,1)

    -- Executing [start@agent_callback:1]
    Dial("Local/1001@agent_callback-00000001;2", "SIP/1001") in new stack

    == Using SIP RTP TOS bits 184

    == Using SIP RTP CoS mark 5

    -- Called SIP/1001

    -- Local/1001@agent_callback-00000001;1 connected line has
    changed. Saving it until answer for SIP/1003-00000005

    -- Local/1001@agent_callback-00000001;1 connected line has
    changed. Saving it until answer for SIP/1003-00000005

    -- SIP/1001-00000006 is ringing

    -- Local/1001@agent_callback-00000001;1 is ringing

    > 0x7f9e10014810 -- Probation passed - setting RTP source
    address to 192.168.0.14:4006

    -- SIP/1001-00000006 answered Local/1001@agent_callback-00000001;2

    -- Local/1001@agent_callback-00000001;1 connected line has
    changed. Saving it until answer for SIP/1003-00000005

    -- Local/1001@agent_callback-00000001;1 answered SIP/1003-00000005

    -- Stopped music on hold on SIP/1003-00000005

    > 0x7f9e4c013660 -- Probation passed - setting RTP source
    address to 192.168.0.21:7076

    > 0x7f9e10014810 -- Probation passed - setting RTP source
    address to 192.168.0.14:4006

    -- Locally bridging SIP/1003-00000005 and SIP/1001-00000006

    == Spawn extension (agent_callback, start, 1) exited non-zero on
    'Local/1001@agent_callback-00000001;2'

    == Spawn extension (editor, 555, 3) exited non-zero on 'SIP/1003-00000005'

    espero haber sido un poco claro , y que algún geek me despegue de aquí


    saludoss

  • #2
    Como ya no se usa el agents.conf el comando agent show no te va a mostrar a los agentes activos, para verlos utiliza el comando:

    Código:
    queue show <nombre de la cola>
    Lo mismo para ver si tu agente en efecto fue removido de la cola actual. Si sigue ahi intenta desde la consola con queue remove memeber from <nombre de la cola> para ver si te arroja algún error.

    Comentario


    • #3
      Hola!

      estoy tratando de remover un agente de la cola :

      voiced*CLI> queue remove member SIP/1001 from servicio
      Unable to remove interface 'SIP/1001' from queue 'servicio': Member is not dynamic
      Command 'queue remove member SIP/1001 from servicio' failed.


      y no me logra funcionar el deslogearme de la cola , no si tengo un error de concepto! , hice algunas modificaciones , en queues.conf lo deje asi , tomando en cuenta que mis extensiones son las mismas 100X , anteriormente lo hacia enmascarando hacia llamando a la cola y poniendo los agentes en las 500X

      [general]
      persistentmembers=yes
      autofill=yes

      [servicio]
      strategy=ringall
      timeout=15
      ringinuse=no
      autopause=yes
      autofill=yes

      member=> SIP/1000,1
      member=> SIP/1001,1
      member=> SIP/1002,1


      ### deslogeo de la cola##
      exten => 998,1,Verbose(2,Logging in agent)
      exten => 998,n,GoSub(RemoveAgentCallbackLogin,start,1)
      exten => 998,n,Hangup()


      [RemoveAgentCallbackLogin]
      ; conversion of AgentCallbackLogin() to using AddQueueMember()
      ;
      exten => start,1,Verbose(2,Logging in agent)
      exten => start,n,Playback(silence/1)
      exten => start,n,Read(AGENT_USERID,agent-user)
      exten => start,n,Removequeuemember(${MY_QUEUES},Local/${CUT(CUT(CHANNEL,-,1),/,2)}@agent_callback,,,,${CUT(CHANNEL,-,1)})
      exten => start,n,Playback(agent-loggedoff)
      exten => start,n,Return()





      espero sus comentarios


      Comentario


      • #4
        Para que tu agente sea dinámico no lo debes declarar como MEMBER=>SIP/1000 eso lo convierte en un agente estático. Los agentes dinámicos son aquellos que ingresan a la cola cada que lo desean. Usando el comando Addqueuemember, es por esa razón que no la consola te dice que no lo puede remover porque en efecto no es agente dinámico.

        Comentario


        • #5
          Ok ahora entiendo , la otra duda es porque cuando salgo de la cola , sigo recibiendo llamadas.

          gracias navaismo

          Comentario


          • #6
            Porque como es un miembro estático en realidad nunca sales de la cola.

            Comentario


            • #7
              Si ahora entiendo porque sigo recibiendo llamadas , lo he cambiando a miembro dinamico , pero pasa algo raro!, me logeo en la cola y llama a dicha cola y no cae las llamadas a los agentes logeados , si los pongo estaticos las llamadas caen perfecto.

              te muestro una llamada a la cola y con dos agentes conectados:

              -- Executing [0@IVREDITOR:1] Queue("SIP/1000-00000009", "servicio,t") in new stack
              -- Started music on hold, class 'default', on SIP/1000-00000009
              voiced*CLI> queue show servicio
              servicio has 1 calls (max unlimited) in 'ringall' strategy (1s holdtime, 104s talktime), W:0, C:1, A:1, SL:0.0% within 0s
              Members:
              Local/1001@agents/n with penalty 1 (ringinuse disabled) (dynamic) (paused) (Not in use) has taken no calls yet
              Local/1001@agent_callback (ringinuse disabled) (dynamic) (paused) (Not in use) has taken no calls yet
              SIP/1001 (ringinuse disabled) (dynamic) (In use) has taken no calls yet
              Local/1003@agent_callback (ringinuse disabled) (dynamic) (paused) (Not in use) has taken no calls yet
              SIP/1003 (ringinuse disabled) (dynamic) (In use) has taken no calls yet
              Local/1000@agent_callback (ringinuse disabled) (dynamic) (paused) (In use) has taken no calls yet
              SIP/1000 (ringinuse disabled) (dynamic) (Not in use) has taken no calls yet
              Callers:
              1. SIP/1000-00000009 (wait: 0:07, prio: 0)

              Comentario


              • #8
                Se ve raro, tienes 4 agentes pausados, 1 en uso y el SIP/1000 es el que llama y a la vez esta en la cola??? Tienes habilitados los callcounters en el sip.conf?

                Comentario


                • #9
                  Si lo tengo habilitado en general del sip.conf , y dentro de la plantilla para los SIP extension.
                  callcounter=yes
                  limitonpeers=yes

                  lo extraño es que los agentes en el queue no tienen el autopause habilitado

                  [general]
                  persistentmembers=yes
                  autofill=yes

                  [servicio]
                  strategy=ringall
                  timeout=15
                  ringinuse=no
                  autopause=no
                  autofill=yes


                  por ejemplo si me conecto a la cola con la extension 1001 , me muestra este mensaje , ya todos los agentes q tengo son dinamicos

                  WARNING[14327][C-0000000a]: app_queue.c:6905 aqm_exec: Unable to add interface 'Local/1001@agent_callback' to queue 'servicio': Already there

                  otra pregunta navaismo en base a tu experiencia es mejor dejar los agentes dinamicos o estaticos?

                  Comentario


                  • #10
                    Antes de intentar agregar a los agentes, da un queue show para ver quienes están. Si existen sacalos con queue remove memeber. si te dice que son estáticos vacia tu agents.conf y el queues.conf quitando los miembros-rayos eso no suena bien -. Finalmente añádelos.

                    Yo casi siempre lo use Dinámicos pero es cuestión de necesidades.

                    Comentario


                    • #11
                      Originalmente publicado por navaismo Ver Mensaje
                      Antes de intentar agregar a los agentes, da un queue show para ver quienes están. Si existen sacalos con queue remove memeber. si te dice que son estáticos vacia tu agents.conf y el queues.conf quitando los miembros-rayos eso no suena bien -. Finalmente añádelos.

                      Yo casi siempre lo use Dinámicos pero es cuestión de necesidades.

                      Saludos nuevamente x aqui , cuando me hablas que los añada te refieres al cli?

                      Comentario


                      • #12
                        bueno te comento que los he quitado del CLI y me agrego a la cola marcando desde el softphone y llamo a la cola no entran las llamadas en los agentes logeados ..

                        jeje , me esta preocupando este comportamiento.

                        Comentario


                        • #13
                          Muestranos el cli completo de:

                          -- La cola antes de unirte a ella: queue show <cola>.
                          -- Cuando usas el softphone para darte de alta en la cola.
                          -- La cola despues de que te has unido: queue show <cola>
                          -- La llamada entrante a la cola.

                          Comentario


                          • #14
                            Originalmente publicado por navaismo Ver Mensaje
                            Muestranos el cli completo de:
                            Originalmente publicado por navaismo Ver Mensaje
                            -- La cola antes de unirte a ella: queue show <cola>.
                            queue show servicio
                            servicio has 0 calls (max unlimited) in 'ringall' strategy (0s holdtime, 0s talktime), W:0, C:0, A:2, SL:0.0% within 0s
                            Members:
                            Local/1001@agents/n with penalty 1 (ringinuse disabled) (dynamic) (paused) (Not in use) has taken no calls yet
                            Local/1001@agent_callback (ringinuse disabled) (dynamic) (paused) (Unavailable) has taken no calls yet
                            Local/1003@agent_callback (ringinuse disabled) (dynamic) (paused) (Not in use) has taken no calls yet
                            Local/1000@agent_callback (ringinuse disabled) (dynamic) (paused) (Not in use) has taken no calls yet
                            No Callers

                            Originalmente publicado por navaismo Ver Mensaje
                            -- Cuando usas el softphone para darte de alta en la cola..
                            == Using SIP RTP TOS bits 184
                            == Using SIP RTP CoS mark 5
                            -- Executing [*54@locales:1] Verbose("SIP/1001-00000005", "2,Logging In Queue Member") in new stack
                            == Logging In Queue Member
                            -- Executing [*54@locales:2] Set("SIP/1001-00000005", "MemberChannel=SIP/1001") in new stack
                            -- Executing [*54@locales:3] AddQueueMember("SIP/1001-00000005", "servicio,SIP/1001") in new stack
                            [May 21 14:49:08] NOTICE[27834][C-00000003]: app_queue.c:6900 aqm_exec: Added interface 'SIP/1001' to queue 'servicio'
                            -- Executing [*54@locales:4] Verbose("SIP/1001-00000005", "1,ADDED") in new stack
                            ADDED
                            -- Executing [*54@locales:5] Playback("SIP/1001-00000005", "agent-loginok") in new stack
                            > 0x7f7214020cc0 -- Probation passed - setting RTP source address to 172.16.8.162:42750
                            -- <SIP/1001-00000005> Playing 'agent-loginok.ulaw' (language 'es')
                            [May 21 14:49:09] NOTICE[27834][C-00000003]: channel.c:4301 __ast_read: Dropping incompatible voice frame on SIP/1001-00000005 of format alaw since our native format has changed to (ulaw)
                            -- Executing [*54@locales:6] Hangup("SIP/1001-00000005", "") in new stack
                            == Spawn extension (locales, *54, 6) exited non-zero on 'SIP/1001-00000005'


                            Originalmente publicado por navaismo Ver Mensaje
                            La cola despues de que te has unido: queue show <cola>
                            servicio has 0 calls (max unlimited) in 'ringall' strategy (0s holdtime, 0s talktime), W:0, C:0, A:2, SL:0.0% within 0s
                            Members:
                            Local/1001@agents/n with penalty 1 (ringinuse disabled) (dynamic) (paused) (Not in use) has taken no calls yet
                            Local/1001@agent_callback (ringinuse disabled) (dynamic) (paused) (Not in use) has taken no calls yet
                            SIP/1001 (ringinuse disabled) (dynamic) (In use) has taken no calls yet
                            Local/1003@agent_callback (ringinuse disabled) (dynamic) (paused) (Not in use) has taken no calls yet
                            SIP/1003 (ringinuse disabled) (dynamic) (In use) has taken no calls yet
                            Local/1000@agent_callback (ringinuse disabled) (dynamic) (paused) (Not in use) has taken no calls yet
                            No Callers


                            Originalmente publicado por navaismo Ver Mensaje
                            La llamada entrante a la cola.
                            -- Executing [2902@editor:1] NoOp("SIP/1000-00000007", "") in new stack
                            -- Executing [2902@editor:2] Goto("SIP/1000-00000007", "IVREDITOR,s,1") in new stack
                            -- Goto (IVREDITOR,s,1)
                            -- Executing [s@IVREDITOR:1] GotoIfTime("SIP/1000-00000007", "08:00-18:00|mon-fri|*|*?s,dentro") in new stack
                            -- Goto (IVREDITOR,s,2)
                            -- Executing [s@IVREDITOR:2] Set("SIP/1000-00000007", "TIMEOUT(digit)=7") in new stack
                            -- Digit timeout set to 7.000
                            -- Executing [s@IVREDITOR:3] Set("SIP/1000-00000007", "TIMEOUT(response)=9") in new stack
                            -- Response timeout set to 9.000
                            -- Executing [s@IVREDITOR:4] Answer("SIP/1000-00000007", "") in new stack
                            > 0x7f726c020c40 -- Probation passed - setting RTP source address to 172.16.8.179:16406
                            -- Executing [s@IVREDITOR:5] Set("SIP/1000-00000007", "CALLERID(name)=") in new stack
                            -- Executing [s@IVREDITOR:6] Set("SIP/1000-00000007", "calltime=20150521145113") in new stack
                            -- Executing [s@IVREDITOR:7] BackGround("SIP/1000-00000007", "welcome") in new stack
                            -- <SIP/1000-00000007> Playing 'welcome.gsm' (language 'es')
                            -- Executing [s@IVREDITOR:8] Playback("SIP/1000-00000007", "ext-or-zero") in new stack
                            -- <SIP/1000-00000007> Playing 'ext-or-zero.gsm' (language 'es')
                            -- Executing [s@IVREDITOR:9] WaitExten("SIP/1000-00000007", "4") in new stack
                            -- Timeout on SIP/1000-00000007, continuing...
                            -- Executing [s@IVREDITOR:10] Goto("SIP/1000-00000007", "0,1") in new stack
                            -- Goto (IVREDITOR,0,1)
                            -- Executing [0@IVREDITOR:1] Queue("SIP/1000-00000007", "servicio,t") in new stack
                            -- Started music on hold, class 'default', on SIP/1000-00000007

                            Comentario


                            • #15
                              Si te fijas en tu agente recien loggeado: SIP/1001 la cola dice que esta en uso:

                              SIP/1001 (ringinuse disabled) (dynamic) (In use) has taken no calls yet
                              Asegurate que no tenga llamadas o habilita la opción ringinuse=yes

                              Comentario

                              Principales Usuarios Activos

                              Colapsar

                              No hay usuarios activos superiores.
                              Trabajando...
                              X