Introduction

Overview

First of all, if necessary, ALE can offer you a quote for a Mentoring Service Pack
which will help you with O2G deployment and the use of O2G APIs with the support of dedicated ALE experts.
Contact your ALE representative for more details.

This package is not embedded in OXE, and it is able to address the installed OXE(s).

O2G API services are available according to the following rules regarding the licenses :   O2G API services characterized in this way can be invoked without O2G license.
  O2G API services characterized in this way require an O2G license [license name] of boolean type.
  These services can only be invoked if the corresponding O2G license [license name] value is TRUE.
  O2G API services characterized in this way require an O2G license [license name] that determines the maximum number
  of distinct OXE users (*) that can be controlled using these APIs, regardless of the number of active application sessions on O2G.
  For instance, if multiple application sessions need to collectively control up to 100 distinct OXE users through such API services,
  the corresponding O2G license [license name] value must be set to 100.
  (*) In that case, OXE users are OXE subscribers for whom the A4980 attribute (ClickAndPh) has been set to a value that differs from the NONE value.
  Notes:
  - Some OXE subscribers types can't have the right A4980 (Example: ANALOG devices).
  - Directory numbers must be only digits to be monitored (Numbers without #, *, A, B, C or D char).
  O2G API services characterized in this way require the corresponding O2G license [license name] to be set to the maximum number of OXE subscribers
  (regardless of the value of their A4980 attribute) across all OXE nodes.
  O2G API services characterized in this way require O2G license [License name] to be set to the fixed value of N.
  Note: O2G license [License name] may also be required when using O2G API services enabling OXE user control.
  If both types of O2G API services are used, the value of O2G license [License name] must be set to the number of distinct OXE users controlled by the API plus N.
  For instance, if the need is to control up to 100 distinct OXE users through O2G API services subject to O2G license [License name] and
  to invokes O2G API services that require the fixed value of 40 O2G license [License name] ,
  O2G license [License name] value has to be set to 100 (OXE users) plus 40 (fixed number) = 140.

Each resource can be accessed through the following kind of URL:
http(s)://<host>:<port>/api/rest/<version>/<resource _name>
Where: Third party application can get available API versions by performing a GET http request on the root URL
(Only GET operation is available on this resource, else 405 HTTP error "Method Not Allowed" in returned)
The structure of the returned body can be found in RoxeRestApiDescriptor.
http(s)://<host>:<port>/api/rest

Example of response :
{
	"serverInfo": {	
		"productName": "O2G Solution",
		"productType": "O2G",
		"productVersion": {
			"major": "2.6",
			"minor": "000.000"
			},
		"haMode": true	
		},
	"versions" : [{
		"id" : "1.0",
		"status" : "CURRENT",
		"publicUrl" : "https://public-server/api/rest/authenticate?version=1.0",
		"internalUrl" : "https://server/api/rest/authenticate?version=1.0"
		}],
	"custoFeatures" : [{
		"CCD_LOAD_OPE_CCA" : true,
		"HOTEL_LOAD_Z_GUESTS" : true
		}]
}
Notes : The customizable options (custoFeatures) are: To validate these options, "customize.properties" file must be created in /var/data/system directory.
The allowed parameters are "acd.loadOpeCca" and "hotel.loadZGuests".
Example of content:
acd.loadOpeCca=true
hotel.loadZGuests=true

History

2.7.12.7

Change logs

Complete changes history can be found here.

Authentication mechanism

All resources are protected by the authentication mechanism.
A dedicated resource is provided to perform user/administrator authentication :
http(s)://<host>:<port>/api/rest/authenticate?version=1.0

The first action for an application is to authenticate on O2G.
Authentication is basic HTTPS authentication, based on a login and password.
The login is:
The password is:
The credentials (login and password) are first checked to see if they correspond to an O2G administrator or an OXE subscriber. JWT authentication is implemented to provide an identifier based on credentials. This identifier must be passed in a cookie (AlcUserId) in all subsequent HTTPS requests, so that O2G can check their validity. See below a sequence diagram for a Basic authentication
No picture Example:
  Request
	GET http://server/api/rest
  Response :
	200 OK
	Content-Type:  application/json
	{ 
		"versions" : [ {
		"id" : "1.0",
		"status" : "CURRENT",
		"publicUrl" : "https://public-server/api/rest/authenticate?version=1.0",
		"internalUrl" : "https://server/api/rest/authenticate?version=1.0"
		} ] 
	} 
  
  Request :
	GET https://server/api/rest/authenticate?version=1.0
	Authorization: Basic aW50ZXJuYWwyOTphbGNhdGVsMjk=

  Response :
  	200 OK 
Set-Cookie: AlcUserId=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJpbnRlcm5...; Path=/ Content-Type: application/json { "credential" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJpbnRlcm5...", "publicUrl" : "https://public-server/api/rest/1.0/sessions", "internalUrl" : "https://server/api/rest/1.0/sessions" }

Session creation

All services are invoked through a session (user or administrator one).
The resource to perform user/administrator session creation is:
http(s)://<host>:<port>/api/rest/1.0/sessions
The session creation request and all the subsequent requests must contain the Cookie AlcUserId with value equals to the one received in the Set-Cookie of the authentication response.
Important: all the sessions are created with an initial time-to-leave of 1800 seconds (30 minutes): To see how to maintain the session, refer to SESSION MANAGEMENT chapter. Example:
  Request
	POST /api/rest/1.0/sessions HTTP/1.1

Content-Type: application/json
Host: (server address)
Cookie: AlcUserId=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJpbnRlcm5...
...
{
[body] : refer to Session Management section
}

  Response :
	200 OK
	Server: Apache/2.4.23
	Set-Cookie: JSESSIONID=88C00EA2B3C482E19825F1184D0BB50E.tomcat; Path=/api
	Content-Type:  application/json
	{ 
 		"timeToLive": 1800,
  		"publicBaseUrl": "http://public-server/api/rest/1.0",
  		"privateBaseUrl": "https://server/api/rest/1.0",
  		"services": [
    		{...
  
  


O2G Services Through Websocket

O2G REST service may be used through a websocket. This configuration could be interesting in a context where the security must be improved or if the opening of http ports on the local domain is considerd as an issue.
The solution is to use a reverse HTTP proxy over web socket. The aim is to provide a secure connection setup from the internal network to the external network in order to tunnel the API requests to internal O2G APIs from the external third party client.
A Web Socket agent run in the internal network (in front end of O2G API) establishes a single connection to a remote Web Socket server in secure mode. The Web socket agent is included in the O2G solution and may be configured thanks to the O2G configuration tool.
The web socket server side is not handled by O2G solution and it remains to the client to provide it.
A json formatted message protocol is used in the websocket to translate the http REST requests and responses.
In the same manner, the events the client has subcribed to are sent back by O2G through this socket towards the application. Moreover, an identifier may used as query parameter in the subscription request: in that manner, the events correponding to this susbscription will be automatically sent to the client through the web socket with this identifier (no need to open a chunk channel).
No picture
Here is the Ws protocol map: No picture
Example of request/response for authentication through WS protocol:
No picture
Example of request/response for subscription through WS protocol:
No picture
Example of event through WS protocol:
No picture

Error management

Management of errors returned by REST services invocation follows the common practise which consists of providing as much information as possible to the user.
The returned information structure contains several fields, targetting all possible users of the API: see RestErrorInfo
The complete list of REST API errors is the following:
typecodehelpMessagecanRetry
NOT_READY1000The server is not yet available. Please retry later if the initialization is not finished.true
INVALID_SESSION1001No valid session found for the given identifier. Please logout and login with correct credentials.true
NOT_ALLOWED1002The operation is not allowed, because of insufficient rights or bad credential. Please contact the administrator to fix the problem.false
NOT_FOUND1003Missing or bad parameter sent by a request on a service. Fix the problem and retry.true
NOT_EXPECTED1004The request can not be performed due to current user's state.Check the state or fix your request before sending it back.true
NOT_SUPPORTED1005This operation is not supported. Please check the documentation.false
BAD_PARAMETER1006Request parameters are not correct. Please fix the problem and send the request back.true
SERVER_PROBLEM1007Server general problem. Please contact the administrator to fix the problem.false
Example 1: The service in charge of executing the invoked request is not installed, or the server is not properly configured.
{
	"httpStatus":"SERVICE_UNAVAILABLE",
	"code":1007,
	"helpMessage":"Server general problem. Please contact the administrator to fix the problem.",
	"type":"SERVER_PROBLEM",
	"innerMessage":"AlcChameleonException.PLUGIN_NOT_INSTALLED 'PLUGIN_NAME' plugin is not installed",
	"canRetry":false
}
Example 2: Invalid session. The application has to log out, if previously logged in, and retry to log in.
{
	"httpStatus":"FORBIDDEN",
	"code":1001,
	"helpMessage":"No valid session found for the given identifier. Please logout and login with correct credentials.",
	"type":"INVALID_SESSION",
	"innerMessage":"AlcChameleonException.BAD_FRAMEWORK_SESSION_IDENTIFIER No framework session in API with this ID : ...323437343",
	"canRetry":true
}

High Availability (HA)

The HA solution is based on the redundancy of the server in a Primary/Secondary server pair.
Licenses :
Required in CAPEX mode (FlexLM server): ROXE_HA - true.
Required in OPEX mode (LMS server): No license required (free).

Client code samples

Representations

boolean
'boolean' is a data type, having two values (true and false).
DestinationType
Lists the different types of a destination.
ValueDescription
OFFICEDestination is office device(deprecated).
MOBILEDestination is mobile device(deprecated).
VOICEMAILDestination is the voice mail of the user.
NUMBERDestination is a number.
Used in forward routes.
UNKNOWNUnknown destination type.
HttpStatus
List of all HTTP status.
ValueDescription
CONTINUE100 Continue
SWITCHING_PROTOCOLS101 Switching Protocols
PROCESSING102 Processing
OK200 OK
CREATED201 Created
ACCEPTED202 Accepted
NON_AUTHORITATIVE_INFORMATION203 Non-Authoritative Information
NO_CONTENT204 No Content
RESET_CONTENT205 Reset Content
PARTIAL_CONTENT206 Partial Content
MULTI_STATUS207 Multi-Status
ALREADY_REPORTED208 Already Reported
IM_USED226 IM Used
MULTIPLE_CHOICES300 Multiple Choices
MOVED_PERMANENTLY301 Moved Permanently
FOUND302 Found
MOVED_TEMPORARILY302 Moved Temporarily
SEE_OTHER303 See Other
NOT_MODIFIED304 Not Modified
USE_PROXY305 Use Proxy
TEMPORARY_REDIRECT307 Temporary Redirect
BAD_REQUEST400 Bad Request
UNAUTHORIZED401 Unauthorized
PAYMENT_REQUIRED402 Payment Required
FORBIDDEN403 Forbidden
NOT_FOUND404 Not Found
METHOD_NOT_ALLOWED405 Method Not Allowed
NOT_ACCEPTABLE406 Not Acceptable
PROXY_AUTHENTICATION_REQUIRED407 Proxy Authentication Required
REQUEST_TIMEOUT408 Request Timeout
CONFLICT409 Conflict
GONE410 Gone
LENGTH_REQUIRED411 Length Required
PRECONDITION_FAILED412 Precondition failed
REQUEST_ENTITY_TOO_LARGE413 Request Entity Too Large
REQUEST_URI_TOO_LONG414 Request-URI Too Long
UNSUPPORTED_MEDIA_TYPE415 Unsupported Media Type
REQUESTED_RANGE_NOT_SATISFIABLE416 Requested Range Not Satisfiable
EXPECTATION_FAILED417 Expectation Failed
INSUFFICIENT_SPACE_ON_RESOURCE419 Insufficient Space on Resource
METHOD_FAILURE420 Method Failure
DESTINATION_LOCKED421 Destination Locked
UNPROCESSABLE_ENTITY422 Unprocessable Entity
LOCKED423 Locked
FAILED_DEPENDENCY424 Failed Dependency
UPGRADE_REQUIRED426 Upgrade Required
TOO_MANY_REQUESTS
INTERNAL_SERVER_ERROR500 Internal Server Error
NOT_IMPLEMENTED501 Not Implemented
BAD_GATEWAY502 Bad Gateway
SERVICE_UNAVAILABLE503 Service Unavailable
GATEWAY_TIMEOUT504 Gateway Timeout
HTTP_VERSION_NOT_SUPPORTED505 HTTP Version Not Supported
VARIANT_ALSO_NEGOTIATES506 Variant Also Negotiates
INSUFFICIENT_STORAGE507 Insufficient Storage
LOOP_DETECTED508 Loop Detected
NOT_EXTENDED510 Not Extended
int
'int' is a 32-bit number (-2147483648 to 2147483647).
ProductVersion
Give information about the version installed on the server.
NameTypeCardinalityDescription
majorstring[0..1]Major version of the product. This field should help to identify the release of a product.
minorstring[0..1]Minor revision of the product. This field is for internal needs.
[+] : JSON Example
RestErrorInfo
Contains all information from errors sent while invoking REST operations on resources.
NameTypeCardinalityDescription
httpStatusHttpStatus[0..1]The HTTP status.
codeint[0..1]A REST API error code, linked with the above type, to help the user's application to quickly differentiate possible errors.
helpMessagestring[0..1]A help message, associated with the above type and code, providing a more detailed cause of the error.
typestring[0..1]A REST API error type, which group all possible underlying errors in a finite number of possibilities.
innerMessagestring[0..1]This message contains relevant information to help an administrator or support team to find the cause of the problem.
canRetryboolean[0..1]An indication for the developer of the application if the error can be solved by modifying the request, or if it is a problem on server side.
routingRoutingErrorInfo[0..1]Extra details if errors are generated by a routing service request.
telephonyTelephonyErrorInfo[0..1]Extra details if errors are generated by a telephony service request.
userPreferencesUserPreferencesErrorInfo[0..1]Extra details if errors are generated by a userPreferences service request.
[+] : JSON Example
RoutingErrorCause
Lists the different routing error causes.
ValueDescription
UNKNOWNUnknown routing error cause.
BAD_PHONE_NUMBER_FORMATThe phone number does not comply with formating rules. Examples:
  • The phone number does not respect the following regular expression: [+]?[0-9A-D*#\\(\\) ]{1,49}
  • The nomadic OTHER number must be canonical.
INVALID_CURRENT_DEVICEThe given device number as current device is not valid. Examples:
  • The device is not in an acceptable state to be used (e.g. not registered).
INVALID_FORWARD_ROUTEThe given forward route is not valid. Examples:
  • More than 1 forward route is specified.
  • The forwarded destination type is not one of USER / VOICEMAIL / NUMBER for a STANDARD user.
  • The forwarded destination is not acceptable.
  • A loop in the forward chain has been detected.
INVALID_OVERFLOW_ROUTEThe given overflow route is not valid. Examples:
  • More than 1 overflow route is specified.
  • The overflow type is not specified.
  • The overflow destination type is not one of VOICEMAIL / ASSOCIATE for a STANDARD user.
  • The overflow destination is not acceptable.
NULL_OR_EMPTY_PARAMETERParameter must not be null nor empty.
NULL_PARAMETERParameter must not be null.
UNAUTHORIZED_CANCEL_OVERFLOWCancel overflow has been rejected because of barring rules.
UNAUTHORIZED_NOT_A_USERThe destination type is set to USER, but the number does not correspond to a user.
UNAUTHORIZED_OVERFLOWOverflow has been rejected because of barring rules.
UNAUTHORIZED_PHONE_NUMBERThe given phone number is unauthorized. Examples:
  • Barring as rejected the number in OTHER destination.
  • The user set his own number in an overflow route.
  • The destination can not be a service number.
  • The destination is a voicemail, but user has no rights to use it.
  • The destination is one of the user's device.
RoutingErrorInfo
Complementary information for routing errors.
NameTypeCardinalityDescription
errorTypeRoutingErrorType[0..1]The routing error type.
destinationTypeDestinationType[0..1]The routing destination for which the error occurred.
errorCauseRoutingErrorCause[0..1]The probable routing error cause.
messagestring[0..1]An additional textual error information provided by the routing service.
[+] : JSON Example
RoutingErrorType
Lists the different routing error types.
ValueDescription
UNKNOWNUnknown routing error.
BAD_PARAMETER_VALUEThe routing service has rejected the request for a bad or missing parameter reason.
UNAUTHORIZEDRouting service request has been rejected because of limitation configured on the concerned user. Examples:
  • Overflow on busy is not allowed (barring limitation).
  • Cancel overflow is not allowed: (barring limitation).
  • Phone number to OTHER destination is not authorized (dial plan limitation).
INVALID_OPERATIONRequested operation is not supported by the routing service.
INCOMPLETE_PHONE_NUMBERThe provided phone number can not be fully resolved in the current dial plan. Example:
  • Setting route with a destination type OTHER, containing a partially matching number (e.g. 3253 instead of 32535).
UNKNOWN_PHONE_NUMBERThe provided phone number can not be resolved in the current dial plan. Example:
  • Setting route with a destination type NUMBER, containing an unknown number.
RoxeRestApiDescriptor
High level information of the server and supported REST API versions.
NameTypeCardinalityDescription
serverInfoServerInfo[0..1]Provide extra information about the server hosting the REST API.
versionsVersion[1..*]List of the versions supported on the server.
custoFeaturesstring[0..*]List of customized feature (informative) added on the server.
[+] : JSON Example
ServerInfo
Provide information on the server.
NameTypeCardinalityDescription
productNamestring[1]Friendly description of the product.
productTypestring[1]Short name of the product.
productVersionProductVersion[0..1]Version of the product.
haModeboolean[0..1]Indicate if the server is in High Availability mode.
[+] : JSON Example
string
'string' represents character strings.
TelephonyErrorCause
Lists the different telephony error causes.
ValueDescription
UNKNOWNUnknown telephony error cause.
INVALID_CALLINGThe call server can not process the request because the calling device is not an acceptable one.
INVALID_DESTINATIONDestination is not a correct number.
INVALID_CALL_IDThe referenced call identifier is not valid.
INVALID_CONNECTION_STATEThe current state of the call does not permit
DEVICE_OUT_OF_SERVICEThe device is not in service.
INVALID_DEVICEThe device is not in valid.
INVALID_DEVICE_STATEThe device state is incompatible with the request.
INVALID_DATAThe data parameter has invalid value.
RESOURCE_BUSYThe destination is busy. All the user phone lines are already engaged.
TelephonyErrorInfo
Complementary information for telephony errors.
NameTypeCardinalityDescription
errorTypeTelephonyErrorType[0..1]The telephony error type.
errorCauseTelephonyErrorCause[0..1]The probable telephony error cause.
messagestring[0..1]An additional textual error information provided by the telephony service.
[+] : JSON Example
TelephonyErrorType
Lists the different telephony error types.
ValueDescription
UNKNOWNUnknown telephony error.
CALL_REFERENCE_NOT_FOUNDAny operations involving an invalid call reference.
LEG_NOT_FOUNDThe telephony service can not execute the request because the leg can not be found. Examples:
  • Recording online requested, but no active leg found.
BAD_PARAMETER_VALUESome parameters attached to the request are not correct. Examples:
  • A user tried to make a call with some associated data bigger than 32 bytes.
  • Dropping an unknown participant from a call.
INCOMPATIBLE_WITH_STATEThe telephony service can not execute the request because the current telephony state does not permit such operation. Examples:
  • Merging or transferring call requested but user state with one active call and one held call not found.
SERVICE_NOT_PROVIDEDThe telephony service can not execute the request because the corresponding service is not provided in this context.
SERVICE_UNAVAILABLEThe telephony service can not execute the request because it relies on another service which is unavailable. Examples:
  • Redirecting to voicemail is requested, but user has no voicemail.
  • Online recording is requested for , but user has no voicemail.
INITIALIZATIONThe telephony service is starting up and has not finished its initialization.
UNAUTHORIZEDTelephony service request has been rejected. Examples:
  • The user has already a call ongoing and he has only a BASIC TELEPHONY license.
  • The user tried to add one of his device as a call participant.
  • The user tried to switch a call to a device not belonging to him.
CALL_SERVER_ERRORTelephony service request failed because of an error generated by the call server. More details can be provided by the call server TelephonyErrorCause.
REQUEST_TIMEOUTAn operation invoked on the telephony service has exceeded the expected response timeout (default 5 seconds).
MAX_RESOURCES_EXCEEDEDThe maximum resource number is exceeded by the request.
UserPreferencesErrorInfo
Complementary information for userPreferences errors.
NameTypeCardinalityDescription
errorTypeUserPreferencesErrorTypeDTO[0..1]Precision on error
parameterUserPreferencesParameterDTO[0..1]Parameter name
[+] : JSON Example
UserPreferencesErrorTypeDTO
ValueDescription
UNKNOWNUnexpected error
WRONG_VALUEValue not expected
WRONG_NUMBER_FORMATWrong number format
UserPreferencesParameterDTO
ValueDescription
GUI_LANGUAGEUser GUI language
Version
NameTypeCardinalityDescription
idstring[1]Identifier of the version (e.g. '1.0').
statusstring[1]Status of the given version. 'CURRENT' means this is the latest version on the server.
publicUrlstring[1]Authentication URL to use from public (i.e. internet) access.
internalUrlstring[1]Authentication URL to use from private (i.e. intranet) access.
[+] : JSON Example

Session management

Presentation

The Session service allows a user or an administrator to open a session on the O2G server. This is a prerequisite to any service usage and must happened after the authentication stage.
A session is created with an initial time-to-leave of 1800 seconds (30 minutes): the application is responsible to keep the session alive by posting /sessions/keepalive request or other requests before each expiration of the timer. The TTL of the session is re-initialized on each request. If the TTL expires, the session is closed by the server.

Resources summary

ResourceMethodDescription
/sessionsGETGets information of the opened session.
POSTOpen a session for a user or an administrator.
DELETECloses a Session.
/sessions/keepalivePOSTRestarts the session timer.

Resources

/sessions

Methods
GET/sessions
Gets information of the opened session.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200SessionInfoapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
POST/sessions
Open a session for a user or an administrator. This is the first thing to do before invoking any others resources. The user or the administrator session is identified by its authentication cookie. This one must be provided for the session creation request to the server. This authentication key is obtained after a successful authentication (See Authentication mechanism chapter)
A session can be opened only once (same authentication cookie), if the session is already open an error is returned (Forbidden). (With different authentication cookies, one user may open several sessions.
In each case, the obtained reference to the Session must be released using the logout operation (DELETE).
The Session is closed either after the reference has been released (after a call to the DELETE operation) or after the session timer ends.
3 types of Sessions exist:
  • User Session: The credential (cookie) used to open the session, is the one of a User. In case of success, this credential will be used to identify the Session and the User. This Session allows a User to use any other service.
  • Administrator Session: The credential (cookie) used to open the session, is the one of a Administrator. In case of success, this credential will be used to identify the Session and the Administrator. This Session allows a Administrator to use any other services.
  • A Administrator Session can also be used by an Application (as an Application account) to supervise several Users in a same Session. Such a session allows an Application to use the User oriented services.
  • Supervised Session: This kind of Session is opened thanks to the supervisor operation. This operation uses the credential of a Administrator (with supervisor role) and the identification of a User or another Administrator (login name, phone number or e-mail) to open the Session. In case of success, this credential will be used in all subsequent requests, to identify the Session, and the supervised User or Administrator. After the session opening, a Supervised Session can be used like a User Session or a Administrator Session (described above). In other words, this Session allows a Supervisor to use any other services as if it was opened by the User or Administrator.



Detail of the "applicationName" field : A session may be opened with:

  • a simple application name which is only useful for logging or statistic purpose
  • an encrypted bypass token given including a list of authorized services with a limited usage date. In this case, no license is taken at service request; furthermore, the response to the session creation returns the expiration date of the bypass token.

Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SessionRequestapplication/json
This element is used to open a Session.
Response
codetypemedia typesdescription
200SessionInfoapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Creation of a user session

[+] : Creation of an administrator session

[+] : Creation of a supervised user session

[+] : Creation of a session with a token

[+] : Creation of an administrator session, 2 other sessions already exist on this user: the result returns the identifiers of each.

DELETE/sessions
Closes a Session.
When the Session is closed (following the call to this operation or due to a session time out),
all license references are released and all services sessions are closed.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
header parameters
parametertypedescription
Authorizationstring
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content (The session is closed)
400application/json
Bad Request
403application/json
Forbidden (The session is already closed)
500application/json
Internal Server Error (The session doesn't exist)
503application/json
Service Unavailable

/sessions/keepalive

Methods
POST/sessions/keepalive
Restarts the session timer.
To keep the session open, if there is no request before session timeout.

Each Session is limited in time.
The initial duration of a session is fixed to 30 minutes(1800 secs).
Each time a Session is used(using this method or any one else), the session timer is automatically restarted.
In case a secure token has been used to create the session, its expiration date will be returned.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
header parameters
parametertypedescription
Authorizationstring
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200SessionTokenInfoapplication/json
OK (in case a secure token has been used to create the session)}
204application/json
No Content (The session timer has been correctly refreshed)
400application/json
Bad Request
403application/json
Forbidden (The session doesn't exist)
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : KeepaLive of a session with a token

Representations

boolean
'boolean' is a data type, having two values (true and false).
int
'int' is a 32-bit number (-2147483648 to 2147483647).
Service
This value contains all available information about a local service.
NameTypeCardinalityDescription
serviceNamestring[1]This value contains the name of the service.
serviceVersionstring[0..1]This value contains the version of the service, which allows an application to check its compatibility with the service.
relativeUrlstring[1]This value contains the relative URL of the service, which allows a consumer to access it.
[+] : JSON Example
SessionInfo
Session information.
NameTypeCardinalityDescription
adminboolean[0..1]Indicate if the session has been opened by an administrator.
timeToLiveint[0..1]The TTL time-out applied on the Session in seconds.
publicBaseUrlstring[0..1]This value contains the public base URL which must be used by a consumer to access services from the Internet.
privateBaseUrlstring[1]This value contains the private base URL of the service, which must be used by a consumer to access services from a local network.
servicesService[0..*]All information available about the local services provided by public API for the current user.
creationDatestring[0..1]

Since version 2.7

when this session has been created
expirationDatestring[0..1]in case of secured token used to create the session, the expiration date of the token
otherSessionsUserSession[0..*]

Since version 2.7

List of all previous sessions opened by this user and still alive.
[+] : JSON Example
Associated methods :
SessionRequest
This element is used to open a Session.
NameTypeCardinalityDescription
applicationNamestring[1] Application name corresponds either to a simple identifier which is only useful for logging or statistic purpose or an encrypted token including a list of authorized services with a limited usage date (in this last case, no license is taken).
applicationAddressstring[0..1]Application address.
supervisedAccountSupervisedAccount[0..1]Identifier used to retrieve the supervised user (Administrator authentication but user session).
[+] : JSON Example
Associated method :
SessionTokenInfo
Session information on Keep alive when a secured token is used
NameTypeCardinalityDescription
expirationDatestring[0..1]in case of secured token used to create the session, the expiration date of the token
[+] : JSON Example
Associated method :
string
'string' represents character strings.
SupervisedAccount
The supervised user description.
NameTypeCardinalityDescription
idstring[1]The identifier itself. The type of this value is given by the SupervisedAccountType attribute.
typeSupervisedAccountType[1]Gives the type of the identifier.
[+] : JSON Example
SupervisedAccountType
The supervised account type values.
ValueDescription
LOGIN_NAMEThe identifier is a login name.
PHONE_NUMBERThe identifier is a phone number.
UserSession
User Session information.
NameTypeCardinalityDescription
sessionIdstring[0..1]The session identifier
creationDatestring[0..1]The creation date of this session
timeToLiveint[0..1]The residual TTL of the Session in seconds. The value 0 indicates that the session duration is finished and will be soon disappear, but the Thread which purges the sessions has not yet been triggered (It is triggered every 5 minutes).
[+] : JSON Example

User information

Presentation

The User service allows

Resources summary

ResourceMethodDescription
/loginsGETAn administrator can get the list of the users (login name).
/usersGETFind information about a user from a company phone.
/users/{loginName}GETGets information about a user account.
/users/{loginName}/passwordPUTChange user's password.
/users/{loginName}/preferencesGETGets information about user's preferences.
POSTUpdates information about user's preferences.
/users/{loginName}/preferences/supportedLanguagesGETGets information about supported languages for user's GUI language preference:
  • Supported languages

Notifications summary

NotificationDescription
OnUserCreated

This event is sent on creation of an user (only for administrator).

OnUserDeleted

This event is sent when user is deleted (only for administrator).

OnUserInfoChangedThis event is sent on any change on the user's data.

Resources

/logins

Methods
GET/logins
An administrator can get the list of the users (login name).
For a user, only personal information (login name) is returned.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
query parameters
parametertypedescription
nodeIdsstringThis parameter is an optional search criterion which allows to select only the users belonging to the given pbx node(s).
The given value must be one OXE nodeId or a comma separated list of nodeId.
(Note: this parameter can only be used by an administrator).
onlyACDbooleanThis parameter is another optional search criterion which allows to select only the ACD operators (agents or supervisors).
This parameter has no value.
(Note: this parameter can only be used by an administrator).
onlyWithExtLoginbooleanThis parameter is another optional search criterion which allows to select only users with valid external login.
This parameter has no value.
(Note: this parameter can only be used by an administrator).
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200LoginsResponseapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get information with a user role. The session was opened by a user.

[+] : Get all user's logins with an administrator role. The session was opened by an administrator.

[+] : Get all user's logins belonging to OXE node 7 or 8. The session was opened by an administrator.

[+] : Get all user's logins corresponding to ACD operators (agents or supervisors) The session was opened by an administrator.

[+] : Get all user's logins belonging to OXE node 5 and 7 and corresponding to ACD operators (agents or supervisors) The session was opened by an administrator.

/users

Methods
GET/users
Find information about a user from a company phone.
This operation provides useful information to the application:
  • Name and first name of the user
  • User's internal login name
  • User's phone number
  • User's voicemail information
  • User's list of devices
  • ...
Remark: only one query parameter can be used at a time. If no query parameter a BAD_REQUEST error will be generated.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
query parameters
parametertypedescription
companyPhonestringCompany phone of the user to retrieve the account description.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, information about the concerned user User
codetypemedia typesdescription
200Userapplication/json
Returns the result code and, if the code is SUCCESS, information about the concerned user User
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get information about another user's account.

/users/{loginName}

Methods
GET/users/{loginName}
Gets information about a user account.
This operation provides useful information to the application:
  • Name and first name of the user
  • User's internal login name
  • User's phone number
  • User's voicemail information
  • User's list of devices
  • ...
An application should invoke this method just after the open session step to know the user's account description.
A server application which is interested by retrieving data of the user using this method must invoke it only when it is necessary and then cache the result.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the account description.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, information about the concerned user User
codetypemedia typesdescription
200Userapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get information about the user's account for which the session is opened.

Associated notifications

/users/{loginName}/password

Methods
PUT/users/{loginName}/password
Change user's password.
This operation allows a user or an administrator to change its password
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to change the password.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
ChangePasswordRequestcontaining the old and the new passwords
Response
Returns the result code and
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable

/users/{loginName}/preferences

Methods
GET/users/{loginName}/preferences
Gets information about user's preferences.
This operation provides useful information to the application:
  • User's GUI language
  • ...
Here, the correspondence table of the different languages between OXE and O2G.
OXE language GUI language
Arabic_D ar
Arabic_FV ar-fv
Australian en-au
Austrian de-at
Bahasa_Malay id
Brazilian br
Bulgarian bg
Canadian_French fr-ca
Cantonese ca-?
Catalonian ca
Croat hr
Czech cs
Danish da
Egyptian_FV eg-fv
Egyptian_MV eg-mv
English_Africa en-af
English_UK en-gb
Estonian et
Finnish fi
Flemish nl-be
French fr
French_Swiss fr-ch
Generic_English en
German de
German_Swiss de-ch
Greek el
Hebrew he
Holland nl
Hungarian hu
Icelandic is
Irish ga
Italian it
Italian_Swiss it-ch
Japanese ja
Korean ko
Latvian lv
Lithuanian lt
Malay ms
Mandarin_China zh
Mandarin_Taiwan zh-tw
Norwegian no
Persian fa
Polish pl
Portuguese pt
Rumanian ro
Russian ru
Slovene si
Spanish es
Spanish_America es-us
Swedish sv
Thai th
Turkish tr
US_English en-us
Valenciano ca-es
Vietnamese vi
Yugoslav yu
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the preferences.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, preferences about the concerned user UserPreferences
codetypemedia typesdescription
200UserPreferencesapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get user's preferences for which the session is opened.

POST/users/{loginName}/preferences
Updates information about user's preferences.
This operation provides useful information to the application:
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
path parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
UserPreferencesapplication/json
Response
Returns the result code.
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : set user's preferences for which the session is opened.

Associated notifications
OnPreferencesChanged

/users/{loginName}/preferences/supportedLanguages

Methods
GET/users/{loginName}/preferences/supportedLanguages
Gets information about supported languages for user's GUI language preference:
  • Supported languages
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the supported languages.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, supported languages about the concerned user
codetypemedia typesdescription
200SupportedLanguagesapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get user's supported languages for which the session is opened.

Representations

ChangePasswordRequest
Request to change password of the user
NameTypeCardinalityDescription
oldPasswordstring[1]Old password
newPasswordstring[1]New password
[+] : JSON Example
Associated method :
Device
Describe a device.
NameTypeCardinalityDescription
typeDeviceType[0..1]Device's type.
idstring[0..1]Device identifier which is used to identify the device in telephony requests and events.
subTypestring[0..1]Device's subtype : For a DESKPHONE type, we could have : ANALOG, NOE_C_Color_IP, ...
[+] : JSON Example
Associated method :
DeviceType
The device type values.
ValueDescription
DECTA wireless phone set used within the enterprise.
DESKPHONEA phone set on an office's desk.
MOBILEA mobile phone.
SOFTPHONEA phone started from a computer with VOIP.
LoginsResponse
The get logins response.
NameTypeCardinalityDescription
loginNamesstring[1..*]List of logins matching the request.
[+] : JSON Example
Associated method :
OnUserCreated

This event is sent on creation of an user (only for administrator).

There is no control on the 'ids' provided in the 'Selector' filter of the subscription filter (subscription done for all users).

NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnUserCreated'
userUser[1]The created user object.
[+] : JSON Example
OnUserDeleted

This event is sent when user is deleted (only for administrator).

There is no control on the 'ids' provided in the 'Selector' filter of the subscription filter (subscription done for all users).

NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnUserDeleted'
loginNamestring[1]The login name of the deleted user.
[+] : JSON Example
OnUserInfoChanged
This event is sent on any change on the user's data.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnUserInfoChanged'
loginNamestring[0..1]Login name of the user receiving the event.
userUser[1]The changed user object.
[+] : JSON Example
Associated method :
string
'string' represents character strings.
SupportedLanguages
The get supported languages.
NameTypeCardinalityDescription
supportedLanguagesstring[1..*]List of supported languages.
supportedGuiLanguagesstring[0..*]Gets the value of the GUI supported languages list.
[+] : JSON Example
Associated method :
User
The description of a user
NameTypeCardinality*1Description
companyPhonestring[0..1]User's company phone number.
firstNamestring[0..1]First name of the User or Administrator owner of this Account. Note: Corresponds to the "UTF8_Phone_Book_First_Name" parameter. If this one is empty, it is the parameter "Annu_First_Name" which is taken into account.
lastNamestring[0..1]Last name of the User or Administrator owner of this Account. Note: Corresponds to the "UTF8_Phone_Book_Name" parameter. If this one is empty, it is the parameter "Annu_Name" which is taken into account.
loginNamestring[0..1]Login name which identifies the User Account.
voicemailVoicemail[0..1]User's voicemail description.
devicesDevice[0..*]XUser's devices.
nodeIdstring[0..1]Node Id on which user is attached
externalLoginstring[0..1]

Since version 2.7

External login of the user if set (only available with oxe > n1.271)
*1 : attribute only provided if the user is the session's owner or for an administrator session.

[+] : JSON Example
Associated methods :
UserPreferences
The preferences of a user
NameTypeCardinalityDescription
guiLanguagestring[0..1]GUI Language of the User or the Administrator.
oxeLanguagestring[0..1]OXE Language of the User or the Administrator.
[+] : JSON Example
Associated methods :
Voicemail
Describes user's voicemail.
NameTypeCardinalityDescription
numberstring[1]Voicemail number.
typeVoicemailType[1]Voicemail type.
[+] : JSON Example
VoicemailType
Voicemail type values
ValueDescription
VM_4635Integrated 46x5 voice mail system
VM_4645Integrated 46x5 voice mail system
EXTERNALExternal voice mail systems

Subscription management

Presentation

Management of all subscription related resources. Once subscription to events is performed, client should instantiate the HTTP Chunk notification channel.

To be eligible to event notification, client must fulfill the following conditions:

Subscription to event notification is done by declaring the exact names of the events the client wants to be notified on. Another possibility is to subscribe to a set of events, grouped per domain. These sets of events are also called event packages. Supported event packages for API Openness are:

To declare these events or packages in a subscription request, one or several selectors must be used (at least one per event package).

It is not possible to mix event names of different packages inside the same selector: different selectors must be used in such case.

It is possible for an administrator only to subscribe for event for all the users of the system. In this case, the id has to be replaced by the wildcard "*". It is highly recommended to use this method instead of giving a huge list of login names (which would penalize the internal system subscription map)

A subscription request includes other fields such as:

A subscription response will provide following information to the user:

The following remarks must be taken in consideration while designing a REST client using Http chunk mode:


NOTE1: License count check for administrator session.
An administrator can subscribe to event notification concerning a subset of users. Only one license per package will be taken, but the amount of supervised users can not exceed the number of TELEPHONY_ADVANCED licenses installed on the server.
The following rules apply when checking if the limit is reached or not:

Resources summary

ResourceMethodDescription
/subscriptionsPOSTCreate a subscription for event notification.
PUTUpdate an existing subscription for event notification.
/subscriptions/{subscriptionId}DELETERemove a subscription.

Resources

/subscriptions

Methods
POST/subscriptions
Create a subscription for event notification.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED or/and ROXE_API_CONTACTCENTER_AGENT - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
header parameters
parametertypedescription
Authorizationstring
cookie parameters
parametertypedescription
AlcUserIdstringThe user framework session Identifier, received as a cookie.
body parameter
typemedia typesdescription
SubscriptionRequestapplication/json
Response
Returns the subscription response (which contains the subscription state).
codetypemedia typesdescription
200Subscriptionapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Create a subscription to all events of the telephony, eventSummary event packages, for user userA.

[+] : Create a subscription to telephony event packages, for all users of the system.

[+] : Create a subscription to system event package.

[+] : Create a subscription to pbxManagement event package.

[+] : Create a subscription with webhook on https address (and port=8091)

[+] : Create a subscription to pilot and rsi event packages.

Associated notifications
PUT/subscriptions
Update an existing subscription for event notification.
Only the filter part Filter of a subscription can be updated. The other parameters of a previously created subscription will be left untouched (notificationMode, notificationFormat,timeout, ...).
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED or/and ROXE_API_CONTACTCENTER_AGENT - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
cookie parameters
parametertypedescription
AlcUserIdstringThe user framework session Identifier, received as a cookie.
body parameter
typemedia typesdescription
Filterapplication/json
The filter to update. Filter
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Update a subscription for all events of the telephony, eventSummary event packages, for user userA and userB.

/subscriptions/{subscriptionId}

Methods
DELETE/subscriptions/{subscriptionId}
Remove a subscription. If the notification of events has started for this subscription (HTTP chunk initiated), the socket will be closed, and all queued events deleted.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
path parameters
parametertypedescription
subscriptionIdstringThe identifier of the subscription.
cookie parameters
parametertypedescription
AlcUserIdstringThe user framework session Identifier, received as a cookie.
Response
The result code.
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
Examples

[+] : Delete an existing subscription. Associated notification channel will be closed, if already opened.

Representations

Filter
High level container of event selector.
NameTypeCardinalityDescription
selectorsSelector[0..*]List of selectors.
[+] : JSON Example
Associated method :
int
'int' is a 32-bit number (-2147483648 to 2147483647).
Selector
A selector is a filter applied to an event. The attributes of an event must match all the criteria of the selector to be sent to the subscriber.
NameTypeCardinalityDescription
idsstring[0..*]The selector specifies that all events must contain one of these identifier.
This parameter is not mandatory for a user session, but it is mandatory for an administrator session (at least one identifier must be provided).
namesstring[1..*]The selector specifies that all events must match this attribute.
The content of this field must match the name of events or one of the event packages, as listed in Subscription overview.
The name can't be empty.
[+] : JSON Example
string
'string' represents character strings.
Subscription
Contains the status returned by the server on a subscription request.
NameTypeCardinalityDescription
subscriptionIdstring[0..1]The identifier of the subscription, if this one has been accepted.
messagestring[0..1]Contains a relevant message, especially in case of error or failure.
publicPollingUrlstring[0..1]This value contains the public URL to be used in case of HTTP CHUNK notification mode. If set, public URL must be used because it takes into account access through a reverse proxy (Internet access).
privatePollingUrlstring[0..1]This value contains the private URL to be used in case of HTTP CHUNK notification mode. This allows access from local network (Intranet access).
statusSubscriptionState[1]Status of the subscription returned by the server.
[+] : JSON Example
Associated method :
SubscriptionRequest
Contains all information needed for subscription to event notification.
NameTypeCardinalityDefaultDescription
filterFilter[0..1]List of selector used to filter events.
sessionIdstring[0..1]

Reserved: DO NOT USE.

versionstring[1]The version of the events the user wants to subscribe to.
timeoutint[0..1]10Default lifetime of the channel opened between the server and the client. After that time, in minutes, the server closes the connection in case of no activity. 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. A KeepAlive event is sent by the server to maintain the connection.

webHookUrlstring[0..1]If specified, the events corresponding to this subscription will be sent on this URL by callback
[+] : JSON Example
Associated method :
SubscriptionState
Defines the response status of the server on a subscription request.
ValueDescription
UNKNOWNSubscription state is unknown.
ACCEPTEDFull subscription has been accepted.
REFUSEDThe subscription has been refused.

Call control

Presentation

The Telephony service allows a user to initiate a call and to activate pbx telephony services.

Resources summary

ResourceMethodDescription
/telephony/basicCallPOSTInitiates a call to another user (the callee).
/telephony/basicCall/answerPOSTResponds to the incoming ringing call.
/telephony/basicCall/dropmePOSTExits from the call: if the call is a single call, it is released; if it is a conference, the call carries on without the user.
/telephony/callsGETGet information on all the calls in progress.
POSTInitiates a new call to another user (the callee).
/telephony/calls/{callRef}GETReturns a description of a call.
DELETEHangs on an active call, all the parties are released.
/telephony/calls/{callRef}/alternatePOSTPuts on hold the active call and retrieve a call that has been previously put in hold.
/telephony/calls/{callRef}/answerPOSTResponds to an incoming ringing call.
/telephony/calls/{callRef}/attachdataPOSTAssociates data to a call, following a previously established call.
/telephony/calls/{callRef}/blindtransferPOSTTransfers a specified active call to another user, without knowing if this user will answer and without keeping control on this call.
/telephony/calls/{callRef}/callbackPOSTRequests for call back during a call.
/telephony/calls/{callRef}/deviceLegsGETReturns the legs involved in the call
/telephony/calls/{callRef}/deviceLegs/{legId}GETReturns the leg whose Id is legId
POSTTranslates the call from a user device to another device.
/telephony/calls/{callRef}/dropmePOSTExits from an active call: if the call is a single call, it is released; if it is a conference, the call carries on without the user.
/telephony/calls/{callRef}/holdPOSTHolds a specified active call.
/telephony/calls/{callRef}/mergePOSTMakes a n-party conference with a specified active call and a specified held call.
/telephony/calls/{callRef}/overflowToVoiceMailPOSTRedirects an outgoing ringing call to the voice mail of the called user.
/telephony/calls/{callRef}/parkPOSTPark a specified active call to a target device.
/telephony/calls/{callRef}/participantsGETReturns the list of participants in a call.
/telephony/calls/{callRef}/participants/{participantId}GETReturns information about a participant in a call.
DELETEDrops a participant from an active call: if the call is a single call, it is released; if it is a conference, the call carries on without the participant.
/telephony/calls/{callRef}/reconnectPOSTRelease a current call (active or ringing) to retrieve a previously put in hold call (cancel a consultation call).
/telephony/calls/{callRef}/recordingPOSTStarts, stops, pauses or resumes the recording of a call.
/telephony/calls/{callRef}/redirectPOSTRedirects an incoming ringing call to another user or number, instead of responding to it.
/telephony/calls/{callRef}/retrievePOSTRetrieves a call that has been previously put in hold.
/telephony/calls/{callRef}/sendDtmfPOSTSends DTMF in an active call.
/telephony/calls/{callRef}/sendaccountinfoPOSTSend the account info.
/telephony/calls/{callRef}/transferPOSTTransfers a specified active call to a specified held call.
/telephony/deskSharingPOSTLog the user (DSU) on a specified device (DSS).
DELETELogoff the DSU user.
/telephony/devicesGETGets states of all user devices
/telephony/devices/{deviceId}GETGets a user device state
/telephony/devices/{deviceId}/intrusionPOSTIntrusion in the active call of a called user.
/telephony/devices/{deviceId}/ithmicroPUTPush the MICRO/ITH key.
/telephony/devices/{deviceId}/pickupPOSTPicks up an incoming call on another user.
/telephony/devices/{deviceId}/unparkPOSTUnPark a call from a target device.
/telephony/huntingGroupLogOnGETGet the user status in its current hunting group: logged on or not
POSTLog the user in its current hunting group.
DELETELogout the user from its current hunting group.
/telephony/huntingGroupMember/{hgNumber}POSTSet the user as member of a Hunting group.
DELETERemove the user from a Hunting group.
/telephony/huntingGroupsGETGet the Hunting groups of the node and eventually the current one the user belongs to.
/telephony/incomingCallbacksGETReturns the whole list of callback requests.
DELETEDeletes all callback requests.
/telephony/incomingCallbacks/{callbackId}DELETEDeletes a callback request.
/telephony/miniMessagesGETReturns the current new message.
POSTSend a mini message.
/telephony/outgoingCallbacksPOSTRequests for call back from an idle device.
/telephony/pilots/{nodeId}/{pilotNumber}/transferInfoPOSTGet information of a pilot related to transfer capability
This method should be used by an agent before transferring a call to a pilot
Return information related to transfer: transfer is /or not possible and transfer is /or not supervised
/telephony/stateGETAsks for the user telephonic state and capabilities.
/telephony/state/snapshotPOSTAsk a snapshot event on user call state.

Notifications summary

NotificationDescription
OnCallCreatedThis notification indicates that a new call has been created.
OnCallModifiedThis notification indicates that an existing call has been modified.
OnCallRemovedThis notification indicates that a call has been removed (hang up, transfer...).
OnDeviceStateModifiedThis notification indicates that device's state has been modified.
OnDynamicStateChangedThis notification indicates the user's dynamic state change.
OnTelephonyStateThis notification indicates the telephonic state (calls[] and deviceCapabilities[]) of a user
OnUserStateModifiedThis notification indicates that user's state has been modified (FREE, BUSY ...).

Resources

/telephony/basicCall

Methods
POST/telephony/basicCall
Initiates a call to another user (the callee). Also used to initiate a call from any connected set which is not associated to an user.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
MakeBasicCallRequestapplication/json
MakeBasicCallRequest
Response
codetypemedia typesdescription
201stringapplication/json
CREATED
204application/json
No Content Only for a call from a connected set which is not associated to an user
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Initiates a call to another user (the callee)

[+] : Initiates a call from any connected set which is not associated to an user.

Associated notifications

/telephony/basicCall/answer

Methods
POST/telephony/basicCall/answer
Responds to the incoming ringing call.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
AnswerRequestapplication/json
AnswerRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/basicCall/dropme

Methods
POST/telephony/basicCall/dropme
Exits from the call: if the call is a single call, it is released; if it is a conference, the call carries on without the user.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls

Methods
GET/telephony/calls
Get information on all the calls in progress.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Callsapplication/json
OK
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
POST/telephony/calls
Initiates a new call to another user (the callee). To initiate a regular call don't fill the associatedData, pin, secretCode or businessCode parameters. To initiate a call with associated data fill the associatedData parameter. To initiate a Private Call fill the pin and secretCode parameters. To initiate a Business Call fill the businessCode parameter. To initiate a call from any connected set which is not associated to an user, don't fill the bypass, associatedData, pin, secretCode or businessCode parameters.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
MakeCallRequestapplication/json
MakeCallRequest
Response
codetypemedia typesdescription
201stringapplication/json
CREATED
204application/json
No Content Only for a call from a connected set which is not associated to an user
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Initiates a call to another user (the callee)

[+] : Initiates a Private call.

[+] : Initiates a Business call.

[+] : Initiates an ACD call from an agent to a supervisor (no callee)

[+] : Initiates a call with associateData as a string

[+] : Initiates a call associate data as binary sequence

/telephony/calls/{callRef}

Methods
GET/telephony/calls/{callRef}
Returns a description of a call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Callapplication/json
OK
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
DELETE/telephony/calls/{callRef}
Hangs on an active call, all the parties are released.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/alternate

Methods
POST/telephony/calls/{callRef}/alternate
Puts on hold the active call and retrieve a call that has been previously put in hold.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringreference of the held call.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
AlternateRequestapplication/json
AlternateRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/answer

Methods
POST/telephony/calls/{callRef}/answer
Responds to an incoming ringing call.

NOTE: To invoke answer on a call, the API user must check the correct state of the concerned call. This can be done by listening to the telephony events, and more specifically to the capabilities of the involved leg. (answer capability on the leg).

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
AnswerRequestapplication/json
AnswerRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/attachdata

Methods
POST/telephony/calls/{callRef}/attachdata
Associates data to a call, following a previously established call. Associates data can be encoded as clear string or binary encoded string
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SendAssociatedDataRequestapplication/json
SendAssociatedDataRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : during incoming call (ringing state), 70125 attaches clear string data to the call

[+] : 70125 attaches to incoming call a string data

[+] : 70125 attaches to incoming call a binary data sequence

/telephony/calls/{callRef}/blindtransfer

Methods
POST/telephony/calls/{callRef}/blindtransfer
Transfers a specified active call to another user, without knowing if this user will answer and without keeping control on this call.
N.B. On multi-device, this service requires to have OXE "Specific Telephone Services/Consult.call mod.on multi-line" parameter been set to False.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringReference of the active call.
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
BlindTransferRequestapplication/json
BlindTransferRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/callback

Methods
POST/telephony/calls/{callRef}/callback
Requests for call back during a call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringReference of the active call.
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/calls/{callRef}/deviceLegs

Methods
GET/telephony/calls/{callRef}/deviceLegs
Returns the legs involved in the call
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Legsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/calls/{callRef}/deviceLegs/{legId}

Methods
GET/telephony/calls/{callRef}/deviceLegs/{legId}
Returns the leg whose Id is legId
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
legIdstringLeg reference
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Legapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
POST/telephony/calls/{callRef}/deviceLegs/{legId}
Translates the call from a user device to another device.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
legIdstringLeg reference
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SwitchDeviceRequestapplication/json
SwitchDeviceRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : switch the call from the device 70123 to the device 70125

Associated notifications

/telephony/calls/{callRef}/dropme

Methods
POST/telephony/calls/{callRef}/dropme
Exits from an active call: if the call is a single call, it is released; if it is a conference, the call carries on without the user.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/hold

Methods
POST/telephony/calls/{callRef}/hold
Holds a specified active call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
HoldRequestapplication/json
HoldRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/merge

Methods
POST/telephony/calls/{callRef}/merge
Makes a n-party conference with a specified active call and a specified held call. The active could be a single call but also, could be already a conference.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringReference of the active call.
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
MergeRequestapplication/json
MergeRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/overflowToVoiceMail

Methods
POST/telephony/calls/{callRef}/overflowToVoiceMail
Redirects an outgoing ringing call to the voice mail of the called user.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/park

Methods
POST/telephony/calls/{callRef}/park
Park a specified active call to a target device. If the device where to park the call is the same device, the ParkRequestDTO argument may be omitted.
Usage restriction: The Park/UnPark service should be used only with external incoming call (the monitoring of unparking of calls that have been parked by the caller leads to inconsistent result)
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringReference of the active call to park.
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
ParkRequestapplication/json
ParkRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/participants

Methods
GET/telephony/calls/{callRef}/participants
Returns the list of participants in a call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Participantsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/calls/{callRef}/participants/{participantId}

Methods
GET/telephony/calls/{callRef}/participants/{participantId}
Returns information about a participant in a call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
participantIdstringReference of the participant
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Participantapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
DELETE/telephony/calls/{callRef}/participants/{participantId}
Drops a participant from an active call: if the call is a single call, it is released; if it is a conference, the call carries on without the participant.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
participantIdstringReference of the participant
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/reconnect

Methods
POST/telephony/calls/{callRef}/reconnect
Release a current call (active or ringing) to retrieve a previously put in hold call (cancel a consultation call).
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringReference of the held call to reactive.
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
ReconnectRequestapplication/json
ReconnectRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : cancel the enquiry call ref2 and reconnect the call ref1 from the device 60113

Associated notifications

/telephony/calls/{callRef}/recording

Methods
POST/telephony/calls/{callRef}/recording
Starts, stops, pauses or resumes the recording of a call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringReference of the active call.
query parameters
parametertypedescription
loginNamestringLogin 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.
actionstringMandatory parameter. Possible values are start, stop, pause, resume.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Start a record

[+] : Pause a record

[+] : Resume a record

[+] : Stop a record

Associated notifications

/telephony/calls/{callRef}/redirect

Methods
POST/telephony/calls/{callRef}/redirect
Redirects an incoming ringing call to another user or number, instead of responding to it. If redirectTo is equal to VOICEMAIL redirect an incoming ringing call to voice mail.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
RedirectRequestapplication/json
RedirectRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Redirect an incoming ringing call to 70000

Associated notifications

/telephony/calls/{callRef}/retrieve

Methods
POST/telephony/calls/{callRef}/retrieve
Retrieves a call that has been previously put in hold.

NOTE: Although it is possible for a standard user to invoke an answer on a held call instead of invoking a retrieve, this is not the recommended usage. Furthermore, telephony event OnCallModified, sent after a held operation, does not list any answer capability on the concerned leg.

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
RetrieveRequestapplication/json
RetrieveRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/sendDtmf

Methods
POST/telephony/calls/{callRef}/sendDtmf
Sends DTMF in an active call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SendDtmfRequestapplication/json
SendDtmfRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/calls/{callRef}/sendaccountinfo

Methods
POST/telephony/calls/{callRef}/sendaccountinfo
Send the account info. This operation is used by a CCD agent to send the transaction code at the end of the call. The string value MUST complain with the transaction code accepted by OXE (that is numerical value only)
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SendAccountInfoRequestapplication/json
SendAccountInfoRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : during incoming call (ringing state), agent 70125 sends an account information associated to the call

/telephony/calls/{callRef}/transfer

Methods
POST/telephony/calls/{callRef}/transfer
Transfers a specified active call to a specified held call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringReference of the active call
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
TransferRequestapplication/json
TransferRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/deskSharing

Methods
POST/telephony/deskSharing
Log the user (DSU) on a specified device (DSS).
DSU: Desk Sharing User. Subscriber of the system that is allowed to log to a DSS.
DSS: Desk Sharing Set. Phone set not permanently associated to a user to which a DSU can be log in to.

For the method, a prefix "Station Features == Desk Sharing Over Logon" should be created.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
DSLogOnRequestapplication/json
DSLogOnRequest Device phone number for which the operation is invoked. If the session is opened by a Framework User, the device phone number must be one of the user.
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Log-on the DSU user onto the DSS device "xxxx"

DELETE/telephony/deskSharing
Logoff the DSU user.
DSU: Desk Sharing User. Subscriber of the system that is allowed to log to a DSS.
DSS: Desk Sharing Set. Phone set not permanently associated to a user to which a DSU can be log in to.

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Log-off the DSU user

/telephony/devices

Methods
GET/telephony/devices
Gets states of all user devices
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200DeviceStatesapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/devices/{deviceId}

Methods
GET/telephony/devices/{deviceId}
Gets a user device state
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
deviceIdstringDevice phone number for which the operation is invoked. If the session is opened by a Framework User, the device phone number must be one of the user.
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200DeviceStateapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/devices/{deviceId}/intrusion

Methods
POST/telephony/devices/{deviceId}/intrusion
Intrusion in the active call of a called user. No parameter is required to invoke the intrusion: it only depends on the current capability intrusion of the current device. It is based on the fact that the current device must be in releasing state while calling a user which is in busy call with another user, the current device has the intrusion capability and the 2 users engaged in the call have the capability to allow intrusion.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
deviceIdstringdevice which asks the intrusion.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : during outgoing call which fails cause busy(releasing state), the user invokes intrusion from its device 70125 It must have the intrusion capability

Associated notifications

/telephony/devices/{deviceId}/ithmicro

Methods
PUT/telephony/devices/{deviceId}/ithmicro
Push the MICRO/ITH key.
This action acts as a "flip/flop" and has the same effect than pressing the key:
  • it activates or deactivates the microphone if the device has an outgoing or established call
  • it activates or deactivates the interphony if the device is idle
  • it has no effect if the device is ringing on incoming call
This operation is done in blind mode: no state event is provided on the push but when the device returns to idle after a call, the microphone comes back in the active state.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
deviceIdstringdevice concerned.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : press on ITH/micro key on the device 70125

/telephony/devices/{deviceId}/pickup

Methods
POST/telephony/devices/{deviceId}/pickup
Picks up an incoming call on another user. If the pickuped device is present, a direct pickup is performed. Else a group (hunting or processing group in case of agent) pickup is performed.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
deviceIdstringDevice phone number for which the operation is invoked. If the session is opened by a Framework User, the device phone number must be one of the user.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
PickupRequestapplication/json
PickupRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/devices/{deviceId}/unpark

Methods
POST/telephony/devices/{deviceId}/unpark
UnPark a call from a target device. If the call has been parked on the current device, the ParkRequestDTO argument may be omitted.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
deviceIdstringdevice from where the unpark request is requested.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
UnParkRequestapplication/json
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : unpark from same device

[+] : unpark from other device

Associated notifications

/telephony/huntingGroupLogOn

Methods
GET/telephony/huntingGroupLogOn
Get the user status in its current hunting group: logged on or not
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200HuntingGroupStatusapplication/json
Ok
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the user status in its hg group

POST/telephony/huntingGroupLogOn
Log the user in its current hunting group.
NB1: The user must belong to a group.
NB2: To notify the user on the phone set, a prefix "Set Features" with "Station Features" set to "Station group exit" must be created.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Log the user into its current hg group

Associated notifications
DELETE/telephony/huntingGroupLogOn
Logout the user from its current hunting group.
NB: The user must belong to a group.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Logout the user from its hg group

Associated notifications

/telephony/huntingGroupMember/{hgNumber}

Methods
POST/telephony/huntingGroupMember/{hgNumber}
Set the user as member of a Hunting group.
If the group doesn't exist, returns 404 Not Found
If the user already belongs to the group, nothing is done and the returned result is OK
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
hgNumberstringstring : the hunting group number
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found if the group doesn't exist
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Set the user member of the hg group number 10001

DELETE/telephony/huntingGroupMember/{hgNumber}
Remove the user from a Hunting group.
If the group doesn't exist, returns 404 Not Found
If the user doesn't belong to the group, nothing is done and the returned result is OK
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
hgNumberstringstring : the hunting group number
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found if the group doesn't exist
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Remove the user member from the hg group number 10001

/telephony/huntingGroups

Methods
GET/telephony/huntingGroups
Get the Hunting groups of the node and eventually the current one the user belongs to.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200HuntingGroupResultapplication/json
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the hg list (the user belongs to the hg 10001)

/telephony/incomingCallbacks

Methods
GET/telephony/incomingCallbacks
Returns the whole list of callback requests.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Callbacksapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
DELETE/telephony/incomingCallbacks
Deletes all callback requests.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/incomingCallbacks/{callbackId}

Methods
DELETE/telephony/incomingCallbacks/{callbackId}
Deletes a callback request.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callbackIdstringidentifier of the callback to delete
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/miniMessages

Methods
GET/telephony/miniMessages
Returns the current new message.
Caution: As soon as a message is read, it is erased from OXE and cannot be read again.
The message are retrieved in Last In First Out mode.
If all the messages have been retrieved, a new GET invoke will return 400 Bad Request.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200MiniMessageapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the last received minimessage

POST/telephony/miniMessages
Send a mini message.
Text messages are up to 128 characters long.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
MiniMessageRequestapplication/json
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Send a minimessage to another user (the recipient)

Associated notifications

/telephony/outgoingCallbacks

Methods
POST/telephony/outgoingCallbacks
Requests for call back from an idle device.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
CallbackRequestapplication/json
call back information
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/pilots/{nodeId}/{pilotNumber}/transferInfo

Methods
POST/telephony/pilots/{nodeId}/{pilotNumber}/transferInfo
Get information of a pilot related to transfer capability
This method should be used by an agent before transferring a call to a pilot
Return information related to transfer: transfer is /or not possible and transfer is /or not supervised
History
Since version 2.7
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
nodeIdintthe pbx node number
pilotNumberstringthe pilot number
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
PilotTransfertParamapplication/json
transfer parameter used to know the transfer capability depending on a given profile.
Response
codetypemedia typesdescription
200PilotTransferCapaapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the transfer information for pilot 60141 in node 1 with agent 60113 and it skills

/telephony/state

Methods
GET/telephony/state
Asks for the user telephonic state and capabilities.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200TelephonicStateapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/state/snapshot

Methods
POST/telephony/state/snapshot
Ask a snapshot event on user call state. The event OnTelephonyState will contain the TelephonicState (calls[] and deviceCapabilities[]) If this request is made by an administrator and no loginName is provided, the snapshot is asked for all the users If a second request is asked since the previous one is still in progress, it has no effect.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked. This parameter is ignored if the Session identifier matches a user account.
For an administrator session, the loginName must either correspond to an existing user or be null: in this last case, the snapshot event request is done for all the users. CAUTION!: this request is immediately acknowledged but the processing may take a long time if the number of users is huge.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

Representations

AcdCallData
Describes data related to an ACD call.
NameTypeCardinalityDescription
callInfoAcdCallInfo[0..1]info related to the call
queueDataQueueData[0..1]state of the queue
pilotNumberstring[0..1]pilot number if it is an acd call
rsiNumberstring[0..1]rsi number if it is an rsi call
supervisedTransferboolean[0..1]if the transfer from the pilot has been supervised or not
pilotTransferInfoPilotTransferInfo[0..1]in case of enquiry call only, information related to the transfer of the call to the pilot
[+] : JSON Example
AcdCallInfo
Describes data related to the distributed ACD call.
NameTypeCardinalityDescription
queueWaitingTimeint[0..1]waiting time in the queue
globalWaitingTimeint[0..1]global waiting time in the distribution
agentGroupstring[0..1]agent group
localboolean[0..1]if the acd call is local or not
[+] : JSON Example
AcdCallParam
Describes parameter related to an ACD call request.
NameTypeCardinalityDescription
supervisedTransferboolean[0..1]If true in a consultation call, force the Pilot or RSI consultation mode
skillsACRSkills[0..1]Skills associated to the new call
callToSupervisorboolean[0..1]If true, for an agent, call its supervisor. The callee number parameter is ignored in this case and can be absent
[+] : JSON Example
ACRSkill
Describes an ACR skill.
NameTypeCardinalityDescription
skillNumberint[0..1]skill number
acrStatusboolean[0..1]skill activation status
expertEvalLevelint[0..1]expert evaluation level
[+] : JSON Example
ACRSkills
List of ACR skills.
NameTypeCardinalityDescription
skillsACRSkill[0..*]skill list.
[+] : JSON Example
AlternateRequest
Request to switch between an active call and a held call.
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
[+] : JSON Example
Associated method :
AnswerRequest
Request to answer a ringing incoming call.
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
[+] : JSON Example
Associated methods :
BlindTransferRequest
Request to transfer an incoming call.
NameTypeCardinalityDescription
transferTostring[1]Phone number to which the call is transferred.
anonymousboolean[0..1]Anonymous call (secret identity). This parameter is optional. If it is omitted, anonymous is not set for this call.
[+] : JSON Example
Associated method :
boolean
'boolean' is a data type, having two values (true and false).
Call
Describes an user's call.
NameTypeCardinalityDescription
callRefstring[1]Reference of the call.
callDataCallData[0..1]Call data.
legsLeg[0..*]User's devices.
participantsParticipant[0..*]Participants.
[+] : JSON Example
Associated method :
Callback
Describes a callback.
NameTypeCardinalityDescription
callbackIdstring[1]Callback identifier
partyInfoPartyInfo[1]Participant identity card.
[+] : JSON Example
CallbackRequest
Callback Sender Message request data.
NameTypeCardinalityDescription
calleestring[1]Callee phone number of the called party for which a call back is requested.
[+] : JSON Example
Associated method :
Callbacks
Container for the callbacks.
NameTypeCardinalityDescription
callbacksCallback[0..*]List of callbacks
[+] : JSON Example
Associated method :
CallCapabilities
Describes the capabilities available on a call : the action that can be carried out on the call according to its state.
NameTypeCardinalityDescription
addDeviceboolean[0..1]Capability to add a participant or a user's device to this call.
addParticipantboolean[0..1]Capability to add a participant.
intrudedboolean[0..1]Capability to intrude this call by another user.
intrusionboolean[0..1]Capability to make intrusion on the user called through this call.
transferboolean[0..1]Capability to transfer this call with another one.
blindTransferboolean[0..1]Capability to blind transfer this call to an user, device, ...
mergeboolean[0..1]Capability to merge this call with another one.
redirectboolean[0..1]Capability to redirect this call to another user, device, ...
pickedUpboolean[0..1]Capability to pick up this call by another user.
redirectToVoiceMailboolean[0..1]Capability to redirect this call to the voice mail.
redirectToDVAboolean[0..1]Capability to redirect this call to the DVA.
overflowToVoiceMailboolean[0..1]Capability to overflow to the voice mail of the called user.
dropMeboolean[0..1]Capability to drop me from this call.
terminateboolean[0..1]Capability to terminate this call: call termiated on all users.
rejectboolean[0..1]Capability to reject this call.
callBackboolean[0..1]Capability to invoke a call back.
parkboolean[0..1]Specifies whether the call can be parked.
startRecordboolean[0..1]Capability to start the record of the call.
stopRecordboolean[0..1]Capability to stop the record of the call.
pauseRecordboolean[0..1]Capability to pause the record of the call.
resumeRecordboolean[0..1]Capability to resume the record of the call.
dropParticipantboolean[0..1]Capability to drop a participant.
muteParticipantboolean[0..1]Capability to mute/unMute a participant.
holdParticipantboolean[0..1]Capability to hold/retrieve a participant.
[+] : JSON Example
CallCause
Lists the different call causes.
ValueDescription
ABANDONEDCaller in a two-party call has disconnected before the call was answered.
ALL_TRUNK_BUSYThe call is receiving the network congestion tone.
BUSYThe call is receiving the busy tone.
CLEAREDOne party in a two-party call has disconnected after the call was answered.
PARTICIPANT_LEFTOne party has left the conference call.
CONFERENCEDThis is a multi-party call.
INVALID_NUMBERThe call is receiving the invalid number tone.
DESTINATION_NOT_OBTAINABLEThe destination cannot be reached.
DO_NOT_DISTURBThe device is in DND.
FORWARDEDThe call has been forwarded.
NOT_ANSWEREDThe call has been hanged up before answer.
PICKED_UPThe call has been picked up.
PARKED The call has been parked.
REDIRECTEDThe call has been redirected.
OVERFLOWNThe call goes on overflow destination.
TRANSFERREDThis is a transferred call.
UNKNOWNUnknown cause.
PICKED_UP_TANDEMPicked up tandem.
CALL_BACKThe call is a call back.
RECALLThe call is recall (e.g. on HELD call indicates that device rings back).
DISTRIBUTED CCD context: call distribution
ACD_ENTER_DISTRIBUTION CCD context: call enters in distribution
RESOURCES_NOT_AVAILABLE CCD context: pilot is not open
SUPERVISOR_LISTENING CCD context: supervisor is listening the agent conversation
SUPERVISOR_INTRUSION CCD context: supervisor is fully intruded in the agent conversation
SUPERVISOR_RESTRICT_INTRUSION CCD context: supervisor can speak to the agent
NO_AVAILABLE_AGENT CCD context: No available agent
LOCKOUT Physical phone set device is off the hook
CallData
Describes data associated to a call.
NameTypeCardinalityDescription
initialCalledPartyInfo[0..1]Initial user called for this call.
deviceCallboolean[0..1]If true it's a device call else if not specified or false it's a user call.
anonymousboolean[0..1]If true it's a anonymous call.
callUUIDstring[0..1]CallUUID associated to this call (used to correlate RTSM events with SIP events for multimedia users only).
stateMediaState[0..1]Call state (computed from media state).
recordStateRecordState[0..1]Record state (only if recording is active).
tagsTag[0..*]Tags associated to this call.
capabilitiesCallCapabilities[0..1]Capabilities available on this call.
associateDatastring[0..1]Associated data (or Correlator data).
hexaBinaryAssociatedDatastring[0..1]Hexa binary array format for Associated data (or Correlator data).
accountInfostring[0..1]Account info associated to the call.
acdCallDataAcdCallData[0..1]ACD info associated to the call.
trunkIdentificationTrunkIdentification[0..1]

Since version 2.7.1

TrunkIdentification if external call
[+] : JSON Example
Calls
Container for the calls.
NameTypeCardinalityDescription
callsCall[0..*]List of calls
[+] : JSON Example
Associated method :
dateTime
'dateTime' is an UTC datetime whose format (ISO 8601 compatible) is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:15.489Z).
DeviceCapabilities
Describes an user's device capabilities.
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number.
makeCallboolean[0..1]Specifies whether a new call can be initiated.
makeBusinessCallboolean[0..1]Specifies whether a business call can be initiated.
makePrivateCallboolean[0..1]Specifies whether a personal call can be initiated.
unParkCallboolean[0..1]Specifies whether a call can be an unparked call.
[+] : JSON Example
DeviceState
Describes a user's device state.
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number.
stateOperationalState[1]Device state.
[+] : JSON Example
Associated method :
DeviceStates
Container for device state.
NameTypeCardinalityDescription
deviceStatesDeviceState[0..*]List of DeviceState
[+] : JSON Example
Associated method :
DSLogOnRequest
Request to logg on an acd agent.
NameTypeCardinalityDescription
dssDeviceNumberstring[1]DSS phone number on which the operation is invoked.
[+] : JSON Example
Associated method :
HoldRequest
Request to put an active call on hold.
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
[+] : JSON Example
Associated method :
HuntingGroupResult
Hunting group param used for user management.
NameTypeCardinalityDescription
hgListstring[0..*]the existing hunting group list in the pbx node of user may be null if none
currentHgstring[0..1]the current hunting group number which the user is a member: may be null if none
[+] : JSON Example
Associated method :
HuntingGroupStatus
Describes the user's hunting group logon status .
NameTypeCardinalityDescription
logonboolean[1]Device phone number.
[+] : JSON Example
Associated method :
Identifier
Key information to help retrieving a participant.
NameTypeCardinalityDescription
loginNamestring[0..1]Login name.
phoneNumberstring[0..1]Company phone number.
[+] : JSON Example
int
'int' is a 32-bit number (-2147483648 to 2147483647).
Leg
Describes a leg. A leg represents the user's device involved in a call for a dedicated media (audio or video).
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number.
stateMediaState[0..1]Media state.
ringingRemoteboolean[0..1]boolean set to true when the leg is in RINGING_OUTGOING state and if the remote party is ringing (ie has been alerted).
capabilitiesLegCapabilities[0..1]Capabilities for this leg.
[+] : JSON Example
Associated method :
LegCapabilities
Describes the capabilities of a leg : The action that can be carried out on the leg according to its state.
NameTypeCardinalityDescription
answerboolean[0..1]Capability to answer to an incoming call.
dropboolean[0..1]Capability to drop this media device.
holdboolean[0..1]Capability to hold this call in order to retrieve it later.
retrieveboolean[0..1]Capability to retrieve an hold call.
reconnectboolean[0..1]Capability to retrieve an hold call and releasing the current active call.
muteboolean[0..1]Capability to enable mute for this leg.
unMuteboolean[0..1]Capability to disable mute for this device.
sendDtmfboolean[0..1]Capability to send DTMF codes for this leg.
switchDeviceboolean[0..1]Capability to switch this device to another one.
[+] : JSON Example
Legs
Container for Legs.
NameTypeCardinalityDescription
legsLeg[0..*]List of Leg.
[+] : JSON Example
Associated method :
MainType
Main participant type
ValueDescription
USERThe participant is a user of the system.
DEVICEThe participant is a device of the system.
SERVICEThe participant is a service of the system.
EXTERNALThe participant is not a user of the system.
UNKNOWNThe main participant type is unknown.
MakeBasicCallRequest
Request to initiate a new call.
NameTypeCardinality*1*2Description
deviceIdstring[1]XXDevice phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
calleestring[1]XXCalled phone number.
autoAnswerboolean[0..1]XAutomatic answer on make call. If this parameter is set to "false" (or omitted) the deviceId is called before launching the make call to callee, else callee is called immediately.
*1 : attributes for a call from an OpenTouch user set: deviceId and callee are mandatory, autoAnswer and associateData are optional
*2 : attributes for a call from any connected set: deviceId and callee are mandatory; Allowed only when logged in an administrator session.

[+] : JSON Example
Associated method :
MakeCallRequest
Request to initiate a new call.
NameTypeCardinality*1*2*3*4*5Description
deviceIdstring[0..1]XXXXXDevice phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.

This parameter is mandatory.

calleestring[1]XXXXXCalled phone number. This parameter is always mandatory except in case of agent supervisor call (see acdCallParam) where it is ignored and should be absent.
autoAnswerboolean[0..1]XXAutomatic answer on make call. If this parameter is set to "false" (or omitted) the deviceId is called before launching the make call to callee, else callee is called immediately.
inhibitProgressToneboolean[0..1]XXInhibit Progress Tone. If this parameter is set to "true" Inhibit the progress tone on the current external call.
associatedDatastring[0..1]XXThis is used by the application to provide application-related information (string limited to 32 bytes).
In general, it is used to give information concerning a previously established call to the party of a second call.
Example: user B has answered to an external call, he makes an enquiry call to userB with associateData: userB is notified with call of userA with CallCreated event containing CallData with the associateDAta.
Its usage is exclusive from the byte array binaryAssociatedData (if associatedData is present, hexaBinaryAssociatedData is discarded).
Cannot be used in conjonction with pin, secretCode, or businessCode parameter.
hexaBinaryAssociatedDatastring[0..1]XXTo used by the application if the associate data is a non-printing character string but an array of bytes.
In this case, the associate data is passed as a sequence of hexadecimal bytes (ex: "f3f40201").
Caution: byte '00' is not authorized by OXE (will be interpreted as termination character).
Its usage is exclusive from the String associatedData (if associatedData is present, hexaBinaryAssociatedData is discarded).
Cannot be used in conjonction with pin, secretCode, or businessCode parameter.
pinstring[0..1]XPrivate identity number (Mandatory when making a Private Call). Don't use in conjonction with associatedData or businessCode parameter
secretCodestring[0..1]XSecret code (Mandatory when making a Private Call). Don't use in conjonction with associatedData or businessCode parameter
businessCodestring[0..1]XThe cost center on which the call will be charged (Mandatory when making a Business Call). Don't use in conjonction with associatedData, pin, or secretCode parameter
callingNumberstring[0..1]XXFor an external call only, allows to present another calling number on the public network call in order to hide the real calling extension number, for example for an ACD outbound call.
secretIdentityboolean[0..1]XXFor an external call only, allows to ask the public network to mask the calling identity: this parameter MUST be used in conjonction with the callingNumber parameter. If the callingNumber is absent, the secretIdentity parameter will be ignored.
acdCallAcdCallParam[0..1]XParameters to use when making an ACD Call. Don't use in conjonction with pin, or secretCode parameter
*1 : attributes for a call from a set: deviceId and callee are mandatory, autoAnswer, inhibitProgressTone, bypass, associatedData and callingNumber are optional
*2 : attributes for a private call from a set: deviceId, callee, pin and secretCode are mandatory
*3 : attributes for a business call from a set: deviceId, callee and businessCode are mandatory
*4 : attributes for a call from any connected set: deviceId and callee are mandatory; Allowed only when logged in an administrator session.
*5 : attributes for an ACD call from an agent: deviceId is mandatory, callee is mandatory except if supervisor call, autoAnswer, associateData, callingNumber and acdCall params are optional

[+] : JSON Example
Associated method :
MediaState
Lists the different media states.
ValueDescription
UNKNOWNUnknown media state.
OFF_HOOK the OFF_HOOK state is used when the device is busy for other reasons than a call: typically during service activation
IDLECall is in idle state.
RELEASINGCall release is in progress.
DIALINGAn attempt to make a call is in progress.
HELDThe call has been placed on hold.
RINGING_INCOMINGThe incoming call is ringing.
RINGING_OUTGOINGThe outgoing call is ringing.
ACTIVEThe call is active (means in conversation).
MergeRequest
Request to merge two calls, the active one and the held one.
NameTypeCardinalityDescription
heldCallRefstring[1]Reference of the held call.
[+] : JSON Example
Associated method :
MiniMessage
Describes a mini message.
NameTypeCardinalityDescription
senderstring[0..1]Sender tel number.
datedateTime[0..1]Date of the message: the date is in UTC format
messagestring[0..1]the mini message text.
[+] : JSON Example
Associated method :
MiniMessageRequest
Send a mini Message request data to a recipient.
NameTypeCardinalityDescription
recipientstring[1]the phone number recipient.
messagestring[1]the mini message text.
[+] : JSON Example
Associated method :
OnCallCreated
This notification indicates that a new call has been created.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnCallCreated'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
callRefstring[1]Reference of the call.
causeCallCause[0..1]Cause of the event.
callDataCallData[0..1]Call data.
initiatorstring[0..1]Initiator of the call : correspond to one participant of the call, the matching can be done with the participantId value of the participants.
legsLeg[0..*]Legs associated to this call.
participantsParticipant[0..*]Participants associated to this call.
deviceCapabilitiesDeviceCapabilities[0..*]Devices capabilities (if not specified, it means there is no modification).
[+] : JSON Example
Associated methods :
OnCallModified
This notification indicates that an existing call has been modified.

Modification of a call can be triggered for various reason: changes on legs, on participants, changes on states, ...
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnCallModified'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
callRefstring[1]Reference of the call.
causeCallCause[0..1]Cause of the event.
previousCallRefstring[0..1]If specified, this call reference indicates that the "callRef" replace "previousCallRef". This also indicates that "previousCallRef" has been removed (call removed event is not generated)
replacedByCallRefstring[0..1]This call reference appears when a call is released, the replacedByCallRef if present indicates that the "callRef" is replaced by this one.
callDataCallData[0..1]Call data modified (if not specified, it means there is no modification).
modifiedLegsLeg[0..*]Legs modified (if not specified, it means there is no modification).
addedLegsLeg[0..*]Legs added (if not specified, it means there is no added leg).
removedLegsLeg[0..*]Legs removed (if not specified, it means there is no removed leg).
modifiedParticipantsParticipant[0..*]Participants modified (if not specified, it means there is no modification).
addedParticipantsParticipant[0..*]Participants added (if not specified, it means there is no added participant).
removedParticipantIdsstring[0..*]Participants removed (if not specified, it means there is no removed participant).
deviceCapabilitiesDeviceCapabilities[0..*]Devices capabilities modified (if not specified, it means there is no modification).
[+] : JSON Example
Associated methods :

OnCallRemoved
This notification indicates that a call has been removed (hang up, transfer...).
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnCallRemoved'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
callRefstring[1]Reference of the call.
causeCallCause[0..1]Cause of the event.
newDestinationstring[0..1]If the call is forwarded or redirected, this field indicate the new destination number. This number is a user phone number if the destination is a device associated to an user, else the number is the number provided by the system.
deviceCapabilitiesDeviceCapabilities[0..*]Devices capabilities (if not specified, it means there is no modification).
[+] : JSON Example
Associated methods :
OnDeviceStateModified
This notification indicates that device's state has been modified.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnDeviceStateModified'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
deviceStatesDeviceState[1..*]Device state modified.
[+] : JSON Example
OnDynamicStateChanged
This notification indicates the user's dynamic state change. (hunting group logon state)
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnDynamicStateChanged'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
huntingGroupStateHuntingGroupStatus[0..1]User hg state.
[+] : JSON Example
Associated methods :
OnTelephonyState
This notification indicates the telephonic state (calls[] and deviceCapabilities[]) of a user
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnTelephonyState'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
stateTelephonicState[0..1]telephonic state of the user.
[+] : JSON Example
Associated method :
OnUserStateModified
This notification indicates that user's state has been modified (FREE, BUSY ...).
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnUserStateModified'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
stateUserState[1]User state.
[+] : JSON Example
Associated methods :
OperationalState
List the different operational states.
ValueDescription
IN_SERVICEOperational state is in service.
OUT_OF_SERVICEOperational state is out of service.
UNKNOWNOperational state is unknown.
ParkRequest
Request to park an active call on a target device. If the call shall be parked on the current device, just omit the target device
NameTypeCardinalityDescription
parkTostring[0..1]Phone number device where to park the call .
[+] : JSON Example
Associated method :
Participant
Detail about a kind of participant.
NameTypeCardinalityDescription
participantIdstring[1]Participant identifier (Should not be displayed).
identityPartyInfo[0..1]Participant identity card.
anonymousboolean[0..1]Participant identity is secret
undroppableboolean[0..1]If true this participant can not be dropped.
stateMediaState[0..1]Participant state. This field is only filled in multi-party call (>=3 participants) and only when the Participant mediaState is changed to RINGING_INCOMING or from RINGING_INCOMING to ACTIVE.
[+] : JSON Example
Associated method :
Participants
Container for Participants.
NameTypeCardinalityDescription
participantsParticipant[0..*]Container for Participants.
[+] : JSON Example
Associated method :
ParticipantType
Participant type description
NameTypeCardinalityDescription
mainMainType[1]Gives the main type of the participant: "user", "device", ...
subTypestring[0..1]The subType string gives a supplementary information and can contain "pbx", "public", "pre-off-hook", telephony-services", "voicemail", "voice-homepage", "voice-it", "sip"...
[+] : JSON Example
PartyInfo
Full description of a party involved in a call log record.
NameTypeCardinalityDescription
idIdentifier[1]Identifier of the party.
firstNamestring[0..1]First name.
lastNamestring[0..1]Last name.
displayNamestring[0..1]Display name (display names are used in SIP URIs). Notice: if previous fields lastname/firstname are filled then displayName field will be empty
typeParticipantType[0..1]Type of participant.
[+] : JSON Example
PickupRequest
Request to pickup a call.
NameTypeCardinalityDescription
otherCallRefstring[0..1]Reference of the call to pickup (on the remote user): Not used(can be omitted).
otherPhoneNumberstring[0..1]Phone number on which the call is to pickup (direct pickup). If not provided, a group (hunting or processing group, in case of an agent) call pickup will be attempted
autoAnswerboolean[0..1]Not used.
[+] : JSON Example
Associated method :
PilotStatus
Lists the different ACD pilot status.
ValueDescription
OPEN
BLOCKED
BLOCKED_ON_RULE
BLOCKED_ON_BLOCKED_RULE
GENERAL_FORWARDING
GENERAL_FORWARDING_ON_RULE
BLOCKED_ON_GENERAL_FORWARDING_RULE
OTHER
PilotTransferCapa
Pilot transfer capability information in response of a query transfer request
NameTypeCardinalityDescription
numberstring[0..1]the number of the pilot
waitingTimeint[0..1]the estimated waiting time for the pilot
saturationboolean[0..1]the queue state of the pilot
supervisedTransferboolean[0..1]the transfer will be supervised
transferInfoPilotTransferInfo[0..1]the transfer is possible
[+] : JSON Example
Associated method :
PilotTransferInfo
Describes data relative to an ACD Queue Pilot.
NameTypeCardinalityDescription
transferPossibleboolean[0..1]true means the transfer to pilot or RSI is possible.
pilotStatusPilotStatus[0..1]Status of the pilot.
[+] : JSON Example
PilotTransfertParam
Describes transfer parameters related to a pilot information request. it allows the retrieval of CCD distribution information according to the call profile.
NameTypeCardinalityDescription
agentNumberstring[0..1]agent number call profile. Optional but must be present if skills are given
skillsACRSkills[0..1]Skills associated to the call profile. Optional: the skills may be absent but if present, the agentNumber must be provided
priorityTransferboolean[0..1]In case the transfer will a be priority one
supervisedTransferboolean[0..1]In case the transfer will be supervised
[+] : JSON Example
Associated method :
QueueData
Describes data relative to an ACD Queue Pilot.
NameTypeCardinalityDescription
waitingTimeint[0..1]estimated waiting time in the queue(in seconds).
saturatedboolean[0..1]true means the queue is saturated.
[+] : JSON Example
ReconnectRequest
Request to reconnect a calls after cancelling an enquiry call(in active or ringing state).
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
enquiryCallRefstring[1]Reference of the enquiryCallRef call to cancel.
[+] : JSON Example
Associated method :
RecordState
Lists the different state when recording.
ValueDescription
PAUSEDRecording is paused.
RECORDINGRecording is in progress.
RedirectRequest
Request to redirect a call.
NameTypeCardinalityDescription
redirectTostring[1]Phone number of the target of the redirection
anonymousboolean[0..1]Anonymous call (secret identity). This parameter is optional. If it is omitted, anonymous is not set for this call.
[+] : JSON Example
Associated method :
RetrieveRequest
[Tel]: Request to retrieve a call.
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
[+] : JSON Example
Associated method :
SendAccountInfoRequest
Request to send the account info. For a CCD agent, this is the mean to send the transaction code at the end of a call.
NameTypeCardinalityDescription
deviceIdstring[0..1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
accountInfostring[1]This is used by the application to provide the transaction code.
[+] : JSON Example
Associated method :
SendAssociatedDataRequest
Request to send associated data.
NameTypeCardinalityDescription
deviceIdstring[0..1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
associatedDatastring[0..1]This is used by the application to provide application-related information (limited to 32 bytes).
In general, it is used to give information concerning a previously established call to the party of a second call.
Example: user B has receives an external call. Before he makes an enquiry call to userB, he associates Data to this incoming call. If user A transfers the call to userB, userB is notified with the transfer of the call with an event containing CallData with the associateDAta.
Its usage is exclusive from the byte array binaryAssociatedData (if associatedData is present, hexaBinaryAssociatedData is discarded).
hexaBinaryAssociatedDatastring[0..1]To used by the application if the associate data is a non-printing character string but an array of bytes.
In this case, the associate data is passed as a sequence of hexadecimal bytes (ex: "f3f40201").
Caution: byte '00' is not authorized by OXE (will be interpreted as termination character).
Its usage is exclusive from the String associatedData (if associatedData is present, hexaBinaryAssociatedData is discarded).
[+] : JSON Example
Associated method :
SendDtmfRequest
Request to send DTMF
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
numberstring[1]DTMF codes.
[+] : JSON Example
Associated method :
string
'string' represents character strings.
SwitchDeviceRequest
Request to switch between two devices.
NameTypeCardinalityDescription
otherDeviceIdstring[1]Device phone number on which to switch.
[+] : JSON Example
Associated method :
Tag
Describes a Tag (a defined name and a value).
NameTypeCardinalityDescription
namestring[1]Tag name.
valuestring[0..1]Tag value.
visibilitiesstring[0..*]Visibility of this tag : list of login name.
[+] : JSON Example
TelephonicState
Snapshot of the user's telephonic state.
NameTypeCardinalityDescription
callsCall[0..*]Gives the list of current calls.
deviceCapabilitiesDeviceCapabilities[0..*]Gives the list of device's capabilities.
userStateUserState[0..1]state of the user: is only used in case the user is busy unknown at monitoring
[+] : JSON Example
Associated method :
TransferRequest
Request to transfer the held call to a new destination.
NameTypeCardinalityDescription
heldCallRefstring[1]Reference of the held call.
[+] : JSON Example
Associated method :
TrunkIdentification
For external call, provide information on network timeslot and trunk eqt number
NameTypeCardinalityDescription
networkTimeslotint[0..1]the network time slot.
trunkNeqtint[0..*]trunk equipment number (Could be 2 nbrs in case of conference with 2 different external trunks.
[+] : JSON Example
UnParkRequest
Request to unpark a call from a target device where the call has been parked. If the call has been parked on the current device, the target device is not required.
NameTypeCardinalityDescription
unParkFromstring[0..1]Phone number of the device where the call has been parked.
[+] : JSON Example
Associated method :
UserState
Lists the different types of user state.
ValueDescription
FREEUser is free.
BUSYUser is busy.
UNKNOWNThe user state is unknown.

Directory search

Presentation

The OXE call server phone book is used to search for a contact.

Operations can be invoked using:

A directory search is a set of 2 or more sequential operations:

Resources summary

ResourceMethodDescription
/directory/searchPOSTInitiates a search
GETGets the next available results for the current search.
DELETEDeletes (stops) search query
/directory/searchbydtmfPOSTInitiates a search by dtmf, giving the phoneset keyboard corresponding digits

Resources

/directory/search

Methods
POST/directory/search
Initiates a search

Note: For the whole solution only 100 concurrent searches are authorized.
For each session (user or administrator), only 5 concurrent searches are authorized.
An unused search context is freed after 1 minute.

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SearchRequestapplication/json
SearchRequest
Response
codetypemedia typesdescription
201stringapplication/json
CREATED
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Initiates a search

GET/directory/search
Gets the next available results for the current search.

The principle for executing a search is as follows:

    Start a search using the previous operations Call the getSearch operation in a loop and for each iteration :
    • if the status is NOK, the search is in progress but no result is available : it is recommended to wait before the next iteration (500ms for example)
    • if the status result code is OK, you can process the results
    • if the status result code is FINISH or TIMEOUT, exit the loop
    At each iteration you can stop the search using the stopSearch operation and exit the loop.

Note: For the whole solution only 100 concurrent searches are authorized.
For each session (user or administrator), only 5 concurrent searches are authorized.
An unused search context is freed after 1 minute.

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200SearchResultapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Gets the next available results

DELETE/directory/search
Deletes (stops) search query

Note: For the whole solution only 100 concurrent searches are authorized.
For each session (user or administrator), only 5 concurrent searches are authorized.
An unused search context is freed after 1 minute.

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Deletes search query

/directory/searchbydtmf

Methods
POST/directory/searchbydtmf
Initiates a search by dtmf, giving the phoneset keyboard corresponding digits
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SearchByDtmfRequestapplication/json
SearchByDtmfRequest
Response
codetypemedia typesdescription
201stringapplication/json
CREATED
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Initiates a search by dtmf for user whose lastname begins with "L"

Representations

Attribute
Lists the different types of attributes.
ValueDescription
lastNameLast name.
firstNameFirst name.
id.phoneNumber

The format of the value of an attribute of type PHONENUMBER can be "displaynumber"<dialable number>.

displaynumber is the phone number which will be displayed on the device or on the application.
displaynumber is written between two double quote characters.

dialable number is the phone number which will be used to dial by the device or by the application.
dialable number is written between less than sign and greater than sign character.

The usual format is always possible when no difference is made between the display number and the dialable number.

id.loginNameLogin name.
Criterion
Criterion descriptor.
NameTypeCardinalityDescription
fieldAttribute[0..1]Field name.
operationOperation[1]Operation.
operandstring[1]Operand.
Criterion[1..*]

[+] : JSON Example 1

[+] : JSON Example 2

[+] : JSON Example 3

Identifier
Description of Identifier
NameTypeCardinalityDescription
loginNamestring[0..1]Login name
phoneNumberstring[0..1]Phone number
[+] : JSON Example
int
'int' is a 32-bit number (-2147483648 to 2147483647).
KeyboardType
ValueDescription
CCITT
ITU
Operation
The types of operation
ValueDescription
OROR operation.
ANDAND operation.
EQUAL_IGNORE_CASEEQUAL_IGNORE operation.
BEGIN_WITHBEGIN_WITH operation.
CONTAINCONTAIN operation.
END_WITHEND_WITH operation.
PartyInfo
Description of PartyInfo
NameTypeCardinalityDescription
idIdentifier[0..1]PartyInfo identifier object
firstNamestring[0..1]First name
lastNamestring[0..1]Last name
[+] : JSON Example
ResultCode
This code is returned each time you try to retrieve responses after a search has been started (getNextResults operation).
ValueDescription
OKResponses are provided this time. You will have to continue to invoke getNextResults periodically to get the next response.
NOKNo responses this time. You will have to continue to invoke getNextResults periodically to get the next response.
FINISHSearch is finished. You no longer need to invoke getNextResults, there are no more responses.
TIMEOUTSearch is ended for timeout reason. You no longer need to invoke getNextResults, there are no more responses.
ResultElement
Gives a result which matches the criterion given in search operation. The records are obtained by periodically invoking the getNextResults operation.
NameTypeCardinalityDescription
contactsPartyInfo[0..*]Array of ContactDTO objects
[+] : JSON Example
SearchByDtmfRequest
This element is used to start an advanced search.
NameTypeCardinalityDescription
lastNamestring[1]The value of lastname to search in DTMF format
firstNamestring[0..1]The value of firstname to search in DTMF format
keyboardTypeKeyboardType[1]The keyboard type
limitint[0..1]Maximum number of results. Default value is 100. The range of supported values is [1 .. 100].
[+] : JSON Example
Associated method :
SearchRequest
This element is used to start an advanced search.
NameTypeCardinalityDescription
limitint[0..1]Maximum number of results. Default value is 100. The range of supported values is [1 .. 100].
filterCriterion[1]searching criterion.
[+] : JSON Example
Associated method :
SearchResult
The result of a search
NameTypeCardinalityDescription
resultCodeResultCode[0..1]Search result status code.
resultElementsResultElement[0..*]Search result elements.
[+] : JSON Example
Associated method :
string
'string' represents character strings.

Routing management

Presentation

The Routing service allows a user to activate forward or overflow of incoming calls on other destinations like other users or voicemail.
If the user has a mobile phone, he can also choose to select or not the mobile as a presentation route for incoming calls.
The overflow service is used to redirect the incoming calls on the associate, while the forward service is used to redirect the incoming calls on other number or on voice mail.
Forward may be activated on IMMEDIATE mode or, like overflow, on modes: BUSY/NO_ANSWER/BOTH.
Overflow destinations is only used when the forward destination is not active.

Resources summary

ResourceMethodDescription
/routingGETAllows an application to know what the user is allowed to do.
POSTSets the specified routes This method is mainly used to activate/deactivate the Remote Extension by passing a presentationRoute which contains a route with destinationType is MOBILE and selected value "true/false"
(Only this route can be used) For compatibility, it can be also used to set the forward.
/routing/dndGETRetrieves the current dnd state.
POSTSet the dnd state.
DELETECancel the dnd.
/routing/forwardrouteGETRetrieves the forward route.
DELETECancels the forward route.
POSTSet the forward route.
/routing/overflowrouteGETRetrieves the overflow route.
POSTSets the specified overflow routes.
DELETECancels the overflow routes.
/routing/stateGETRetrieves the routing context state.
/routing/state/snapshotPOSTAsk a snapshot event on user dynamic state.

Notification summary

NotificationDescription
OnRoutingStateChangedThis notification indicate that routing state is changed.

Resources

/routing

Methods
GET/routing
Allows an application to know what the user is allowed to do.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Capabilitiesapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the routing capabilities of a user.

POST/routing
Sets the specified routes This method is mainly used to activate/deactivate the Remote Extension by passing a presentationRoute which contains a route with destinationType is MOBILE and selected value "true/false"
(Only this route can be used) For compatibility, it can be also used to set the forward. .
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
sipNomadicboolean
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SetRoutesRequestapplication/json
SetRoutesRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Make an immediate forward to my voicemail. All routing profiles are automatically disabled. (The forwardType is an optional condition to forward route. If this parameter is not provided, forward is unconditional: i.e immediate.)

[+] : Make a conditional forward (BUSY) to my voicemail. All routing profiles are automatically disabled.

[+] : Activate the remote extension.

[+] : DeActivate the remote extension.

Associated notifications

/routing/dnd

Methods
GET/routing/dnd
Retrieves the current dnd state.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200DNDStateapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Retrieves the current dnd state.

POST/routing/dnd
Set the dnd state.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Activate DND

Associated notifications
DELETE/routing/dnd
Cancel the dnd.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Deactivate DND

Associated notifications

/routing/forwardroute

Methods
GET/routing/forwardroute
Retrieves the forward route.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200ForwardRouteapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : A forward on BUSY is activated to the user voicemail.

DELETE/routing/forwardroute
Cancels the forward route.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Cancels the forward routes.

Associated notifications
POST/routing/forwardroute
Set the forward route.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SetForwardRouteRequestapplication/json
SetForwardRouteRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Make an immediate forward to my voicemail. (The forwardType is an optional condition to forward route. If forwardType is not provided, forward is unconditional: i.e immediate.)

[+] : Make a conditional forward (BUSY) to my voicemail. All routing profiles are automatically disabled.

[+] : Make an immediate forward to a number.

[+] : Make a conditional forward (BUSY) on a number ("forwardType" parameter is necessary)

Associated notifications

/routing/overflowroute

Methods
GET/routing/overflowroute
Retrieves the overflow route.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200OverflowRouteapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : An overflow on BUSY is activated to the user voicemail.

POST/routing/overflowroute
Sets the specified overflow routes.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SetOverflowRoutesRequestapplication/json
SetOverflowRoutesRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : If the user is busy, route the new calls to the voicemail.

Associated notifications
DELETE/routing/overflowroute
Cancels the overflow routes.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Cancels the overflow routes.

Associated notifications

/routing/state

Methods
GET/routing/state
Retrieves the routing context state.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200RoutingStateapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the state of my routing, in term of presentation route, forward route and overflow route. Here, it is the custom routing which is activated and not a routing profile (no appliedProfile information). The calls will be presented on the device types OFFICE and MOBILE.
A forward on BUSY is activated to the user voicemail and an overflow on NO_ANSWER to a number.

/routing/state/snapshot

Methods
POST/routing/state/snapshot
Ask a snapshot event on user dynamic state. The event OnRoutingStateChanged will contain the DynamicState (forward/overflow/dnd state) If this request is made by an administrator and no loginName is provided, the snapshot is asked for all the users If a second request is asked since the previous one is still in progress, it has no effect.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked. This parameter is ignored if the Session identifier matches a user account.
For an administrator session, the loginName must either correspond to an existing user or be null: in this last case, the snapshot event request is done for all the users. CAUTION!: this request is immediately acknowledged but the processing may take a long time if the number of users is huge.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

Representations

boolean
'boolean' is a data type, having two values (true and false).
Capabilities
Describes the routing management capabilities.
NameTypeCardinalityDescription
presentationRouteboolean[0..1]If true, the user is allowed to manage presentation routes.
forwardRouteboolean[0..1]If true, the user is allowed to manage forward routes.
overflowRouteboolean[0..1]If true, the user is allowed to manage overflow routes.
dndboolean[0..1]If true, the user is allowed to manage the doNotDisturb.
[+] : JSON Example
Associated method :
Destination

Describes a destination.

NameTypeCardinalityDescription
typeDestinationType[1]Key used to identify the device or other destinations.
deviceIdstring[0..1]Filled by the system in routing state.
numberstring[0..1]Defines the phone number of an external device.

NOTE: the number must be filled if the destination type is different than VOICEMAIL.

selectedboolean[0..1]To select or not the destination, only for presentation route .
[+] : JSON Example
DestinationType
Lists the different types of a destination.
ValueDescription
OFFICEDestination is office device(deprecated).
MOBILEDestination is mobile device(deprecated).
VOICEMAILDestination is the voice mail of the user.
NUMBERDestination is a number.
Used in forward routes.
UNKNOWNUnknown destination type.
DNDState

Describes a DoNotDisturb state.

The possible state for the DoNotDisturb is activate or not.

NameTypeCardinalityDescription
activateboolean[0..1]DnD is activate or not
[+] : JSON Example
Associated method :
ForwardRoute

Describes a forward route.

The possible destination type for a forward route are:

  • VOICEMAIL
  • USER
  • NUMBER

NameTypeCardinalityDescription
forwardTypeForwardType[0..1]Optional condition to forward route. If this parameter is not provided forward is unconditional: i.e immediate.
destinationsDestination[0..*]List of destinations where calls can be forwarded: Only one destination is acceptable.
[+] : JSON Example
Associated method :
ForwardType
Lists the different types of forward.
The forwardType is an optional condition to forward route. If this parameter is not provided, forward is unconditional: i.e IMMEDIATE.
ValueDescription
BUSYIncoming calls are diverted to the destination when the phone is busy.
NO_ANSWERIncoming calls are diverted to the destination after a ringing duration.
BUSY_NO_ANSWERIncoming calls are diverted to the destination when the phone is busy or after a ringing duration.
OnRoutingStateChanged
This notification indicate that routing state is changed.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnRoutingStateChanged'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
routingStateRoutingState[1]Current routing state.
[+] : JSON Example
Associated methods :
OverflowRoute

Describes an overflow route.

The possible destination types for an overflow route are:

  • VOICEMAIL
  • NUMBER

NameTypeCardinalityDescription
overflowTypeOverflowType[1]The overflow type.
destinationsDestination[1..*]List (for compatibility) of destinations where calls can be forwarded.
Only one destination can be used.
[+] : JSON Example
Associated method :
OverflowType
Lists the different types of overflow
ValueDescription
BUSYIncoming calls are diverted to the destination when the phone is busy.
NO_ANSWERIncoming calls are diverted to the destination after a ringing duration.
BUSY_NO_ANSWERIncoming calls are diverted to the destination when the phone is busy or after a ringing duration.
PresentationRoute

Describes a presentation route.

The only possibility is to set or unset the MOBILE as a presentation route: It will activate or not the Remote Extension if the user as one. If the MOBILE destination is not present, it means the user has no remote extension. The OFFICE destination is always activated and it cannot be changed.

NameTypeCardinalityDescription
destinationsDestination[1..*]List of destinations where calls can be presented simultaneously: Calls can be forked to OFFICE or OFFICE + MOBILE destinations.
[+] : JSON Example
RoutingState
Describes the routing state.
NameTypeCardinalityDescription
presentationRoutesPresentationRoute[1..*]List of presentation routes.
forwardRoutesForwardRoute[0..*]List of forward routes.
overflowRoutesOverflowRoute[0..*]List of overflow routes.
dndStateDNDState[0..1]Do not disturb state
[+] : JSON Example
Associated method :
SetForwardRouteRequest
Request to activate or cancel the forward of the incoming calls.
NameTypeCardinalityDescription
forwardRouteForwardRoute[0..1]New forward route.
[+] : JSON Example
Associated method :
SetOverflowRoutesRequest
Request to set the overflow routes.
NameTypeCardinalityDescription
overflowRoutesOverflowRoute[1..*]New overflow routes (only one overflow route can be set).
[+] : JSON Example
Associated method :
SetRoutesRequest
Request to select current routes for the user.
NameTypeCardinalityDescription
presentationRoutesPresentationRoute[0..*]

List of presentation routes (only one presentation route can be set).

forwardRoutesForwardRoute[0..*]

Calls are prior forwarded to the selected destinations (only one forward route can be set).

[+] : JSON Example
Associated method :
string
'string' represents character strings.

Communication log

Presentation

The Communication log service allows

Caution: The call history records are built at O2G server level, thanks to its telephony call monitoring and therefore, the comlog database is built independently of the pbx internal comlog. The Acknowledge/Unacknowledge of an incoming missed call done by REST API is not consider at OXE level and inversely also.
No synchronization with the call server is done.

Note: 100 tickets max per user.

Note concerning the dates in the records:

Specific case of merged call (enquiry call + conference)

For the same call, the beginDate and the endDate may be low different(few seconds) between the participants, as the convDate is the same.

Resources summary

ResourceMethodDescription
/comlog/recordsPUTEither Acknowledge/Unacknowledge the incoming missed communication records specified by their IDs.
GETGet all the communication log records.
DELETEDelete all (or only the specified) communication log records.
/comlog/records/recordIdsGETGet the whole list of communication log record Ids.
/comlog/records/{recordId}GETGet a communication log record.
DELETEDelete a record.

Notifications summary

NotificationDescription
OnComRecordCreatedNotification sent when a new comlog entry has been created.
OnComRecordModifiedNotification sent when one or more records have been modified.
OnComRecordsAckNotification sent when one or more unanswered comlog records have been acknowledged.
OnComRecordsDeletedNotification sent when one or more call log records have been destroyed.
OnComRecordsUnAckNotification sent when one or more unanswered comlog records have been unacknowledged.

Resources

/comlog/records

Methods
PUT/comlog/records
Either Acknowledge/Unacknowledge the incoming missed communication records specified by their IDs.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
acknowledgestringtrue to acknowledge the list of communication records, false to unacknowledge.
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
UpdateComRecordsRequestapplication/json
UpdateComRecordsRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications
GET/comlog/records
Get all the communication log records.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
recordIdListstringThis parameter is optional. If provided none of the other parameters (except loginName) are taken into account. This is a comma separated string of IDs of the communication log records to retrieve. The returned data will contain the requested records and the totalCount information.
unansweredbooleanThis parameter is optional. This is a search criterion, when set to true the operation returns only the records for missed calls. When omitted this operation returns all the records (answered or not) which match the other criteria.
unacknowledgedbooleanThis is a search criterion, when set to true the operation returns only the records unacknowledged. If false this operation returns all the records (acknowledged or not) which match the other criteria.
afterDatestringThis parameter is optional. The string is an UTC datetime whose format is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:14.489Z). This is a search criterion, when used the operation returns the records not older than this date. When omitted the operation searches for matching records starting from the oldest.
beforeDatestringThis parameter is optional. The string is an UTC datetime whose format is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:15.489Z). This is a search criterion, when used the operation returns the records older than this date. When omitted the operation searches for matching records until the newest.
roleRoleThis parameter is optional. This is a search criterion, the enum value can be "CALLER", "CALLEE". It defines the role of the user in the communication. When omitted this operation returns all the records which match the other criteria.
comRefstringThis parameter is optional. The comref of the com we want to retrieve.
remotePartyIdstringThis parameter is optional. Ask to apply the operation on the records in which the user is engaged with this remote party.
offsetintThis parameter is optional. The offset of the first record to return. This parameter, together with "limit" allows to get the communication log "page by page" for application needs. Default value is 0.
limitintThis parameter is optional. Defines the maximum number of records this operation returns. Default value is 0 (in this case, we assume that the application wants to load the full communication log).
optimizedbooleanThis parameter is optional. When set to true the operation returns the full identity of a participant only the first time it occurs, when the same participant appears in several records When omitted this operation returns the records with no optimization.
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200ComHistoryRecordsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get all unanswered communication log records.

DELETE/comlog/records
Delete all (or only the specified) communication log records.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
recordIdListstringThis parameter is optional. If provided none of the other parameters (except loginName) are taken into account. This is a comma separated string of IDs of the communication log records to delete. If the IDs are unknown, no error message will be raised. In such case, of course, the OnComRecordDeleted event won't be generated.
unansweredstringThis parameter is optional. This is a search criterion, when set to true the operation deletes only the records for missed calls. When omitted this operation deletes all the records (answered or not) which match the other criteria.
unacknowledgedstringThis is a search criterion, when set to true the operation returns only the records unacknowledged. If false this operation returns all the records (unacknowledged or not) which match the other criteria.
afterDatestringThis parameter is optional. The string is an UTC datetime whose format is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:15.489Z). This is a search criterion, when used the operation deletes the records not older than this date. When omitted the operation deletes matching records starting from the oldest.
beforeDatestringThis parameter is optional. The string is an UTC datetime whose format is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:15.489Z). This is a search criterion, when used the operation deletes the records older than this date. When omitted the operation deletes matching records until the newest.
rolestringThis parameter is optional. This is a search criterion, the enum value can be "CALLER", "CALLEE". It defines the role of the user in the communication. When omitted this operation deletes all the records which match the other criteria.
comRefstringThis parameter is optional. The comref of the com we want to delete.
remotePartyIdstringThis parameter is optional. Ask to apply the operation on the records in which the user is engaged with this remote party.
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/comlog/records/recordIds

Methods
GET/comlog/records/recordIds
Get the whole list of communication log record Ids.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200ComHistoryRecordIdsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable

/comlog/records/{recordId}

Methods
GET/comlog/records/{recordId}
Get a communication log record.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
recordIdstringIdentifier of the record
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200ComHistoryRecordapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
DELETE/comlog/records/{recordId}
Delete a record.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
recordIdstringIdentifier of the record
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

Representations

boolean
'boolean' is a data type, having two values (true and false).
ComHistoryRecord
Communication history ticket (ComLog).
NameTypeCardinalityDescription
recordIdlong[0..1]unique identifier of the record.
comRefstring[1]Communication reference identifier.
acknowledgedboolean[0..1]False indicates that the ticket corresponds to a non answered incoming call that has not been later acknowledged.
participantsParticipant[0..*]List of participants involved in the communication. The list may be null for a scheduled conference that has not yet started.
beginDatedateTime[0..1]Begin date of the communication (when the call is launched).
endDatedateTime[0..1]End date of the conversation (when the call is terminated or canceled).
convDatedateTime[0..1]Conversation date (when the call has been answered).
mediasMediaType[1..*]The list of medias involved in the communication.
extensionsTagValuePair[0..*]For evolution of this element, can contain supplementary information (tag/value pair).
[+] : JSON Example
Associated method :
ComHistoryRecordIds
Container for the list of history record ids (ComLog).
NameTypeCardinalityDescription
recordIdslong[0..*]The list the IDs of the com log records.
[+] : JSON Example
Associated method :
ComHistoryRecords
List of ComHistoryRecord (ComLog).
NameTypeCardinalityDescription
comHistoryRecordsComHistoryRecord[0..*]List of ComHistoryRecord.
offsetint[0..1]The offset of the first record which is returned.
limitint[0..1]Defines the maximum number of records returned.
totalCountint[0..1]Defines the total number of records without pagination.
[+] : JSON Example
Associated method :
dateTime
'dateTime' is an UTC datetime whose format (ISO 8601 compatible) is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:15.489Z).
Identifier
Key information to help retrieving a participant (ComLog).
NameTypeCardinalityDescription
loginNamestring[0..1]Login name.
phoneNumberstring[0..1]Company phone number.
[+] : JSON Example
int
'int' is a 32-bit number (-2147483648 to 2147483647).
long
'long' is a 64-bit number (-9223372036854775808 to 9223372036854775807).
MainType
Main participant type.
ValueDescription
USERThe participant is a user of the system.
DEVICEThe participant is a device of the system.
SERVICEThe participant is a service of the system.
EXTERNALThe participant is not a user of the system.
UNKNOWNThe main participant type is unknown.
MediaType
A media can be:
ValueDescription
AUDIOThe media is an audio.
UNKNOWNThe media is unknown.
OnComRecordCreated
Notification sent when a new comlog entry has been created.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnComRecordCreated'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
recordComHistoryRecord[1]Contains all the fields of a call log record.
[+] : JSON Example
OnComRecordModified
Notification sent when one or more records have been modified.

Modification, could be trigerred by:

  • a change of state (e.g. from unanswered to answered)
  • a change of media list (e.g. IM and call in a conference).
  • a change of end date (e.g. when participants are dropped from a conference)

NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnComRecordModified'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
recordComHistoryRecord[1]Contains all or part of the modified fields of a modified com log record.(example: acknowledged).
[+] : JSON Example
OnComRecordsAck
Notification sent when one or more unanswered comlog records have been acknowledged.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnComRecordsAck'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
recordIdslong[0..*]A list of IDs of records which have been acknowledged.
[+] : JSON Example
Associated method :
OnComRecordsDeleted
Notification sent when one or more call log records have been destroyed.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnComRecordsDeleted'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
recordIdslong[0..*]A list of IDs of records which have been destroyed Remark : if element is not present it means that all user's records have been destroyed.
[+] : JSON Example
Associated methods :
OnComRecordsUnAck
Notification sent when one or more unanswered comlog records have been unacknowledged.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnComRecordsUnAck'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
recordIdslong[0..*]A list of IDs of records which have been acknowledged.
[+] : JSON Example
Associated method :
Participant

Describes a participant referenced in the history record (ComLog).

Record content:

  • For a simple call (user A calls user B), the call record on each party will contain both the participant A and the participant B: (no guaranty on the order of the participants on 2 successive responses)
    • On A side, the record will contain :
      • participant A (the owner of the record) with role=CALLER and the answered status (whether the call has been answered or not)
      • participant B : neither the role nor the state is provided
    • On B side, the record will contain :
      • participant A : neither the role nor the state is provided
      • participant B (the owner of the record) with role=CALLEE and the answered status (whether the call has been answered or not)
  • For a re-routed call (user A calls user B, the call is re-routed on user C, caused by overflow, redirection or pickup), the record generated on each side including the user B side (the "victim" of the re-routing) will not contain as participant the user B itself because he was not the last destination of the call:
    • On A side, the record will contain :
      • participant A : with role=CALLER, the answered status, initialCalled=B
      • participant C
    • On B side, the record will be similar to the C one and contain :
      • participant A : neither the role nor the state is provided
      • participant C with role=CALLEE, the answered status (whether the call has been answered or not) and initialCalled=B
      which tells B that he was called by A but the call has been rerouted to C (with a reason) which answered or not to the call
    • On C side, the record will contain :
      • participant A : neither the role nor the state is provided
      • participant C with role=CALLEE, the answered status (whether the call has been answered or not) and initialCalled=B
  • Furthermore, for a multi-parties call using addParticipant, the already connected users in the call will also received a call record which will contain the answered status of the added participant: this information is provided to distinguish the added participants which have really answered and the other which decline the call.

Identification of the participant:

  • in the comlog notification events, the participant owner is identified only by its loginName (in order to reduce the event call flow), the other participants are identified with their full identity (loginName, phoneNumber, email, instantMessagingId)
  • in the getComlog response:
    • if no optimization is asked, all the participants are identified with their full identity.
    • if the "optimized:true" is present in the request parameter, only the first occurence of a participant (owner or other) are identified with their full identity. the following occurences are identified only with the phonenumber if the participant has one, or by it IM id if not.

NameTypeCardinalityDescription
roleRole[0..1]Defines whether the participant was the/a caller party, a called party or a masterconf. NB:in a conference, a participant can be both a called party and a caller (consultation call plus conference following an incoming call).
answeredboolean[0..1]defines whether the participant has really entered in the conversation. Can be omitted if the value is not known.
identityPartyInfo[1]Full description of a party involved in an history record.
anonymousboolean[0..1]Indicate if the participant identity is anonymous or not.
initialCalledPartyInfo[0..1]The number that has been initially called when this participant has been entered in the call.
reasonReason[0..1]The reason why the call has been established, rerouted, terminated ...
[+] : JSON Example
ParticipantType
Detail about a kind of participant (ComLog).
NameTypeCardinalityDescription
mainMainType[1]Gives the main type of the participant: "user", "device", ...
subTypestring[0..1]The subType string gives a supplementary information and can contain "voicemail",...
[+] : JSON Example
PartyInfo
Full description of a party involved in an history record (ComLog).
NameTypeCardinalityDescription
idIdentifier[1]Key information to help retrieving a participant.
firstNamestring[0..1]First name.
lastNamestring[0..1]Last name.
displayNamestring[0..1]Display name (display names are used in SIP URIs). Notice: if previous fields lastname/firstname are filled then displayName field will be empty.
typeParticipantType[0..1]Participant's type.
[+] : JSON Example
Reason
indicates for what reason the communication has been released, established or rerouted. The cause may be:
  • ABANDONED The call was abandoned.
  • ALL_TRUNK_BUSY The call was released because all trunk are busy.
  • BUSY The call was released because the remote party is busy.
  • FORWARDED The call has been forwarded PICKED_UP the call has been picked up.
  • REDIRECTED The call has been redirected.
  • TRANSFERRED The call has been transfered.
  • VOICEMAILDEPOSIT the call has been forwarded on vmail.
  • CONFERENCED The call was set to be a conference.
  • ... other ...
ValueDescription
ALL_TRUNK_BUSYThe call was released because all trunk are busy.
INVALID_NUMBERThe call was refused because the dialed number is not valid.
ABANDONEDThe call was canceled by the caller.
BUSYThe call failed because the called party is busy.
CONFERENCEDThe call was set to be a conference.
PICKUPThe call was picked up.
FORWARDEDThe call was forwarded to another destination.
REDIRECTEDThe call was redirected to another destination.
RELEASED_ON_REDIRECTThe call was released since redirection to another destination fails.
TRANSFERREDThe call was transferred.
RELEASED_ON_TRANSFERThe call was released since transfer to another destination fails.
VOICEMAILThe call ended on voicemail.
NORMALThe call normally ended.
UNKNOWNThe reason is unknown.
Role
role of a participant in the communication.
ValueDescription
CALLERThe participant is a caller party.
CALLEEThe participant is a called party.
UNKNOWNThe role is unknown.
string
'string' represents character strings.
TagValuePair
Key / value structure.
NameTypeCardinalityDescription
namestring[1]Key
valuestring[1]Value
[+] : JSON Example
UpdateComRecordsRequest
Request sent for updating communication history records (ComLog).
NameTypeCardinalityDescription
recordIdslong[0..*]The list the IDs of the com log records to update.
[+] : JSON Example
Associated method :

Event summary

Presentation

The Event summary service allows a user to get its new message indicators(missed call, voice mails, callback request, fax).

Resource summary

ResourceMethodDescription
/eventSummaryGETRetrieves main counters of the user's event log.

Notification summary

NotificationDescription
OnEventSummaryUpdatedNotification sent each time the user's counters have changed.

Resource

/eventSummary

Methods
GET/eventSummary
Retrieves main counters of the user's event log.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200EventSummaryapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Retrieves main counters of the user's event log.

Representations

boolean
'boolean' is a data type, having two values (true and false).
EventSummary
Describes an event summary.
NameTypeCardinalityDescription
missedCallsNbnonNegativeInteger[0..1]Number of missed calls (non acknowledged unanswered incoming calls).
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
CAUTION: This attribute doesn't reflect the missed call number managed by the call server itself but is related to the unanswered and non acknowledged incoming calls in the history call. Therefore, either only the explicit acknowledgment of these history call records through the communication log API service, or a new answered call with the same user will decrease this counter. Moreover, the counter is incremented for each non answered incoming call, including successive attempts from the same caller.
voiceMessagesNbnonNegativeInteger[0..1]Number of unread voice messages.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
callBackRequestsNbnonNegativeInteger[0..1]Number of call back requests.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
faxNbnonNegativeInteger[0..1]Number of fax.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
newTextNbnonNegativeInteger[0..1]Number of new text messages.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 new text but prefer not to display this information.
oldTextNbnonNegativeInteger[0..1]Number of old text messages.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 old text call but prefer not to display this information.
eventWaitingboolean[0..1]Specifies whether an event is waiting.
This flag can be used by an application to light a "LED" or to warn the user as it want that an event is waiting.
It is interesting to consider that the user could define rules on his profile defining when he wants his "LED" to be lighted. Considering that, the application does not have to decide when to light the "LED" but only has to follow this information.
If an application indicates to the user he has waiting events with additional events not provided here (number of unread emails or IM for instance) :
  • it would first have to take into account this flag (if true the "LED" has to be lighted)
  • and then, if the flag is false, the application would be able to take into account those additional events to know whether it wants to warn the user about waiting events.
[+] : JSON Example
Associated method :
nonNegativeInteger
'nonNegativeInteger' is all positive integer numbers and zero. Negative integers are excluded.
OnEventSummaryUpdated
Notification sent each time the user's counters have changed.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnEventSummaryUpdated'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
eventSummaryEventSummary[1]The new event summary.
[+] : JSON Example
Associated methods :
string
'string' represents character strings.

Maintenance

Presentation

Only for administrator. The system information resource is used to retrieve information about the system state, in particular information on the pbx nodes and their connection state.

Informations about license are also provided per item: total allocated licenses, numbers of current used and expiration date.

Concerning expiration of license file, a daily notification OnLicenseExpiration alarm may be received since 30 days before the expiration date up to 20 days after.

Resources summary

ResourceMethodDescription
/system/licensesGETGet license availability.
/system/statusGETGet information about system status.

Notifications summary

NotificationDescription
OnCtiLinkDownNotification sent when CTI link is down.
OnCtiLinkUpNotification sent when CTI link is up
OnLicenseExpirationNotification sent when the license file will soon expire or has recently expired
OnPbxLoadedNotification sent when datas are fully loaded from an OXE
OnServerStartNotification sent when O2G is ready (all oxe nodes are connected and loaded).

Resources

/system/licenses

Methods
GET/system/licenses
Get license availability.
This operation tests for the presence of a specific type of license in the FLEX license file.
This operation is available out of a session.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
query parameters
parametertypedescription
licstringthe type of license to check
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code
codemedia typesdescription
204application/json
No content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get ROXE_API_PHONESETPROG license availability

[+] : Get ROXE_HA license availability

/system/status

Methods
GET/system/status
Get information about system status.
This operation provides information about the system state , and the total number of each license type available for the system. <\b>This operation is restricted to an admin session only.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, system information corresponding to the concerned user SystemStatus
codetypemedia typesdescription
200SystemStatusapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get information about the system status

Representations

boolean
'boolean' is a data type, having two values (true and false).
ConfigurationTypeDTO
Type of O2G configuration
ValueDescription
PBX_MANAGEMENTPbx management only
RECORDINGRECORDING only
FULL_SERVICESPbx management + all services
CTILinkState
Lists the different OXE CTI link state
ValueDescription
CONNECTED_MAINconnected to main Call server
CONNECTED_SECONDARYconnected to secondary Call server
DISCONNECTEDnot connected
dateTime
'dateTime' is an UTC datetime whose format (ISO 8601 compatible) is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:15.489Z).
DRLink
CSTA DR link.
NameTypeCardinalityDescription
identifierstring[1]DR link Registration identifier
nbRecordedDevicesint[0..1]number of recorded devices
recordedDevicesRecordedDevice[0..*]list of recorded devices
[+] : JSON Example
int
'int' is a 32-bit number (-2147483648 to 2147483647).
License
License
NameTypeCardinalityDescription
namestring[0..1]Name
totalint[0..1]Total number
currentUsedint[0..1]Current used number. For the ROXE_API_MANAGEMENT particular case, it corresponds to the total network OXE Subscriber number
expirationstring[0..1] Expiration date
applicationboolean[0..1]Not used (Already true)
[+] : JSON Example
LicenseStatus
License status
NameTypeCardinalityDescription
typestring[0..1]FLEXLM (mode CAPEX) or LMS (mode OPEX)
contextstring[0..1]Only for LMS : infrastructure used (PROD, QA or INT)
currentServerstring[0..1]Server address
statusstring[0..1]Only for LMS : RTR status (NORMAL, GRACE PERIOD, PANIC MODE)
statusMessagestring[0..1]Only for LMS : Debug message, associated to the status
licsLicense[0..*]Licenses information
[+] : JSON Example
long
'long' is a 64-bit number (-9223372036854775808 to 9223372036854775807).
OnCtiLinkDown
Notification sent when CTI link is down. This event is sent with a 30 s minimum and 60 s maximum delay
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnCtiLinkDown'
nodeIdstring[1]the nodeId which CTI link is down
[+] : JSON Example
OnCtiLinkUp
Notification sent when CTI link is up
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnCtiLinkUp'
nodeIdstring[1]the nodeId which CTI link is back to normal
[+] : JSON Example
OnLicenseExpiration
Notification sent when the license file will soon expire or has recently expired
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnLicenseExpiration'
messagestring[1]alarm message
nbDayslong[1]nb days since or to expiration date: nbDays>0 means the license will expire in nb days and nbDays<0 means the license has already expired since nb days
[+] : JSON Example
OnPbxLoaded
Notification sent when datas are fully loaded from an OXE
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnPbxLoaded'
nodeIdstring[1]node identifier
[+] : JSON Example
OnServerStart
Notification sent when O2G is ready (all oxe nodes are connected and loaded).
To be received, this event needs a webhook url to be configured.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnServerStart'
serverIdstring[1]the IP of the server which starts
[+] : JSON Example
PbxStatus
Pbx description
NameTypeCardinalityDescription
namestring[0..1]PBX name
nodeIdint[0..1]PBX nodeId
mainAddressServerAddress[0..1]PBX address
secondaryAddressServerAddress[0..1]PBX address
versionstring[0..1]PBX version
connectedboolean[0..1]PBX CMIS connection state
loadedboolean[0..1] Is PBX's users load completed
ctiLinkStateCTILinkState[0..1] PBX CSTA connection state
securedboolean[0..1]is PBX secured connection
monitoredUserNumberint[0..1]Number of monitored PBX Users
lmsConnectionStatusboolean[0..1]Lms connection status
drLinksDRLink[0..*]In case of IP recording, list of drLinks
[+] : JSON Example
RecordedDevice
Recorded device identification with it recording resource
NameTypeCardinalityDescription
numberstring[0..1]device number
recordedboolean[0..1]has the recording been asked
recordingResourcestring[0..1]recorder IP address or TDM time slot
ipboolean[0..1]Is an IP recording
sentFlowPortint[0..1]In case of IP recording, the recorder port where is sent the sent RTP flow(from the local recorded device to the remote)
receivedFlowPortint[0..1]In case of IP recording, the recorder port where is sent the received RTP flow(from the remote to the local recorded device)
[+] : JSON Example
ServerAddress
Address of a server
NameTypeCardinalityDescription
fqdnstring[0..1]FQDN
ipstring[0..1]IP
[+] : JSON Example
ServicesStatus
Address of a server
NameTypeCardinalityDescription
namestring[0..1]Name
statusstring[0..1]Status Started/Stopped
modestring[0..1]Mode Active/Standby
[+] : JSON Example
string
'string' represents character strings.
SystemServicesStatusDTO
System description Management package
NameTypeCardinalityDescription
servicesServicesStatus[0..*]Services information
globalIPAdressstring[0..1]if System is in HA mode, status og global IP address
drbdstring[0..1]if System is in HA mode, status of drbd
[+] : JSON Example
SystemStatus
System description Management package
NameTypeCardinalityDescription
logicalAddressServerAddress[0..1]System logical address
startDatedateTime[0..1]Start date (UTC).
haboolean[0..1]is System in HA mode
primarystring[0..1]if System is in HA mode, fqdn of the current active system
primaryVersionstring[0..1]version of the current active system
primaryServicesStatusSystemServicesStatusDTO[0..1]Primary server services status
secondarystring[0..1]if System is in HA mode, fqdn of the backup system
secondaryVersionstring[0..1]version of the backup system
secondaryServicesStatusSystemServicesStatusDTO[0..1]Secondary server services status
pbxsPbxStatus[0..*]PBXs information
licenseLicenseStatus[0..1]The total number of each license type available for the system
configurationTypeConfigurationTypeDTO[0..1] Type of configuration
[+] : JSON Example
Associated method :

Voicemail

Presentation

The voicemail service allows a user to connect to its voice mail box and manage its voice mails (retrieve and delete).
The voice mail can only be retrieved by downloading wave format file.
Restrictions: The voicemail box of each user MUST exist on its local PBX node.
Only the voicemail 4645 (IMAP/VMMC2) is consider (no 4635 or external voicemail).
Note: Don't forget to allow IMAP access in the concerned 4645 VM Classes of Service in the OXE.

Resources summary

ResourceMethodDescription
/messaging/mailboxesGETGet all the user's mailboxes.
/messaging/mailboxes/{mailboxId}POSTConnect to a mailbox and retrieve the information.
/messaging/mailboxes/{mailboxId}/voicemailsGETRetrieve all user's voicemails, or only those specified by the filter parameters offset / limit / newOnly.
DELETEDelete several or all voicemails .
/messaging/mailboxes/{mailboxId}/voicemails/{voicemailId}DELETE

Delete the specified voicemail.

GET

Retrieve a given user's voicemail wav file.

Notification summary

NotificationDescription
OnEventSummaryUpdatedNotification sent each time the user's counters have changed.

Resources

/messaging/mailboxes

Methods
GET/messaging/mailboxes
Get all the user's mailboxes.

This is the logical first step to access further operation on voice mail feature. The id of the retrieved mailboxes is used as a key to go down resources hierarchy.

Depending on the mailbox type, some operations or notifications are not allowed or supported. These capabilities information are provided for each mailbox.


Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MESSAGING - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200MailBoxesapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the user's mailbox

/messaging/mailboxes/{mailboxId}

Methods
POST/messaging/mailboxes/{mailboxId}
Connect to a mailbox and retrieve the information.

This is the mandatory step to access all voice mail feature: To connect, the user password must be provided in the body

A mailbox information contains counters about the concerned mailbox:

  • Number of total voicemails.
  • Number of new (unread) voicemails.
  • Storage usage of the mailbox, if supported, as a percentage (100 = 100% full).

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MESSAGING - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
mailboxIdstringIdentifier of the mailbox.
query parameters
parametertypedescription
loginNamestringLogin 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.
withUserPwdstring This parameter is optional. If it is present(don't use ="true"/="false"), the password used to connect to voicemail box is the user password and in this case no body is required. (It is the responsability of the OXE administrator to make the voice mailbox password match the subscriber one). If absent, a body with the voice mail box password value is mandatory.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
ConnectRequestapplication/json
ConnectRequest
Response
codetypemedia typesdescription
200MailBoxInfoapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Connect to the mailbox

[+] : Connect to the mailbox with the user password

/messaging/mailboxes/{mailboxId}/voicemails

Methods
GET/messaging/mailboxes/{mailboxId}/voicemails
Retrieve all user's voicemails, or only those specified by the filter parameters offset / limit / newOnly.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MESSAGING - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
mailboxIdstringIdentifier of the mailbox.
query parameters
parametertypedescription
offsetintthe offset from which to start retrieving the voicemail list (Default value is 0).
limitintthe maximum number of items to return (Default value is -1: no limit).
newOnlybooleanfilter only unread voicemail if set to 'true' (Default value is 'false').
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Voicemailsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get all the voicemails id in the mailbox

DELETE/messaging/mailboxes/{mailboxId}/voicemails
Delete several or all voicemails .
NOTE To be able to do this operation, a previous call to the following resources must be done: POST /messaging/mailboxes/{mailboxId}

NOTE: If successfull, OnEventSummaryUpdated OnEventSummaryUpdated event will be generated to refresh the counters.

NOTE: The command does not return any particular value. It is assumed that invalid message Ids are by nature non-existent, which fits the purpose of deletion.


Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MESSAGING - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
mailboxIdstringIdentifier of the mailbox.
query parameters
parametertypedescription
msgIdsstringlist of voice message Ids to delete (comma separated list of voicemailIds).
or null if all messages must be deleted.
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : delete all the voicemails

[+] : delete 2 voicemails

Associated notifications

/messaging/mailboxes/{mailboxId}/voicemails/{voicemailId}

Methods
DELETE/messaging/mailboxes/{mailboxId}/voicemails/{voicemailId}

Delete the specified voicemail.


NOTE To be able to do this operation, a previous call to the following resources must be done: POST /messaging/mailboxes/{mailboxId}

NOTE: If successfull, OnEventSummaryUpdated OnEventSummaryUpdated event will be generated to refresh the counters.

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MESSAGING - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
mailboxIdstringIdentifier of the mailbox.
voicemailIdstringIdentifier of the message.
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : delete the voicemail

Associated notifications
GET/messaging/mailboxes/{mailboxId}/voicemails/{voicemailId}

Retrieve a given user's voicemail wav file.


NOTE To be able to do this operation, a previous call to the following resources must be done: POST /messaging/mailboxes/{mailboxId}

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MESSAGING - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
mailboxIdstringIdentifier of the mailbox.
voicemailIdstringIdentifier of the message.
query parameters
parametertypedescription
loginNamestringLogin 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.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
200application/octet-stream
OK
400Bad Request
403Forbidden
500Internal Server Error
503Service Unavailable
Examples

[+] : get the voicemail

Representations

boolean
'boolean' is a data type, having two values (true and false).
ConnectRequest
Voice mail connection request data.
NameTypeCardinalityDescription
passwordstring[0..1]voice mail account password.
[+] : JSON Example
Associated method :
dateTime
'dateTime' is an UTC datetime whose format (ISO 8601 compatible) is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:15.489Z).
EventSummary
Describes an event summary.
NameTypeCardinalityDescription
missedCallsNbnonNegativeInteger[0..1]Number of missed calls (non acknowledged unanswered incoming calls).
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
CAUTION: This attribute doesn't reflect the missed call number managed by the call server itself but is related to the unanswered and non acknowledged incoming calls in the history call. Therefore, either only the explicit acknowledgment of these history call records through the communication log API service, or a new answered call with the same user will decrease this counter. Moreover, the counter is incremented for each non answered incoming call, including successive attempts from the same caller.
voiceMessagesNbnonNegativeInteger[0..1]Number of unread voice messages.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
callBackRequestsNbnonNegativeInteger[0..1]Number of call back requests.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
faxNbnonNegativeInteger[0..1]Number of fax.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
newTextNbnonNegativeInteger[0..1]Number of new text messages.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 new text but prefer not to display this information.
oldTextNbnonNegativeInteger[0..1]Number of old text messages.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 old text call but prefer not to display this information.
eventWaitingboolean[0..1]Specifies whether an event is waiting.
This flag can be used by an application to light a "LED" or to warn the user as it want that an event is waiting.
It is interesting to consider that the user could define rules on his profile defining when he wants his "LED" to be lighted. Considering that, the application does not have to decide when to light the "LED" but only has to follow this information.
If an application indicates to the user he has waiting events with additional events not provided here (number of unread emails or IM for instance) :
  • it would first have to take into account this flag (if true the "LED" has to be lighted)
  • and then, if the flag is false, the application would be able to take into account those additional events to know whether it wants to warn the user about waiting events.
[+] : JSON Example
Associated method :
Identifier
Key information to help retrieving a participant.
NameTypeCardinalityDescription
loginNamestring[0..1]Login name.
phoneNumberstring[0..1]Company phone number.
instantMessagingIdstring[0..1]Instant messaging identity.
companyEmailstring[0..1]Company email.
[+] : JSON Example
int
'int' is a 32-bit number (-2147483648 to 2147483647).
MailBox
Descriptor of a mailbox.
NameTypeCardinalityDescription
idstring[0..1]Identifier of the mailbox.
namestring[0..1]Name of the mailbox.
capabilitiesMailBoxCapabilities[0..1]Capabilities supported by the mailbox.
[+] : JSON Example
MailBoxCapabilities
List the capabilities supported by a mailbox.
NameTypeCardinalityDescription
listMessagesboolean[0..1]Voicemail server can return the list of messages.
getMessagesboolean[0..1]Voice messages can be downloaded.
getRecordboolean[0..1]Recorded message can be downloaded.
playboolean[0..1]Voicemail server is capable of playing voice messages.
pauseboolean[0..1]Playing voice message can be paused and resumes from the position it has been paused.
hangupboolean[0..1]Media session can be terminate.
recordboolean[0..1]The voicemail server is capable of recording voice messages.
resumeboolean[0..1]Voice message recording can be resumed after being stopped.
cancelboolean[0..1]The current recording can be cancelled.
forwardboolean[0..1]The voicemail server is capable of forwarding voice messages.
callbackboolean[0..1]The voicemail server can call back the originator of the voice message.
sendboolean[0..1]Voice message or record can be sent to recipients.
eventsboolean[0..1]Voicemail server is capable to send events in case of message deposit / removal.
[+] : JSON Example
MailBoxes
Container for a list of Mailbox
NameTypeCardinalityDescription
mailboxesMailBox[0..*]List of user mailboxes.
[+] : JSON Example
Associated method :
MailBoxInfo
Descriptor of a MailboxInfo.
NameTypeCardinalityDescription
totalVoiceMsgint[0..1]Number of voice messages.
newVoiceMsgint[0..1]Number of new (unread) voice messages.
storageUsageint[0..1]Threshold indicating mailbox usage ratio. 100 mean 100% full. No more message deposit is allowed. -1 means information not available.
[+] : JSON Example
Associated method :
nonNegativeInteger
'nonNegativeInteger' is all positive integer numbers and zero. Negative integers are excluded.
OnEventSummaryUpdated
Notification sent each time the user's counters have changed.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnEventSummaryUpdated'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
eventSummaryEventSummary[1]The new event summary.
[+] : JSON Example
Associated methods :
PartyInfo
Full description of a party (i.e. participant's description).
NameTypeCardinalityDescription
idIdentifier[1]Key information to help retrieving a participant.
firstNamestring[0..1]First name of the participant.
lastNamestring[0..1]Last name of the participant.
displayNamestring[0..1]Display name of the participant.
[+] : JSON Example
string
'string' represents character strings.
Voicemail
Descriptor of a voice message.
NameTypeCardinalityDescription
voicemailIdstring[1]Identifier of the voicemail.
fromPartyInfo[0..1]Originator of the voicemail.
durationint[1]Duration, in seconds, of the voicemail.
datedateTime[1]Date and time (ISO-8601) of the message.
unreadboolean[1]Indicates if this message has been read or not.
highPriorityboolean[1]Indicate if the message has been tagged as urgent or not.
[+] : JSON Example
Voicemails
List of voicemails.
NameTypeCardinalityDescription
voicemailsVoicemail[0..*]List of voicemails.
[+] : JSON Example
Associated method :

Phone Set Programming

Presentation

The Phone Set Programming service allows a user to manage its device states: lock/campon/programmable keys.

Resources summary

ResourceMethodDescription
/users/{loginName}/devicesGETGet all the devices of a user
/users/{loginName}/devices/{deviceId}GETGet one device of a user
/users/{loginName}/devices/{deviceId}/REActivePUTActivate or deactivate the remote extension device of a user
/users/{loginName}/devices/{deviceId}/REActiveStateGETGet the remote extension activation state of a user
/users/{loginName}/devices/{deviceId}/addonsGETGet the addons module types associated to a device of a user
/users/{loginName}/devices/{deviceId}/associatePUTSet the associate of a device of a user
/users/{loginName}/devices/{deviceId}/camponPUTSet or reset the campon state of a device of a user
/users/{loginName}/devices/{deviceId}/dynamicStateGETGet the dynamic state (lock/campon/associate) of a device of a user
/users/{loginName}/devices/{deviceId}/lockPUTSet or reset the lock state of a device of a user
/users/{loginName}/devices/{deviceId}/pinGETGet the PIN configuration associated to a device of a user
PUTSet the PIN configuration associated to a device of a user
/users/{loginName}/devices/{deviceId}/programmeableKeysGETGet the programmeable keys (already programmed and not affected) associated to a device of a user
/users/{loginName}/devices/{deviceId}/programmeableKeys/{position}PUTSet a programmeable key associated to a device of a user
DELETEErase a programmeable key associated to a device of a user
/users/{loginName}/devices/{deviceId}/programmedKeysGETGet the already programmed keys associated to a device of a user
/users/{loginName}/devices/{deviceId}/softKeysGETGet the soft keys associated to a device of a user
/users/{loginName}/devices/{deviceId}/softKeys/{position}PUTSet a soft key associated to a device of a user
DELETEErase a soft key associated to a device of a user
/users/{loginName}/prefixesGETGet a pbx prefix related to a user.

Resources

/users/{loginName}/devices

Methods
GET/users/{loginName}/devices
Get all the devices of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the devices.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the list of devices Devices
codetypemedia typesdescription
200Devicesapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the devices of the user1

/users/{loginName}/devices/{deviceId}

Methods
GET/users/{loginName}/devices/{deviceId}
Get one device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the device.
deviceIdstringidentifier of the device to retrieve.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the list of devices Device
codetypemedia typesdescription
200Deviceapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/REActive

Methods
PUT/users/{loginName}/devices/{deviceId}/REActive
Activate or deactivate the remote extension device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the RE device to activate/deactivate.
query parameters
parametertypedescription
activatebooleanactivation or deactivationboolean.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : activate the RE device 1234 of the user1

/users/{loginName}/devices/{deviceId}/REActiveState

Methods
GET/users/{loginName}/devices/{deviceId}/REActiveState
Get the remote extension activation state of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the RE to get the activation state.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the activation state
codetypemedia typesdescription
200REActivationStateapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the activation state of the RE 1234 of the user1

/users/{loginName}/devices/{deviceId}/addons

Methods
GET/users/{loginName}/devices/{deviceId}/addons
Get the addons module types associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device to retrieve the soft keys.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the list of soft keys Addons
codetypemedia typesdescription
200Addonsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable

/users/{loginName}/devices/{deviceId}/associate

Methods
PUT/users/{loginName}/devices/{deviceId}/associate
Set the associate of a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device to set the associate.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
Associateapplication/json
associate number Associate.
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : update the associate for the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/campon

Methods
PUT/users/{loginName}/devices/{deviceId}/campon
Set or reset the campon state of a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device to set or reset the campon.
query parameters
parametertypedescription
activatebooleanactivation or deactivationboolean.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : activate the lock for the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/dynamicState

Methods
GET/users/{loginName}/devices/{deviceId}/dynamicState
Get the dynamic state (lock/campon/associate) of a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device to get the dynamic state.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the dynamic state
codetypemedia typesdescription
200DynamicStateapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the dynamic state of the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/lock

Methods
PUT/users/{loginName}/devices/{deviceId}/lock
Set or reset the lock state of a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device to lock or unlock.
query parameters
parametertypedescription
activatebooleanactivation or deactivationboolean.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : activate the lock for the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/pin

Methods
GET/users/{loginName}/devices/{deviceId}/pin
Get the PIN configuration associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the PIN information Pin
codetypemedia typesdescription
200Pinapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the PIN information of the device 1234 of the user1

PUT/users/{loginName}/devices/{deviceId}/pin
Set the PIN configuration associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device to set.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
Pinapplication/json
PIN information Pin.
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : update PIN information for the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/programmeableKeys

Methods
GET/users/{loginName}/devices/{deviceId}/programmeableKeys
Get the programmeable keys (already programmed and not affected) associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the pKeys.
deviceIdstringidentifier of the device to retrieve the programmeable keys.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the list of programmeable keys (programmed and not affected) ProgrammeableKeys
codetypemedia typesdescription
200ProgrammeableKeysapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the pkeys of the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/programmeableKeys/{position}

Methods
PUT/users/{loginName}/devices/{deviceId}/programmeableKeys/{position}
Set a programmeable key associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device where to modify the programmeable key.
positionintthe position of the pKey to set(MUST be the same value that the key object attribute one).
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
ProgrammeableKeyapplication/json
the pKey to create or setProgrammeableKey.
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Set the pkey nbr 3 of the device 1234 of the user1

DELETE/users/{loginName}/devices/{deviceId}/programmeableKeys/{position}
Erase a programmeable key associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device where to delete the programmeable key.
positionintthe position of the pKey to delete.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Delete the pkey nbr 3 of the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/programmedKeys

Methods
GET/users/{loginName}/devices/{deviceId}/programmedKeys
Get the already programmed keys associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the pKeys.
deviceIdstringidentifier of the device to retrieve the programmeable keys.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the list of programmed keys ProgrammeableKeys
codetypemedia typesdescription
200ProgrammeableKeysapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the pkeys of the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/softKeys

Methods
GET/users/{loginName}/devices/{deviceId}/softKeys
Get the soft keys associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device to retrieve the soft keys.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the list of soft keys SoftKeys
codetypemedia typesdescription
200SoftKeysapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the softkeys of the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/softKeys/{position}

Methods
PUT/users/{loginName}/devices/{deviceId}/softKeys/{position}
Set a soft key associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device where to modify the soft key.
positionintthe position of the softKey to set(MUST be the same value that the key object attribute one).
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SoftKeyapplication/json
the pKey to create or setSoftKey.
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Set the softkey nbr 3 of the device 1234 of the user1

DELETE/users/{loginName}/devices/{deviceId}/softKeys/{position}
Erase a soft key associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device where to erase the soft key.
positionintthe position of the pKey to delete.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Delete the softkey nbr 3 of the device 1234 of the user1

/users/{loginName}/prefixes

Methods
GET/users/{loginName}/prefixes
Get a pbx prefix related to a user.
A prefix may be used to activate a service directly through a telephony make call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the pbx prefix.
query parameters
parametertypedescription
typestringMandatory prefix type (See example below) .
valuestringMandatory prefix value (See example below) .
Caution!: type and value are case sensitive strings.

The table below contains a subset of accepted prefix types and values.
The full value set may be obtained by consulting the OXE model

Prefix meaning Type Value
do not disturb Station_Facility_Type Do_not_disturb
padlock Station_Facility_Type Lock
overflow busy(on associate) Station_Facility_Type Overflow_on_busy_on_associated
overflow busy or no answer(on associate) Station_Facility_Type Overflow_busy_noreply_on_associated
overflow no answer(on associate) Station_Facility_Type Overflow_no_reply_on_associated
cancel overflow Station_Facility_Type Cancel_Overflow_on_associated
immediate forward Station_Facility_Type Immediate_forwarding
forward on busy Station_Facility_Type Immediate_forwarding_on_busy
forward on no answer Station_Facility_Type Forwarding_on_no_reply
forward on busy or no answer Station_Facility_Type Forwarding_on_busy_or_no_reply
cancel forward Station_Facility_Type Forwarding_cancellation
cancel auto callback Station_Facility_Type Cancel_automatic_call_back_on_busy_station
direct call pickup General_Facility_Type Direct_call_pick_up
group call pickup General_Facility_Type Group_call_pick_up
speed dial associate Local_Facility_Type Speed_call_to_associated_station
voice mail deposit Local_Facility_Type Voice_Mail_Deposit
wakeUp Local_Facility_Type Wake_up
cancel wakeUp Local_Facility_Type Wake_up_cancellation
...p ... ...
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the prefix number Prefix
codetypemedia typesdescription
200Prefixapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : For the user1, get the pbx prefix "Overflow on busy on associated"

Representations

Addons
List of addons of a device.
NameTypeCardinalityDescription
addonTypesAddonType[0..*]List of the soft Keys.
[+] : JSON Example
Associated method :
AddonType
Phone Set addon type values.
ValueDescription
NO_EXTENSIONSno extension module
ADDON_10_KEYSTen keys extension module
ADDON_20_KEYSTwenty keys extension module
ADDON_40_KEYSForty keys extension module
ADDON_EL_14_KEYSFourteen electronic keys extension module
Associate
Associate number
NameTypeCardinalityDescription
numberstring[0..1]associate number.
[+] : JSON Example
Associated method :
boolean
'boolean' is a data type, having two values (true and false).
Device
Describe a device.
NameTypeCardinalityDescription
typeDeviceType[0..1]Device's type.
idstring[0..1]Device identifier which is used to identify the device in telephony requests and events.
subTypestring[0..1]Device's subtype : For a DESKPHONE type, we could have : ANALOG, NOE_C_Color_IP, ...
[+] : JSON Example
Associated method :
Devices
List of the devices for a given user.
NameTypeCardinalityDescription
devicesDevice[0..*]List of the devices for a given user.
[+] : JSON Example
Associated method :
DeviceType
The device type values.
ValueDescription
DECTA wireless phone set used within the enterprise.
DESKPHONEA phone set on an office's desk.
MOBILEA mobile phone.
SOFTPHONEA phone started from a computer with VOIP.
DynamicState
Describe the dynamic state of the device.
NameTypeCardinalityDescription
lockboolean[0..1]Device's lockState.
camponboolean[0..1]Device's camponState.
associatestring[0..1] Device's associate
[+] : JSON Example
Associated method :
int
'int' is a 32-bit number (-2147483648 to 2147483647).
Pin
The description of PIN information PIN (PERSONAL IDENT.NO.) This table is used to manage PIN numbers. PIN stands for Personal Identification Number. This service allows the user to announce that the call he is making is a personal (external) call and not a business call. Using pulse metering tickets, the company is then able to invoice this call again as a personal call. This service can be applied to local users (employees) or visitors (in this case, the created user set is a virtual set without a physical address). To use this service, users must dial the personal prefix followed by the PIN No. and then the secret code followed by the external number. The Personal Identification Number is private and secret; only the administrator and, in certain cases, the pulse metering administrator may know it. PIN data is also accessible through the USER SETS tables.
NameTypeCardinalityDescription
Pin_Numberstring[0..1]PIN number. The number of digits must agree with the PBX configuration
With_Secret_Codeboolean[0..1]Select TRUE to force the device to dial the set's secret code before accessing private calls
Pin_Type_Of_Controlstring[0..1]Check type : PIN_Category (to allow this PIN to be used from any set in the system), PIN_Restricted_To_Owner_Set (to limit the use of this PIN to its associated user set), PIN_Universal_Access (to allow the PIN to be used on all sets in the system), PIN_Group_Control (to limit the use of this PIN to a specific PIN group)
Pin_Groupint[0..1]PIN group number
[+] : JSON Example
Associated methods :
Prefix
Pbx Prefix value and number
NameTypeCardinalityDescription
valuestring[0..1]String prefix value, example "Group_call_pick_up".
numberstring[0..1]String prefix number, example "56".
[+] : JSON Example
Associated method :
ProgrammeableKey
The description of a programmeable Key
NameTypeCardinalityDescription
positionint[0..1]key position.
numberstring[0..1]phone number associated to the key
mnemonicstring[0..1]mnemonic associated to the key
lockedboolean[0..1]Is the key locked
[+] : JSON Example
Associated method :
ProgrammeableKeys
List of the programmeable Keys of a device.
NameTypeCardinalityDescription
pkeysProgrammeableKey[0..*]List of the programmeable keys.
[+] : JSON Example
Associated methods :
REActivationState
Describe the dynamic state of the device.
NameTypeCardinalityDescription
activeboolean[0..1]is Remote Extension active.
[+] : JSON Example
Associated method :
SoftKey
The description of a soft Key
NameTypeCardinalityDescription
positionint[0..1]key position.
numberstring[0..1]phone number associated to the key
mnemonicstring[0..1]mnemonic associated to the key
[+] : JSON Example
Associated method :
SoftKeys
List of the soft Keys of a device.
NameTypeCardinalityDescription
skeysSoftKey[0..*]List of the soft Keys.
[+] : JSON Example
Associated method :
string
'string' represents character strings.

PBX management

Presentation

The Pbx service mainly allows an administrator to manage a pbx, that is to create/modify/delete any object or sub-object in the pbx model.

This feature uses 2 kinds of resource: the object model resource and the object instance resource

Few methods are provided but, thanks to these model description, any kind of object can be created/modified/removed.

Note: After a PBX version upgrade, a restart of the system will be necessary to update the object model.

Resources summary

ResourceMethodDescription
/pbxsGETGet the lists of all PBX instances.
/pbxs/{nodeId}GETGet PBX information.
/pbxs/{nodeId}/instancesGETGet node object (root object): return the list of attributes and the list of sub-object paths of the node: the sub-objects which are returned correspond to the relative path of the first instanciable objects in the hierarchy.
/pbxs/{nodeId}/instances/{objectNameobjectId}GETGet a PBX object by using its ID: Return the list of attributes and the list of sub-object paths of the current object: the sub-objects which are returned correspond to the relative path of the first instanciable sub-objects in the hierarchy..
PUTChange one or more attribute values of a PBX object or execute an allowed actions (ReinitMemory,...)
DELETEDelete a PBX Object.
/pbxs/{nodeId}/instances/{objectName}GETGet the list of PBX object instances, the instances are shown by its attribute Id.
POSTCreate a PBX Object.
/pbxs/{nodeId}/modelGETGet the description of the data model of one PBX.
/pbxs/{nodeId}/model/{objectName}GETGet the PBX Model by name.

Notifications summary

NotificationDescription
OnPbxObjectInstanceCreatedNotification sent when a PBX object instance is created Only Object Subscriber is concerned by this event
OnPbxObjectInstanceDeletedNotification sent when a PBX object instance is deleted Only Object Subscriber is concerned by this event
OnPbxObjectInstanceModifiedNotification sent when a PBX object instance is modified Only the instances of objects having a notification mechanism implemented in the PBX are concerned.

Resources

/pbxs

Methods
GET/pbxs
Get the lists of all PBX instances.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Pbxsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : get the list of the PBX managed by this O2G.

/pbxs/{nodeId}

Methods
GET/pbxs/{nodeId}
Get PBX information.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT � number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringthe PBX node number
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Pbxapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : get the information about the PBX with the nodeId equals 101.

/pbxs/{nodeId}/instances

Methods
GET/pbxs/{nodeId}/instances
Get node object (root object): return the list of attributes and the list of sub-object paths of the node: the sub-objects which are returned correspond to the relative path of the first instanciable objects in the hierarchy. Example: "System_Parameter", "SIP/1/SIP_Gateway", ... In that manner, all the pbx object and sub-object can be recursively retrieved from a previous response by adding the relative path of the subobect to the path of the hierarchical previous object
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT � number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringthe PBX node number
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200PbxObjectapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Retrieves the node 101 object contain (attribute list and sub-object name list).

/pbxs/{nodeId}/instances/{objectNameobjectId}

Methods
GET/pbxs/{nodeId}/instances/{objectNameobjectId}
Get a PBX object by using its ID: Return the list of attributes and the list of sub-object paths of the current object: the sub-objects which are returned correspond to the relative path of the first instanciable sub-objects in the hierarchy..
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT � number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringthe PBX node number
objectNameobjectIdstringFull description of object Id with the following syntax: {object1Name}/{object1Id}/{object2Name}/{object2Id}/..../{objectxName}/{objectxId}.
query parameters
parametertypedescription
attributesstring Optional comma separated attribute list (See example below) If present, the result will return for each instance the selected attribute values. See example [2]
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200PbxObjectapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
405application/json
Method Not Allowed
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the 4722 Subscriber.

[+] : Get a pilot with one given attribute.}

[+] : Get One instance of the System/Dynamic Voice Guide/Assignement. NB: the instance identifiers are a combination of the Submsg-Coupler sub-attributes: "Sub-message number, ACT-Coupler"

PUT/pbxs/{nodeId}/instances/{objectNameobjectId}
Change one or more attribute values of a PBX object or execute an allowed actions (ReinitMemory,...) on the PBX object

If an update on the same object has been performed by other administrator since last operation a conflict error occurs
and a GET operation must be done to allow the update, it avoids change done by other to be cancelled by other
Moreover to add or remove items in a list and to avoid to have to reload object in case of modification by other
use action (add, remove) : single operation
See examples [6,7,8,9]

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT � number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringPBX node number
objectNameobjectIdstringThe full identifier of the PBX object ({object1Name}/{object1Id}/{object2Name}/{object2Id}/..../{objectxName}/{objectxId}).
query parameters
parametertypedescription
actionstringSpecial Action to run on the PBX object such (ReinitMemory, Resynchro,..).These allowed actions depends of object. The allowed actions on one object are available in the object model. This parameter is optional.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
PbxAttributesapplication/json
PbxAttributes
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
405application/json
Method Not Allowed
409application/json
Conflict
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Change the attributes values of the Subscriber_Alias, instance 5 for the Subscriber 70300.

[+] : Execute 'ReinitMemory' action on the 4722 Subscriber instance.

[+] : Set a list attribute value: erase the associated multidevices of the 70123.

[+] : Set a list attribute value: set the 2 associated multidevices of the 70123.

[+] : Set a complex attribute value: set 2 skills(1 and 2) in the skill sets of an ccd operator 70025.

[+] : Add 2 skills(3 and 4) in the skill sets of an ccd operator 70025.

[+] : Remove 1 skill from the skill sets of an ccd operator 70025.

[+] : Add 2 devices(1 and 2) in the attached devices of a Subscriber 60002.

[+] : Remove a simple attribute value: remove 1 device from the attached devices of a Subscriber 60002.

DELETE/pbxs/{nodeId}/instances/{objectNameobjectId}
Delete a PBX Object.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT � number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringPBX node number
objectNameobjectIdstringThe full identifier of the PBX object ({object1Name}/{object1Id}/{object2Name}/{object2Id}/..../{objectxName}/{objectxId}).
query parameters
parametertypedescription
forcestringUse the "FORCED_DELETE" action to delete object if set. This action is only allowed on some object, this information (allowed or not ) is available in the object model.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
405application/json
Method Not Allowed
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Delete the Subscriber_Alias, instance 5 for the 4722 Subscriber

[+] : Delete the 4722 Subscriber by using the FORCED_DELETE.

/pbxs/{nodeId}/instances/{objectName}

Methods
GET/pbxs/{nodeId}/instances/{objectName}
Get the list of PBX object instances, the instances are shown by its attribute Id.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT � number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringPBX node number
objectNamestringFull description of the object name with the following syntax: {objectName}/{objectId}/{object1Name}/{object1Id}/..../{objectxName}
query parameters
parametertypedescription
filterstringThe supported operators are:
  • EQUAL : == <value>
  • STARWITH : == <value>*
  • ENDWITH : == *<value>
  • NOT_EQUAL : !=<value>
  • GREATER_THAN_OR_EQUAL : =ge=<value>
  • LESS_THAN_OR_EQUAL : =le=<value>
The supported logical operators are:
  • and
  • or
Example of query parameter filter syntax : ?filter=<attributeName>==<value> or <attributeName1>==<value1> and <attributeName2>!=<value2>
But be careful: the coherence of the filters is not tested at O2G level.
attributesstring Optional comma separated attribute list (See example below) If present, the result will return for each instance the selected attribute values. For performance, this attribute list should be reduced and not contained all the attributes of an object!
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200PbxObjectIdsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
405application/json
Method Not Allowed
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get all instances of the "Subscriber_Alias" objects for the 4722 Subscriber.

[+] : Get with simple filter: Get all instances of the Subscriber objects which Annu_Name begin with "Jz".

[+] : Get with simple filter: Get all instances of the Subscriber objects with Analog Station_Type.

[+] : Get with composed "OR" filter: Get all instances of the Subscriber objects with Station_Type is Analog or Remote_Extension.

[+] : Get the Free_Range_List (under System_Parameters)

[+] : Get with simple filter and short attribute list: Get all instances of the Subscriber objects which Directory_Number begin with 7012 and return also for each instances the attributes Annu_Name and Annu_First_Name.

[+] : Get the instances of the System/Dynamic Voice Guide/Assignement. NB: the instance identifiers are a combination of the Submsg-Coupler sub-attributes: "Sub-message number, ACT-Coupler"

POST/pbxs/{nodeId}/instances/{objectName}
Create a PBX Object.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT � number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringPBX node number
objectNamestringThe full identifier of the PBX object ({object1Name}/{object1Id}/{object2Name}/{object2Name}/..../{objectxName}).
query parameters
parametertypedescription
actionstring
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
PbxAttributesapplication/json
Attributes of the object to create PbxAttributes. Some attributes are mandatory, this information are available in the model object. For attributes not specified, the default value are used.
Response
codemedia typesdescription
201application/json
Created
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
405application/json
Method Not Allowed
409application/json
Conflict
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Create a Subscriber with phone number 70300,with attributes Annu_First_Name , Annu_Name , Station_Type (all other attributes are set to default values).

[+] : Create a Subscriber_Alias, instance 5 for the Subscriber 70300,with attributes Annu_First_Name, Annu_Name (all other attributes are set to default values).

[+] : Create a free range of number with name "range1", begin range=2000 and end range=3000

[+] : Create one instance of the System/Dynamic Voice Guide/Assignement. NB: Like for all the sequence attribute, the full attribute names syntax must be respected: Submsg-Coupler.Submsg_id and Submsg_Coupler.Crystal_Coupler (refer to the GET response for this object)

/pbxs/{nodeId}/model

Methods
GET/pbxs/{nodeId}/model
Get the description of the data model of one PBX.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT � number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringthe PBX node number
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200ObjectModelapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the model's tree of one PBX.

/pbxs/{nodeId}/model/{objectName}

Methods
GET/pbxs/{nodeId}/model/{objectName}
Get the PBX Model by name.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT � number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringthe PBX node number
objectNamestringthe pbx object name (ex: Subscriber)
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200ObjectModelapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Retrieve Subscriber model.

Representations

AttributeModel
Information about PBX object attributes
NameTypeCardinalityDescription
namestring[0..1]name of the attribute
mandatoryboolean[0..1]Attribute is mandatory, Attribute is the identifier (ID) of the object
typeValuestring[0..1]Type of the attribute, (octetString,integer,boolean,..)
multiValueboolean[0..1]Multi value, value is a list or not a list
allowedValuesstring[0..*]Allowed values for the attribute
lengthValuestring[0..1]Max length for the attribute value. Only used for the octetString type
defautValuestring[0..1]Default value of the attribute
filteringboolean[0..1]Attribute can be filtering
usedWhenstring[0..1]UsedWhen expression of the attribute
[+] : JSON Example
boolean
'boolean' is a data type, having two values (true and false).
int
'int' is a 32-bit number (-2147483648 to 2147483647).
ObjectModel
Information about PBX object
NameTypeCardinalityDescription
objectNamestring[0..1]Name of the object.
attributesAttributeModel[0..*]List of attribute for this object.
objectsObjectModel[0..*]List of sub-objects
hiddenboolean[0..1]Object is hidden
createboolean[0..1]Object can be created
deleteboolean[0..1]Object can be deleted
setboolean[0..1]Object can be updated
getboolean[0..1]Object can be read
otherActionsstring[0..*]Allowed actions
[+] : JSON Example
Associated methods :
OnPbxObjectInstanceCreated
Notification sent when a PBX object instance is created Only Object Subscriber is concerned by this event
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnPbxObjectInstanceCreated'
objectNamestring[1]Object name
objectIdstring[1]Object instance Id
nodeIdstring[1]Node Id which houses object instance
fatherPbxObjectFather[0..1]Object father if instance is a subObject
[+] : JSON Example
OnPbxObjectInstanceDeleted
Notification sent when a PBX object instance is deleted Only Object Subscriber is concerned by this event
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnPbxObjectInstanceDeleted'
objectNamestring[1]Object name
objectIdstring[1]Object instance Id
nodeIdstring[1]Node Id which houses object instance
fatherPbxObjectFather[0..1]Object father if instance is a subObject
[+] : JSON Example
OnPbxObjectInstanceModified
Notification sent when a PBX object instance is modified Only the instances of objects having a notification mechanism implemented in the PBX are concerned.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnPbxObjectInstanceModified'
objectNamestring[1]Object name
objectIdstring[1]Object instance Id
nodeIdstring[1]Node Id which houses object instance
fatherPbxObjectFather[0..1]Object father if instance is a subObject
[+] : JSON Example
Pbx
PBX data.
NameTypeCardinalityDescription
nodeIdint[0..1]Node of the PBX.
fqdnstring[0..1]FQDN of the PBX.
[+] : JSON Example
Associated method :
PbxAttribute
PBX attribute data
NameTypeCardinalityDescription
namestring[0..1]Name of property
valuestring[0..*]Value of property for simple strings
complexValuePbxComplexAttribute[0..*] Value of property for complex objects
[+] : JSON Example
PbxAttributes
NameTypeCardinalityDescription
attributesPbxAttribute[0..*]Attribute data list for PBX object
[+] : JSON Example
Associated methods :
PbxComplexAttribute
PBX attribute data
NameTypeCardinalityDescription
namestring[0..1]Name of object
attributesPbxAttribute[0..*]Value = set of attributes
[+] : JSON Example
PbxObject
PBX object data.
NameTypeCardinalityDescription
objectNamestring[0..1]Name of the object.
objectIdstring[0..1]Attribute value of the object used as Identifier.
attributesPbxAttribute[0..*]attributes list of the object.
objectNamesstring[0..*]List of the sub-object names
createboolean[0..1]Object can be created
deleteboolean[0..1]Object can be deleted
setboolean[0..1]Object can be updated
getboolean[0..1]Object can be read
otherActionsstring[0..*]Allowed actions
[+] : JSON Example
Associated methods :
PbxObjectFather
Represent father if instance is a sub object (ex: ACD2_Attaching_List) CRO2G-106: Extend eventing for PBX management
NameTypeCardinalityDescription
objectNamestring[1]Father object instance Id
objectIdstring[1]Father object instance Id
[+] : JSON Example
PbxObjectIds
PBX object identifier list (with optional attributes)
NameTypeCardinalityDescription
objectNamestring[0..1]Object Name
objectIdsstring[0..*]List of object Id
objectsPbxShortObject[0..*] Optional list of selected attributes for each object
[+] : JSON Example
Associated method :
Pbxs
list of PBX identifier
NameTypeCardinalityDescription
nodeIdsstring[0..*]List of nodeId.
[+] : JSON Example
Associated method :
PbxShortObject
PBX short object description.
NameTypeCardinalityDescription
objectIdstring[0..1]Attribute value of the object used as Identifier.
attributesPbxAttribute[0..*]attributes list of the object.
[+] : JSON Example
string
'string' represents character strings.

Analytics

Presentation

The aim of this feature is retrieve the analytics of the API usages, only for an administrator.


The analytics concern 2 parts:

  • the collect of the api services and license usages:
    • the services usages: each method usage is collected day per day
    • the licenses usage: the count of each different license type is measured periodically, each sample represents, per day, the total number a license type has been taken and released, the maximum licenses taken at a time (peak), the number of error and reject at take attempt
  • The analytics are refreshed with a frequency which could be changed (through web.xml parameter) and which default value is 15 minutes.

    The analytics are collected day per day and gathered in a file per month, with a maximum of 12 collected months.

    The analytics results can be asked in csv formatted file(default), in format xls file, or in json object.

  • the collect of the pbx incidents and charging information:
    • the service allows to retrieve the incidents messages of a specified pbx (since the last shutdown)
    • the service allows to retrieve the total charging information for each user for a specified pbx, from a begin date to a end date, sorted by cost, for the n max top charged users. It also allows to get the whole charging tickets, even those with zero cost.

    Resources summary

    ResourceMethodDescription
    /usages/chargingGETGet charging information of a specific PBX.
    /usages/charging/filesGETGet charging files list of a specific PBX.
    /usages/incidentsGETGet incidents of a specific PBX.
    /usages/licensesGETGet O2G license analytics file (Zip file) for all the available months.
    /usages/servicesGETGet O2G services analytics file (Zip file) for all the available months.

    Resources

    /usages/charging

    Methods
    GET/usages/charging
    Get charging information of a specific PBX.
    If "all" option is requested, all the tickets are returned, including the zero cost ticket, and with the called party.
    If "all" option is not requested, the total of charging info is returned for each user, the call number giving the number of calls with non null charging cost.
    !! This service requires the OXE connection to be in secure mode.
    In order to avoid a too long processing, 2 types of filter may be used:
    • either a filter by dates: from date and/or toDate. Example: fromDate=20180101 and toDate=20180110
    • either a filter by (comma separated) list of files. Example: file=TAXxxxx,TAXyyyy. The file name may be retrieved with the GET /charging/files method.
    !! The 2 criterias cannot be used together: if the filter by files is present, the other is ignored.
    In both cases, the number of result files to process MUST be limited to 100:
    in case the limit is exceeded, the request returns an error (time-out or 400) and must be retried with a more restrictive filter.
    The best manner for an application which wants to retrieve all the available charging information is:
    • in a first step, to get the whole charging file list with /GET charging/files methods
    • and in a second step, to iterate on this file list with /GET charging?nodeId=x&files=file_y method
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_ANALYTICS - true.
    Required in OPEX mode (LMS server) : No license required (free).
    Request
    query parameters
    parametertypedescription
    nodeIdstringThis parameter is mandatory : it is the node number of the PBX.
    fromDatestringThis parameter is optional : allows to filter from a charging date (from=yyyymmdd)
    toDatestringThis parameter is optional : allows to filter to a charging date (to=yyyymmdd)
    filesstringThis parameter is optional : a comma separated list of OXE accounting files (file=/DHS3dyn/account/TAXAAAAA.DAT,/DHS3dyn/account/TAXAAAAB.DAT)
    topintThis parameter is optional : allows to get only the "top ten"
    allbooleanThis parameter is optional : if absent or false, a total charging per user is returned, if present and true all the tickets (including the 0 cost one) are returned.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200Chargingsapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get all the total charging information per user for the node 7.

    [+] : Get the total charging information per user for the node 7 from beginning of January 2018

    [+] : Get the total charging information per user for the node 7 from beginning of January 2018 to 10th of January, getting only the 5 top results

    [+] : Get all the charging tickets for the node 7

    [+] : Get the charging tickets for the node 7, corresponding to the file given

    /usages/charging/files

    Methods
    GET/usages/charging/files
    Get charging files list of a specific PBX.
    This operation may be used previously to the GET /charging operation with file filter: it allows the application to automatically iterate on the file list in order to retrieve the whole or part of the accounting information.
    In order to process only one part of the tickets file based on their date, a from/to date filter may be used: Example: fromDate=20180101 and toDate=20180110
    The result returned a list of triplet name/date/date, which allows the application to filters on date/time.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_ANALYTICS - true.
    Required in OPEX mode (LMS server) : No license required (free).
    Request
    query parameters
    parametertypedescription
    nodeIdstringThis parameter is mandatory : it is the node number of the PBX.
    fromDatestringThis parameter is optional : allows to filter from a charging file date (from=yyyymmdd)
    toDatestringThis parameter is optional : allows to filter to a charging file date (to=yyyymmdd)
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200ChargingFilesapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get all the total charging files for the node 7.

    [+] : Get the charging files for the node 7 from and to the selected dates

    /usages/incidents

    Methods
    GET/usages/incidents
    Get incidents of a specific PBX.
    !This service requires the OXE connection to be in secure mode.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_ANALYTICS - true.
    Required in OPEX mode (LMS server) : No license required (free).
    Request
    query parameters
    parametertypedescription
    nodeIdstringThis parameter is mandatory : it is the node number of the PBX.
    lastint: This parameter is optional : if present and > 0 return the n last incidents.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200Incidentsapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the incidents of the node 7.

    [+] : Get the 100 last incidents of the node 7.

    /usages/licenses

    Methods
    GET/usages/licenses
    Get O2G license analytics file (Zip file) for all the available months.
    (This method didn't concern the OXE)
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_ANALYTICS - true.
    Required in OPEX mode (LMS server) : No license required (free).
    Request
    query parameters
    parametertypedescription
    formatstringThis parameter is optional : if ?format=xls, the data are returned in xls format else by default in csv format
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    200application/octet-stream
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the license analytics

    /usages/services

    Methods
    GET/usages/services
    Get O2G services analytics file (Zip file) for all the available months.
    (This method didn't concern the OXE)
    Licenses
    Required in CAPEX mode (FlexLM server): No license required (free).
    Required in OPEX mode (LMS server): No license required (free).
    Request
    query parameters
    parametertypedescription
    formatstringThis parameter is optional : if ?format=xls, the data are returned in xls format else by default in csv format
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    200application/octet-stream
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the service analytics

    [+] : Get the service analytics in xls format

    Representations

    boolean
    'boolean' is a data type, having two values (true and false).
    CallType
    ValueDescription
    PublicNetworkCallPublic Network Call
    PublicNetworkCallThroughPrivateNetworkPublic Network Call Through Private Network
    PrivateNetworkCallPrivate Network Call
    LocalNetworkCallLocal Network Call
    PublicNetworkIncomingCallPublic Network Incoming Call
    PublicNetworkIncomingCallThroughPrivateNetworkPublic Network Incoming Call Through Private Network
    UnspecifiedUnspecified
    PrivateNetworkOutgoingCallToPublicNetworkPrivate Network Outgoing Call To Public Network
    PrivateNetworkOutgoingCallToPrivateNetworkPrivate Network Outgoing Call To Private Network
    PublicNetworkIncomingCallToPrivateNetworkPublic Network Incoming Call T oPrivate Network
    PrivateNetworkIncomingCallToPrivateNetworkPrivate Network Incoming Call To Private Network
    PublicOrPrivateNetworkOutgoingCallThroughPrivateNetworkPublic Or Private Network Outgoing Call Through Private Network
    PublicOrPrivateNetworkIncomingCallThroughPrivateNetworkPublic Or Private Network Incoming Call Through Private Network
    PrivateNetworkIncomingCallPrivate Network Incoming Call
    LocalNodeLocal Node
    LocalTransitLocal Transit
    Charging
    Describes the charging digest information
    NameTypeCardinalityDescription
    callerstring[1]caller phone number.
    namestring[0..1]caller name
    calledstring[0..1] called phone number, only in "all" option case
    initialDialledNumberstring[0..1] initial dialled number, only in "all" option case
    callNumberint[0..1]number of charged calls , only if "all" option has not been requested
    chargingUnitsint[0..1] call charging unit number("all") or total charging units of the charged calls
    costfloat[0..1] call charging cost ("all") or total charging cost of the charged calls
    startDatestring[0..1] start date, only in "all" option case
    durationint[0..1] call duration ("all") or total duration of the charged calls
    callTypeCallType[0..1]call type , only in "all" option case
    waitingDurationint[0..1] call waiting duration
    effectiveCallDurationint[0..1]effective call duration
    actingExtensionNumberNodeint[0..1]Acting extension number node
    internalFacilitiesTelFacilities[0..1] Internal telephony facility, only in "all" option case
    externalFacilitiesTelFacilities[0..1] External telephony facility, only in "all" option case
    [+] : JSON Example
    ChargingFile
    Charging file information.
    NameTypeCardinalityDescription
    namestring[1]name of the file
    datestring[1]date of the file in short format mm/dd/yy
    timestring[1]time of the file in format hh:mm:ss
    [+] : JSON Example
    ChargingFiles
    List of ChargingFile.
    NameTypeCardinalityDescription
    filesChargingFile[0..*]file list.
    [+] : JSON Example
    Associated method :
    Chargings
    Describes the list of charging information per user
    NameTypeCardinalityDescription
    chargingsCharging[1..*]Charging information list
    fromDatestring[0..1]date from asked in the filter (format = "yyyymmdd")
    toDatestring[0..1]date to asked in the filter (format = "yyyymmdd")
    nbChargingFilesint[0..1]number of analyzed files
    totalTicketNbint[0..1]total number of analyzed tickets
    valuableTicketNbint[0..1]number of computed tickets: if the response corresponds to the total charging per user, only the non zero cost tickets are counted.
    [+] : JSON Example
    Associated method :
    float
    'float' is 32-bit floating point type.
    Incident
    Describes an incident
    NameTypeCardinalityDescription
    datestring[1]Incident date.
    hourstring[1]Incident hour.
    severityint[1]Incident severity.
    valuestring[1]Incident value.
    typestring[1]Incident type.
    nbOccursint[1]Incident nb occurences.
    nodestring[1]Incident node number.
    mainboolean[1]Indicate if the incident occurred on the main CPU.
    rackstring[0..1]Indicate the rack where the incident occurred.
    boardstring[0..1]Indicate the board where the incident occurred.
    equipmentstring[0..1]Indicate the equipment where the incident occurred.
    terminationstring[0..1]Indicate the termination where the incident occurred.
    [+] : JSON Example
    Incidents
    Describes the list of incidents
    NameTypeCardinalityDescription
    incidentsIncident[1..*]Incidents list
    severity0int[1]Incident severity 0 number
    severity1int[1]Incident severity 1 number
    severity2int[1]Incident severity 2 number
    severity3int[1]Incident severity 3 number
    severity4int[1]Incident severity 4 number
    severity5int[1]Incident severity 5 number
    [+] : JSON Example
    Associated method :
    int
    'int' is a 32-bit number (-2147483648 to 2147483647).
    string
    'string' represents character strings.
    TelFacilities
    NameTypeCardinalityDescription
    facilitiesTelFacility[0..*]Set of telephony facility
    [+] : JSON Example
    TelFacility
    Telephony facility enumerate
    ValueDescription
    CallingLineIdentificationPresentationCalling Line Identification Presentation
    ConnectedLineIdentificationPresentationConnected Line Identification Presentation
    CallingLineIdentificationRestrictionCalling Line Identification Restriction
    ConnectedLineIdentificationRestrictionConnected Line Identification Restriction
    MaliciousCallIdentificationMalicious CallIdentification
    CallForwardingUnconditionalCall Forwarding Unconditional
    CallForwardingOnBusyCall Forwarding On Busy
    CallForwardingOnNoReplyCall Forwarding On No Reply
    TransferTransfer
    AdviceOfChargeAtSetupAdvice Of Charge At Setup
    AdviceOfChargeDuringCallAdvice Of Charge During Call
    AdviceOfChargeAtEndAdvice Of Charge At End
    ClosedUserGroupClosed User Group
    CallWaitingCall Waiting
    UserToUserSignallingUser To User Signalling
    UserToUserFacilityUser To User Facility
    TerminalPortabilityTerminal Portability
    InterceptionTerminalPortability
    BookingBooking
    CampOnCampOn
    ConferenceConference
    MiniMessagingMiniMessaging
    SubaddressingSubaddressing
    BasicCallBasic Call
    OperatorFacilityOperator Facility
    SubstitutionSubstitution
    PriorityIncomingCallPriority Incoming Call
    TransitTransit
    PrivateOverflowToPublicPrivate Overflow To Public
    ReroutingPublicToPrivateRerouting Public To Private
    FaxServerFax Server
    VoiceMailVoice Mail
    CentralAbbreviatedNumberingCentral Abbreviated Numbering
    IndividualAbbreviatedNumberingIndividual Abbreviated Numbering
    IntegratedServiceVirtualPrivateNetworkIntegrated Service Virtual Private Network
    OverflowVirtualPrivateNetworkOverflow Virtual Private Network
    ARSServiceARS Service
    DISADISA
    None
  • Call Center Agent

    Presentation

    Terminology:


    ACD, CCD: Automatic Call Distribution, Call Center Distribution.

    ACD agent: ACD operator.

    ACD Supervisor: ACD operator with special prerogatives (supervision, help) of agents.

    proACD : device onto the agent logon.

    pilot : first step of the ACD distribution: an incoming call arrives on the pilot corresponding to the called number.

    waiting queue : second step of the ACD distribution: from the pilot, the call is then routed to the best waiting queue.

    processing group (PG) : third step of the ACD distribution: from the queue, the call is then directed to a processing group. The call is finally distributed to an agent

    The Contact Center service provides the capabilities for an ACD agent:

    Resources summary

    ResourceMethodDescription
    /acd/agent/configGETGet the ACD agent configuration(type, proacd, processing groups, headset).
    /acd/agent/config/skills/activatePOST Activate the ACD agent skills.
    /acd/agent/config/skills/deactivatePOST Deactivate the ACD agent skills.
    /acd/agent/enterPGPOSTEnter a Supervisor in a PG (2 step logon).
    /acd/agent/exitPGPOSTExit a Supervisor from a PG (2 step logoff).
    /acd/agent/intrusionPOSTAllow an ACD Supervisor agent to request an intrusion on an agent call, according to 3 modes(normal or restricted intrusion or just discrete listening).
    PUTAllow an ACD Supervisor agent to change the intrusion mode on the current agent call, according to 3 modes(normal or restricted intrusion or just discrete listening).
    /acd/agent/logoffPOSTLogOff an agent or a Supervisor (one step logoff).
    /acd/agent/logonPOSTLogOn an agent or a supervisor.
    /acd/agent/pausePOSTPut an ACD agent in Pause.
    /acd/agent/permanentListeningPOSTAllow an ACD Supervisor agent to request a permanent listening on an agent.
    /acd/agent/readyPOSTPut an agent in READY state.
    /acd/agent/stateGETGet the ACD agent state.
    /acd/agent/state/snapshotPOSTAsk a snapshot event on agent state.
    /acd/agent/supervisorHelpPOSTAllow an ACD agent to request the supervisor help.
    DELETEAllow an ACD agent to cancel or its supervisor to reject the request of supervisor help.
    /acd/agent/withdrawPOSTWithdraw an agent.
    /acd/agent/withdrawReasonsGETGet the PG withdraw reason list.
    /acd/agent/wrapUpPOSTPut an ACD agent in WrapUp.
    /acd/agent/wrapUpMMPOSTPut an ACD agent in WrapUp multi-media.

    Notifications summary

    NotificationDescription
    OnAgentSkillChangedEvent sent when ACD agent skills is modified: one or several skills has been activate or deactivate
    OnAgentStateChangedEvent sent when ACD agent state is modified
    OnSupervisorHelpCancelledEvent sent after an ACD agent has requested the assistance of its supervisor and when the request is canceled by the agent or when the request is rejected by the supervisor.
    OnSupervisorHelpRequestedEvent sent when an ACD agent requests the assistance of its supervisor

    Resources

    /acd/agent/config

    Methods
    GET/acd/agent/config
    Get the ACD agent configuration(type, proacd, processing groups, headset).
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200AgentConfigapplication/json
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the configuration of agent

    /acd/agent/config/skills/activate

    Methods
    POST/acd/agent/config/skills/activate
    Activate the ACD agent skills.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    AgentSkillActivationapplication/json
    AgentSkillActivation
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Activate the skills 100 and 44 of the agent

    Associated notifications

    /acd/agent/config/skills/deactivate

    Methods
    POST/acd/agent/config/skills/deactivate
    Deactivate the ACD agent skills.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    AgentSkillActivationapplication/json
    AgentSkillActivation
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Deactivate the skill 100 of the agent

    /acd/agent/enterPG

    Methods
    POST/acd/agent/enterPG
    Enter a Supervisor in a PG (2 step logon). The Supervisor must be already logged on
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    PGRequestapplication/json
    PGRequest: Processing Group number to enter in
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Enter a Supervisor in PG 60121

    Associated notifications

    /acd/agent/exitPG

    Methods
    POST/acd/agent/exitPG
    Exit a Supervisor from a PG (2 step logoff).
    The Supervisor must be logged on in the PG
    NB: if the PG number is empty, the request is accepted too and is equivalent to a logoff.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    PGRequestapplication/json
    PGRequest: Processing Group number to exit from
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Exit a Supervisor from PG 60121

    Associated notifications

    /acd/agent/intrusion

    Methods
    POST/acd/agent/intrusion
    Allow an ACD Supervisor agent to request an intrusion on an agent call, according to 3 modes(normal or restricted intrusion or just discrete listening).
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    IntrusionRequestapplication/json
    IntrusionRequest
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : the supervisor asks a restricted intrusion on an agent call

    Associated notifications
    telephony, eventing
    PUT/acd/agent/intrusion
    Allow an ACD Supervisor agent to change the intrusion mode on the current agent call, according to 3 modes(normal or restricted intrusion or just discrete listening). The supervisor MUST be in intrusion on an agent call
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    ChangeIntrusionModeRequestapplication/json
    ChangeIntrusionModeRequest
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : the supervisor asks a restricted intrusion on an agent call

    Associated notifications
    telephony, eventing

    /acd/agent/logoff

    Methods
    POST/acd/agent/logoff
    LogOff an agent or a Supervisor (one step logoff).
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Log-off the agent

    Associated notifications

    /acd/agent/logon

    Methods
    POST/acd/agent/logon
    LogOn an agent or a supervisor. For a Supervisor, if the PG is absent, the supervisor is logged on out off group (2 step logon).
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    LoggOnAgentRequestapplication/json
    LoggOnAgentRequest
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Log-on the agent onto the pro-acd phone device "xxxx" and in the processing group "60121"

    [+] : Log-on the agent onto the pro-acd phone device "xxxx" (the pg group is not given in this case)

    Associated notifications

    /acd/agent/pause

    Methods
    POST/acd/agent/pause
    Put an ACD agent in Pause.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Put the agent in pause

    Associated notifications

    /acd/agent/permanentListening

    Methods
    POST/acd/agent/permanentListening
    Allow an ACD Supervisor agent to request a permanent listening on an agent.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    PermanentListeningRequestapplication/json
    PermanentListeningRequest
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : the supervisor asks a permanent listening on the agent 123

    Associated notifications

    /acd/agent/ready

    Methods
    POST/acd/agent/ready
    Put an agent in READY state.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Put the agent in READY state

    Associated notifications

    /acd/agent/state

    Methods
    GET/acd/agent/state
    Get the ACD agent state.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200AgentStateapplication/json
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the agent state of an agent loged in idle state

    [+] : Get the agent state of an agent loged off

    /acd/agent/state/snapshot

    Methods
    POST/acd/agent/state/snapshot
    Ask a snapshot event on agent state. This request has result to send an OnAgentStateChanged event on the concerned agent. If this request is made by an administrator and no loginName is provided, the snapshot is asked for all the agents. If a second request is asked since the previous one is still in progress, it has no effect. CAUTION!: this request is immediately acknowledged but the processing may take a long time if the number of users is huge.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked. This parameter is ignored if the Session identifier matches a user account.
    For an administrator session, the loginName must either correspond to an existing user or be null: in this last case, the snapshot event request is done for all the agents.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Associated notifications

    /acd/agent/supervisorHelp

    Methods
    POST/acd/agent/supervisorHelp
    Allow an ACD agent to request the supervisor help.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : the agent asks its supervisor help

    Associated notifications
    DELETE/acd/agent/supervisorHelp
    Allow an ACD agent to cancel or its supervisor to reject the request of supervisor help.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    otherstring
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Cancel Supervisor help by the Agent (supervisor = 1000)

    [+] : Reject Supervisor help by the supervisor (agent = 1001)

    Associated notifications

    /acd/agent/withdraw

    Methods
    POST/acd/agent/withdraw
    Withdraw an agent.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    WithdrawAgentRequestapplication/json
    Reason of the withdraw
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Withdraw the agent with the reason nbr 1

    Associated notifications

    /acd/agent/withdrawReasons

    Methods
    GET/acd/agent/withdrawReasons
    Get the PG withdraw reason list.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    pgNumberstringthe processing group number for which the reasons are asked
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200WithdrawReasonsapplication/json
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the withdraw reasons of agent for the processingGroup xxx

    /acd/agent/wrapUp

    Methods
    POST/acd/agent/wrapUp
    Put an ACD agent in WrapUp.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : WrapUp normal of the agent

    Associated notifications

    /acd/agent/wrapUpMM

    Methods
    POST/acd/agent/wrapUpMM
    Put an ACD agent in WrapUp multi-media.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin 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.
    multimediaMultiMediaStateparameter to select which multi-media wrapUp: im, email, email interruptible, outbound or callback
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : WrapUp multimedia in im of the agent

    Associated notifications

    Representations

    AgentConfig
    Agent configuration parameters.
    NameTypeCardinalityDescription
    typeAgentType[1]agent/supervisor.
    proacdstring[0..1]associated proacd if the agent is fixed.
    processingGroupsProcessingGroups[0..1]processing groups of the agent
    skillsAgentSkills[0..1]agent skills
    selfAssignboolean[0..1]is the operator allowed to choose his PG
    headsetboolean[0..1]has the agent a headset
    helpboolean[0..1]Has the supervisor a help capability
    multilineboolean[0..1]is multiline : true if at least one multiline programmable key is declared on the set
    [+] : JSON Example
    Associated method :
    AgentMainState
    Main agent state (loggedOn/loggedOff)
    ValueDescription
    UNKNOWNthe state of the agent is unknown
    LOG_ONThe agent is logged on a pro-acd device
    LOG_OFFThe agent is not logged
    ERRORError status
    AgentSkill
    ACD Agent Skill.
    NameTypeCardinalityDescription
    numberint[0..1]skill number.
    levelint[0..1]skill level.
    activeboolean[0..1]is the skill active.
    [+] : JSON Example
    AgentSkillActivation
    List of skills to activate or deactivate.
    NameTypeCardinalityDescription
    skillsint[0..*]skill number list.
    [+] : JSON Example
    Associated methods :
    AgentSkills
    List of skills of an agent.
    NameTypeCardinalityDescription
    skillsAgentSkill[0..*]skill list.
    [+] : JSON Example
    AgentState
    Agent State.
    NameTypeCardinalityDescription
    mainStateAgentMainState[1]Main state of the agent (logged on or logged off).
    subStateAgentSubState[0..1]Sub state of the agent when it is logged.
    proAcdDeviceNumberstring[0..1]Pro-acd Device phone number on which the operation is invoked.
    pgNumberstring[0..1]Processing group number.
    withdrawReasonint[0..1]The withdraw reason number in case of state withdraw. The list of withdraw reasons corresponding to the processing group should have been retrieved through a GET .../agent/withdrawReasons
    withdrawnboolean[0..1]The withdrawn Boolean is present and true if the agent initial state is withdrawn
    [+] : JSON Example
    Associated method :
    AgentSubState
    Agent state when logged on
    ValueDescription
    READYThe agent is ready
    OUT_OF_PGThe agent is logged on, but outside its pre-affected processing group
    BUSYThe agent is busy
    TRANSACTION_CODE_INPUTThe agent is in transaction code input step
    WRAPUPThe agent is in wrap up
    PAUSEThe agent is in pause
    WITHDRAWThe agent is in withdraw
    WRAPUP_IM
    WRAPUP_EMAIL
    WRAPUP_EMAIL_INTERRUPTIBLE
    WRAPUP_OUTBOUND
    WRAPUP_CALLBACK
    AgentType
    Type of agent (simple agent/supervisor)
    ValueDescription
    AGENTsimple agent
    SUPERVISORThe agent is a SUPERVISOR
    boolean
    'boolean' is a data type, having two values (true and false).
    ChangeIntrusionModeRequest
    Request of an ACD Supervisor to change or cancel the intrusion mode into the current acd agent call. The intrusion change result depends on the old and the new mode:

    from: the previous mode

    to : the new set mode

    from:Normal from:Restricted from:Discrete
    To:Normal the supervisor drops himself from the call the mode is changed to normal the mode is changed to normal
    To:Restricted the mode is changed to restricted the supervisor drops himself from the call the mode is changed to restricted
    To:Discrete the mode is changed to discrete the mode is changed to discrete the supervisor drops himself from the call
    NameTypeCardinalityDescription
    modeIntrusionMode[1]mode of the operation normal intrusion / restricted intrusion / discrete listening
    [+] : JSON Example
    Associated method :
    int
    'int' is a 32-bit number (-2147483648 to 2147483647).
    IntrusionMode
    3 types of call agent intrusion by the supervisor
    ValueDescription
    NORMALThe supervisor can talk to both the agent and the remote client
    RESTRICTEDThe supervisor can only talk to the agent but listen to the remote client
    DISCRETEThe supervisor only listens to the conversation between agent and client
    IntrusionRequest
    Request of an ACD Supervisor to intrude into the current acd agent call. The intrusion request is done according to 3 possible modes: - normal intrusion - restricted intrusion - discrete listening. The intrusion is applied on the current active call of the agent. To change the intrusion from one mode to another, use the changeIntrusionMode operation
    NameTypeCardinalityDescription
    agentNumberstring[1]Agent phone number on which the operation is invoked.
    modeIntrusionMode[0..1]mode of the operation: (default is normal) normal intrusion / restricted intrusion / discrete listening
    [+] : JSON Example
    Associated method :
    LoggOnAgentRequest
    Request to log on an acd agent or to enter a supervisor in a Processing Group.
    NameTypeCardinalityDescription
    proAcdDeviceNumberstring[1]Pro-acd Device phone number on which the operation is invoked. For a non logg agent (or supervisor), the device MUST be the physical device number wher the agent log on. If the request concerns an already logged on supervisor (out of GT) which wants to enter the group, the pro-acd device number MUST be the supervisor number itself.
    pgGroupNumberstring[0..1]Processing group number. Optional: pg number may be omitted (depends on the configuration)
    headsetboolean[0..1]Headset mode. Optional: allow the operator to select the headset mode
    [+] : JSON Example
    Associated method :
    MultiMediaState
    Multi Media state: im, email, email interruptible, outbound, callback
    ValueDescription
    IMmultimedia IM
    EMAILmultimedia Email
    EMAIL_INTERRUPTIBLEmultimedia email interruptible
    OUTBOUNDmultimedia OUTBOUND
    CALLBACKmultimedia CALLBACK
    OnAgentSkillChanged
    Event sent when ACD agent skills is modified: one or several skills has been activate or deactivate
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnAgentSkillChanged'
    loginNamestring[1]Login name of the user receiving the event.
    skillsAgentSkills[1]set of skills of the agent (the event contains the whole set).
    [+] : JSON Example
    Associated method :
    OnAgentStateChanged
    Event sent when ACD agent state is modified
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnAgentStateChanged'
    loginNamestring[1]Login name of the user receiving the event.
    stateAgentState[1]ACD state.
    [+] : JSON Example
    Associated methods :
    OnSupervisorHelpCancelled
    Event sent after an ACD agent has requested the assistance of its supervisor and when the request is canceled by the agent or when the request is rejected by the supervisor.
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnSupervisorHelpCancelled'
    loginNamestring[1]Login name of the user receiving the event.
    agentNumberstring[0..1]on the agent, the number of the supervisor which the help has been initially requested.
    [+] : JSON Example
    Associated method :
    OnSupervisorHelpRequested
    Event sent when an ACD agent requests the assistance of its supervisor
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnSupervisorHelpRequested'
    loginNamestring[1]Login name of the user receiving the event.
    agentNumberstring[0..1]on the agent, the number of the supervisor which the help has been requested.
    [+] : JSON Example
    Associated methods :
    PermanentListeningRequest
    Request to logg on an acd agent.
    NameTypeCardinalityDescription
    agentNumberstring[1]Agent phone number on which the operation is invoked.
    [+] : JSON Example
    Associated method :
    PGRequest
    Parameter used to enter/exit in/out a Processing Group.
    NameTypeCardinalityDescription
    pgGroupNumberstring[0..1]Processing group number. Optional: pg number may be omitted (depends on the configuration)
    [+] : JSON Example
    Associated methods :
    ProcessingGroups
    List of Processing groups number attached to an agent.
    NameTypeCardinalityDescription
    preferredstring[0..1]preferred processing group number.
    groupsstring[0..*]processing group number list.
    [+] : JSON Example
    string
    'string' represents character strings.
    WithdrawAgentRequest
    Request to withdraw an acd agent.
    NameTypeCardinalityDescription
    reasonIndexint[0..1]index of the reason why the withdraw operation is invoked. The index must correspond to one of the permitted values for the agent in the group
    [+] : JSON Example
    Associated method :
    WithdrawReason
    ACD withdraw reason definition.
    NameTypeCardinalityDescription
    indexint[1]reason index from 1 to N, maximum of N is 9.
    labelstring[0..1]label of the reason.
    [+] : JSON Example
    WithdrawReasons
    List of ACD withdraw reasons of an agent in a group.
    NameTypeCardinalityDescription
    numberint[1]Number of withdraw reasons for this agent, from 0 to 9.
    reasonsWithdrawReason[0..*]reason list. each reason is indexed from 1 to number
    [+] : JSON Example
    Associated method :

    Call Center Management

    Presentation

    This service allows an administrator session to manage CCD pilot objects.
    NB1: The pbx nodeIds which are required in this service must be first retrieved through a GET ../pbxs request.
    NB2: To enable this service, the "Specific Call Center features" MUST have been activated by configuration

    History

    Since version 2.7

    Resources summary

    ResourceMethodDescription
    /acd/{nodeId}/pilotsGETGet the pilot for the current PBX
    To be able to invoke the others methods.
    /acd/{nodeId}/pilots/{pilotNumber}GETGet information of a pilot
    /acd/{nodeId}/pilots/{pilotNumber}/calendarGETGet the whole calendar of a pilot
    /acd/{nodeId}/pilots/{pilotNumber}/calendar/exceptionGETGet the exception calendar of a pilot
    /acd/{nodeId}/pilots/{pilotNumber}/calendar/exception/{date}/transitionsPOSTAdd a transition in the exception calendar of a pilot
    If the date already exists in the calendar, a new transition is added for this date.
    /acd/{nodeId}/pilots/{pilotNumber}/calendar/exception/{date}/transitions/{transitionNbr}PUTModify an existing transition in the exception calendar of a pilot
    DELETERemove an existing transition in the exception calendar of a pilot
    /acd/{nodeId}/pilots/{pilotNumber}/calendar/normalGETGet the normal calendar of a pilot
    /acd/{nodeId}/pilots/{pilotNumber}/calendar/normal/{dayOfWeek}/transitionsPOSTAdd a transition in the normal calendar of a pilot
    /acd/{nodeId}/pilots/{pilotNumber}/calendar/normal/{dayOfWeek}/transitions/{transitionNbr}PUTModify an existing transition in the normal calendar of a pilot
    DELETERemove an existing transition in the normal calendar of a pilot
    /acd/{nodeId}/pilots/{pilotNumber}/closePOSTClose a pilot
    /acd/{nodeId}/pilots/{pilotNumber}/openPOSTOpen a pilot

    Resources

    /acd/{nodeId}/pilots

    Methods
    GET/acd/{nodeId}/pilots
    Get the pilot for the current PBX
    To be able to invoke the others methods.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200Pilotsapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the pilots of the node 1.

    /acd/{nodeId}/pilots/{pilotNumber}

    Methods
    GET/acd/{nodeId}/pilots/{pilotNumber}
    Get information of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200Pilotapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the information for pilot 60141 in node 1.

    /acd/{nodeId}/pilots/{pilotNumber}/calendar

    Methods
    GET/acd/{nodeId}/pilots/{pilotNumber}/calendar
    Get the whole calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200PilotCalendarapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : get pilot 60141 calendar in node 1.

    /acd/{nodeId}/pilots/{pilotNumber}/calendar/exception

    Methods
    GET/acd/{nodeId}/pilots/{pilotNumber}/calendar/exception
    Get the exception calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200ExceptionCalendarapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : get pilot 60141 exception calendar in node 1.

    /acd/{nodeId}/pilots/{pilotNumber}/calendar/exception/{date}/transitions

    Methods
    POST/acd/{nodeId}/pilots/{pilotNumber}/calendar/exception/{date}/transitions
    Add a transition in the exception calendar of a pilot
    If the date already exists in the calendar, a new transition is added for this date.
    If the date doesn't exist in the calendar, a first transition is created for this date.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    datestringthe day in the year (yyyymmdd)
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    PilotTransitionPilotTransition the new transition attributes
    Response
    codemedia typesdescription
    204application/json
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : add pilot 60141 exception calendar transition on 2021, first of June.

    /acd/{nodeId}/pilots/{pilotNumber}/calendar/exception/{date}/transitions/{transitionNbr}

    Methods
    PUT/acd/{nodeId}/pilots/{pilotNumber}/calendar/exception/{date}/transitions/{transitionNbr}
    Modify an existing transition in the exception calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    datestringthe day in the year (yyyymmdd)
    transitionNbrintthe transition number to modify
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    PilotTransitionPilotTransition the new transition attributes
    Response
    codemedia typesdescription
    204application/json
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : modify pilot 60141 exception calendar transition 2 on on 2021, first of June.

    DELETE/acd/{nodeId}/pilots/{pilotNumber}/calendar/exception/{date}/transitions/{transitionNbr}
    Remove an existing transition in the exception calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    datestringthe day in the year (yyyymmdd)
    transitionNbrintthe transition number to remove
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : remove pilot 60141 exception calendar transition 2 on 2021, first of June.

    /acd/{nodeId}/pilots/{pilotNumber}/calendar/normal

    Methods
    GET/acd/{nodeId}/pilots/{pilotNumber}/calendar/normal
    Get the normal calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200NormalCalendarapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : get pilot 60104 normal calendar in node 1.

    /acd/{nodeId}/pilots/{pilotNumber}/calendar/normal/{dayOfWeek}/transitions

    Methods
    POST/acd/{nodeId}/pilots/{pilotNumber}/calendar/normal/{dayOfWeek}/transitions
    Add a transition in the normal calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    dayOfWeekstringthe day in the week (monday/tuesday/...)
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    PilotTransitionPilotTransition the new transition attributes
    Response
    codemedia typesdescription
    204application/json
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : add pilot 60141 normal calendar transition on tuesday.

    /acd/{nodeId}/pilots/{pilotNumber}/calendar/normal/{dayOfWeek}/transitions/{transitionNbr}

    Methods
    PUT/acd/{nodeId}/pilots/{pilotNumber}/calendar/normal/{dayOfWeek}/transitions/{transitionNbr}
    Modify an existing transition in the normal calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    dayOfWeekstringthe day in the week (monday/tuesday/...)
    transitionNbrintthe transition number: 1, 2,...
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    PilotTransitionPilotTransition the new transition attributes
    Response
    codemedia typesdescription
    204application/json
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : modify pilot 60141 normal calendar transition 1 on tuesday.

    DELETE/acd/{nodeId}/pilots/{pilotNumber}/calendar/normal/{dayOfWeek}/transitions/{transitionNbr}
    Remove an existing transition in the normal calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    dayOfWeekstringthe day in the week (monday/tuesday/...)
    transitionNbrintthe transition number to remove
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : remove pilot 60141 normal calendar transition 2 on tuesday.

    /acd/{nodeId}/pilots/{pilotNumber}/close

    Methods
    POST/acd/{nodeId}/pilots/{pilotNumber}/close
    Close a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : close pilot 60104 in node 1.

    /acd/{nodeId}/pilots/{pilotNumber}/open

    Methods
    POST/acd/{nodeId}/pilots/{pilotNumber}/open
    Open a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : open pilot 60104 in node 1.

    Representations

    boolean
    'boolean' is a data type, having two values (true and false).
    DayOfWeek
    Different days of week in transition.
    ValueDescription
    monday
    tuesday
    wednesday
    thursday
    friday
    saturday
    sunday
    ExceptionCalendar
    Pilot calendar transitions for Exception days.
    NameTypeCardinalityDescription
    calendarExceptionTransitions[0..*]the map of exception transitions per day. Day format must be 'yyyymmdd'
    [+] : JSON Example
    Associated method :
    ExceptionTransitions
    List of pilot transitions in a day.
    NameTypeCardinalityDescription
    datestring[1]the date: format must be 'yyyymmdd'
    listPilotTransitions[0..*]the existing pilot transitions (max 10) for a day
    [+] : JSON Example
    int
    'int' is a 32-bit number (-2147483648 to 2147483647).
    NormalCalendar
    Pilot calendar transitions for normal days.
    NameTypeCardinalityDescription
    calendarNormalTransitions[0..*]the map of normal transitions per day
    [+] : JSON Example
    Associated method :
    NormalTransitions
    List of pilot transitions in a day.
    NameTypeCardinalityDescription
    dayDayOfWeek[1]the day of week
    listPilotTransitions[0..*]the existing pilot transitions (max 10) for a day
    [+] : JSON Example
    Pilot
    Pilot information.
    NameTypeCardinalityDescription
    numberstring[0..1]the number of the pilot
    namestring[0..1]the name of the pilot
    stateServiceState[0..1]the pilot state
    waitingTimeint[0..1]the expected waiting time if a call is transferred on this pilot
    saturationboolean[0..1]the queue saturation indication if a call is transferred on this pilot
    rulesPilotRules[0..1]the rules of the pilot
    possibleTransferboolean[0..1]the transfer is possible
    supervisedTransferboolean[0..1]the transfer will be supervised
    [+] : JSON Example
    Associated method :
    PilotCalendar
    Pilot calendar transition.
    NameTypeCardinalityDescription
    normalDaysNormalCalendar[0..1]the normal calendar (day of week)
    exceptionDaysExceptionCalendar[0..1]the exception calendar (day of year)
    [+] : JSON Example
    Associated method :
    PilotOperatingMode
    Different operating mode of a pilot in a transition.
    ValueDescription
    normalNormal
    closedClosed
    forwardForward
    PilotRule
    Pilot Rule
    NameTypeCardinalityDescription
    ruleNumberstring[1]the number of rule
    namestring[0..1]the name of rule
    activeboolean[1]True is it is the current rule else False
    [+] : JSON Example
    PilotRules
    List of rule of a pilot
    NameTypeCardinalityDescription
    ruleListPilotRule[0..*]the rules of the pilot
    [+] : JSON Example
    Pilots
    List of pilots in the current pbx.
    NameTypeCardinalityDescription
    pilotListPilot[0..*]the existing pilot list in the pbx node, may be null if none
    [+] : JSON Example
    Associated method :
    PilotTransition
    Pilot calendar transition.
    NameTypeCardinalityDescription
    timestring[1]the transition begin time in mandatory format "hh:mm"
    ruleNumberint[1]the rule number: between 0 and 29
    modePilotOperatingMode[1]the operating mode
    [+] : JSON Example
    Associated methods :
    PilotTransitions
    Pilot calendar transitions.
    NameTypeCardinalityDescription
    numberint[1]the transition number in [1,10]
    transitionPilotTransition[1]the transition
    [+] : JSON Example
    ServiceState
    State of service of a pilot/queue
    ValueDescription
    ClosedService is closed
    OpenedService is opened
    BlockedService is blocked
    unknownunknown state
    string
    'string' represents character strings.

    Call Center Pilot

    Presentation

    This service allows an administrator to monitor the CCD pilots.

    History

    Since version 2.7

    Resources summary

    ResourceMethodDescription
    /acd/pilotmonitoring/{nodeId}/{pilotNumber}POSTStart the monitoring of a pilot
    DELETEStop the monitoring of a pilot

    Notifications summary

    NotificationDescription
    OnPilotCallCreatedThis event indicates that a new call arrives on a pilot.
    OnPilotCallQueuedThis event indicates that the call has been queued.
    OnPilotCallRemovedThis event indicates that the call has been removed from the pilot: cause distribution, cancel or overflow.

    Resources

    /acd/pilotmonitoring/{nodeId}/{pilotNumber}

    Methods
    POST/acd/pilotmonitoring/{nodeId}/{pilotNumber}
    Start the monitoring of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : start monitoring pilot 60104 in node 1.

    Associated notifications
    DELETE/acd/pilotmonitoring/{nodeId}/{pilotNumber}
    Stop the monitoring of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : stop monitoring pilot 60104 in node 1.

    Representations

    CallCause
    Lists the different call causes.
    ValueDescription
    ABANDONEDCaller in a two-party call has disconnected before the call was answered.
    ALL_TRUNK_BUSYThe call is receiving the network congestion tone.
    BUSYThe call is receiving the busy tone.
    CLEAREDOne party in a two-party call has disconnected after the call was answered.
    PARTICIPANT_LEFTOne party has left the conference call.
    CONFERENCEDThis is a multi-party call.
    INVALID_NUMBERThe call is receiving the invalid number tone.
    DESTINATION_NOT_OBTAINABLEThe destination cannot be reached.
    DO_NOT_DISTURBThe device is in DND.
    FORWARDEDThe call has been forwarded.
    NOT_ANSWEREDThe call has been hanged up before answer.
    PICKED_UPThe call has been picked up.
    PARKED The call has been parked.
    REDIRECTEDThe call has been redirected.
    OVERFLOWNThe call goes on overflow destination.
    TRANSFERREDThis is a transferred call.
    UNKNOWNUnknown cause.
    PICKED_UP_TANDEMPicked up tandem.
    CALL_BACKThe call is a call back.
    RECALLThe call is recall (e.g. on HELD call indicates that device rings back).
    DISTRIBUTED CCD context: call distribution
    ACD_ENTER_DISTRIBUTION CCD context: call enters in distribution
    RESOURCES_NOT_AVAILABLE CCD context: pilot is not open
    SUPERVISOR_LISTENING CCD context: supervisor is listening the agent conversation
    SUPERVISOR_INTRUSION CCD context: supervisor is fully intruded in the agent conversation
    SUPERVISOR_RESTRICT_INTRUSION CCD context: supervisor can speak to the agent
    NO_AVAILABLE_AGENT CCD context: No available agent
    LOCKOUT Physical phone set device is off the hook
    int
    'int' is a 32-bit number (-2147483648 to 2147483647).
    OnPilotCallCreated
    This event indicates that a new call arrives on a pilot.
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnPilotCallCreated'
    pilotstring[1]Pilot number.
    callerstring[1]Caller number.
    callRefstring[1]Call reference (global call reference).
    causeCallCause[1]Call origine cause.
    [+] : JSON Example
    Associated method :
    OnPilotCallQueued
    This event indicates that the call has been queued.
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnPilotCallQueued'
    pilotstring[1]Pilot number.
    callerstring[1]Caller number.
    queuestring[0..1]Queue number (if distribution) or identifier (if overflow).
    callRefstring[1]Call reference (global call reference).
    causeCallCause[1]Call queuing cause.
    numberOfQueuedint[0..1]number of queued calls in the pilot queue.
    [+] : JSON Example
    Associated method :
    OnPilotCallRemoved
    This event indicates that the call has been removed from the pilot: cause distribution, cancel or overflow.
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnPilotCallRemoved'
    pilotstring[1]Pilot number.
    releasingDevicestring[1]releasingDevice number.
    newDestinationstring[1]new Destination number.
    callRefstring[1]Call reference (global call reference).
    causeCallCause[1]Call releasing cause.
    [+] : JSON Example
    Associated method :
    string
    'string' represents character strings.