Call Forwarding Services with Voice Mail Support¶
The Call Forwarding services with Voice Mail Support are virtual services that group a regular call forwarding service and its equivalent Voice Mail deposit feature.
It is introduced because in most Application Servers the Call Forwarding has priority over the Voice Mail and this virtual service allows therefore to see which one of the 2 will be used and to manage them consistently.
It must be noted that most of the time when the service is globally inactive, it is not possible to retrieve from the Application Server the indication of what was the previous active service as they are independant at its level. In that case APIO will not return the mode parameter to avoid any confusion.
This service can also work when the user has only CF service assigned or only VM service assigned; in that case only one of the 2 modes will be available.
If the Application Server supports 2 Voice Mails such as an internal one and a 3rd party VM then an APIO configuration settings allow to specify which one has priority over the other if both are assigned to the end user (that will be ignored).
Display user’s call forwarding always with voice mail supported modes¶
-
GET
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/cfa_vm/supported_modes/
¶ Retrieve supported modes of the Call Forwarding Always with Voice Mail Support service of the user.
Example request:
GET /api/v1/tenants/foo/groups/foogroup/users/foouser/services/cfa_vm/supported_modes/ HTTP/1.1 Host: example.com
Example response:
HTTP/1.1 200 OK Content-Type: "application/json" { "supported_modes": ["voiceMail", "number"] }
- Response JSON Object:
supported_modes (array) – List of the supported modes. Available modes are “number” and “voiceMail”
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
Display user’s call forwarding always with voice mail¶
-
GET
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/cfa_vm/
¶ Retrieve the settings of the Call Forwarding Always with Voice Mail Support service of the user.
Example request:
GET /api/v1/tenants/foo/groups/foogroup/users/foouser/services/cfa_vm/ HTTP/1.1 Host: example.com
Example response:
HTTP/1.1 200 OK Content-Type: "application/json" { "active": true, "mode": "number", "destination": "+321234567", "ringSplashActive": true, "supported_modes": ["voiceMail", "number"] }
- Response JSON Object:
active (boolean) – See active from Call Forwarding common attributes.
mode (string) – See mode from Call Forwarding common attributes.
destination (string) – See destination from Call Forwarding common attributes.
ringSplashActive (boolean) – Activation of a visual indication on the phone that a call forwarding has occurred (if the phone supports it).
supported_modes (array) – List of the supported modes. Available modes are “number” and “voiceMail”
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
Update a user’s call forwarding always with voice mail¶
-
PUT
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/cfa_vm/
¶ Update the settings of the Call Forwarding Always with Voice Mail Support service of the user. In case of mode = voiceMail and active is True, will auto-population the voice messaging credentials.
Example request:
PUT /api/v1/tenants/foo/groups/foogroup/users/foouser/services/cfa_vm/ HTTP/1.1 Host: example.com Content-Type: "application/json" { "active": true, "mode": "number", "destination": "+321234567" "ringSplashActive": true }
Example response:
HTTP/1.1 200 OK
- Request JSON Object:
active (boolean) – See active from Call Forwarding common attributes.
mode (string) – See mode from Call Forwarding common attributes.
destination (string) – See destination from Call Forwarding common attributes. Ignored if mode is not “number”.
ringSplashActive (boolean) – Activation of a visual indication on the phone that a call forwarding has occurred (if the phone supports it). Ignored if mode is not “number”.
autoGeneratedAccountConfig (boolean) – Request to auto-generate the Account Configuration based on data from APIO configuration. If not present it will be auto-generated based on rules in APIO configuration.
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
400 Bad Request – error during the update
Display user’s call forwarding busy with voice mail supported modes¶
-
GET
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/cfb_vm/supported_modes/
¶ Retrieve supported modes of the Call Forwarding Busy with Voice Mail Support service of the user.
Example request:
GET /api/v1/tenants/foo/groups/foogroup/users/foouser/services/cfb_vm/supported_modes/ HTTP/1.1 Host: example.com
Example response:
HTTP/1.1 200 OK Content-Type: "application/json" { "supported_modes": ["number"] }
- Response JSON Object:
supported_modes (array) – List of the supported modes. Available modes are “number” and “voiceMail”
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
Display user’s call forwarding busy with voice mail¶
-
GET
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/cfb_vm/
¶ Retrieve the settings of the Call Forwarding Busy with Voice Mail Support service of the user.
Example request:
GET /api/v1/tenants/foo/groups/foogroup/users/foouser/services/cfb_vm/ HTTP/1.1 Host: example.com
Example response:
HTTP/1.1 200 OK Content-Type: "application/json" { "active": true, "mode": "number", "destination": "+321234567", "supported_modes": ["number"] }
- Response JSON Object:
active (boolean) – See active from Call Forwarding common attributes.
mode (string) – See mode from Call Forwarding common attributes.
destination (string) – See destination from Call Forwarding common attributes.
supported_modes (array) – List of the supported modes. Available modes are “number” and “voiceMail”
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
Update a user’s call forwarding busy with voice mail¶
-
PUT
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/cfb_vm/
¶ Update the settings of the Call Forwarding Busy with Voice Mail Support service of the user. In case of mode = voiceMail and active is True, will auto-population the voice messaging credentials.
Example request:
PUT /api/v1/tenants/foo/groups/foogroup/users/foouser/services/cfb_vm/ HTTP/1.1 Host: example.com Content-Type: "application/json" { "active": true, "mode": "number", "destination": "+321234567" }
Example response:
HTTP/1.1 200 OK
- Request JSON Object:
active (boolean) – See active from Call Forwarding common attributes.
mode (string) – See mode from Call Forwarding common attributes.
destination (string) – See destination from Call Forwarding common attributes.
autoGeneratedAccountConfig (boolean) – Request to auto-generate the Account Configuration based on data from APIO configuration. If not present it will be auto-generated based on rules in APIO configuration.
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
400 Bad Request – error during the update
Display user’s call forwarding no answer with voice mail supported modes¶
-
GET
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/cfna_vm/supported_modes/
¶ Retrieve supported modes of the Call Forwarding No Answer with Voice Mail Support service of the user.
Example request:
GET /api/v1/tenants/foo/groups/foogroup/users/foouser/services/cfna_vm/supported_modes/ HTTP/1.1 Host: example.com
Example response:
HTTP/1.1 200 OK Content-Type: "application/json" { "supported_modes": ["voiceMail", "number"] }
- Response JSON Object:
supported_modes (array) – List of the supported modes. Available modes are “number” and “voiceMail”
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
Display user’s call forwarding no answer with voice mail¶
-
GET
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/cfna_vm/
¶ Retrieve the settings of the Call Forwarding No Answer with Voice Mail Support service of the user.
Example request:
GET /api/v1/tenants/foo/groups/foogroup/users/foouser/services/cfna_vm/ HTTP/1.1 Host: example.com
Example response:
HTTP/1.1 200 OK Content-Type: "application/json" { "active": true, "mode": "number", "destination": "+321234567", "numberOfRings": 3, "supported_modes": ["voiceMail", "number"] }
- Response JSON Object:
active (boolean) – See active from Call Forwarding common attributes.
mode (string) – See mode from Call Forwarding common attributes.
destination (string) – See destination from Call Forwarding common attributes.
numberOfRingsation (string) – How many time the phone will ring before the call forwarding is applied.
supported_modes (array) – List of the supported modes. Available modes are “number” and “voiceMail”
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
Update a user’s call forwarding no answer with voice mail¶
-
PUT
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/cfna_vm/
¶ Update the settings of the Call Forwarding No Answer with Voice Mail Support service of the user. In case of mode = voiceMail and active is True, will auto-population the voice messaging credentials.
Example request:
PUT /api/v1/tenants/foo/groups/foogroup/users/foouser/services/cfna_vm/ HTTP/1.1 Host: example.com Content-Type: "application/json" { "active": true, "mode": "number", "destination": "+321234567" "numberOfRings": 5 }
Example response:
HTTP/1.1 200 OK
- Request JSON Object:
active (boolean) – See active from Call Forwarding common attributes.
mode (string) – See mode from Call Forwarding common attributes.
destination (string) – See destination from Call Forwarding common attributes.
numberOfRingsation (integer) – How many time the phone will ring before the call forwarding is applied.
autoGeneratedAccountConfig (boolean) – Request to auto-generate the Account Configuration based on data from APIO configuration. If not present it will be auto-generated based on rules in APIO configuration.
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
400 Bad Request – error during the update
Configuration Information for Call Forwarding Services with Voice Mail Support¶
If the Application Server supports 2 Voice Mails such as an internal one and a 3rd party VM then an APIO configuration settings allow to specify which one has priority over the other if both are assigned to the end user (that will be ignored).
The APIO behaviour is controlled by the following settings:
"PRIORITY_VOICEMAIL": "Voicemail_Internal"
- Explanation of the parameters:
PRIORITY_VOICEMAIL: Allowed values are “Voicemail_Internal” and “Voicemail_3rd_Party” (default)