Call Park

The Call Park service allows the user to park a call against an extension so that any member of the group or enterprise can retrieve it.

The Group Call Park service provides a hunting mechanism so that when parking a call, the service hunts for an available user in the parking user’s Call Park group as a place to park the call instead of trying only one user.

Retrieve configuration

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_park/

Get the details about basic call park configuration of the group.

Example request:

Authorization Right:minimum Group Admin.

GET /api/v1/tenants/foo/groups/foogroup/services/call_park/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"

{
   "recallTimerSeconds": 40,
   "displayTimerSeconds": 5,
   "enableDestinationAnnouncement": true,
   "recallAlternateUserId": "test_hg",
   "recallRingPattern": "Short-Short-Long",
   "recallTo": "Parking User Only",
   "alternateUserRecallTimerSeconds": 30
}
Response JSON Object:
  • recallTimerSeconds (integer) – The recall timer in seconds.

  • displayTimerSeconds (integer) – The display timer in seconds.

  • enableDestinationAnnouncement (boolean) – Enabled / Disabled parked destination announcement.

  • recallAlternateUserId (string) – An alternate recall user, selected from a list of available hunt groups.

  • recallRingPattern (string) – Ring Pattern for Recalled Calls. Allowed values are Normal, Long-Long, Short-Short-Long or Short-Long-Short.

  • recallTo (string) – Recall to value, allowed values are: Parking User Only, Parking User Then Alternate User or Alternate User Only. Note that for the two last values, an alternate recall user must be defined.

  • alternateUserRecallTimerSeconds (integer) – the alert alternate recall user wait time in seconds.

Status Codes:

Update configuration

PUT /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_park/

Update basic call park configuration of the group.

Example request:

Authorization Right:minimum Group Admin.

PUT /api/v1/tenants/foo/groups/foogroup/services/call_park/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
   "recallTimerSeconds": 40,
   "displayTimerSeconds": 5,
   "enableDestinationAnnouncement": true,
   "recallAlternateUserId": "test_hg",
   "recallRingPattern": "Short-Short-Long",
   "recallTo": "Parking User Only",
   "alternateUserRecallTimerSeconds": 30
}
Request JSON Object:
  • recallTimerSeconds (integer) – (Optional) The recall timer in seconds.

  • displayTimerSeconds (integer) – (Optional) The display timer in seconds.

  • enableDestinationAnnouncement (boolean) – (Optional) Enable / Disable parked destination announcement.

  • recallAlternateUserId (string) – (Optional) An alternate recall user, selected from a list of available hunt groups.

  • recallRingPattern (string) – (Optional) Ring Pattern for Recalled Calls. Allowed values are Normal, Long-Long, Short-Short-Long or Short-Long-Short.

  • recallTo (string) – (Optional) Recall to value, allowed values are: Parking User Only, Parking User Then Alternate User or Alternate User Only. Note that for the two last values, an alternate recall user must be defined.

  • alternateUserRecallTimerSeconds (integer) – (Optional) the alert alternate recall user wait time in seconds.

Example response:

Response:

Similar to GET instance method response.

Status Codes:
  • 200 OK – no error

  • 400 Bad Request

    failed to update due to bad request, with possible sub-error codes:

    • 2: INVALID_PARAMETERS, ‘The Alternate User Id does not exist.’

Retrieve call park groups list

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_park/groups/

Get the call park groups list.

Authorization Rights: minimum Group Admin.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/services/call_park/groups/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"

{
  "call_park_groups": [
      {
          "name": "Apio Call Park Group Test"
      }
  ]
}
Response JSON Object:
Status Codes:

Add a new call park group

POST /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_park/groups/

Add a new call park group instance.

Authorization Rights: minimum Group Admin.

Example request:

POST /api/v1/tenants/foo/groups/foogroup/services/call_park/groups/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
  "name": "Apio Call Park Group Test",
  "recallTo": "Parking User Then Alternate User",
  "recallAlternateUserId": "APIOTestHuntGroup@sip.netaxis.be",
  "users": [
      {
          "userId": "ApioUserTest@sip.netaxis.be"
      }
  ]
}
Request JSON Object:

Example response:

Response:

Similar to GET instance method response.

Status Codes:
  • 200 OK – no error

  • 400 Bad Request

    bad request due to invalid parameters, with possible sub-error codes:

    • 2: INVALID_PARAMETERS, ‘The Alternate User Id does not exist.’

    • 9: MISSING_CONDITIONAL_PARAMETERS, ‘Alternate Recall User is required when Recall To is set to Alternate User First then Parking User or Alternate User Only.’

Retrieve a call park group instance

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_park/groups/(string: instance_name)/

Get a call park group instance.

Authorization Rights: minimum Group Admin.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/services/call_park/groups/fooCallParkName/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"

{
  "recallTo": "Parking User Then Alternate User",
  "recallAlternateUserId": "APIOTestHuntGroup@sip.netaxis.be",
  "users": [
      {
          "userId": "ApioUserTest@sip.netaxis.be"
      }
  ]
}
Response JSON Object:
Status Codes:

Update a call park group

PUT /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_park/groups/(string: instance_name)/

Update a call park group instance.

Authorization Rights: minimum Group Admin.

Example request:

PUT /api/v1/tenants/foo/groups/foogroup/services/call_park/groups/fooCallParkName/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
  "name": "Apio Call Park Group Test Modified",
  "recallTo": "Parking User Only",
  "recallAlternateUserId": null,
  "users": []
}
Request JSON Object:

Example response:

Response:

Similar to GET instance method response.

Status Codes:
  • 200 OK – no error

  • 400 Bad Request

    bad request due to invalid parameters, with possible sub-error codes:

    • 2: INVALID_PARAMETERS, ‘The Alternate User Id does not exist.’

    • 9: MISSING_CONDITIONAL_PARAMETERS, ‘Alternate Recall User is required when Recall To is set to Alternate User First then Parking User or Alternate User Only.’

  • 404 Not Found – call park group not found

Delete a call park group instance

DELETE /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_park/groups/(string: instance_name)/

Delete a call park group instance.

Authorization Rights: minimum Group Admin.

Example request:

DELETE /api/v1/tenants/foo/groups/foogroup/services/call_park/groups/fooCallParkName/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK
Status Codes:

Retrieve list of available alternate recall users

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_park/available_recall_users/

Retrieve a list of available alternate recall users.

Authorization rights: minimum Group Admin.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/services/call_park/available_recall_users/ HTTP/1.1
Host: example.com
Request JSON Object:
  • sensitiveUserLastNameStarts (string) – See sensitiveUserLastNameStarts from Search criteria.

  • sensitiveUserLastNameContains (string) – See sensitiveUserLastNameContains from Search criteria.

  • sensitiveUserLastNameEquals (string) – See sensitiveUserLastNameEquals from Search criteria.

  • insensitiveUserLastNameStarts (string) – See insensitiveUserLastNameStarts from Search criteria.

  • insensitiveUserLastNameContains (string) – See insensitiveUserLastNameContains from Search criteria.

  • insensitiveUserLastNameEquals (string) – See insensitiveUserLastNameEquals from Search criteria.

  • sensitiveUserFirstNameStarts (string) – See sensitiveUserFirstNameStarts from Search criteria.

  • sensitiveUserFirstNameContains (string) – See sensitiveUserFirstNameContains from Search criteria.

  • sensitiveUserFirstNameEquals (string) – See sensitiveUserFirstNameEquals from Search criteria.

  • insensitiveUserFirstNameStarts (string) – See insensitiveUserFirstNameStarts from Search criteria.

  • insensitiveUserFirstNameContains (string) – See insensitiveUserFirstNameContains from Search criteria.

  • insensitiveUserFirstNameEquals (string) – See insensitiveUserFirstNameEquals from Search criteria.

  • sensitiveUserDepartmentEquals (string) – See sensitiveDepartmentEquals from Search criteria.

  • responseSizeLimit (integer) – See responseSizeLimit from Search criteria.

Example response:

HTTP/1.1 200 OK

{
  "available_recall_users": [
      {
          "userId": "APIOTestHuntGroup@sip.netaxis.be",
          "lastName": "APIO Test Hunt Group",
          "firstName": "Hunt Group"
      }
  ]
}
Response JSON Object:
Status Codes:

Retrieve list of available users

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_park/available_users/

Retrieve a list of available users for any call park group.

Authorization rights: minimum Group Admin.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/services/call_park/available_users/ HTTP/1.1
Host: example.com
Request JSON Object:
  • sensitiveUserIdStarts (string) – See sensitiveUserIdStarts from Search criteria.

  • sensitiveUserIdContains (string) – See sensitiveUserIdContains from Search criteria.

  • sensitiveUserIdEquals (string) – See sensitiveUserIdEquals from Search criteria.

  • insensitiveUserIdStarts (string) – See insensitiveUserIdStarts from Search criteria.

  • insensitiveUserIdContains (string) – See insensitiveUserIdContains from Search criteria.

  • insensitiveUserIdEquals (string) – See insensitiveUserIdEquals from Search criteria.

  • sensitiveUserLastNameStarts (string) – See sensitiveUserLastNameStarts from Search criteria.

  • sensitiveUserLastNameContains (string) – See sensitiveUserLastNameContains from Search criteria.

  • sensitiveUserLastNameEquals (string) – See sensitiveUserLastNameEquals from Search criteria.

  • insensitiveUserLastNameStarts (string) – See insensitiveUserLastNameStarts from Search criteria.

  • insensitiveUserLastNameContains (string) – See insensitiveUserLastNameContains from Search criteria.

  • insensitiveUserLastNameEquals (string) – See insensitiveUserLastNameEquals from Search criteria.

  • sensitiveUserFirstNameStarts (string) – See sensitiveUserFirstNameStarts from Search criteria.

  • sensitiveUserFirstNameContains (string) – See sensitiveUserFirstNameContains from Search criteria.

  • sensitiveUserFirstNameEquals (string) – See sensitiveUserFirstNameEquals from Search criteria.

  • insensitiveUserFirstNameStarts (string) – See insensitiveUserFirstNameStarts from Search criteria.

  • insensitiveUserFirstNameContains (string) – See insensitiveUserFirstNameContains from Search criteria.

  • insensitiveUserFirstNameEquals (string) – See insensitiveUserFirstNameEquals from Search criteria.

  • insensitiveExtensionStarts (string) – See insensitiveExtensionStarts from Search criteria.

  • insensitiveExtensionContains (string) – See insensitiveExtensionContains from Search criteria.

  • insensitiveExtensionEquals (string) – See insensitiveExtensionEquals from Search criteria.

  • insensitiveDnStarts (string) – See insensitiveDnStarts from Search criteria.

  • insensitiveDnContains (string) – See insensitiveDnContains from Search criteria.

  • insensitiveDnEquals (string) – See insensitiveDnEquals from Search criteria.

  • sensitiveUserDepartmentEquals (string) – See sensitiveDepartmentEquals from Search criteria.

  • responseSizeLimit (integer) – See responseSizeLimit from Search criteria.

Example response:

HTTP/1.1 200 OK

{
  "available_users": [
      {
          "userId": "ApioUserTest@sip.netaxis.be",
          "lastName": "Test",
          "firstName": "Test",
          "phoneNumber": "",
          "extension": "4000",
          "department": {
              "tenantId": "ApioSpTest",
              "groupId": "ApioGrpTest",
              "departmentName": "test_department_initial",
              "fullPathName": "test_department_parent_1 \\ test_department_initial"
          },
          "emailAddress": "test_mail@test.netaxis.be"
      }
  ]
}
Response JSON Object:
  • available_users (array) – The list of available users. An array of objects as defined as User common object

Status Codes:

Retrieve list of available users for a single call park group instance

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_park/groups/(string: instance_name)/available_users/

Retrieve a list of available users for a single call park group instance.

Authorization rights: minimum Group Admin.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/services/call_park/groups/fooCallParkGroup/available_users/ HTTP/1.1
Host: example.com
Request JSON Object:
  • sensitiveUserIdStarts (string) – See sensitiveUserIdStarts from Search criteria.

  • sensitiveUserIdContains (string) – See sensitiveUserIdContains from Search criteria.

  • sensitiveUserIdEquals (string) – See sensitiveUserIdEquals from Search criteria.

  • insensitiveUserIdStarts (string) – See insensitiveUserIdStarts from Search criteria.

  • insensitiveUserIdContains (string) – See insensitiveUserIdContains from Search criteria.

  • insensitiveUserIdEquals (string) – See insensitiveUserIdEquals from Search criteria.

  • sensitiveUserLastNameStarts (string) – See sensitiveUserLastNameStarts from Search criteria.

  • sensitiveUserLastNameContains (string) – See sensitiveUserLastNameContains from Search criteria.

  • sensitiveUserLastNameEquals (string) – See sensitiveUserLastNameEquals from Search criteria.

  • insensitiveUserLastNameStarts (string) – See insensitiveUserLastNameStarts from Search criteria.

  • insensitiveUserLastNameContains (string) – See insensitiveUserLastNameContains from Search criteria.

  • insensitiveUserLastNameEquals (string) – See insensitiveUserLastNameEquals from Search criteria.

  • sensitiveUserFirstNameStarts (string) – See sensitiveUserFirstNameStarts from Search criteria.

  • sensitiveUserFirstNameContains (string) – See sensitiveUserFirstNameContains from Search criteria.

  • sensitiveUserFirstNameEquals (string) – See sensitiveUserFirstNameEquals from Search criteria.

  • insensitiveUserFirstNameStarts (string) – See insensitiveUserFirstNameStarts from Search criteria.

  • insensitiveUserFirstNameContains (string) – See insensitiveUserFirstNameContains from Search criteria.

  • insensitiveUserFirstNameEquals (string) – See insensitiveUserFirstNameEquals from Search criteria.

  • insensitiveExtensionStarts (string) – See insensitiveExtensionStarts from Search criteria.

  • insensitiveExtensionContains (string) – See insensitiveExtensionContains from Search criteria.

  • insensitiveExtensionEquals (string) – See insensitiveExtensionEquals from Search criteria.

  • insensitiveDnStarts (string) – See insensitiveDnStarts from Search criteria.

  • insensitiveDnContains (string) – See insensitiveDnContains from Search criteria.

  • insensitiveDnEquals (string) – See insensitiveDnEquals from Search criteria.

  • sensitiveUserDepartmentEquals (string) – See sensitiveDepartmentEquals from Search criteria.

  • responseSizeLimit (integer) – See responseSizeLimit from Search criteria.

Example response:

HTTP/1.1 200 OK

{
  "available_users": [
      {
          "userId": "ApioUserTest@sip.netaxis.be",
          "lastName": "Test",
          "firstName": "Test",
          "phoneNumber": "",
          "extension": "4000",
          "department": {
              "tenantId": "ApioSpTest",
              "groupId": "ApioGrpTest",
              "departmentName": "test_department_initial",
              "fullPathName": "test_department_parent_1 \\ test_department_initial"
          },
          "emailAddress": "test_mail@test.netaxis.be"
      }
  ]
}
Response JSON Object:
  • available_users (array) – The list of available users. An array of objects as defined as User common object

Status Codes: