Hi Team,
We are setting up a system, where there are two servers with asterisk 13.8 cert2 version installed on both. We are logging in users to one asterisk using AgentLogin() function and then switching the user to another asterisk, with the use of following code-
(Code on 1st server for transferring to another server)
[agent-remote-transfer]
exten => _X.,1,Verbose(Transferring Agent - {EXTEN} to {ToEnviornment})
same => n,Set(Env={ToEnvironment})
same => n,Set(Number={EXTEN})
same => n,Dial(PJSIP/{Number}@{Env},b(transferhandler^addheader^1[((FromEnvironment),(ToEnvironment))]))
;same => n,Dial(PJSIP/{Number}@Sandbox,,b(transferhandler^addheader^1[((FromEnvironment),(ToEnvironment))]))
same => n,Verbose(Dial Status: {DIALSTATUS})
same => n,Hangup()
[transferhandler]
exten => addheader,1,Verbose(-------{FromEnvironment}----------{ToEnvironment})
same => n,Set(PJSIP_HEADER(add,X-FromEnvironment)={FromEnvironment})
same => n,Set(PJSIP_HEADER(add,X-ToEnvironment)={ToEnvironment})
same => n,Return()
(Code on 2nd server to log in user)
[login-agent-remote]
exten => _X.,1,Wait(3)
same => n,Set(Fromenv={PJSIP_HEADER(read,FromEnvironment)})
same => n,Set(Toenv={PJSIP_HEADER(read,ToEnvironment)})
same => n,Set(SHARED(PLAY_BEEP,{CHANNEL})=2)
same => n,Verbose(-----{Fromenv}-----{Toenv}---)
same => n,Set(CASAGENT={EXTEN})
same => n,Verbose(Agent transferred from {EXTEN:6})
same => n,AgentLogin({CASAGENT},s)
;same => n,Set(SHARED(PLAY_BEEP,{CHANNEL})=2)
same => n,Verbose({CASAGENT} AGENT_STATUS is ${AGENT_STATUS})
same => n,Hangup()
The issue we are facing is that while the context Remote -transfer, for transferring the user to another asterisk’ ,is called, the agent is first logged off from first server, and then this context is executed, and after the user gets logged in on 2nd server, it automaticaaly logs out after 5 to 6 s. The AgentLogOff event is received from 1st asterisk, and this scenario occurs very few number of times, other times user remains logged in on both the servers.
Can you please help me with the scenarios that may cause AgentLogOff event to get triggered?