Voice Messaging Services¶
Voice Mail Main Parameters¶
Display user’s voice mail settings¶
-
GET
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/voice_messaging/basic_config/
¶ Retrieve the settings of the Voice Messaging service of the user.
Example request:
GET /api/v1/tenants/foo/groups/foogroup/users/foouser/services/voice_messaging/basic_config/ HTTP/1.1 Host: example.com {}
Example response:
HTTP/1.1 200 OK Content-Type: "application/json" { "active": false, "processing": "Unified", "voiceMessageDeliveryEmailAddress": "", "usePhoneMessageWaitingIndicator": true, "alwaysRedirectToVoiceMail": false, "busyRedirectToVoiceMail": true, "noAnswerRedirectToVoiceMail": true, "outOfPrimaryZoneRedirectToVoiceMail": false, "sendVoiceMessageNotifyEmail": false, "voiceMessageNotifyEmailAddress": "", "sendCarbonCopyVoiceMessage": false, "voiceMessageCarbonCopyEmailAddress": "", "transferOnZeroToPhoneNumber": false, "transferPhoneNumber": "" }
- Response JSON Object:
active (boolean) – See active from User Voice Messaging Basic attributes.
processing (string) – See processing from User Voice Messaging Basic attributes.
voiceMessageDeliveryEmailAddress (string) – See voiceMessageDeliveryEmailAddress from User Voice Messaging Basic attributes.
usePhoneMessageWaitingIndicator (boolean) – See usePhoneMessageWaitingIndicator from User Voice Messaging Basic attributes.
alwaysRedirectToVoiceMail (boolean) – See alwaysRedirectToVoiceMail from User Voice Messaging Basic attributes.
busyRedirectToVoiceMail (boolean) – See busyRedirectToVoiceMail from User Voice Messaging Basic attributes.
noAnswerRedirectToVoiceMail (boolean) – See noAnswerRedirectToVoiceMail from User Voice Messaging Basic attributes.
outOfPrimaryZoneRedirectToVoiceMail (boolean) – See outOfPrimaryZoneRedirectToVoiceMail from User Voice Messaging Basic attributes.
sendVoiceMessageNotifyEmail (boolean) – See sendVoiceMessageNotifyEmail from User Voice Messaging Basic attributes.
voiceMessageNotifyEmailAddress (string) – See voiceMessageNotifyEmailAddress from User Voice Messaging Basic attributes.
sendCarbonCopyVoiceMessage (boolean) – See sendCarbonCopyVoiceMessage from User Voice Messaging Basic attributes.
voiceMessageCarbonCopyEmailAddress (string) – See voiceMessageCarbonCopyEmailAddress from User Voice Messaging Basic attributes.
transcribe (boolean) – See transcribe from User Voice Messaging Basic attributes.
transcribeEmailAddresses (array) – See transcribeEmailAddresses from User Voice Messaging Basic attributes.
transferOnZeroToPhoneNumber (boolean) – See transferOnZeroToPhoneNumber from User Voice Messaging Basic attributes.
transferPhoneNumber (string) – See transferPhoneNumber from User Voice Messaging Basic attributes.
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
Update a user’s voice mail settings¶
-
PUT
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/voice_messaging/basic_config/
¶ Update the settings of the Voice Messaging service of the user.
Example request:
PUT /api/v1/tenants/foo/groups/foogroup/users/foouser/services/voice_messaging/basic_config/ HTTP/1.1 Host: example.com Content-Type: "application/json" { "active": true, "processing": "Address Only", "voiceMessageDeliveryEmailAddress": "test_mail@test.netaxis.be", "usePhoneMessageWaitingIndicator": false, "alwaysRedirectToVoiceMail": true, "busyRedirectToVoiceMail": false, "noAnswerRedirectToVoiceMail": false, "outOfPrimaryZoneRedirectToVoiceMail": false }
- Request JSON Object:
active (boolean) – See active from User Voice Messaging Basic attributes.
processing (string) – See processing from User Voice Messaging Basic attributes.
voiceMessageDeliveryEmailAddress (string) – See voiceMessageDeliveryEmailAddress from User Voice Messaging Basic attributes.
usePhoneMessageWaitingIndicator (boolean) – See usePhoneMessageWaitingIndicator from User Voice Messaging Basic attributes.
alwaysRedirectToVoiceMail (boolean) – See alwaysRedirectToVoiceMail from User Voice Messaging Basic attributes.
busyRedirectToVoiceMail (boolean) – See busyRedirectToVoiceMail from User Voice Messaging Basic attributes.
noAnswerRedirectToVoiceMail (boolean) – See noAnswerRedirectToVoiceMail from User Voice Messaging Basic attributes.
outOfPrimaryZoneRedirectToVoiceMail (boolean) – See outOfPrimaryZoneRedirectToVoiceMail from User Voice Messaging Basic attributes.
sendVoiceMessageNotifyEmail (boolean) – See sendVoiceMessageNotifyEmail from User Voice Messaging Basic attributes.
voiceMessageNotifyEmailAddress (string) – See voiceMessageNotifyEmailAddress from User Voice Messaging Basic attributes.
sendCarbonCopyVoiceMessage (boolean) – See sendCarbonCopyVoiceMessage from User Voice Messaging Basic attributes.
voiceMessageCarbonCopyEmailAddress (string) – See voiceMessageCarbonCopyEmailAddress from User Voice Messaging Basic attributes.
transcribe (boolean) – See transcribe from User Voice Messaging Basic attributes.
transcribeEmailAddresses (array) – See transcribeEmailAddresses from User Voice Messaging Basic attributes.
transferOnZeroToPhoneNumber (boolean) – See transferOnZeroToPhoneNumber from User Voice Messaging Basic attributes.
transferPhoneNumber (string) – See transferPhoneNumber from User Voice Messaging Basic 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.
Example response:
- Response:
Similar to GET instance method response.
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
error during the update. With among others:
2: INVALID_PARAMETERS, on parameter “transcribe” and message “Transcribe feature is not enabled in your profile”, if transcribe is asked and no Transcribe Service Pack is assigned.
2: INVALID_PARAMETERS, on parameter “transcribe” and message “Transcribe feature is not enabled at global level”, if transcribe is asked and Transcribe feature is not enabled in APIO.
Configuration Settings¶
The transcribe logic is controlled by the following Configuration Settings (the value presented are the default ones):
"VOICEMAIL_TRANSCRIBE_AVAILABLE": false,
"VOICEMAIL_TRANSCRIBE_SILENT_DISCARD": true,
"VOICEMAIL_TRANSCRIBE_LIST_SP": []
- Explanation of the parameters:
VOICEMAIL_TRANSCRIBE_AVAILABLE: Global flag that enable or not the transcribe feature.
VOICEMAIL_TRANSCRIBE_SILENT_DISCARD: If false, when “transcribe” parameter is received but feature is not enabled or there is no transcribe_ne in the profile of the connected user an error will be returned, else the paramter is ignored (discarded)
VOICEMAIL_TRANSCRIBE_LIST_SP: In order to speed up some analysis, it is possible to alsio indicate here what are the Service Packs that have a transcribe feature. But be careful that if you add more transcribe SP in APIO DB but you do not dzfined them here, they could be ignored.
Voice Mail Account Configuration¶
Retrieve a user’s account configuration¶
-
GET
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/voice_messaging/advanced_config/
¶ Retrieve the settings of the Voice Messaging service of the user.
GET /api/v1/tenants/foo/groups/foogroup/users/foouser/services/voice_messaging/advanced_config/ HTTP/1.1 Host: example.com {}
Example response:
HTTP/1.1 200 OK Content-Type: "application/json" { "mailServerSelection": "Group", "groupMailServerEmailAddress": "test_mail@netaxis.be", "groupMailServerUserId": "apio_user", "mailboxLimit": 10 } OR { "mailServerSelection": "Personal", "personalMailServerNetAddress": "test_mail_server@netaxis.be", "personalMailServerProtocol": "POP3", "personalMailServerRealDeleteForImap": true, "personalMailServerEmailAddress": "test_mail@netaxis.be", "personalMailServerUserId": "apio_user" }
- Response JSON Object:
mailServerSelection (string) – See mailServerSelection from User Voice Messaging Advanced attributes.
groupMailServerEmailAddress (string) – See groupMailServerEmailAddress from User Voice Messaging Advanced attributes.
groupMailServerUserId (string) – See groupMailServerUserId from User Voice Messaging Advanced attributes.
groupMailServerPassword (string) – See groupMailServerPassword from User Voice Messaging Advanced attributes.
mailboxLimit (string/integer) – See mailboxLimit from User Voice Messaging Advanced attributes.
personalMailServerNetAddress (string) – See personalMailServerNetAddress from User Voice Messaging Advanced attributes.
personalMailServerProtocol (string) – See personalMailServerProtocol from User Voice Messaging Advanced attributes.
personalMailServerRealDeleteForImap (boolean) – See personalMailServerRealDeleteForImap from User Voice Messaging Advanced attributes.
personalMailServerEmailAddress (string) – See personalMailServerEmailAddress from User Voice Messaging Advanced attributes.
personalMailServerUserId (string) – See personalMailServerUserId from User Voice Messaging Advanced attributes.
personalMailServerPassword (string) – See personalMailServerPassword from User Voice Messaging Advanced attributes.
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
Update a user’s account configuration¶
-
PUT
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/voice_messaging/advanced_config/
¶ Update the settings of the Voice Messaging service of the user.
Example request:
PUT /api/v1/tenants/foo/groups/foogroup/users/foouser/services/voice_messaging/advanced_config/ HTTP/1.1 Host: example.com Content-Type: "application/json" { "mailServerSelection": "Group", "groupMailServerEmailAddress": "test_mail@netaxis.be", "groupMailServerUserId": "apio_user", "groupMailServerPassword": "passwd", "mailboxLimit": 10 } OR { "mailServerSelection": "Personal", "personalMailServerNetAddress": "test_mail_server@netaxis.be", "personalMailServerProtocol": "POP3", "personalMailServerRealDeleteForImap": true, "personalMailServerEmailAddress": "test_mail@netaxis.be", "personalMailServerUserId": "apio_user", "personalMailServerPassword": "passwd" }
- Request JSON Object:
mailServerSelection (string) – See mailServerSelection from User Voice Messaging Advanced attributes.
groupMailServerEmailAddress (string) – See groupMailServerEmailAddress from User Voice Messaging Advanced attributes.
groupMailServerUserId (string) – See groupMailServerUserId from User Voice Messaging Advanced attributes.
groupMailServerPassword (string) – See groupMailServerPassword from User Voice Messaging Advanced attributes.
mailboxLimit (string/integer) – See mailboxLimit from User Voice Messaging Advanced attributes.
personalMailServerNetAddress (string) – See personalMailServerNetAddress from User Voice Messaging Advanced attributes.
personalMailServerProtocol (string) – See personalMailServerProtocol from User Voice Messaging Advanced attributes.
personalMailServerRealDeleteForImap (boolean) – See personalMailServerRealDeleteForImap from User Voice Messaging Advanced attributes.
personalMailServerEmailAddress (string) – See personalMailServerEmailAddress from User Voice Messaging Advanced attributes.
personalMailServerUserId (string) – See personalMailServerUserId from User Voice Messaging Advanced attributes.
personalMailServerPassword (string) – See personalMailServerPassword from User Voice Messaging Advanced attributes.
Example response:
- Response:
Similar to GET instance method response.
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
400 Bad Request – error during the update
Voice Mail Announcements Configuration¶
Display user’s voice messaging announcements¶
-
GET
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/voice_messaging/announcements_repo/
¶ Retrieve the settings of the Voice Messaging Announcements service of the user.
Example request:
GET /api/v1/tenants/foo/groups/foogroup/users/foouser/services/voice_messaging/announcements_repo/ HTTP/1.1 Host: example.com
Example response:
HTTP/1.1 200 OK Content-Type: "application/json" { "disableMessageDeposit": true, "disableMessageDepositAction": "Disconnect", "greetingOnlyForwardDestination": "", "busyAnnouncementSelection": "Default", "busyPersonalAudioFile": "", "noAnswerNumberOfRings": 3, "extendedAwayEnabled": false, # Means: No Answer Greeting = true "extendedAwayDisableMessageDeposit": true, "extendedAwayAudioFile": "", "noAnswerAnnouncementSelection": "Default", "noAnswerPersonalAudioFile": "" }
- Response JSON Object:
disableMessageDeposit (boolean) – See disableMessageDeposit from User Voice Messaging Announcements attributes.
disableMessageDepositAction (string) – See disableMessageDepositAction from User Voice Messaging Announcements attributes.
greetingOnlyForwardDestination (string) – See greetingOnlyForwardDestination from User Voice Messaging Announcements attributes.
busyAnnouncementSelection (string) – See busyAnnouncementSelection from User Voice Messaging Announcements attributes.
busyPersonalAudioFile (object) – See busyPersonalAudioFile from User Voice Messaging Announcements attributes.
noAnswerNumberOfRings (integer) – See noAnswerNumberOfRings from User Voice Messaging Announcements attributes.
extendedAwayEnabled (string) – See extendedAwayEnabled from User Voice Messaging Announcements attributes.
extendedAwayDisableMessageDeposit (string) – See extendedAwayDisableMessageDeposit from User Voice Messaging Announcements attributes.
extendedAwayAudioFile (object) – See extendedAwayAudioFile from User Voice Messaging Announcements attributes.
noAnswerAnnouncementSelection (string) – See noAnswerAnnouncementSelection from User Voice Messaging Announcements attributes.
noAnswerPersonalAudioFile (object) – See noAnswerPersonalAudioFile from User Voice Messaging Announcements attributes.
noAnswerAlternateGreeting01 (object) – See noAnswerAlternateGreeting01 from User Voice Messaging Announcements attributes.
noAnswerAlternateGreeting02 (object) – See noAnswerAlternateGreeting02 from User Voice Messaging Announcements attributes.
noAnswerAlternateGreeting03 (object) – See noAnswerAlternateGreeting03 from User Voice Messaging Announcements attributes.
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
Update a user’s voice messaging announcements¶
-
PUT
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/voice_messaging/announcements_repo/
¶ Update the settings of the Voice Messaging Announcements service of the user.
Example request:
PUT /api/v1/tenants/foo/groups/foogroup/users/foouser/services/voice_messaging/announcements_repo/ HTTP/1.1 Host: example.com Content-Type: "application/json" { "disableMessageDeposit": false, "disableMessageDepositAction": "Forward", "greetingOnlyForwardDestination": "+3212345678" "busyAnnouncementSelection": "Personal", "busyPersonalAudioFile": { "name": "APIO Test Announcement" } } OR { "noAnswerNumberOfRings": 5, "extendedAwayEnabled": true, "extendedAwayDisableMessageDeposit": false, "extendedAwayAudioFile": { "name": "APIO Test Announcement" } } OR { "extendedAwayEnabled": false, "noAnswerAnnouncementSelection": "Personal", "noAnswerPersonalAudioFile": { "name": "APIO Test Announcement" } } OR { "extendedAwayEnabled": false, "noAnswerAnnouncementSelection": "Alternate01", "noAnswerAlternateGreeting01": { "name": "APIO Test Alternate Greeting", "audioFile": { "name": "APIO Test Announcement" } } }
- Request JSON Object:
disableMessageDeposit (boolean) – See disableMessageDeposit from User Voice Messaging Announcements attributes.
disableMessageDepositAction (string) – See disableMessageDepositAction from User Voice Messaging Announcements attributes.
greetingOnlyForwardDestination (string) – See greetingOnlyForwardDestination from User Voice Messaging Announcements attributes.
busyAnnouncementSelection (string) – See busyAnnouncementSelection from User Voice Messaging Announcements attributes.
busyPersonalAudioFile (object) – See busyPersonalAudioFile from User Voice Messaging Announcements attributes.
noAnswerNumberOfRings (integer) – See noAnswerNumberOfRings from User Voice Messaging Announcements attributes.
extendedAwayEnabled (string) – See extendedAwayEnabled from User Voice Messaging Announcements attributes.
extendedAwayDisableMessageDeposit (string) – See extendedAwayDisableMessageDeposit from User Voice Messaging Announcements attributes.
extendedAwayAudioFile (object) – See extendedAwayAudioFile from User Voice Messaging Announcements attributes.
noAnswerAnnouncementSelection (string) – See noAnswerAnnouncementSelection from User Voice Messaging Announcements attributes.
noAnswerPersonalAudioFile (object) – See noAnswerPersonalAudioFile from User Voice Messaging Announcements attributes.
noAnswerAlternateGreeting01 (object) – See noAnswerAlternateGreeting01 from User Voice Messaging Announcements attributes.
noAnswerAlternateGreeting02 (object) – See noAnswerAlternateGreeting02 from User Voice Messaging Announcements attributes.
noAnswerAlternateGreeting03 (object) – See noAnswerAlternateGreeting03 from User Voice Messaging Announcements attributes.
Example response:
- Response:
Similar to GET instance method response.
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
400 Bad Request – error during the update
Voice Mail Messages Access¶
List user’s voice mails¶
-
GET
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/voice_messaging/voice_mails/
¶ Retrieve the list of voice mails of the user.
Example request:
GET /api/v1/tenants/foo/groups/foogroup/users/foouser/services/voice_messaging/voice_mails/ HTTP/1.1 Host: example.com
Example response:
HTTP/1.1 200 OK Content-Type: "application/json" { "messages": [ { "messageId": "msg_123", "time": "2018-05-13 22:34", "duration": 4.5, "read": false, "urgent": true, "confidential": true, "video": false, "fax": false } ] }
- Response JSON Object:
messages (array) – a list of objects as defined in Voice Messaging Message Info.
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
Update a user’s voice mails status¶
-
PUT
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/voice_messaging/voice_mails/
¶ Update the status of several voice mails of the user.
Example request:
PUT /api/v1/tenants/foo/groups/foogroup/users/foouser/services/voice_messaging/voice_mails/ HTTP/1.1 Host: example.com Content-Type: "application/json" { "messages": [ { "messageId": "msg233", "read": true } ] }
- Request JSON Object:
messages (array) – a list of objects as defined in Voice Messaging Message Info.
Example response:
- Response:
Similar to GET method response.
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
400 Bad Request – error during the update
Retrieve a user’s voice mail instance¶
-
GET
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/voice_messaging/voice_mails/
(string: instance_name)/
¶ Retrieve a voice mail instance of the user.
Example request:
GET /api/v1/tenants/foo/groups/foogroup/users/foouser/services/voice_messaging/voice_mails/foovm/ HTTP/1.1 Host: example.com
or
GET /api/v1/tenants/foo/groups/foogroup/users/foouser/services/voice_messaging/voice_mails/foovm/ HTTP/1.1 Host: example.com { "outputFormat": "mp3" }
Example response:
HTTP/1.1 200 OK Content-Type: "application/json" { "messageInfo" : { "time": "2018-05-13 22:34", "duration": 4.5, "read": false, "urgent": true, "confidential": true, "video": false, "fax": false } }
- Request JSON Object:
outputFormat (string) – Specify the output format of the messageMediaContent’s content. Supported formats: ‘wav’ (default), ‘mp3’
- Response JSON Object:
messageInfo (object) – See Voice Messaging Message Info.
messageMediaContent (object) – See Voice Messaging Message Content.
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user or the voice mail message does not exists
Update a user’s voice mail instance¶
-
PUT
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/voice_messaging/voice_mails/
(string: instance_name)/
¶ Update the properties of a voice mail message of the user.
Example request:
PUT /api/v1/tenants/foo/groups/foogroup/users/foouser/services/voice_messaging/voice_mails/foovm/ HTTP/1.1 Host: example.com Content-Type: "application/json" { "time": "2018-05-14 22:34", "duration": 4.5, "read": true, "urgent": false, "confidential": false, }
- Request JSON Object:
time (string) – See time from Voice Messaging Message Info.
duration (float) – See duration from Voice Messaging Message Info.
callingPartyInfo (object) – See callingPartyInfo from Voice Messaging Message Info.
read (boolean) – See read from Voice Messaging Message Info.
urgent (boolean) – See urgent from Voice Messaging Message Info.
confidential (boolean) – See confidential from Voice Messaging Message Info.
video (boolean) – See video from Voice Messaging Message Info.
fax (boolean) – See fax from Voice Messaging Message Info.
faxPageCount (integer) – See faxPageCount from Voice Messaging Message Info.
Example response:
- Response:
Similar to GET instance method response.
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
400 Bad Request – error during the update
Delete a user’s voice message instance¶
-
DELETE
/api/v1/tenants/
(string: tenant_id)/groups/
(string: group_id)/users/
(string: user_id)/services/voice_messaging/voice_mails/
(string: instance_name)/
¶ Delete a voice mail instance of the user.
Example request:
DELETE /api/v1/tenants/foo/groups/foogroup/users/foouser/services/voice_messaging/voice_mails/foovm/ HTTP/1.1 Host: example.com Content-Type: "application/json" {}
Example response:
HTTP/1.1 200 OK
- Status Codes:
200 OK – no error
404 Not Found – the service is not assigned to the user
400 Bad Request – error during the deletion
Voice Messaging Message Info¶
Name |
Type |
Methods |
Description |
|
---|---|---|---|---|
GET |
PUT |
|||
messageId |
String |
A |
A |
The message ID. |
time |
String |
A |
O |
The time. |
duration |
Float |
A |
O |
The duration in seconds. |
callingPartyInfo |
Object |
O |
O |
As defined as calling_party_info in Voice Messaging Calling Party Info. |
read |
Boolean |
O |
O |
If set the message has been read. |
urgent |
Boolean |
O |
O |
If set, the message is urgent. |
confidential |
Boolean |
O |
O |
If set, the message is confidential. |
video |
Boolean |
O |
O |
If set, the message is a video. |
fax |
Boolean |
O |
O |
If set, the message is a fax. |
faxPageCount |
Integer |
O |
O |
The page counter for the fax |
Voice Messaging Calling Party Info¶
Name |
Type |
Methods |
Description |
|
---|---|---|---|---|
GET |
PUT |
|||
name |
String |
O |
A |
The name. |
userId |
String |
O |
O |
The user ID. |
address |
String |
O |
O |
The address of the calling party. |
privacy |
Boolean |
O |
O |
Indicate if the contact info are private |
Note: first fields are provided in case they are available. If privacy is not not present it is same as false
Voice Messaging Message Content¶
Name |
Type |
Methods |
Description |
---|---|---|---|
GET |
|||
mediaType |
String |
A |
The type of the media filefile |
content |
String |
A |
The message itself encoded in base64 |