OpenSIPS / opensips

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.
https://opensips.org
Other
1.25k stars 574 forks source link

[FEATURE] Sync call center agent state among cluster #2920

Open truong-hua opened 1 year ago

truong-hua commented 1 year ago

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).

github-actions[bot] commented 1 year ago

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.

truong-hua commented 1 year ago

not stale