[mod_callcenter] instance_id column hardcoded as 'single_box' — breaks multi-node deployments - #3092
Open
gaurang1102 wants to merge 1 commit into
Open
Conversation
… multi-node use, but the implementation was never completed. All SQL writers hardcode the literal string 'single_box' instead of reading a configurable value from the module's global configuration.
|
Most of FS scales horizontally properly to multiple instances. But mod_callcenter is a notable exception, not supporting instance_id dynamically. The importance of affinity in ACD applications makes this particularly problematic. I'd love to see this upstreamed so our home-grown solutions can be ripped out. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem Description
The agents and members tables in mod_callcenter have an instance_id column specifically designed to differentiate agents registered on different FreeSWITCH nodes in a multi-node deployment. However, every SQL write in cc_agent_set_value() and the agent load functions hardcodes the string 'single_box' as the instance_id, making the column permanently non-functional.
This means that in any deployment with more than one FreeSWITCH node sharing a common database (a standard HA or geographic distribution scenario), all nodes write identical instance_id values, making it impossible to:
Query which node currently owns a given agent
Filter member queries to agents registered on the same node (serving_system is also hardcoded)
Perform proper node-scoped agent state cleanup on restart
Type of Change
Related Issues
#3091
Testing
Checklist
Additional Notes