Table of Content
1.1 Others REST WS improvements
2.1 Others REST WS improvements
4.1 Others REST WS improvements
5.1 Others REST WS improvements
6.2.1 Dial by URI - MMF 2 - Simple incoming Call
6.4.1 Homogenous contacts and contact meta data
6.7.1 Dynamic Users Configuration
6.8.1 Homogenous contacts and contact meta data
6.9.1 Presence API enhancement: add Calendar presence
6.10.1 Supervision Services on 8068 Premium Desk phone
6.10.2 Manager-Assistant Services on 8068 Premium Deskphone
6.10.3 API Exposure Suite: API Voice Messaging
6.13.1 Others REST WS improvements
7.1.1 Instant Messaging and Presence API
7.1.2 Secured application identification for API access (Step2)
7.2.1 Provisioning consistency of OTCT/OTCV SW Clients
7.2.2 Others REST WS improvements
7.3.1 Others REST WS improvements
7.4.1 Instant Messaging REST WS
7.4.3 Others REST WS improvements
8.4.1 OXE routing in routing REST API
8.5.1 API Exposure Suite: API Voice Messaging
8.6.1 Others REST WS improvements
8.7.1 Add a new method to get server information
Improvement of the feature “User information”:
-
Adding in the object “User”
the “customAttributes”
value.
Custom
attributes.
Improvement of the feature “Call control”:
-
New POST
/telephony/devices/{deviceId}/mute/{mute}
Activate/deactivate ringing of a device.
- New notification OnDeviceMuteFailed
This notification indicates that a mute request failed.
- New notification OnDeviceMuteSuccess
This notification indicates that a mute request was successful.
-
Adding in the object “DeviceState”
the “mutable”
value.
Indicates
whether a device can be muted or not.
-
Adding in the object “DeviceState”
the “muted”
value.
Indicates
whether a device is muted or not.
Improvement of the feature “Groups”:
- New notification OnGroupLoggedFailed
This notification indicates to a member of a group that the group logged request failed.
-
Adding in the object “GroupMemberRole”
the “AGENT”
value.
Hunting Group:
the HG member is active in the call distribution.
-
Adding in the object “GroupType”
the “HUNTING_GROUP”
value.
Hunting group.
No specific evolution.
Improvement of the feature “Communication log”:
-
New GET /comlog/records/{recordId}/im
Get the IM thread.
Improvement
of the feature “User information”:
-
New PUT
/users/{loginName}/password
Change user's password.
Improvement of the feature “Call control”:
-
Adding in the method GET
/telephony/calls the “loginName” parameter.
Login name of
the user for whom the request is invoked. This parameter is ignored if the
Session identifier matches a user account, but if it matches an administrator
account, it MUST be specified.
-
New GET
/telephony/calls/{callRef}/park
Park a specified active call to a target device.
-
New POST
/telephony/devices/{deviceId}/unpark
UnPark a call
from a target device.
-
Adding in the object “CallCause”
the “CALL_BACK”
value.
The call is a
call back.
Improvement of the feature “Messaging”:
- New POST /messaging/mailboxes/{mailboxId}/voicemails/{voicemailId}/forward
Forward an existing message with recording an introduction.
No specific evolution.
Improvement
of the feature “User information”:
-
Adding in object “User” the “sipUri” parameter.
User's SIP
URI.
- New operating system: SUSE Linux Enterprise Server 12. An adaptation of the FLEX server was necessary.
Improvement
of the feature “Directory search”:
-
Adding in the object “PartyInfo”
the “vcardPath”
parameter.
The
vCard path of a user.
No specific evolution.
No specific evolution.
By default, the mobile physical type is unknown (DevicePhysicalType.NONE). Its physical type will be known during its startup.
Improvement
of the feature “Call control”:
-
Adding in the object “PartyInfo”
the “vcardPath”
parameter.
The
vCard path of a user.
-
In the object “PartyInfo” the “vcardUrl” is deprecated.
The
vCard URL of a user.
Improvement of the feature “Presence”:
-
Deprecated
POST/presence/connection
Invoking this method is no longer needed since it is implicitly invoked when
calling any operation on this service.
-
Deprecated DELETE /presence/connection
Invoking this method is only needed if the user does not properly end its
session.
Same as next chapter.
Added feature “Groups”
.
-
New GET /groups
Get information on all the groups of the user.
-
New
POST
/groups/refresh
Ask to be refreshed by notification on all the calls which
happened on the groups of the user.
-
New
GET
/groups/{groupId}
Returns a description of one group.
-
New
GET
/groups/{groupId}/changeRole
Change the role of member(s) of a group.
-
New OnGroupCreated
This notification indicates to a user that it is
inserted in a new group.
-
New OnGroupModified
This notification indicates to a member of a group
that this group has been modified: members added, members removed or members
changed (right or role).
-
New OnGroupRemoved
This notification indicates that a user is removed
from a group.
-
New OnSupervisedUpdated
This notification indicates to a supervisor user
that some of its supervised users have changed.
Improvement
of the feature “Messaging”:
- The attribute “offset” of the object “PlayVoiceMessageRequest” has a better behavior : in seconds or in percentage to start playing the message
No specific evolution.
No specific evolution.
Improvement
of the feature “User information”:
-
Adding in object “User” the “vcardPath” parameter.
User's vCard
relative URL.
Improvement
of the feature “Call control”:
-
Improve the method “POST /telephony/calls”
Initiates
a new call to another user (the callee). (Either
multimedia or standard user)
To initiate a regular call don't fill the associatedData, pin, secretCode or businessCode parameters. (Standard user ONLY)
To initiate a call with associated data fill the associatedData parameter. (Standard user ONLY)
To initiate a Private Call fill the pin and secretCode parameters. (Standard user ONLY)
To initiate a Business Call fill the businessCode parameter.
To initiate a call from any connected set which is not associated to an OpenTouch user, don't fill the bypass, associatedData, pin, secretCode or businessCode parameters.
New
notification for REST Presence WS:
-
New OnContactPresenceUpdate
notification
This notification is received on contact's presence changed.
Any
third party application developed under a partnership agreement will be given
an encrypted token which will contain some useful information for the openness
framework.
The token will be generated by the key tenant and encrypted thanks to RSA with a secret key. The encrypted token will be given to the partner who will use it in the “application name” field of his application while it tries to connect to the openness framework.
Step 2
In this step, the chameleon decrypts the incoming token so that it is possible to open the rights defined in the token.
-
Adding in the object “Device”
(User information)
“configId” parameter : If the device type is MOBILE this parameter defines the
single identifier that allows the mobile to retrieve its configuration file. (private)
- Updating the parameter “subType” of the object “Device” (User information)
The device physical types are:
OXE,
VHE8088,
MYICSIP,
SIP,
ICM_MOBILE_ANDROID,
MR8042,
VHE8082,
ICM_MOBILE_BLACKBERRY,
MOBILE,
MOBILE_ANDROID,
MOBILE_BLACKBERRY,
MOBILE_NOKIA,
MOBILE_WINDOWS,
NONE,
VIDEO,
MOBILE_IPHONE,
NOMADIC_HOME,
NOMADIC_OTHER,
SIP_4008,
SIP_4018,
OTC_TABLET,
THIRD_PARTY_VIDEO,
WLAN_MOBILE,
SIP_8002,
SIP_8012,
ICM_MOBILE_IPHONE,
SIP_8068,
SIP_8001,
SIP_8038
Improvement of the feature “User information”:
-
New
OnUserCreated
This event is sent on creation of an user (only for
administrator).
-
New OnUserDeleted
This event is sent when user is deleted (only for
administrator).
Improvement
of the feature “User information”:
- New query parameter “types” in the method GET /logins
- New query parameter “apiRights” in the method GET /logins
Improvement
of the feature “Communication log”:
- New query parameter “optimized” in the method GET /comlog/records
-
New GET /im/calls
List all the currently active IM sessions of the user.
-
New POST /im/calls
Create a new instant messaging session.
-
New DELETE /im/calls/{callRef}
Delete an instant messaging session.
-
New GET
/im/calls/{callRef}/participants
List all the participants of an IM session.
-
New POST
/im/calls/{callRef}/participants
Add a list of participants into an IM session.
-
New DELETE
/im/calls/{callRef}/participants
Remove (drop) a list of participants from an IM session.
-
New POST
/im/calls/{callRef}/send
Send an instant message to a list of participants in a given IM session.
-
New POST
/im/calls/{callRef}/state
Set the user's state as 'typing a message'.
-
New GET /im/deferred
Retrieve all the deferred messages stored on the server.
-
New DELETE /im/deferred
Delete the deferred messages stored on the server.
-
New PUT U/im/deferred
Update the status of the deferred messages stored on the server.
-
New GET /im/deferred/counters
When user is offline, or not connected to the presence server, messages sent to
him cannot be delivered.
-
New OnDeferredMessageCountersChanged notification
Event received indicating that an instant message has been left on the server.
-
New OnImParticipantAdded notification
Event sent when a participant is added in an IM session.
-
New OnImParticipantDropped notification
Event sent when a participant is dropped from an IM session.
-
New OnImParticipantTyping notification
Event sent when a participant has set its typing state (i.e. just starting
typing).
-
New OnImReceived notification
Event received containing the instant message.
-
New POST /presence/connection
Connect the user to the Presence server.
-
New DELETE /presence/connection
Disconnect the user from the Presence server.
-
New GET /presence/contacts
Retrieves contacts presences.
-
New POST /presence/contacts/subscribe
Subscribe to a list of contacts for which we want to receive presence updates.
-
New POST /presence/contacts/unsubscribe
Unsubscribe a list of contacts for which we no longer want to receive presences
updates.
-
New GET /presence/user
Retrieves all the user presences types in a single operation.
-
New GET /presence/user/basic
Retrieves the user's basic presence.
-
New PUT /presence/user/basic
Set the user's basic presence.
-
New GET /presence/user/im
Retrieves the user's IM presence.
-
New PUT /presence/user/im
Set the user's IM presence.
-
New GET /presence/user/note
Retrieves the user's note presence.
-
New PUT /presence/user/note
Set the user's note presence.
-
New GET /presence/user/phone
Retrieves the user's phone presence.
-
New OnContactPresenceUpdated
notification
Event received on contact's presence changed.
- New OnUserPresenceUpdated notification
Event received on user's presence changed.
Improvement
of the feature “Call control”: add call back methods (public)
-
New GET /telephony/incomingCallbacks
(Standard user ONLY) Returns the whole list of callback requests.
-
New DELETE /telephony/incomingCallbacks
(Standard user ONLY) Deletes all callback requests.
-
New DELETE
/telephony/incomingCallbacks/{callbackId}
(Standard user ONLY) Deletes a callback request.
-
New POST /telephony/outgoingCallbacks
(Standard user ONLY) Requests for call back.
No specific evolution.
New management of errors returned by REST services invocation follows the common practice which consists of providing as much information as possible to the user. The returned information structure contains several fields, targeting all possible users of the API: RestErrorInfo
-
Adding in object “RestErrorInfo”
the “routing”
parameter:
Routing error information
Extra details
if errors are generated by a routing service request.
When activated, any communication will be managed with the identity secret
status.
- New GET /users/{loginName}/preferences/telephony resource
- New POST /users/{loginName}/preferences/telephony resource
- Adding in object “TelephonyPreferences”, “clirMode” parameter
- New OnPreferencesChanged notification
This
REST WS is public.
- New GET /telephony/numbering/canonical : Transforms the phone number into canonical
- New GET /telephony/numbering/dialable : Transforms the phone number into dialable
When
we perform a get profiles for OXE user on REST routing management API,
accordingly to the user configuration and rights, profiles are given.
The fallback profile is always named DEFAULT whatever is content (which depends
too on the user devices and rights).
-
Adding in the object
“ForwardRoute”:
New “overflowType” Optional condition to
forward route for OXE users.
- Adding in the enumeration “DestinationType”:
-
New GET
/messaging/mailboxes
get all the user's mailboxes.
-
New GET /messaging/mailboxes/{mailboxId}
Get a specific mailbox information.
-
New GET /messaging/mailboxes/{mailboxId}/greetings
Get all user's greetings, whatever their recording state (recorded or not).
-
New DELETE /messaging/mailboxes/{mailboxId}/greetings
Delete the content (wav file) of the given greeting.
-
New GET /messaging/mailboxes/{mailboxId}/greetings/{greetingId}
Get a specific user's greeting.
-
New DELETE /messaging/mailboxes/{mailboxId}/greetings/{greetingId}
Delete the content (wav file) of all greetings.
-
New POST
/messaging/mailboxes/{mailboxId}/greetings/{greetingId}/activate
Activate a given greeting.
-
New POST /messaging/mailboxes/{mailboxId}/player
Start or resume playing a voice message.
-
New DELETE /messaging/mailboxes/{mailboxId}/player
Terminate a player session with the media server.
-
New POST
/messaging/mailboxes/{mailboxId}/player/pause
Pause the current voice message being played.
-
New POST
/messaging/mailboxes/{mailboxId}/player/stop
Stop a currently playing on a message.
-
New POST
/messaging/mailboxes/{mailboxId}/recorder
Start of resume a record of a new voice message.
-
New GET /messaging/mailboxes/{mailboxId}/recorder
Get the previously recorded message.
-
New DELETE /messaging/mailboxes/{mailboxId}/recorder
Terminate a recorder session with the media server.
-
New
POST
/messaging/mailboxes/{mailboxId}/recorder/cancel
Cancel a currently recording message, or the previously created message.
-
New POST
/messaging/mailboxes/{mailboxId}/recorder/resume
Resume recording of a message.
-
New POST
/messaging/mailboxes/{mailboxId}/recorder/send
Send a recorded message to a list of recipients.
-
New POST
/messaging/mailboxes/{mailboxId}/recorder/stop
Stop currently recording on a message.
-
New GET
/messaging/mailboxes/{mailboxId}/voicemails
Retrieve all user's voicemails
-
New DELETE /messaging/mailboxes/{mailboxId}/voicemails
Delete specified voicemails.
-
New GET /messaging/mailboxes/{mailboxId}/voicemails/{voicemailId}
Retrieve a given user's voicemail, containing the full details (including the
URL).
-
New
POST
/messaging/mailboxes/{mailboxId}/voicemails/{voicemailId}/callback
Call back the sender of a voice message.
-
New OnMessageAdded
Event sent when a new voice message has been stored in the user's mailbox.
-
New OnMessageDeleted
Event sent when a voice message has been deleted from the user's mailbox.
-
New OnMessageUpdated
Event sent when a voice message status has been updated.
-
Adding in the object
“SessionInfo” (session management)
“admin” Optional parameter, indicate if the session has
been opened by an administrator
-
Adding in
object “ApplyProfileRoutesRequest” (routing management)
“otherNumber”
Optional
parameter, For
"OTHER" and "OTHER_AND_MOBILE" profiles only
- Adding examples in object “criterion” (directory search)
-
Adding in
object “User” (User information)
“dialingRule”
Optional
parameter,
User's dialing rule description
-
Adding in
object “UserPreferences” (User information)
“telephony”
Optional
parameter,
User's telephony preferences
-
Adding in
object “Selector” (Subscription management)
“format”
Optional
parameter,
Preferred serialization format
-
Adding in
object “SubscriptionRequest” (Subscription management)
“timeout” behavior: Default lifetime
of the channel opened between the server and the client. After that time, in
minutes, the server can close the connection. It is up to the client to
reconnect. Allowed values are 2 minutes and 60 minutes, with an exception for
the value 0. For this special case, the lifetime of the notification channel is
not maintained by the given timeout, but depends on the lifetime of the user's
session.
This new method provides extra information about the server hosting the REST API:
o
productName
Friendly description of the product (e.g. 'OpenTouch Multimedia Services')
o
productType
Short name of the product (e.g. OTMS, OTMC, ...).
o
productVersion
Version of the product.
-
New GET /
Extra
information about the server hosting the REST API
-
Update
“ForwardRoute” object.
Change the name “overflowType” to “forwardType”
(Standard user ONLY) Optional condition to
forward route for STANDARD users.
END OF DOCUMENT