Adding a JSON API interface to fetch data in the JSON format. It abides with the JSON command and its implementations by other modules like mod_verto.
It outputs the exactly same column names as the data in CLI.
Various listing of mod_callcenter data such as agents, queues, members, tiers are as follows below.
- Listing of agents
Command: `json {"command": "callcenter_config", "format": "pretty", "data": {"arguments":"agent list"}}`
- Listing of queues
Command: `json {"command": "callcenter_config", "format": "pretty", "data": {"arguments":"queue list"}}`
- Listing of agents for a queue
Command: `json {"command": "callcenter_config", "data": {"arguments":"queue list agents", "queue_name":"support@default"}}`
(`queue_name` is a required)
- Listing of members(callers) for a queue
Command: `json {"command": "callcenter_config", "data": {"arguments":"queue list members", "queue_name":"support@default"}}`
- Listing of tiers for a queue
Command: `json {"command": "callcenter_config","data": {"arguments":"queue list tiers", "queue_name":"support@default"}}`
- Listing of members(callers)
Command: `json {"command": "callcenter_config","data": {"arguments":"member list"}}`
- Listing of tiers
Command: `json {"command": "callcenter_config","data": {"arguments":"tier list"}}`
It handles various errors and also returns back response in JSON as follow
E.g. Send a command without a required field (`queue_name`)
Command: `json {"command": "callcenter_config", "data": {"arguments":"queue list agents"}}`
Output: `{"command":"callcenter_config","data":{"arguments":"queue list agents"},"status":"error","message":"The command returned an error","response":{"error":"Missing data attribute: queue_name"}}`
* Explicitly define dependency tree for several modules
* Enable parallel builds for libtiff and libspandsp
* Verify module is enabled before attempting build. Allows
the virtual targets to be used for ordering without forcing
a build dependency.
Channel variables in dial strings can be set through <>, {} or [].
<foo=bar> applies to every channel.
{foo=bar} applies to every channel, excluding channels delimited by :_:.
[foo=bar] only applies to the channel that follows [foo=bar].
Before this patch, group_call looked up users in the directory and
replaced {} with []. This logic does not work if the user has more than
one dial string, e.g. if multiple-registrations is set to true, and more
than two devices register under the same user.
This patch fixes the issue by stripping <> and {}, and inserting the
dial string before each individual dial string for each user. The
semantics of the "local_clobber" variable and the '|', ',' and ':_:'
delimiters are fully supported.