Group Meet Me Conferencing

The Meet-Me Conferencing service allows to setup and organise conference bridges

Retrieve the Meet-Me Conferencing allocated ports at group level

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/features/meet_me_conf/

Retrieve the number of allocated ports for the Meet-Me Conferencing feature at group level.

Authorization rights: minimum Group Admin.

Example request:

GET /api/v1/tenants/fooTenant/groups/fooGroup/features/meet_me_conf/ HTTP/1.1
Host: example.com

Example response:

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

{
  "availablePorts": {
      "unlimited": true
  }
  "allocatedPorts": {
      "unlimited": false,
      "quantity": 3
  }
}
Response JSON Object:
Status Codes:

Update the Meet-Me Conferencing allocated ports at group level

PUT /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/features/meet_me_conf/

Update the number of allocated ports for the Meet-Me Conferencing feature at group level.

Authorization rights: minimum Tenant Admin.

Example request:

PUT /api/v1/tenants/fooTenant/groups/fooGroup/features/meet_me_conf/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
  "allocatedPorts": {
      "unlimited": false,
      "quantity": 3
  }
}

or

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

{
  "allocatedPorts": {
      "quantity": 3
  }
}

or

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

{
  "allocatedPorts": {
      "unlimited": true
  }
}
Request JSON Object:

Example response:

HTTP/1.1 200 OK
Status Codes:
  • 200 OK – no error

  • 400 Bad Request

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

    • 18 INVALID_OPERATION, ‘Number of ports must be unlimited.’. May occur if there is a bridge with allocated ports.

Create Bridge instance

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

Create a new meet me conferencing bridge in the group.

Authorization rights: minimum Group Admin.

Example request:

POST /api/v1/tenants/foo/groups/foogroup/services/meet_me_confs/ HTTP/1.1
Host: example.com

{
  "bridgeId": "TestConferencingBridge@sip.netaxis.be",
  "serviceInstanceProfile": {
      "name": "TestConferencingBridge1",
      "phoneNumber": "+3225126780",
      "extension": "9999",
      "language": "English",
      "timeZone": "Europe/Brussels",
      "timeZoneDisplayName": "(GMT+02:00) (Europe) Brussels",
      "cliLastName": "Bridge1",
      "cliFirstName": "TestConferencing",
      "publicUserIdentity": "public_domain@sip.netaxis.be",
      "aliases": [
          "TestAlias1@netaxis.be",
          "TestAlias2@netaxis.be",
          "TestAlias3@netaxis.be"
      ]
  },
  "allocatedPorts": {
      "unlimited": false,
      "quantity": 2
  },
  "networkClassOfService": "1",
  "securityPinLength": 6,
  "allowIndividualOutDial": true,
  "operatorNumber": "23123131",
  "conferenceHosts": [
      {
          "userId": "ApioUserTest1@sip.netaxis.be"
      },
      {
          "userId": "ApioUserTest2@sip.netaxis.be"
      },
      {
          "userId": "ApioUserTest@sip.netaxis.be"
      }
  ],
  "playWarningPrompt": true,
  "conferenceEndWarningPromptMinutes": 15,
  "enableMaxConferenceDuration": true,
  "maxConferenceDurationMinutes": {
      "hours": 1,
      "minutes": 0
  },
  "maxScheduledConferenceDurationMinutes": {
      "hours": 1,
      "minutes": 0
  },
  "active": true
}
Request JSON Object:

Example response:

Response:

Similar to GET instance method response.

Status Codes:

Retrieve a Bridge instance

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

Retrieve a meet me conferencing bridge.

Authorization rights: minimum Group Admin.

Example request:

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

Example response:

HTTP/1.1 200 OK

{
      "serviceInstanceProfile": {
          "name": "TestConferencingBridge1",
          "phoneNumber": "+3225126780",
          "extension": "9999",
          "language": "English",
          "timeZone": "Europe/Brussels",
          "timeZoneDisplayName": "(GMT+02:00) (Europe) Brussels",
          "cliLastName": "Bridge1",
          "cliFirstName": "TestConferencing",
          "publicUserIdentity": "public_domain@sip.netaxis.be",
          "aliases": [
              "TestAlias1@netaxis.be",
              "TestAlias2@netaxis.be",
              "TestAlias3@netaxis.be"
          ]
      },
      "allocatedPorts": {
          "unlimited": false,
          "quantity": 2
      },
      "networkClassOfService": "1",
      "securityPinLength": 6,
      "allowIndividualOutDial": true,
      "operatorNumber": "23123131",
      "conferenceHosts": [
          {
              "userId": "ApioUserTest1@sip.netaxis.be",
              "lastName": "Test1",
              "firstName": "Test1",
              "phoneNumber": "+3225126778",
              "extension": "5001",
              "department": {
                  "tenantId": "ApioGrpTest",
                  "groupId": "ApioSpTest",
                  "departmentName": "test_department_initial",
                  "fullPathName": "test_department_parent_1 \\ test_department_initial"
              },
              "emailAddress": ""
          },
          {
              "userId": "ApioUserTest2@sip.netaxis.be",
              "lastName": "Test2",
              "firstName": "Test2",
              "phoneNumber": "",
              "extension": "6779",
              "emailAddress": ""
          },
          {
              "userId": "ApioUserTest@sip.netaxis.be",
              "lastName": "Test",
              "firstName": "Test",
              "phoneNumber": "",
              "extension": "4000",
              "department": {
                  "tenantId": "ApioGrpTest",
                  "groupId": "ApioSpTest",
                  "departmentName": "test_department_initial",
                  "fullPathName": "test_department_parent_1 \\ test_department_initial"
              },
              "emailAddress": "test_mail@test.netaxis.be"
          }
      ],
      "playWarningPrompt": true,
      "conferenceEndWarningPromptMinutes": 15,
      "enableMaxConferenceDuration": true,
      "maxConferenceDurationMinutes": {
          "hours": 1,
          "minutes": 0
      },
      "maxScheduledConferenceDurationMinutes": {
          "hours": 1,
          "minutes": 0
      },
      "active": true
}
Response JSON Object:
Status Codes:

Retrieve Bridges list

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

Retrieve the list of meet me conferencing bridges.

Authorization rights: minimum Group Admin.

Example request:

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

Example response:

HTTP/1.1 200 OK

{
  "conference_bridges": [
      {
          "bridgeId": "TestConferencingBridge@sip.netaxis.be",
          "name": "TestConferencingBridge1",
          "phoneNumber": "+3225126780",
          "extension": "9999",
          "allocatedPorts": {
              "unlimited": false,
              "quantity": 2
          },
          "active": true
      }
  ]
}
Response JSON Object:
Status Codes:

Update a Bridge instance

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

Update a conference bridge.

Authorization rights: minimum Group Admin.

Example request:

PUT /api/v1/tenants/foo/groups/foogroup/services/meet_me_confs/bridgeid/ HTTP/1.1
Host: example.com

{
  "bridgeId": "TestConferencingBridge@sip.netaxis.be",
  "serviceInstanceProfile": {
      "name": "TestConferencingBridge1",
      "phoneNumber": "+3225126780",
      "extension": "9999",
      "language": "English",
      "timeZone": "Europe/Brussels",
      "timeZoneDisplayName": "(GMT+02:00) (Europe) Brussels",
      "cliLastName": "Bridge1",
      "cliFirstName": "TestConferencing",
      "publicUserIdentity": "public_domain@sip.netaxis.be",
      "aliases": [
          "TestAlias1@netaxis.be",
          "TestAlias2@netaxis.be",
          "TestAlias3@netaxis.be"
      ]
  },
  "allocatedPorts": {
      "unlimited": false,
      "quantity": 2
  },
  "networkClassOfService": "1",
  "securityPinLength": 6,
  "allowIndividualOutDial": true,
  "operatorNumber": "23123131",
  "conferenceHosts": [
      {
          "userId": "ApioUserTest1@sip.netaxis.be"
      },
      {
          "userId": "ApioUserTest2@sip.netaxis.be"
      },
      {
          "userId": "ApioUserTest@sip.netaxis.be"
      }
  ],
  "playWarningPrompt": true,
  "conferenceEndWarningPromptMinutes": 15,
  "enableMaxConferenceDuration": true,
  "maxConferenceDurationMinutes": {
      "hours": 1,
      "minutes": 0
  },
  "maxScheduledConferenceDurationMinutes": {
      "hours": 1,
      "minutes": 0
  },
  "active": true
}
Request JSON Object:

Example response:

Response:

Similar to GET instance method response.

Status Codes:

Delete a Bridge instance

DELETE /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/meet_me_confs/(string: user_id)/

Delete a conference bridge.

Authorization rights: minimum Group Admin.

Example request:

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

Example response:

HTTP/1.1 200 OK
Status Codes:
  • 200 OK – instance deleted

  • 404 Not Found – conference bridge not found or service not assigned

Available Users List

Retrieve list of possible users

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/meet_me_confs/user/available/

Retrieve a list of users that can be assigned to a given conference bridge.

Authorization rights: minimum Group Admin.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/services/meet_me_confs/user/available/ 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.

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

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

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

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

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

  • insensitiveEmailAddressEquals (string) – See insensitiveEmailAddressEquals 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 (object) – See sensitiveDepartmentEquals from Search criteria.

  • sensitiveUserGroupEquals (object) – See sensitiveUserGroupEquals 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:
Status Codes:

Configuration Information for Meet-Me Conferencing Management

In the POST API, when creating a conferencing bridge, it is possible to configure APIO to generate automatically the service user ID (bridgeId) according to a specific rule.

The APIO behaviour for the Meet-Me Conferencing automatic service user ID (bridgeId) generation is controlled by the following setting:

"AUTOMATIC_ID_RULES": {
    "SUID_MEET_ME_CONF_AUTO_GENERATE": true,
    "SUID_MEET_ME_CONF_RULE": "{{group_id}}_mmc{{RND_4}}@{{domain}}"
}
Settings description:
  • SUID_MEET_ME_CONF_AUTO_GENERATE: APIO will enable the auto-generation of conferencing bridge service ids (bridgeId). Default is False, it must be set to True to have this feature working.

  • SUID_MEET_ME_CONF_RULE: the formatting rule for the conferencing bridge service user id (bridgeId). Default is “{{group_id}}_mmc{{RND_4}}@{{domain}}”.

If the service user id number is built using the phone number in the generation rule, it is possible to configure APIO to change the service user id according to phone number modification on PUT request.

The APIO behaviour for the Meet-Me Conferencing automatic service user id modification is controlled by the following setting:

"AUTOMATIC_ID_RULES": {
     "SERVICE_USERS_UPDATE_ID_PHONE_NUMBER": true
 }
Settings description:
  • SERVICE_USERS_UPDATE_ID_PHONE_NUMBER: APIO will enable the auto-update of service ids. Default is False, it must be set to have this feature working with phone numbers based service user ids and containing any of “{{phone_number_e164}}”, “{{country_code}}” or “{{national_no_0}}” placeholders in id generation rule.