public interface IMCOPsdk
extends android.os.IInterface
https://developer.android.com/guide/components/aidl.html
Used as a callback for MCOP SDK server-client communication, and for MCPTT (Mission Critical Push to Talk) Services.Modifier and Type | Interface and Description |
---|---|
static class |
IMCOPsdk.Stub
Local-side IPC implementation stub class.
|
Modifier and Type | Method and Description |
---|---|
int |
acceptCall(java.lang.String sessionID,
java.util.Map tags)
Accept incoming call from individual user or group.
|
int |
affiliationOperation(java.lang.String groupID,
int affiliationRequestType,
java.util.Map tags)
Perform an affiliation change on the affiliation status of the user
|
int |
affiliationSubscriptionOperation(java.lang.String userID,
boolean enable)
Allows managing self and target user affiliation.
|
int |
authorizeUser(java.lang.String url)
Once the authentication procedure has been carried out against the IDMS, this function must be called to continue with the login
process started with #login() function.
|
int |
changeRemoteGroup(java.lang.String userID,
java.lang.String groupID,
java.util.Map tags)
Change the selected group (the group the other user is listening to) of another user.
|
int |
controlMechanismOperation(java.lang.String sessionID,
int controlReqType,
java.util.Map tags)
Perform an operation related to floor control or transmission control mechanisms.
|
java.lang.String |
createConversation(java.lang.String recipientID,
int conversationType,
int defaultDispositionReqType) |
int |
functionalAliasOperation(java.lang.String functionalAliasId,
int functionalAliasRequestType,
java.util.Map tags)
Perform functional alias state change operations, like activate or deactivate a specific alias.
|
java.lang.String |
generateUniqueId()
This function generates a unique id, to be used with #makeCall .
|
int |
getAllSDS(java.lang.String conversationID,
java.lang.String recipientID,
java.util.Map tags)
Retrieve SDS conversations history.
|
int |
getConfigurationInfo()
Request the full configuration information of the user
|
int |
getFunctionalAliasStatus()
Get functional alias status (active, inactive...)
|
int |
getGroupsAffiliation()
Request the user affiliation status of all groups of which the user is a member.
|
int |
getGroupsInfo()
Request the information of all groups of which the user is a member
|
java.lang.String |
getMCOPCapabilities()
Allows to synchronously get the capabilities from the different MCPTT SDK plugins.
|
int |
groupManagementOperation(java.lang.String groupID,
int groupOperationType,
java.util.Map tags)
Allows performing different group management related operation such as group or temporary group formation, group removal or temporary group tear down.
|
int |
hangUpCall(java.lang.String sessionID)
Hang up an ongoing call or cancel a call that has not been established yet.
|
int |
login()
This function starts the MCS system login procedure (SIP Registration + MCS authentication + MCS service authorization).
|
int |
logout()
This function starts the MCS system logout procedure.
|
int |
makeCall(java.lang.String[] calledIds,
int callType,
java.lang.String sessionID,
java.util.Map tags)
Make a call to the requested SIP URI list.
|
int |
readNotificationSDS(java.lang.String recipientID,
java.lang.String conversationID,
java.lang.String messageID) |
boolean |
registerCallback(IMCOPCallback mcopCallBack)
Register the callback defined by AIDL so that the SDK can send asynchronous events to the user.
|
int |
selectInterface(java.lang.String ip,
java.util.Map tag)
This function set the address of the client.
|
java.lang.String |
sendSDS(java.lang.String conversationID,
java.lang.String[] payloads,
int[] payloadsType,
long dateTime,
java.lang.String inReplyToID,
int notificationType)
Send an SDS message within a specific conversation.
|
int |
setGroupEmergencyAlertState(java.lang.String groupID,
boolean enable,
java.util.Map tags)
Enable or disable the emergency alert state of a specific group, even if there is no call in that group
|
int |
setMute(java.lang.String sessionID,
boolean mute)
This functions gives the possibility to mute the microphone for a specific call.
|
int |
setSpeakerMute(java.lang.String sessionID,
boolean mute)
This functions gives the possibility to mute the speaker for a specific call.
|
int |
updateCallStatus(java.lang.String sessionID,
int updateType)
Change the state of an ongoing call (e.g change call priority level).
|
java.lang.String getMCOPCapabilities() throws android.os.RemoteException
android.os.RemoteException
int selectInterface(java.lang.String ip, java.util.Map tag) throws android.os.RemoteException
ip
- Indicates the address on IPv4 format.tags
- List of optional tags. Possible values are:
- #TAG_NET_PORTandroid.os.RemoteException
int login() throws android.os.RemoteException
android.os.RemoteException
for more information about asynchronous responses of this method.
int authorizeUser(java.lang.String url) throws android.os.RemoteException
ConstantsMCOP.ActionsCallBack.registrationEvent
event which contains a *request uri* that
upper client layers must use to authenticate against the IDMS.
The URL obtained as a result of IDMS authentication should be passed to the SDK so that it can verify the authentication and start with service authorization.url
- String with URL format, obtained as a result of the IDMS authentication process.android.os.RemoteException
for more information about asynchronous responses of this method.
int logout() throws android.os.RemoteException
android.os.RemoteException
for more information about asynchronous responses of this method.
java.lang.String generateUniqueId() throws android.os.RemoteException
android.os.RemoteException
int makeCall(java.lang.String[] calledIds, int callType, java.lang.String sessionID, java.util.Map tags) throws android.os.RemoteException
calledIds
- List of request SIP URIs. This list must only contain one SIP URI, except for First-To-Answer calls.
If the list contains more than one elements, the first one will be used.
If NULL, the default contact will be called.callType
- Integer that contains a series of FLAGs indicating the requested call type. See ConstantsMCOP.CallEventExtras.CallTypeEnum
for all possible values.sessionID
- Call session identifier that unequivocally identifies the call.tags
- List of optional tags. Possible values are:
- #TAG_CALL_ANSWER_MODE_KEY
- #TAG_CALL_EMERG_ALERT_KEY
- #TAG_CALL_MIC_MUTE_KEY
- #TAG_CALL_SPEAKER_MUTE_KEY
- #TAG_CALL_IMPLICIT_REQUEST_KEY
- #TAG_CALL_IMPLICIT_GRANTED_KEYandroid.os.RemoteException
for more information about asynchronous responses of this method.
int acceptCall(java.lang.String sessionID, java.util.Map tags) throws android.os.RemoteException
sessionID
- Call session identifier that unequivocally identifies the call.tags
- List of optional tags. Possible values are:
- #TAG_CALL_MIC_MUTE_KEY
- #TAG_CALL_SPEAKER_MUTE_KEYandroid.os.RemoteException
for more information about asynchronous responses of this method.
int hangUpCall(java.lang.String sessionID) throws android.os.RemoteException
sessionID
- Call session identifier that unequivocally identifies the call.android.os.RemoteException
for more information about asynchronous responses of this method.
int updateCallStatus(java.lang.String sessionID, int updateType) throws android.os.RemoteException
sessionID
- Call session identifier that unequivocally identifies the call.updateType
- New updated state of the session. See ConstantsMCOP.EmergencyTypeEnum
for all possible values.android.os.RemoteException
for more information about asynchronous responses of this method.
int setMute(java.lang.String sessionID, boolean mute) throws android.os.RemoteException
sessionID
- Call session identifier that unequivocally identifies the call.mute
- Boolean indicating if the microphone is muted or not. True means mute.android.os.RemoteException
int setSpeakerMute(java.lang.String sessionID, boolean mute) throws android.os.RemoteException
sessionID
- Call session identifier that unequivocally identifies the call.mute
- Boolean indicating if the speaker is muted or not. True means mute.android.os.RemoteException
int controlMechanismOperation(java.lang.String sessionID, int controlReqType, java.util.Map tags) throws android.os.RemoteException
sessionID
- Call session identifier that unequivocally identifies the call.controlReqType
- Media control mechanism event type. See ConstantsMCOP.ControlMechanismEventExtras.ControlMechanismOperationTypeEnum
for all possible values.tags
- List of optional tags. Possible values are:
- #TAG_CTRL_MECH_PRIO
- #TAG_CTRL_MECH_MCVIDEO_USER_IDandroid.os.RemoteException
for more information about asynchronous responses of this method.
int changeRemoteGroup(java.lang.String userID, java.lang.String groupID, java.util.Map tags) throws android.os.RemoteException
userID
- The MCPTT ID or MCVIDEO ID of the target usergroupID
- The identifier of the grouptags
- List of optional tags. Possible values are:
- #TAG_GROUP_SERVICESandroid.os.RemoteException
for more information about asynchronous responses of this method.
The user should be a member of the group. Otherwise, an error will be returned.
int setGroupEmergencyAlertState(java.lang.String groupID, boolean enable, java.util.Map tags) throws android.os.RemoteException
groupID
- The identifier of the groupenable
- Boolean indicating if the emergency alert shall be enabled or not. True means enable.tags
- List of optional tags. Possible values are:
- #TAG_EMERGENCY_ALERT_ORIGINATED_BY
- #TAG_GROUP_SERVICESandroid.os.RemoteException
for more information about asynchronous responses of this method.
int getConfigurationInfo() throws android.os.RemoteException
android.os.RemoteException
for more information about asynchronous responses of this method.
int getGroupsInfo() throws android.os.RemoteException
android.os.RemoteException
for more information about asynchronous responses of this method.
int getGroupsAffiliation() throws android.os.RemoteException
android.os.RemoteException
for more information about asynchronous responses of this method.
int affiliationOperation(java.lang.String groupID, int affiliationRequestType, java.util.Map tags) throws android.os.RemoteException
groupID
- The identifier of the groupaffiliationRequestType
- Affiliation request type. See ConstantsMCOP.GroupAffiliationEventExtras.AffiliationRequestTypeEnum
for all possible values.tags
- List of optional tags. Possible values are:
- #TAG_AFFILIATION_REMOTE_USER_ID
- #TAG_AFFILIATION_SERVICES
- #TAG_AFFILIATION_REMOTE_NEGOTIATED_MODEandroid.os.RemoteException
for more information about asynchronous responses of this method.
int getFunctionalAliasStatus() throws android.os.RemoteException
android.os.RemoteException
for more information about asynchronous responses of this method.
int functionalAliasOperation(java.lang.String functionalAliasId, int functionalAliasRequestType, java.util.Map tags) throws android.os.RemoteException
functionalAliasId
- Unequivocally identifies the functional alias on which the operation is to be performed. The functional alias list will be received in the event ConstantsMCOP.ActionsCallBack.functionalAliasEvent
functionalAliasRequestType
- Functional alias request type. See ConstantsMCOP.FunctionalAliasEventExtras.FunctionalAliasOperationTypeEnum
for all possible values.tags
- List of optional tags. Possible values are:
- #TAG_FUNCTIONAL_ALIAS_TAKE_OVERandroid.os.RemoteException
for more information about asynchronous responses of this method.
java.lang.String createConversation(java.lang.String recipientID, int conversationType, int defaultDispositionReqType) throws android.os.RemoteException
recipientID
- MCDATA ID of the user or group with whom an SDS conversation will be created.conversationType
- Conversation type. See ConstantsMCOP.MCDataEventExtras.SdsNotificationTypeEnum
for all possible values.defaultDispositionReqType
- Default disposition request type. Indicates which type of notification will be requested to recipients in response to a sent SDS message.
See ConstantsMCOP.MCDataEventExtras.SdsNotificationTypeEnum
for all possible values.android.os.RemoteException
for more information about asynchronous responses of this method.
java.lang.String sendSDS(java.lang.String conversationID, java.lang.String[] payloads, int[] payloadsType, long dateTime, java.lang.String inReplyToID, int notificationType) throws android.os.RemoteException
conversationID
- the UUID that unequivocally identifies the conversationpayloads
- Array containing all the payloads to be sent. In the case of being a binary data it must be encoded in base64payloadsType
- Array containing all the payload type of the #payloads to be sent. See ConstantsMCOP.MCDataEventExtras.SdsPayloadTypeEnum
for all possible values.dateTime
- Calendar's time in milliseconds. Calendar.getTimeInMillis()
.inReplyToID
- an UUID indicating the ID of the message which is being replied. OptionalnotificationType
- Indicates the type of notification requested by the user. See ConstantsMCOP.MCDataEventExtras.SdsNotificationTypeEnum
for all possible values. Optionalandroid.os.RemoteException
for more information about asynchronous responses of this method.
int readNotificationSDS(java.lang.String recipientID, java.lang.String conversationID, java.lang.String messageID) throws android.os.RemoteException
recipientID
- MCDATA ID of the user or group of the SDS conversation.conversationID
- the UUID that unequivocally identifies the conversation to which the SDS belongs.messageID
- the UUID that unequivocally identifies the message for which the notification will sent.android.os.RemoteException
for more information about asynchronous responses of this method.
int getAllSDS(java.lang.String conversationID, java.lang.String recipientID, java.util.Map tags) throws android.os.RemoteException
conversationID
- the UUID that unequivocally identifies the conversation to which the SDS belongs.recipientID
- MCDATA ID of the user or group of the SDS conversation.tags
- List of optional tags. Possible values are:
- #TAG_SDS_FILTER_START_DATA
- #TAG_SDS_FILTER_END_DATAandroid.os.RemoteException
int groupManagementOperation(java.lang.String groupID, int groupOperationType, java.util.Map tags) throws android.os.RemoteException
groupID
- The identifier of the groupgroupOperationType
- Group management operation type. See ConstantsMCOP.GroupInfoEventExtras.GroupOperationRequestTypeEnum
for all possible values.tags
- List of optional tags. Possible values are all the fields defined for group information dataandroid.os.RemoteException
for more information about asynchronous responses of this method.
int affiliationSubscriptionOperation(java.lang.String userID, boolean enable) throws android.os.RemoteException
ConstantsMCOP.MANUAL_AFFILIATION_SUBSCRIPTION_CONTROL
must be shared in binding time, otherwise the function will return an error.userID
- The identifier of the user whose affiliation subscription will be managedenable
- Indicates if the subscription should be enabled or disabled. True means enabledandroid.os.RemoteException
for more information about asynchronous responses of this method.
boolean registerCallback(IMCOPCallback mcopCallBack) throws android.os.RemoteException
mcopCallBack
- Callback where the different events are sent.android.os.RemoteException
for all possible events.