GET : Get list of all queue entries info.
Get list of all queue entries info.
GET /queue/entries
{ $defhdr, "reuslt": { "list": [ { "unique_id": "<string>", "queue_name": "<string>", "channel": "<string>", "caller_id_name": "<string>", "caller_id_num": "<string>", "connected_line_name": "<string>", "connected_line_num": "<string>", "position": <number>, "wait": <number>, "tm_update": "<timestamp>" }, ... ] } }
list
: array of queue entries. * See detail at :ref:`get_queue_entries_detail`.
$ curl -X GET localhost:8081/queue/entries { "api_ver": "0.1", "result": { "list": [ { "caller_id_name": "pjagent-01", "caller_id_num": "pjagent-01", "channel": "PJSIP/pjagent-01-00000002", "connected_line_name": "<unknown>", "connected_line_num": "<unknown>", "position": 1, "queue_name": "sales_1", "tm_update": "2017-12-18T00:23:39.821137155Z", "unique_id": "1513556618.4", "wait": null } ] }, "statuscode": 200, "timestamp": "2017-12-18T00:23:40.94974824Z" }
GET : Get queue entry detail info of given queue entry info.
Get queue entry detail info of given queue entry info.
GET /queue/entries/<detail>
Method parameters
detail
: unique id
{ $defhdr, "reuslt": { "unique_id": "<string>", "queue_name": "<string>", "channel": "<string>", "caller_id_name": "<string>", "caller_id_num": "<string>", "connected_line_name": "<string>", "connected_line_num": "<string>", "position": <number>, "wait": <number>, "tm_update": "<timestamp>" } }
Return parameters
unique_id
: Unique id of channel.caller_id_num
: The name of the queue.channel
: Channel name.caller_id_name
: Caller's name.caller_id_num
: Caller's number.connected_line_name
: Connected line's name.connected_line_num
: Connected line's number.position
: Position in the queue.wait
: If set when paused, the reason the queue member was paused.
$ curl -X GET localhost:8081/queue/entries/1513557067.6 { "api_ver": "0.1", "result": { "caller_id_name": "pjagent-01", "caller_id_num": "pjagent-01", "channel": "PJSIP/pjagent-01-00000004", "connected_line_name": "<unknown>", "connected_line_num": "<unknown>", "position": 1, "queue_name": "sales_1", "tm_update": "2017-12-18T00:31:08.754950500Z", "unique_id": "1513557067.6", "wait": null }, "statuscode": 200, "timestamp": "2017-12-18T00:31:18.894580134Z" }
GET : Get list of all queue members info.
Get list of all queue members info.
GET /queue/members
{ $defhdr, "reuslt": { "list": [ { "id": "<string>", "name": "<string>", "queue_name": "<string>", "status": <integer>, "membership": "<string>", "state_interface": "<string>", "location": "<string>", "paused": <integer>, "paused_reason": "<string>", "penalty": <integer>, "calls_taken": <integer>, "in_call": <integer>, "last_call": <integer>, "last_pause": <integer>, "ring_inuse": <integer>, "tm_update": "<timestamp>" }, ... ] } }
list
: array of registry account. * See detail at :ref:`get_queue_members_detail`.
$ curl -X GET 192.168.200.10:8081/queue_params { "api_ver": "0.1", "result": { "list": [ { "id": "sip/agent-02@sales_1", "calls_taken": 0, "in_call": 0, "last_call": 0, "last_pause": 0, "location": "sip/agent-02", "membership": "dynamic", "name": "sip/agent-02", "paused": 0, "paused_reason": "", "penalty": 0, "queue_name": "sales_1", "ring_inuse": null, "state_interface": "sip/agent-02", "status": 4, "tm_update": "2017-12-18T00:31:04.175880809Z" }, ... ] }, "statuscode": 200, "timestamp": "2017-12-18T00:34:45.370734689Z" }
GET : Get queue member detail info of given queue member info.
Get queue member detail info of given queue member info.
GET /queue/members/<detail>?queue_name=<string>
Method parameters
detail
: member name.queue_name
: queue name.
{ $defhdr, "reuslt": { "id": "<string>", "name": "<string>", "queue_name": "<string>", "status": <integer>, "membership": "<string>", "state_interface": "<string>", "location": "<string>", "paused": <integer>, "paused_reason": "<string>", "penalty": <integer>, "calls_taken": <integer>, "in_call": <integer>, "last_call": <integer>, "last_pause": <integer>, "ring_inuse": <integer>, "tm_update": "<timestamp>" } }
Return parameters
* id
: member's id.
name
: The name of the queue member.queue_name
: The name of the queue.status
: The numeric device state status of the queue member.membership
: Membership of queue member.state_interface
: Channel technology or location from which to read device state changes.location
: The queue member's channel technology or location.paused
: Paused.paused_reason
: If set when paused, the reason the queue member was paused.penalty
: The penalty associated with the queue member.calls_taken
: The number of calls this queue member has serviced.in_call
: Set to 1 if member is in call. Set to 0 after LastCall time is updated.last_call
: The time this member last took a call, expressed in seconds since 00:00, Jan 1, 1970 UTC.last_pause
: The time when started last paused the queue member.ring_inuse
: Ring in use option.
$ curl -X GET localhost:8081/queue/members/Agent%2F10001\?queue_name=sales_1 { "api_ver": "0.1", "result": { "id": "Agent/10001@sales_1", "calls_taken": 0, "in_call": 0, "last_call": 0, "last_pause": 0, "location": "Agent/10001", "membership": "static", "name": "Agent/10001", "paused": 0, "paused_reason": "", "penalty": 0, "queue_name": "sales_1", "ring_inuse": null, "state_interface": "Agent/10001", "status": 4, "tm_update": "2017-12-18T00:31:04.234368754Z" }, "statuscode": 200, "timestamp": "2017-12-18T00:38:27.704665757Z" }
GET : Get list of all queues info.
POST : Create new queue info.
Get list of all queues info
GET /queue/queues
{ $defhdr, "reuslt": { "list": [ { "name": "<string>", "strategy": "<string>", "max": <integer>, "weight": <integer>, "calls": <integer>, "completed": <integer>, "abandoned": <integer>, "hold_time": <integer>, "talk_time": <integer>, "service_level": <integer>, "service_level_perf": <integer>, "tm_update": "<timestamp>" }, ... ] } }
list
: array of registry account. * See detail at :ref:`get_queue_queues_detail`.
$ curl -X GET localhost:8081/queue/queues { "api_ver": "0.1", "result": { "list": [ { "abandoned": 2, "calls": 0, "completed": 0, "hold_time": 0, "max": 0, "name": "sales_1", "service_level": 5, "service_level_perf": 0.0, "strategy": "ringall", "talk_time": 0, "tm_update": "2017-12-18T00:31:04.142068111Z", "weight": 0 } ] }, "statuscode": 200, "timestamp": "2017-12-18T00:46:25.124236613Z" }
Create new queue info.
POST /queue/queues { ... }
Data parameters
- See detail at Asterisk's queue config.
{ $defhdr }
$ curl -X POST localhost:8081/queue/queues \ -d '{"name": "test create queue", "context": "default"}' { "api_ver": "0.1", "statuscode": 200, "timestamp": "2017-12-21T02:02:49.663362846Z" }
GET : Get queue detail info of given queue info.
PUT : Update queue detail info of given queue info.
DELETE : Delete the given queue.
Get queue detail info of given queue info.
GET /queue/queues/<detail>
Method parameters
detail
: queue name.
{ $defhdr, "reuslt": { "name": "<string>", "strategy": "<string>", "max": <integer>, "weight": <integer>, "calls": <integer>, "completed": <integer>, "abandoned": <integer>, "hold_time": <integer>, "talk_time": <integer>, "service_level": <integer>, "service_level_perf": <integer>, "tm_update": "<timestamp>" } }
Return parameters
name
: Queue name.strategy
: Call distribution.max
: Max waiting call count.weight
: Queue priority.calls
: Waiting call count.completed
: Completed call count.abandoned
: Abandoned call count.hold_time
: Average waiting time.talk_time
: Average talk time.service_level
: Service_level_perf interval time.service_leve_perf
: Service level performance.
$ curl -X GET localhost:8081/queue/queues/sales_1 { "api_ver": "0.1", "result": { "abandoned": 2, "calls": 0, "completed": 0, "hold_time": 0, "max": 0, "name": "sales_1", "service_level": 5, "service_level_perf": 0.0, "strategy": "ringall", "talk_time": 0, "tm_update": "2017-12-18T00:31:04.142068111Z", "weight": 0 }, "statuscode": 200, "timestamp": "2017-12-18T00:43:30.189014882Z" }
Update queue detail info of given queue info.
PUT /queue/queues/<detail> { ... }
Method parameters
detail
: uri encoded queue name.
Data parameters
- See detail at Asterisk's queue setting.
{ $defhdr }
$ curl -X PUT localhost:8081/queue/queues/test%20create%20queue -d '{"context": "default", "member":["> Agent/10001", "> Agent/10003"]}' { "api_ver": "0.1", "statuscode": 200, "timestamp": "2017-12-21T02:56:19.975276515Z" }
Delete the given queue.
DELETE /queue/queues/<detail>
Method parameters
detail
: uri encoded queue name.
{ $defhdr }
$ curl -X DELETE localhost:8081/queue/queues/test%20create%20queue { "api_ver": "0.1", "statuscode": 200, "timestamp": "2017-12-21T02:58:36.537005271Z" }
GET : Get current queue setting.
PUT : Update queue setting.
GET : Get current queue setting.
This result does not mean to currently running setting. It shows only setting file.
GET ^/queue/setting
{ $defhdr, "result": { ... } }
Return parameters
- See detail at queue setting.
$ curl -X GET localhost:8081/queue/setting { "api_ver": "0.1", "result": { "general": { "monitor-type": "MixMonitor", "persistentmembers": "yes" }, "sales_1": { "joinempty": "yes", "member": "> Agent/10001", "musicclass": "default", "servicelevel": "5", "strategy": "ringall" }, "sales_2": { "member": ">Agent/10001" } }, "statuscode": 200, "timestamp": "2017-12-29T18:42:29.837707790Z" }
PUT : Update queue setting.
Update only setting file. To adapt to module, required module reload.
PUT ^/queue/setting { ... }
Data parameters
- queue setting info.
{ $defhdr }
$ curl -X PUT localhost:8081/queue/setting -d '{ "general": { "monitor-type": "MixMonitor", "persistentmembers": "yes" }, "sales_1": { "member": "> Agent/10001", "servicelevel": "5", "musicclass": "default", "joinempty": "yes", "strategy": "ringall" }, "sales_2":{ "member": ">Agent/10001" } }' {"api_ver": "0.1", "timestamp": "2017-12-29T18:42:26.918568447Z", "statuscode": 200}
GET : Get all backup queue settings.
GET : Get all backup queue settings.
GET ^/queue/settings
{ $defhdr, "reuslt": { "list": [ { "filename": "<string>", ... } ] } }
Return parameters
list
: array of backup files.filename
: backup filename.
$ curl -X GET localhost:8081/queue/settings { "api_ver": "0.1", "result": { "list": [ { "filename": "queues.conf.2017-12-29T18:42:26.903334168Z", "general": { "monitor-type": "MixMonitor", "persistentmembers": "yes" }, "sales_1": { "joinempty": "yes", "member": "> Agent/10001", "musicclass": "default", "servicelevel": "5", "strategy": "ringall" } } ] }, "statuscode": 200, "timestamp": "2017-12-29T19:24:15.982413934Z" }
GET : Get specified backup queue settings.
DELETE : Delete given backup queue setting.
GET : Get backup queue settings of given info.
GET ^/queue/settings/<detail>
Method parameters
detail
: backup filename.
{ $defhdr, "reuslt": { ... } }
- See detail queue setting.
$ curl -X GET http://localhost:8081/queue/settings/queues.conf.2017-12-29T18:42:58.560668575Z { "api_ver": "0.1", "result": { "list": { "general": { "monitor-type": "MixMonitor", "persistentmembers": "yes" }, "sales_1": { "joinempty": "yes", "member": "> Agent/10001", "musicclass": "default", "servicelevel": "5", "strategy": "ringall" }, "sales_2": { "member": ">Agent/10001" } } }, "statuscode": 200, "timestamp": "2017-12-29T19:24:03.824751186Z" }
DELETE : Delete given backup queue setting.
DELETE ^/queue/settings/<detail>
Method parameters
detail
: backup filename.
{ $defhdr }
$ curl -X DELETE http://localhost:8081/queue/settings/queues.conf.2017-12-29T18:42:58.560668575Z { "api_ver": "0.1", "statuscode": 200, "timestamp": "2017-12-29T19:24:10.313549997Z" }
GET : Get list of all queues status.
Get list of all queues status.
GET /queue/statuses
{ $defhdr, "reuslt": { "list": [ { "queue": {...}, "entries": [{...}, ...], "members": [{...}, ...] }, ... ] } }
list
: array of info.queue
: See detail at queue info.entries
: See detail at queue entries.members
: See detail at queue members.
$ curl -X GET localhost:8081/queue/statuses { "api_ver": "0.1", "result": { "list": [ { "entries": [ { "caller_id_name": "pjagent-01", "caller_id_num": "pjagent-01", "channel": "PJSIP/pjagent-01-00000000", "connected_line_name": "<unknown>", "connected_line_num": "<unknown>", "position": 1, "queue_name": "sales_1", "tm_update": "2017-12-21T15:17:01.813584621Z", "unique_id": "1513869420.0", "wait": null }, ... ], "members": [ { "id": "Agent/10001@sales_1", "calls_taken": 0, "in_call": 0, "last_call": 0, "last_pause": 0, "location": "Agent/10001", "membership": "static", "name": "Agent/10001", "paused": 0, "paused_reason": "", "penalty": 0, "queue_name": "sales_1", "ring_inuse": null, "state_interface": "Agent/10001", "status": 4, "tm_update": "2017-12-21T15:16:24.593579797Z" }, ... ], "queue": { "abandoned": 0, "calls": 0, "completed": 0, "hold_time": 0, "max": 0, "name": "sales_1", "service_level": 5, "service_level_perf": 0.0, "strategy": "ringall", "talk_time": 0, "tm_update": "2017-12-21T15:16:24.490123142Z", "weight": 0 } } ] }, "statuscode": 200, "timestamp": "2017-12-21T15:17:03.457906728Z" }
GET : Get queue status detail info of given queue info.
Get queue status detail info of given queue info.
GET /queue/statuses/<detail>
Method parameters
detail
: queue name.
{ $defhdr, "reuslt": { "queue": {...}, "entries": [{...}, ...], "members": [{...}, ...] } }
queue
: See detail at queue info.entries
: See detail at entry info.members
: See detail at member info.
$ curl -X GET localhost:8081/queue/statuses/sales_1 { "api_ver": "0.1", "result": { "entries": [ { "caller_id_name": "pjagent-01", "caller_id_num": "pjagent-01", "channel": "PJSIP/pjagent-01-00000002", "connected_line_name": "<unknown>", "connected_line_num": "<unknown>", "position": 1, "queue_name": "sales_1", "tm_update": "2017-12-21T15:33:50.630820416Z", "unique_id": "1513870429.2", "wait": null } ], "members": [ { "id": "Agent/10001@sales_1", "calls_taken": 0, "in_call": 0, "last_call": 0, "last_pause": 0, "location": "Agent/10001", "membership": "static", "name": "Agent/10001", "paused": 0, "paused_reason": "", "penalty": 0, "queue_name": "sales_1", "ring_inuse": null, "state_interface": "Agent/10001", "status": 4, "tm_update": "2017-12-21T15:33:37.613513551Z" }, ... ], "queue": { "abandoned": 2, "calls": 0, "completed": 0, "hold_time": 0, "max": 0, "name": "sales_1", "service_level": 5, "service_level_perf": 0.0, "strategy": "ringall", "talk_time": 0, "tm_update": "2017-12-21T15:33:37.526617804Z", "weight": 0 } }, "statuscode": 200, "timestamp": "2017-12-21T15:33:51.732925780Z" }