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
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
Comentario