Instant Group Call¶
Defining an instant group call allows on-demand call to a group of users, not necessarily hosted on the platform.
Retrieve list instances¶
-
GET
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/services/instant_group_calls/
¶ Retrieve the list of an instant group calls.
Example request:
GET /api/v1/tenants/foo/groups/foogroup/services/instant_group_calls/ HTTP/1.1 Host: example.com
Example response:
HTTP/1.1 200 OK { "instantGroupCalls": [ { "serviceUserId": "APIOTestIGC@sip.netaxis.be", "name": "Test User Basic", "phoneNumber": "+3271112233", "extension": "", "department": { "tenantId": "ApioSpTest", "groupId": "ApioGrpTest", "departmentName": "test_department_initial", "fullPathName": "test_department_parent_1 \\ test_department_initial" } } ] }
- Response JSON Object:
instantGroupCalls (array) – The list of instant group calls. See Instant Group Call List Item.
- Status Codes:
200 OK – success
Create instance¶
-
POST
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/services/instant_group_calls/
¶ Create a new call instant group cal in a Group.
Example request:
POST /api/v1/tenants/foo/groups/foogroup/services/instant_group_calls/ HTTP/1.1 Host: example.com { "serviceUserId": "APIOTestIGC@sip.netaxis.be", "serviceInstanceProfile": { "name": "Test User", "department": { "tenantId": "ApioSpTest", "groupId": "ApioGrpTest", "departmentName": "test_department_initial" }, "cliFirstName": "First Name", "cliLastName": "Last Name", "language": "English", "timeZone": "Europe/Brussels" }, "answerTimeoutMinutes": 5, "answerTimeoutEnabled": true, "destinationPhoneNumbers": ["+3271123456"], "templateName": "basic", "active": true }
- Request JSON Object:
serviceUserId (string) – (Optional) See serviceUserId from Instant Group Call Instance.
serviceInstanceProfile (object) – (Required) See serviceInstanceProfile from Instant Group Call Instance.
networkClassOfService (string) – See networkClassOfService from Instant Group Call Instance.
answerTimeoutMinutes (integer) – See answerTimeoutEnabled from Instant Group Call Instance.
answerTimeoutEnabled (boolean) – See answerTimeoutEnabled from Instant Group Call Instance.
destinationPhoneNumbers (array) – See destinationPhoneNumbers from Instant Group Call Instance.
templateName (string) – (Optional) As defined as Template Name. The template category used is instant_group_call.
active (boolean) – (Optional) Specify if the IGC is active or not.
Example response:
- Response:
Similar to GET instance method response, with the serviceUserId added in the answer (as it could be auto-generated).
- Status Codes:
201 Created – instance created
Retrieve instance¶
-
GET
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/services/instant_group_calls/
(string: service_user_id)/
¶ Retrieve an instant group call.
Example request:
GET /api/v1/tenants/foo/groups/foogroup/services/instant_group_calls/APIOTestIGC@sip.netaxis.be/ HTTP/1.1 Host: example.com
Example response:
HTTP/1.1 200 OK { "serviceInstanceProfile": { "name": "Test User", "department": { "tenantId": "ApioSpTest", "groupId": "ApioGrpTest", "departmentName": "test_department_initial" }, "cliFirstName": "First Name", "cliLastName": "Last Name", "language": "English", "timeZone": "Europe/Brussels", "phoneNumber": "+3271112233" }, "answerTimeoutMinutes": 5, "answerTimeoutEnabled": true, "destinationPhoneNumbers": ["+3271123456"], "active": true }
- Response JSON Object:
serviceInstanceProfile (object) – (Required) See serviceInstanceProfile from Instant Group Call Instance.
networkClassOfService (string) – See networkClassOfService from Instant Group Call Instance.
answerTimeoutMinutes (integer) – See answerTimeoutEnabled from Instant Group Call Instance.
answerTimeoutEnabled (boolean) – See answerTimeoutEnabled from Instant Group Call Instance.
destinationPhoneNumbers (array) – See destinationPhoneNumbers from Instant Group Call Instance.
active (boolean) – (Optional) Specify if the IGC is active or not.
- Status Codes:
200 OK – success
Update instance¶
-
PUT
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/services/instant_group_calls/
(string: service_user_id)/
¶ Update an instant group call.
Example request:
PUT /api/v1/tenants/foo/groups/foogroup/services/instant_group_calls/APIOTestIGC@sip.netaxis.be/ HTTP/1.1 Host: example.com { "serviceInstanceProfile": { "name": "Test User", "department": { "tenantId": "ApioSpTest", "groupId": "ApioGrpTest", "departmentName": "test_department_initial" }, "cliFirstName": "First Name", "cliLastName": "Last Name", "language": "English", "timeZone": "Europe/Brussels" }, "answerTimeoutMinutes": 5, "answerTimeoutEnabled": true, "destinationPhoneNumbers": ["+3271123456"], "active": true }
- Response JSON Object:
serviceInstanceProfile (object) – (Required) See serviceInstanceProfile from Instant Group Call Instance.
networkClassOfService (string) – See networkClassOfService from Instant Group Call Instance.
answerTimeoutMinutes (integer) – See answerTimeoutEnabled from Instant Group Call Instance.
answerTimeoutEnabled (boolean) – See answerTimeoutEnabled from Instant Group Call Instance.
destinationPhoneNumbers (array) – See destinationPhoneNumbers from Instant Group Call Instance.
active (boolean) – (Optional) Specify if the IGC is active or not.
Example response:
- Response:
Similar to GET instance method response.
- Status Codes:
200 OK – instance updated
Delete instance¶
-
DELETE
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/services/instant_group_calls/
(string: service_user_id)/
¶ Delete an instant group call.
Example request:
DELETE /api/v1/tenants/foo/groups/foogroup/services/instant_group_calls/APIOTestIGC@sip.netaxis.be/ HTTP/1.1 Host: example.com
Example response:
HTTP/1.1 200 OK
- Status Codes:
200 OK – instance delete
Update Instant Group Call’s active status¶
-
PUT
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/services/instant_group_calls_active/
¶ Update the active status of instant group calls.
Authorization rights: minimum Group Admin.
Example request:
PUT /api/v1/tenants/foo/groups/foogroup/services/instant_group_calls_active/ HTTP/1.1 Host: example.com { "services": [ { "serviceUserId": "APIOTestIGC@sip.netaxis.be", "active": true } ] }
- Request JSON Object:
services (array) – List of services to modify. See Active Instance List Item.
Example response:
HTTP/1.1 200 OK {}
- Status Codes:
200 OK – instance updated
Configuration Information for Instant Group Call Management¶
In the POST API, when creating an instant group call, it is possible to configure APIO to generate automatically the service user ID according to a specific rule.
The APIO behaviour for the instant group call automatic service user ID generation is controlled by the following setting:
"AUTOMATIC_ID_RULES": {
"SUID_INSTANT_GROUP_CALL_AUTO_GENERATE": true,
"SUID_INSTANT_GROUP_CALL_RULE": "{{group_id}}_igc{{RND_4}}@{{domain}}"
}
- Settings description:
SUID_INSTANT_GROUP_CALL_AUTO_GENERATE: APIO will enable the auto-generation of instant group call service ids. Default is false, it must be set to true to have this feature working.
SUID_INSTANT_GROUP_CALL_RULE: the formatting rule for the instant group call service user id. Default is “{{group_id}}_igc{{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 io according to phone number modification on PUT request.
The APIO behaviour for the automatic service user id modification is controlled by the following global setting (valid for all types service users):
"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 the service ids of all type of service users. 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.
The formatting of the phone Number in the List answer is controlled by the following settings:
"GROUP_NUMBERS_USE_CC_CLI": false
- With following parameters:
GROUP_NUMBERS_USE_CC_CLI, the OCI documentation says explicitly the numbers will be returned in E164. But it has been reported that sometimes it is not the case, and we have no info from Cisco about this. This parameter is used in some APIs (in this page the answer of the GET Instant Group Call List) to implement a workaround that will assume that the number is in national format if same country code as Group CLi. It is based on observations and not on Cisco doc. Therefore to be used carefully
In the GET/PUT/POST instance answers, the active information can be provided. This is controlled by the following global setting (valid for all types service users, not one type by one type):
"SERVICE_USERS_RETURN_ACTIVE_STATUS": false
- Settings description:
SERVICE_USERS_RETURN_ACTIVE_STATUS: APIO will get the list of instant group calls to extract the active status of the requested one. Default is False, because the enrichment is a costly operation, so not to be done if not needed.