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:

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:
Status Codes:

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:

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:

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:
Status Codes:

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:
Status Codes:

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:

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:
Status Codes:

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:

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)

Shared type definition

Call Forwarding common attributes

Name

Type

Methods

Description

GET

PUT

active

Boolean

A

O

The status of the service.

mode

String

C

C

It can be “number” or “voiceMail”. It indicates the type of forwarding. It is only relevant in a GET when active is true. Therefore it could not be present. In the PUT it should be provided if active is changed to true, else “number” will be used as default

destination

String

C

C

The destination in case of “number”. It must be provided when the mode is “number”