/queue/entries

Methods

GET : Get list of all queue entries info.

Method: GET

Get list of all queue entries info.

Call

GET /queue/entries

Returns

{
  $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 Method: GET.

Example

$ 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"
}

/queue/entries/<detail>

Methods

GET : Get queue entry detail info of given queue entry info.

Method: GET

Get queue entry detail info of given queue entry info.

Call

GET /queue/entries/<detail>

Method parameters

  • detail: unique id

Returns

{
  $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.

Example

$ 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"
}

/queue/members

Methods

GET : Get list of all queue members info.

Method: GET

Get list of all queue members info.

Call

GET /queue/members

Returns

{
  $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 Method: GET.

Example

$ 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"
}

/queue/members/<detail>

Methods

GET : Get queue member detail info of given queue member info.

Method: GET

Get queue member detail info of given queue member info.

Call

GET /queue/members/<detail>?queue_name=<string>

Method parameters

  • detail: member name.
  • queue_name: queue name.

Returns

{
  $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.

Example

$ 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"
}

/queue/queues

Methods

GET : Get list of all queues info.

POST : Create new queue info.

Method: GET

Get list of all queues info

Call

GET /queue/queues

Returns

{
  $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 Method: GET.

Example

$ 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"
}

Method: POST

Create new queue info.

Call

POST /queue/queues

{
  ...
}

Data parameters

  • See detail at Asterisk’s queue config.

Returns

{
  $defhdr
}

Example

$ 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"
}

/queue/queues/<detail>

Methods

GET : Get queue detail info of given queue info.

PUT : Update queue detail info of given queue info.

DELETE : Delete the given queue.

Method: GET

Get queue detail info of given queue info.

Call

GET /queue/queues/<detail>

Method parameters

  • detail: queue name.

Returns

{
  $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.

Example

$ 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"
}

Method: PUT

Update queue detail info of given queue info.

Call

PUT /queue/queues/<detail>

{
  ...
}

Method parameters

  • detail: uri encoded queue name.

Data parameters

  • See detail at Asterisk’s queue setting.

Returns

{
  $defhdr
}

Example

$ 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"
}

Method: DELETE

Delete the given queue.

Call

DELETE /queue/queues/<detail>

Method parameters

  • detail: uri encoded queue name.

Returns

{
  $defhdr
}

Example

$ curl -X DELETE localhost:8081/queue/queues/test%20create%20queue

{
  "api_ver": "0.1",
  "statuscode": 200,
  "timestamp": "2017-12-21T02:58:36.537005271Z"
}

/queue/setting

Methods

GET : Get current queue setting.

PUT : Update queue setting.

Method: GET

GET : Get current queue setting.

This result does not mean to currently running setting. It shows only setting file.

Call

GET ^/queue/setting

Returns

{
  $defhdr,
  "result": {
    ...
  }
}

Return parameters

  • See detail at queue setting.

Example

$ 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"
}

Method: PUT

PUT : Update queue setting.

Update only setting file. To adapt to module, required module reload.

Call

PUT ^/queue/setting

{
  ...
}

Data parameters

  • queue setting info.

Returns

{
  $defhdr
}

Example

$ 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}

/queue/settings

Methods

GET : Get all backup queue settings.

Method: GET

GET : Get all backup queue settings.

Call

GET ^/queue/settings

Returns

{
  $defhdr,
  "reuslt": {
    "list": [
      {
        "filename": "<string>",
        ...
      }
    ]
  }
}

Return parameters

  • list: array of backup files.
    • filename: backup filename.

Example

$ 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"
}

/queue/settings/<detail>

Methods

GET : Get specified backup queue settings.

DELETE : Delete given backup queue setting.

Method: GET

GET : Get backup queue settings of given info.

Call

GET ^/queue/settings/<detail>

Method parameters

  • detail: backup filename.

Returns

{
  $defhdr,
  "reuslt": {
    ...
  }
}
  • See detail queue setting.

Example

$ 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"
}

Method: DELETE

DELETE : Delete given backup queue setting.

Call

DELETE ^/queue/settings/<detail>

Method parameters

  • detail: backup filename.

Returns

{
  $defhdr
}

Example

$ 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"
}

/queue/statuses

Methods

GET : Get list of all queues status.

Method: GET

Get list of all queues status.

Call

GET /queue/statuses

Returns

{
  $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.

Example

$ 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"
}

/queue/statuses/<detail>

Methods

GET : Get queue status detail info of given queue info.

Method: GET

Get queue status detail info of given queue info.

Call

GET /queue/statuses/<detail>

Method parameters

  • detail: queue name.

Returns

{
  $defhdr,
  "reuslt": {
    "queue": {...},
    "entries": [{...}, ...],
    "members": [{...}, ...]
  }
}
  • queue: See detail at queue info.
  • entries: See detail at entry info.
  • members: See detail at member info.

Example

$ 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"
}