OpenSIPS is a GPL implementation of a multi-functionality SIP Server that targets to deliver a high-level technical solution (performance, security and quality) to be used in professional SIP server platforms.
Is your feature request related to a problem? Please describe.
If an agent state changed to another state (ex: incall), the state is not replicate/sync to cluster.
Describe the solution you'd like
A mechanism to sync agent state between cluster nodes.
Or
An ability to set agent state to incall/wrapup/... by mi command cc_agent_login so we can use script and events to sync agent state among cluster.
Implementation
Add mi command cc_agent_set_state
Describe alternatives you've considered
Use cluster_send_req to logout/login a agent on other nodes when the agent of current node state changed. So, when an agent state is incall we broadcast cluster message to set state to login, otherwise set state to logout.
Additional context
I'm not sure if the call center queue can work properly with clustering or not. However, I think that with the agent state sync, the call_center module will be able to work in clustering environment with queue disabled (reject_on_no_agents = 1).
Any updates here? No progress has been made in the last 15 days, marking as stale. Will close this issue if no further updates are made in the next 30 days.
Is your feature request related to a problem? Please describe. If an agent state changed to another state (ex: incall), the state is not replicate/sync to cluster.
Describe the solution you'd like A mechanism to sync agent state between cluster nodes. Or An ability to set agent state to incall/wrapup/... by mi command cc_agent_login so we can use script and events to sync agent state among cluster.
Implementation Add mi command cc_agent_set_state
Describe alternatives you've considered Use cluster_send_req to logout/login a agent on other nodes when the agent of current node state changed. So, when an agent state is
incall
we broadcast cluster message to set state tologin
, otherwise set state tologout
.Additional context I'm not sure if the call center queue can work properly with clustering or not. However, I think that with the agent state sync, the call_center module will be able to work in clustering environment with queue disabled (reject_on_no_agents = 1).