MCOP Unified Open Application API

1.1.     Introduction

1.2.     Message flows

1.2.1.      Initialization and capabilities discovery

1.2.2.      MCOP log-in: authentication, authorization and service registration

1.2.3.      Configuration retrieval

1.2.4.      Call controlling and floor controlling

1.2.5.      Group membership retrieval and notifications

1.2.6.      Group affiliation retrieval, notifications and modifications

1.2.7.      Selection of default contact

1.2.8.      Emergency status setup and notifications

1.2.9.      eMBMS usage

1.3.     API definition vs. Stage 1 requirements

1.4.     Interfaces

1.4.1.      MCOP SDK initialization operation

1.4.2.      MCOP SDK capabilities retrieval operation

1.4.3.      MCOP login operation

1.4.4.      MCOP user authentication operation

1.4.5.      Registration to MCPTT configuration updates operation

1.4.6.      MCPTT configuration updates notification operation

1.4.7.      Group information retrieval operation

1.4.8.      Registration to group information updates operation

1.4.9.      Group information updates notification operation

1.4.10.    Group affiliation retrieval operation

1.4.11.    Registration to group affiliation updates operation

1.4.12.    Group affiliation updates notification operation

1.4.13.    User affiliation operation

1.4.14.    Change default contact operation

1.4.15.    Default contact change notification operation

1.4.16.    Call initialization operation

1.4.17.    Call termination operation

1.4.18.    Call acceptance operation

1.4.19.    Call event notification operation

1.4.20.    Floor control request operation

1.4.21.    Floor control notification operation

1.4.22.    Emergency status modification operation

1.4.23.    Registration to eMBMS events notifications operation

1.4.24.    eMBMS event notification operation

1.5.     Data formats

1.5.1.      SdkCapabilities information element

1.5.2.      McpttConfiguration information element

1.5.3.      McpttGroupInfo information element

1.5.4.      McpttUserInfo information element

1.5.5.      McpttGroupAffiliationInfo information element

1.5.6.      ErrorInfo information element

 

1. MCOP Unified Open Application API

1.1.     Introduction

The following section describes the communication primitives between the different components of the MCOP architecture for each procedure included in the MUOAPI. It also provides a technology agnostic definition of the MUOAPI functions and the different information elements exchanged by the MCOP platform elements.

1.2.     Message flows

Each function call in the API can trigger several requests and responses not only between the MCOP components (SDK and plug-ins) but also between MCOP components and other nodes in the MCPTT system. With the purpose of clarifying how these elements communicate with each other, the section includes different message flows, which try to gather all these interactions.

1.2.1. Initialization and capabilities discovery

 

mcop_registration_v2

Figure 1: MCOP SDK and plugins initialization and capabilities discovery

 

1.2.2. MCOP log-in: authentication, authorization and service registration

 

mcop_sim_v2

Figure 2: Authentication and authorization procedures in MCPTT system during MCOP login process

 

1.2.3. Configuration retrieval

 

mcop_config_v2

Figure 3: MCPTT user configuration retrieval procedure

 

1.2.4. Call controlling and floor controlling

 

mcop_initiateCall_v2

Figure 4: Call initialization procedure with floor control granted notification

mcop_takeCall_v2.png

Figure 5: Incoming call notification procedure with floor control taken notification

 

mcop_floorControllingReq_v2

Figure 6: Floor controlling requests and notifications during ongoing MCPTT calls

mcop_floorRevoke_v2.png

Figure 7: Floor control revoke notification during ongoing MCPTT call

mcop_floorReject_v2

Figure 8: Rejection of Floor control request

mcop_terminateCall_v2

Figure 9: MCOP application initiated call termination procedure

mcop_incomingCallTermination_v2

Figure 10: MCPTT server initiated call termination procedure

 

1.2.5. Group membership retrieval and notifications

 

mcop_groupList_v2

Figure 11: Current MCPTT user group membership retrieval procedure

mcop_groupMembership_v2

Figure 12: MCOP group membership updates notification procedure

 

1.2.6. Group affiliation retrieval, notifications and modifications

 

mcop_affiliationInfo_v2

Figure 13: Current MCPTT user group affiliation retrieval procedure

 

mcop_groupAffiliation_v2

Figure 14: MCOP group affiliation updates notification procedure

 

mcop_groupDeAffiliation_v2

Figure 15: Procedure for (de)affiliating an MCPTT user to a certain group and group affiliation update notification

 

1.2.7. Selection of default contact

 

mcop_groupSelection_v2

Figure 16: Default contact change

 

1.2.8. Emergency status setup and notifications

 

mcop_emergencyStatus_v2

Figure 17: Notification of the emergency status of the call

mcop_emergencyStatusChange_v2

Figure 18: MCOP user triggered emergency status modification

 

1.2.9. eMBMS usage

 

mcop_eMBMS_v2.eps

Figure 19: eMBMS bearer usage procedure

mcop_eMBMScancel_v2

Figure 20: MCPTT server initiated MBMS bearer usage cancellation

mcop_eMBMSserviceAreaLeave_v2

Figure 21: MBMS bearer usage cancellation after leaving MBMS service area

mcop_eMBMS_bad_quality_v2.png

Figure 22: MBMS bearer usage cancellation after bad quality reception report

 

1.3.     API definition vs. Stage 1 requirements

 

Interfaces

Information Elements

Stage 1 requirement

Section 1.4.1

·       mcopSdkInitRequest

·       mcopSdkInitResponse

Section 1.4.2

·       mcopSdkCapabilitiesRetrieval
Request

·       mcopSdkCapabilitiesRetrieval
Response

Section 1.5.1
SdkCapabilities

[R-4.2.1-004]
Capabilities / service discovery

 

Section 1.4.3

·       mcopLoginRequest

·       mcopLoginResponse

Section 1.4.4

·       mcopUserAuthentication
Request

·       mcopUserAuthentication
Response

Section 1.5.4

McpttUserInfo

[R-4.2.2-002]
Credentials/authentication initialization

[R-4.2.3-001]
(de)Registration

Section 1.4.5

·       mcpttConfigurationUpdates
RegistrationRequest

·       mcpttConfigurationUpdates
RegistrationResponse

Section 1.4.6

·       mcpttConfigurationUpdate
NotificationRequest

·       mcpttConfigurationUpdate
NotificationResponse

Section 1.5.2
McpttConfiguration

[R-4.2.2-001] Configuration retrieval and setup

Section 1.4.7

·       groupInformationRetrieval
Request

·       groupInformationRetrieval
Response

Section 1.4.8

·       groupInformationUpdates
RegistrationRequest

·       groupInformationUpdates
RegistrationResponse

Section 1.4.9

·       groupInformationUpdates
NotificationRequest

·       groupInformationUpdates
NotificationResponse

Section 1.5.3

McpttGroupInfo

[R-4.2.4-001]
Group Membership retrieval and change notification

Section 1.4.10

·       groupAffiliation
RetrievalRequest

·       groupAffiliation
RetrievalResponse

Section 1.4.11

·       groupAffiliationUpdates
RegistrationRequest

·       groupAffiliationUpdates
RegistrationResponse

Section 1.4.12

·       groupAffiliationUpdate
NotificationRequest

·       groupAffiliationUpdate
NotificationResponse

Section 1.5.5
McpttGroupAffiliationInfo

[R-4.2.4-002]    
Group affiliation status information retrieval and change notification

 

Section 1.4.14

·       defaultContactChange
Request

·       defaultContactChange
Response

Section 1.4.15

·       defaultContactChange
NotificationRequest

·       defaultContactChange
NotificationResponse

-

[R-4.2.4-003]    
Selection of default group/contact

 

Section 1.4.13

·       userAffiliationRequest

·       userAffiliationResponse

-

[R-4.2.4-004]    
Group (de)affiliation mechanism

 

Section 1.4.16

·       initiateCallRequest

·       initiateCallResponse

Section 1.4.17

·       terminateCallRequest

·       terminateCallResponse

Section 1.4.18

·       acceptCallRequest

·       acceptCallResponse

Section 1.4.19

·       callEventNotificationRequest

·       callEventNotificationResponse

Section 1.4.20

·       floorControlRequest

·       floorControlResponse

Section 1.4.21

·       floorControlEvent
NotificationRequest

·       floorControlEvent
NotificationResponse

-

[R-4.2.5-001]

Call controlling: requests

 [R-4.2.5-002]
Call controlling: notifications

 [R-4.2.5-003]
Floor Controlling: requests

 [R-4.2.5-004]
Floor Controlling: notification

 

Section 1.4.22

·       emergencyStatusModification
Request

·       emergencyStatusModification
Response

-

[R-4.2.5-005]
Emergency Status

 

Section 1.4.23

·       eMbmsNotifications
RegistrationRequest

·       eMbmsNotifications
RegistrationResponse

Section 1.4.24

·       eMbmsNotificationRequest

·       eMbmsNotificationResponse

-

[R-4.2.6-001]
eMBMS information forward

Table 1:  MCOP UOAPI definition vs Stage 1 requirements

1.4.     Interfaces

This section defines a neutral interface for the MCOP UOAPI, i.e. the interface between the MCPTT capable APP and the MCOP SDK. The functions and parameters included in this section are independent of the programming language used for the implementation.

1.4.1. MCOP SDK initialization operation

1.4.1.i.            Definition

Message

Requirement

Direction

mcopSdkInitRequest

Mandatory

APP SDK

mcopSdkInitResponse

Mandatory

SDK APP

Table 2: MCOP SDK initialization operation

1.4.1.ii.           Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

applicationId

M

1

String

It uniquely identifies the application.

Table 3: MCOP SDK initialization input parameters

1.4.1.iii.          Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the SDK initialization process was correct

Table 4: MCOP SDK initialization output parameters

1.4.2. MCOP SDK capabilities retrieval operation

1.4.2.i.            Definition

Message

Requirement

Direction

mcopSdkCapabilitiesRetrievalRequest

Mandatory

APP SDK

mcopSdkCapabilitiesRetrievalResponse

Mandatory

SDK APP

Table 5: MCOP SDK capabilities retrieval operation

1.4.2.ii.           Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

applicationId

M

1

String

It uniquely identifies the application.

Table 6: MCOP SDK capabilities retrieval input parameters

1.4.2.iii.          Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

sdkCapabilities

M

1

SdkCapabilities

This parameter includes all capabilities supported by the SDK

Table 7: MCOP SDK capabilities retrieval output parameters

1.4.3. MCOP login operation

1.4.3.i.            Definition

Message

Requirement

Direction

mcopLoginRequest

Mandatory

APP SDK

mcopLoginResponse

Mandatory

SDK APP

Table 8: MCOP login operation

1.4.3.ii.           Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

applicationId

M

1

String

It uniquely identifies the application.

Table 9: MCOP login input parameters

1.4.3.iii.          Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

loginResult

M

1

Boolean

It indicates if the login process was successful.

mcpttId

M

1

String

MCPTT User Identity

displayName

O

1

String

Human readable name

Table 10: MCOP login output parameters

1.4.4. MCOP user authentication operation

1.4.4.i.            Definition

Message

Requirement

Direction

mcopUserAuthenticationRequest

Mandatory

SDK APP

mcopUserAuthenticationResponse

Mandatory

APP SDK

Table 11: MCOP user authentication operation

1.4.4.ii.           Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

requestURL

M

1

String

It indicates the URL to be used for third party authentication.

redirectURL

M

1

String

It indicates the URL to be checked in the responses of the third party authentication agent (IdMS) in order to consider that the authentication process has finished.

Table 12: MCOP user authentication input parameters

1.4.4.iii.          Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

resultURL

M

1

String

An URL that contains the authentication result from the third party authentication agent (IdMS). It contains the necessary parameters for the SDK to authorize the user

Table 13: MCOP user authentication output parameters

1.4.5. Registration to MCPTT configuration updates operation

1.4.5.i.            Definition

Message

Requirement

Direction

mcpttConfigurationUpdatesRegistrationRequest

Mandatory

APP SDK

mcpttConfigurationUpdatesRegistrationResponse

Mandatory

SDK APP

Table 14: Registration to MCPTT configuration updates operation

1.4.5.ii.           Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

applicationId

M

1

String

It identifies the APP that wants to be registered to MCPTT configuration update events.

Table 15: Registration to MCPTT configuration updates input parameters

1.4.5.iii.          Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the registration to MCPTT configuration updates was correct.

Table 16: Registration to MCPTT configuration updates output parameters

1.4.6. MCPTT configuration updates notification operation

1.4.6.i.            Definition

Message

Requirement

Direction

mcpttConfigurationUpdateNotificationRequest

Mandatory

SDK APP

mcpttConfigurationUpdateNotificationResponse

Mandatory

APP SDK

Table 17: MCPTT configuration updates notification operation

1.4.6.ii.           Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

mcpttConfiguration

M

1

McpttConfiguration

It includes all MCPTT configuration data valid for the APP

Table 18: MCPTT configuration updates notification input parameters

1.4.6.iii.          Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the MCPTT configuration update notification was accepted by the APP

error

O

1

ErrorInfo

It contains specific error information if the configuration update/retrieval operation was not successful.

Table 19: MCPTT configuration updates notification output parameters

1.4.7. Group information retrieval operation

1.4.7.i.            Definition

Message

Requirement

Direction

groupInformationRetrievalRequest

Mandatory

APP SDK

groupInformationRetrievalResponse

Mandatory

SDK APP

Table 20: Group information retrieval operation

1.4.7.ii.           Input parameters

No input parameter.

1.4.7.i.            Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the group information request was accepted by the SDK.

Table 21: Group information retrieval output parameters

1.4.8. Registration to group information updates operation

1.4.8.i.            Definition

Message

Requirement

Direction

groupInformationUpdatesRegistrationRequest

Mandatory

APP SDK

groupInformationUpdatesRegistrationResponse

Mandatory

SDK APP

Table 22: Registration to group information updates operation

1.4.8.ii.           Input parameters

No input parameter.

1.4.8.iii.          Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the APP was correctly registered to group information updates.

Table 23: Group information updates notification output parameters

1.4.9. Group information updates notification operation

1.4.9.i.            Definition

Message

Requirement

Direction

groupInformationUpdatesNotificationRequest

Mandatory

SDK APP

groupInformationUpdatesNotificationResponse

Mandatory

APP SDK

Table 24: Group information updates notification operation

1.4.9.ii.           Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

groupInfo

M

1

McpttGroupInfo

It shows information of each group the user is member of.

error

O

1

ErrorInfo

It contains specific error information if the group information update/retrieval operation was not successful.

Table 25: Group information updates notification input parameters

1.4.9.i.            Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the group information update notification was accepted by the APP

Table 26: Group information updates notification output parameters

1.4.10. Group affiliation retrieval operation

1.4.10.i.         Definition

Message

Requirement

Direction

groupAffiliationRetrievalRequest

Mandatory

APP SDK

groupAffiliationRetrievalResponse

Mandatory

SDK APP

Table 27: Group affiliation retrieval operation

1.4.10.ii.        Input parameters

No input parameter.

1.4.10.iii.       Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the group affiliation retrieval request was accepted by the SDK.

Table 28: Group affiliation retrieval output parameters

1.4.11. Registration to group affiliation updates operation

1.4.11.i.         Definition

Message

Requirement

Direction

groupAffiliationUpdatesRegistrationRequest

Mandatory

APP SDK

groupAffiliationUpdatesRegistrationResponse

Mandatory

SDK APP

Table 29: Registration to group affiliation updates operation

1.4.11.ii.        Input parameters

No input parameter.

1.4.11.iii.       Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the APP was correctly registered to group affiliation updates.

Table 30: Group affiliation updates notification output parameters

1.4.12. Group affiliation updates notification operation

1.4.12.i.         Definition

Message

Requirement

Direction

groupAffiliationUpdateNotificationRequest

Mandatory

SDK APP

groupAffiliationUpdateNotificationResponse

Mandatory

APP SDK

Table 31: Group affiliation updates notification operation

1.4.12.ii.        Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

affiliatedGroupInfo

M

1..N

McpttGroupAffiliationInfo

It contains affiliation information of the group.

eventType

M

1

Enum

Type of event that triggered the group affiliation update:

 - Normal affiliation update event

- Remote affiliation update request event in negotiated mode (requires user intervention)

groupID

O

1

String

Only present if a remote affiliation is requested. It indicates the MCPTT group ID the affiliation update refers to.

remoteUserID

O

1

String

Only present if a remote affiliation is requested. It indicates the MCPTT ID of the user that requested the affiliation update.

error

O

1

ErrorInfo

It contains specific error information if the group affiliation status update/retrieval operation was not successful.

Table 32: Group affiliation update notification input parameters

1.4.12.iii.       Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the group affiliation update notification was accepted by the APP

Table 33: Group affiliation updates notification output parameters

1.4.13. User affiliation operation

1.4.13.i.         Definition

Message

Requirement

Direction

userAffiliationRequest

Mandatory

APP SDK

userAffiliationResponse

Mandatory

SDK APP

Table 34: User affiliation operation

1.4.13.ii.        Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

mcpttGroupId

M

1

String

MCPTT ID of the group to affiliate or deaffiliate.

affiliationOperationType

M

1

Enum

Operation type:

- Affiliate

- Deaffiliate

Table 35: User affiliation input parameters

1.4.13.iii.       Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the group affiliation operation was accepted by the SDK

Table 36: Group affiliation operation output parameters

1.4.14. Change default contact operation

1.4.14.i.         Definition

Message

Requirement

Direction

defaultContactChangeRequest

Mandatory

APP SDK

defaultContactChangeResponse

Mandatory

SDK APP

Table 37: Change default contact operation

1.4.14.ii.        Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

mcpttId

M

1

String

MCPTT ID of the user or group to set as default contact.

Table 38: Change default contact input parameters

1.4.14.iii.       Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the default contact change request wn was accepted by the SDK

Table 39: Change default contact operation output parameters

1.4.15. Default contact change notification operation

1.4.15.i.         Definition

Message

Requirement

Direction

defaultContactChangeNotificationRequest

Mandatory

SDK APP

defaultContactChangeNotificationResponse

Mandatory

APP SDK

Table 40: Default contact change notification operation

1.4.15.ii.        Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

mcpttId

M

1

String

MCPTT ID of the user or group that was set as default contact.

error

O

1

ErrorInfo

It contains specific error information if the group affiliation status update/retrieval operation was not successful.

Table 41: Default contact change notification input parameters

1.4.15.iii.       Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if default contact change notification event was accepted by the APP

Table 42: Default contact change notification output parameters

1.4.16. Call initialization operation

1.4.16.i.         Definition

Message

Requirement

Direction

initiateCallRequest

Mandatory

APP SDK

initiateCallResponse

Mandatory

SDK APP

Table 43: Call initialization operation

1.4.16.ii.        Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

calledId

M

1

String

It identifies the MC service ID of the MC group or the MC user the APP wants to call.

serviceType

M

1..N

Enumeration

It identifies the type of MC service. Some services require more than one media types (e.g. MCVideo with audio stream)

Values considered:

-        Audio

-        Video

-        Data

callType

M

1

Enumeration

It identifies the type of call the APP wants to establish.

Values considered:

-        Private full duplex call

-        Private half duplex call

-        Prearranged group call

-        Chat group call

-        First-to-answer call

-        Private call callback

-        Remote Ambient Listening

-        Local Ambient Listening

emergencyType

O

1

Enumeration

It identifies the emergency state of the call.

Values considered:

-        No-emergency (default value if not included)

-        Imminent Peril

-        Emergency call

Table 44: Call initialization input parameters

1.4.16.i.         Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the call initialization request was accepted by the SDK.

Table 45: Call initialization output parameters

1.4.17. Call termination operation

1.4.17.i.         Definition

Message

Requirement

Direction

terminateCallRequest

Mandatory

APP SDK

terminateCallResponse

Mandatory

SDK APP

Table 46: Call termination operation

1.4.17.ii.        Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

sessionId

M

1

String

It identifies the MCPTT call the APP wants to terminate. Value obtained during call establishment.

Table 47: Call termination input parameters

1.4.17.i.         Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the call termination request was accepted by the SDK.

Table 48: Call termination output parameters

1.4.18. Call acceptance operation

1.4.18.i.         Definition

Message

Requirement

Direction

acceptCallRequest

Mandatory

APP SDK

acceptCallResponse

Mandatory

SDK APP

Table 49: Call acceptance operation

1.4.18.ii.        Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

sessionId

M

1

String

It identifies the MCPTT call the APP wants to accept. Value obtained in incoming call notification.

Table 50: Call acceptance input parameters

1.4.18.i.         Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the call acceptance request was accepted by the SDK.

Table 51: Call acceptance output parameters

1.4.19. Call event notification operation

1.4.19.i.         Definition

Message

Requirement

Direction

callEventNotificationRequest

Mandatory

SDK APP

callEventNotificationResponse

Mandatory

APP SDK

Table 52: Call event notification operation

1.4.19.ii.        Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

sessionId

M

1

String

It identifies the MCPTT call for which the SDK wants to send an event. In call initialization processes, this value should be stored to perform any termination or floor control operation.

eventType

M

1

Enumeration

It identifies the event notified by the SDK.

Values considered:

-        Incoming call

-        Remote ringing

-        Call in-progress

-        Call connected

-        Call terminated

-        Call error

-        Call update

callerMcpttId

O

1

String

MCPTT ID of the calling party (group or individual user) in case the notification is an incoming call initialization.

serviceType

O

1..N

Enumeration

It identifies the type of MC service. Some services require more than one media types (e.g. MCVideo with audio stream)

Values considered:

-        Audio

-        Video

-        Data

callType

O

1

Enumeration

It identifies the incoming call type.

Values considered:

-        Private full duplex call

-        Private half duplex call

-        Prearranged group call

-        Chat group call

-        First-to-answer call

-        Private call callback

-        Remote Ambient Listening

-        Local Ambient Listening

emergencyType

O

1

Enumeration

It identifies the emergency state of the incoming call or the emergency state if the call is updated. Values considered:

-        No-emergency (default value if not included)

-        Imminent Peril

-        Emergency call

error

O

1

ErrorInfo

It contains specific error information if there was an error in any call operation.

Table 53: Call event notification input parameters

1.4.19.iii.       Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the call event was accepted by the APP

Table 54: Call event notification output parameters

1.4.20. Floor control request operation

1.4.20.i.         Definition

Message

Requirement

Direction

floorControlRequest

Mandatory

APP SDK

floorControlResponse

Mandatory

SDK APP

Table 55: Floor control request operation

1.4.20.ii.        Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

sessionId

M

1

String

It identifies the MC call for which the APP wants to send a floor control message. Value obtained during call establishment.

requestType

M

1

Enumeration

It identifies the type of request sent by the APP.

Values considered:

-        Floor Control Request

-        Floor Control Release

-        Transmission request

-        Transmission End request

-        Reception request

-        Reception End request

userID

O

1

String

 

Table 56: Floor control request input parameters

1.4.20.i.         Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the floor control request was accepted by the SDK.

Table 57: Floor control request output parameters

1.4.21. Floor control notification operation

1.4.21.i.         Definition

Message

Requirement

Direction

floorControlEventNotificationRequest

Mandatory

SDK APP

floorControlEventNotificationResponse

Mandatory

APP SDK

Table 58: Floor control notification operation

1.4.21.ii.        Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

sessionId

M

1

String

It identifies the MC call in which the floor control event occurred. Value obtained during call establishment.

notificationType

M

1

Enumeration

It identifies the type of event that is being notified by the SDK.

Values considered:

-        Granted

-        Taken

-        Idle

-        Revoked

-        Denied

-        Queued

-        Queued Timeout

-        Tx Granted

-        Rx Granted

-        Tx Rejected

-        Rx Rejected

-        Tx Revoked

-        Rx Revoked

-        Tx Notification

-        Tx End Notification

-        Tx End Response

-        Rx End Response

duration

O

1

Uint32

Maximum duration of the floor control grant (e.g. 30s). Only available when sending ‘Granted’ / ‘Tx Granted’ notification.

userID

O

1

String

MC service ID of the user that has been granted the floor when sending ‘Taken’ notification.

Or

MC service ID of the new user that wants to start / stop sending data when

 ‘Tx Notification’ / ‘Tx End Notification’ is received.

Or

MC service ID of the remote user the local user wants to receive / stop receiving data from when

 ‘Rx Granted’ / ‘Rx Revoked’ / ‘Reception End Response’ is received.

displayName

O

1

String

Human readable name corresponding to the MC service ID (userID).

requestAllowed

O

1

Boolean

It indicates if the user receiving a ‘Taken’ notification can request the floor or not. For example, this value is ‘False’ in broadcast group calls.

error

O

1

ErrorInfo

It contains specific error information if there was an error in any floor control operation.

Table 59: Floor control notification input parameters

1.4.21.i.         Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the floor control event was accepted by the APP

Table 60: Floor control notification output parameters

1.4.22. Emergency status modification operation

1.4.22.i.         Definition

Message

Requirement

Direction

emergencyStatusModificationRequest

Mandatory

APP SDK

emergencyStatusModificationResponse

Mandatory

SDK APP

Table 61: Emergency status modification operation

1.4.22.ii.        Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

sessionId

M

1

String

It identifies the MCPTT call in which the APP wants to perform an emergency status modification. Value obtained during call establishment.

emergencyStatus

M

1

Enumeration

It identifies the new emergency status the APP wants to set.

Values considered:

-        Emergency State

-        Imminent Peril State

-        No-Emergency State

Table 62: Emergency status modification input parameters

1.4.22.iii.       Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the emergency status change was accepted by the SDK

Table 63: Emergency status modification output parameters

 

1.4.23. Registration to eMBMS events notifications operation

1.4.23.i.         Definition

Message

Requirement

Direction

eMbmsNotificationsRegistrationRequest

Mandatory

APP SDK

eMbmsNotificationsRegistrationResponse

Mandatory

SDK APP

Table 64: Registration to eMBMS events notifications operation

1.4.23.ii.        Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

applicationId

M

1

String

It identifies the APP that wants to be registered to eMBMS events.

Table 65: Registration to eMBMS events notifications input parameters

1.4.23.iii.       Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the registration was correct.

Table 66: Registration to eMBMS events notifications output parameters

1.4.24. eMBMS event notification operation

1.4.24.i.         Definition

Message

Requirement

Direction

eMbmsNotificationRequest

Mandatory

SDK APP

eMbmsNotificationResponse

Mandatory

APP SDK

Table 67: eMBMS event notification operation

1.4.24.ii.        Input parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

sessionId

M

1

String

It identifies the MCPTT call in which the eMBMS event occurred. Value obtained during call establishment.

notificationType

M

1

Enumeration

It indicates the type of eMBMS event that is being notified by the SDK.

Values considered:

-        eMBMS available for the call

-        Under coverage of eMBMS

-        eMBMS bearer in use

-        eMBMS bearer not in use

-        No coverage of eMBMS

-        eMBMS not available for the call

mbmsServiceAreaIdList

M

1..N

String

List of MBMS service areas where the MBMS service is available

tmgi

M

1

String

Temporary Mobile Group Identity (TMGI) of the MBMS bearer

error

O

1

ErrorInfo

It contains specific error information if there was an error in any eMBMS related operation.

Table 68: eMBMS event notification input parameters

1.4.24.iii.       Output parameters

Parameter Name

Qualifier

Cardinality

Data type

Description

result

M

1

Boolean

It indicates if the eMBMS event notification was accepted by the APP

Table 69: eMBMS event notification output parameters

1.5.     Data formats

1.5.1. SdkCapabilities information element

1.5.1.i.            Definition

Capabilities of the SDK and each plugin.

 

1.5.1.ii.           Attributes

Parameter Name

Qualifier

Cardinality

Data type

Description

connectivityPluginAvailability

M

1

Boolean

It indicates if the connectivity plug-in is available or not

connectivityPluginVersion

O

1

String

It identifies the version Connectivity plug-in

simPluginAvailability

M

1

Boolean

It indicates if the SIM plug-in is available or not

simPluginVersion

O

1

String

It identifies the version of the SIM plug-in

eMbmsPluginAvailability

M

1

Boolean

It indicates if the eMBMS plug-in is available or not

eMbmsPluginVersion

O

1

String

It identifies the version of the eMBMS plug-in

provisioningPluginAvailability

M

1

Boolean

It indicates if the OTA/provisioning plug-in is available or not

provisioningPluginVersion

O

1

String

It identifies the version of the provisioning plug-in

Table 70: Attributes of SdkCapabilities information element

1.5.2. McpttConfiguration information element

1.5.2.i.            Definition

MCPTT user configuration values obtained from the MCPTT system. This is a subset of all the configuration information related with an MCPTT user and that could be interesting for an APP.

1.5.2.ii.           Attributes

Parameter Name

Qualifier

Cardinality

Data type

Description

displayName

O

1

String

Human readable user name

participantType

O

1

String

Category of the participant

organization

O

1

String

Organization the user belongs to

policies

O

1..N

Boolean array

It indicates the types of calls the user is allowed to perform:

-        Private calls

-        Emergency group calls

-        Emergency private calls

-        Imminent peril calls

-        Emergency alerts

Table 71: Attributes of McpttConfiguration information element

1.5.3. McpttGroupInfo information element

1.5.3.i.            Definition

MCPTT group information data obtained from the MCPTT system. This is a subset of all the data related with an MCPTT group and that could be interesting for an APP.

1.5.3.ii.           Attributes

Parameter Name

Qualifier

Cardinality

Data type

Description

mcpttGroupId

M

1

String

MCPTT group identity

displayName

O

1

String

Human readable group name

mcpttUserList

M

1..N

McpttUserInfo

List containing information from all members of the group

policies

O

1..N

Boolean array

It indicates the types of calls the group admits:

-        Prearranged / Chat MCPTT calls

-        Emergency calls

-        Imminent peril calls

-        Emergency alerts

-        Prearranged / Chat MCVideo calls

-        Urgent real-time MCVideo calls

-        Non-urgent real-time MCVideo calls

-       Non real-time MCVideo calls

-       MCData SDS

-       MCData FD

 

maxSDSSize

O

1

Integer

Maximum size for SDS

maxFDSize

O

1

Integer

Maximum file size for MCData FD.

maxFDHTTPSize

O

1

Integer

Maximum file size for MCData FD over HTTP.

activeVideoMode

O

1

Enum

Currently active MCVideo mode:

-        Urgent real-time

-        Non-urgent real-time

-        Non real-time

Table 72: Attributes of McpttGroupInfo information element

1.5.4. McpttUserInfo information element

1.5.4.i.            Definition

This information element contains information of the contacts of the user or of the other members of a group the user belongs to.

1.5.4.ii.           Attributes

Parameter Name

Qualifier

Cardinality

Data type

Description

mcpttId

M

1

String

MCPTT User Identity

displayName

O

1

String

Human readable name of the user

participantType

O

1

String

Category of the participant

Table 73: Attributes of McpttUserInfo information element

1.5.5. McpttGroupAffiliationInfo information element

1.5.5.i.            Definition

MCPTT group affiliation information status obtained from the MCPTT system.

1.5.5.ii.           Attributes

Parameter Name

Qualifier

Cardinality

Data type

Description

mcpttGroupId

M

1

String

MCPTT group identity

affiliationStatus

M

1

Enum

The affiliation status of the group:

-        Not affiliated

-        Affiliating

-        Affiliated

-        Deaffiliating

expirationTime

O

1

Date

Expiration time of the group affiliation

Table 74: Attributes of McpttGroupAffiliationInfo information element

1.5.6. ErrorInfo information element

1.5.6.i.            Definition

This information element contains all the data related with any error that can occur.

1.5.6.ii.           Attributes

Parameter Name

Qualifier

Cardinality

Data type

Description

errorCode

M

1

Integer

Error code.

errorString

M

1

String

Human readable description of the error.

Table 75: Attributes of ErrorInfo information element