FileDocCategorySizeDatePackage
IImsCallSession.javaAPI DocAndroid 5.1 API40465Sat Mar 14 05:48:12 GMT 2015com.android.ims.internal

IImsCallSession

public interface IImsCallSession implements android.os.IInterface
An IMS session that is associated with a SIP dialog which is established from/to INVITE request or a mid-call transaction to control the session. {@hide}

Fields Summary
Constructors Summary
Methods Summary
public voidaccept(int callType, com.android.ims.ImsStreamMediaProfile profile)
Accepts an incoming call or session update.

param
callType call type specified in {@link ImsCallProfile} to be answered
param
profile stream media profile {@link ImsStreamMediaProfile} to be answered
see
Listener#callSessionStarted

public voidclose()
Closes the object. This object is not usable after being closed.

public voidextendToConference(java.lang.String[] participants)
Extends this call to the conference call with the specified recipients.

param
participants participant list to be invited to the conference call after extending the call
see
Listener#sessionConferenceExtened, Listener#sessionConferenceExtendFailed

public java.lang.StringgetCallId()
Gets the call ID of the session.

return
the call ID

public com.android.ims.ImsCallProfilegetCallProfile()
Gets the call profile that this session is associated with

return
the call profile that this session is associated with

public com.android.ims.ImsCallProfilegetLocalCallProfile()
Gets the local call profile that this session is associated with

return
the local call profile that this session is associated with

public java.lang.StringgetProperty(java.lang.String name)
Gets the value associated with the specified property of this session.

return
the string value associated with the specified property

public com.android.ims.ImsCallProfilegetRemoteCallProfile()
Gets the remote call profile that this session is associated with

return
the remote call profile that this session is associated with

public intgetState()
Gets the session state. The value returned must be one of the states in {@link ImsCallSession#State}.

return
the session state

public com.android.ims.internal.IImsVideoCallProvidergetVideoCallProvider()
Returns a binder for the video call provider implementation contained within the IMS service process. This binder is used by the VideoCallProvider subclass in Telephony which intermediates between the propriety implementation and Telecomm/InCall.

public voidhold(com.android.ims.ImsStreamMediaProfile profile)
Puts a call on hold. When it succeeds, {@link Listener#callSessionHeld} is called.

param
profile stream media profile {@link ImsStreamMediaProfile} to hold the call
see
Listener#callSessionHeld, Listener#callSessionHoldFailed

public voidinviteParticipants(java.lang.String[] participants)
Requests the conference server to invite an additional participants to the conference.

param
participants participant list to be invited to the conference call
see
Listener#sessionInviteParticipantsRequestDelivered, Listener#sessionInviteParticipantsRequestFailed

public booleanisInCall()
Checks if the session is in a call.

return
true if the session is in a call

public booleanisMultiparty()
Determines if the current session is multiparty.

return
{@code True} if the session is multiparty.

public voidmerge()
Merges the active & hold call. When the merge starts, {@link Listener#callSessionMergeStarted} is called. {@link Listener#callSessionMergeComplete} is called if the merge is successful, and {@link Listener#callSessionMergeFailed} is called if the merge fails.

see
Listener#callSessionMergeStarted, Listener#callSessionMergeComplete, Listener#callSessionMergeFailed

public voidreject(int reason)
Rejects an incoming call or session update.

param
reason reason code to reject an incoming call
see
Listener#callSessionStartFailed

public voidremoveParticipants(java.lang.String[] participants)
Requests the conference server to remove the specified participants from the conference.

param
participants participant list to be removed from the conference call
see
Listener#sessionRemoveParticipantsRequestDelivered, Listener#sessionRemoveParticipantsRequestFailed

public voidresume(com.android.ims.ImsStreamMediaProfile profile)
Continues a call that's on hold. When it succeeds, {@link Listener#callSessionResumed} is called.

param
profile stream media profile {@link ImsStreamMediaProfile} to resume the call
see
Listener#callSessionResumed, Listener#callSessionResumeFailed

public voidsendDtmf(char c, android.os.Message result)
Sends a DTMF code. According to RFC 2833, event 0 ~ 9 maps to decimal value 0 ~ 9, '*' to 10, '#' to 11, event 'A' ~ 'D' to 12 ~ 15, and event flash to 16. Currently, event flash is not supported.

param
c the DTMF to send. '0' ~ '9', 'A' ~ 'D', '*', '#' are valid inputs.
param
result.

public voidsendUssd(java.lang.String ussdMessage)
Sends an USSD message.

param
ussdMessage USSD message to send

public voidsetListener(com.android.ims.internal.IImsCallSessionListener listener)
Sets the listener to listen to the session events. A {@link IImsCallSession} can only hold one listener at a time. Subsequent calls to this method override the previous listener.

param
listener to listen to the session events of this object

public voidsetMute(boolean muted)
Mutes or unmutes the mic for the active call.

param
muted true if the call is muted, false otherwise

public voidstart(java.lang.String callee, com.android.ims.ImsCallProfile profile)
Initiates an IMS call with the specified target and call profile. The session listener is called back upon defined session events. The method is only valid to call when the session state is in {@link ImsCallSession#State#IDLE}.

param
callee dialed string to make the call to
param
profile call profile to make the call with the specified service type, call type and media information
see
Listener#callSessionStarted, Listener#callSessionStartFailed

public voidstartConference(java.lang.String[] participants, com.android.ims.ImsCallProfile profile)
Initiates an IMS call with the specified participants and call profile. The session listener is called back upon defined session events. The method is only valid to call when the session state is in {@link ImsCallSession#State#IDLE}.

param
participants participant list to initiate an IMS conference call
param
profile call profile to make the call with the specified service type, call type and media information
see
Listener#callSessionStarted, Listener#callSessionStartFailed

public voidstartDtmf(char c)
Start a DTMF code. According to RFC 2833, event 0 ~ 9 maps to decimal value 0 ~ 9, '*' to 10, '#' to 11, event 'A' ~ 'D' to 12 ~ 15, and event flash to 16. Currently, event flash is not supported.

param
c the DTMF to send. '0' ~ '9', 'A' ~ 'D', '*', '#' are valid inputs.

public voidstopDtmf()
Stop a DTMF code.

public voidterminate(int reason)
Terminates a call.

see
Listener#callSessionTerminated

public voidupdate(int callType, com.android.ims.ImsStreamMediaProfile profile)
Updates the current call's properties (ex. call mode change: video upgrade / downgrade).

param
callType call type specified in {@link ImsCallProfile} to be updated
param
profile stream media profile {@link ImsStreamMediaProfile} to be updated
see
Listener#callSessionUpdated, Listener#callSessionUpdateFailed