1f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville/* 2f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Copyright (c) 2013 The Android Open Source Project 3f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 4f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 5f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * you may not use this file except in compliance with the License. 6f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * You may obtain a copy of the License at 7f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 8f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 9f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 10f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Unless required by applicable law or agreed to in writing, software 11f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 12f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * See the License for the specific language governing permissions and 14f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * limitations under the License. 15f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 16f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 17f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savillepackage com.android.ims.internal; 18f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 19c47b18fb2523b65189f88c22a4291233f00bfb4aLibin.Tang@motorola.comimport android.os.Message; 20f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport com.android.ims.ImsCallProfile; 21f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport com.android.ims.ImsStreamMediaProfile; 22f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport com.android.ims.internal.IImsCallSessionListener; 23752217bfc662402cdf13368e4b2a0338e8e0aed8Andrew Leeimport com.android.ims.internal.IImsVideoCallProvider; 24f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 25f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville/** 26f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * An IMS session that is associated with a SIP dialog which is established from/to 27f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * INVITE request or a mid-call transaction to control the session. 28f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * {@hide} 29f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 30f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleinterface IImsCallSession { 31f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 32f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Closes the object. This object is not usable after being closed. 33f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 34f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void close(); 35f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 36f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 37f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Gets the call ID of the session. 38f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 39f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @return the call ID 40f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 41f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville String getCallId(); 42f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 43f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 44f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Gets the call profile that this session is associated with 45f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 46f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @return the call profile that this session is associated with 47f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 48f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville ImsCallProfile getCallProfile(); 49f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 50f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 51f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Gets the local call profile that this session is associated with 52f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 53f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @return the local call profile that this session is associated with 54f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 55f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville ImsCallProfile getLocalCallProfile(); 56f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 57f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 58482e6da9720ec8467c9deb5e11874f78caa3eae4Shriram Ganesh * Gets the remote call profile that this session is associated with 59482e6da9720ec8467c9deb5e11874f78caa3eae4Shriram Ganesh * 60482e6da9720ec8467c9deb5e11874f78caa3eae4Shriram Ganesh * @return the remote call profile that this session is associated with 61482e6da9720ec8467c9deb5e11874f78caa3eae4Shriram Ganesh */ 62482e6da9720ec8467c9deb5e11874f78caa3eae4Shriram Ganesh ImsCallProfile getRemoteCallProfile(); 63482e6da9720ec8467c9deb5e11874f78caa3eae4Shriram Ganesh 64482e6da9720ec8467c9deb5e11874f78caa3eae4Shriram Ganesh /** 65f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Gets the value associated with the specified property of this session. 66f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 67f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @return the string value associated with the specified property 68f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 69f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville String getProperty(String name); 70f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 71f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 72f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Gets the session state. The value returned must be one of the states in 73f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * {@link ImsCallSession#State}. 74f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 75f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @return the session state 76f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 77f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville int getState(); 78f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 79f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 80f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Checks if the session is in a call. 81f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 82f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @return true if the session is in a call 83f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 84f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville boolean isInCall(); 85f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 86f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 87f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Sets the listener to listen to the session events. A {@link IImsCallSession} 88f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * can only hold one listener at a time. Subsequent calls to this method 89f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * override the previous listener. 90f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 91f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @param listener to listen to the session events of this object 92f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 93f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void setListener(in IImsCallSessionListener listener); 94f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 95f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 96f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Mutes or unmutes the mic for the active call. 97f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 98f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @param muted true if the call is muted, false otherwise 99f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 100f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void setMute(boolean muted); 101f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 102f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 103f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Initiates an IMS call with the specified target and call profile. 104f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * The session listener is called back upon defined session events. 105f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * The method is only valid to call when the session state is in 106f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * {@link ImsCallSession#State#IDLE}. 107f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 108f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @param callee dialed string to make the call to 109f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @param profile call profile to make the call with the specified service type, 110f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * call type and media information 111f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @see Listener#callSessionStarted, Listener#callSessionStartFailed 112f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 113f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void start(String callee, in ImsCallProfile profile); 114f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 115f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 116f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Initiates an IMS call with the specified participants and call profile. 117f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * The session listener is called back upon defined session events. 118f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * The method is only valid to call when the session state is in 119f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * {@link ImsCallSession#State#IDLE}. 120f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 121f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @param participants participant list to initiate an IMS conference call 122f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @param profile call profile to make the call with the specified service type, 123f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * call type and media information 124f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @see Listener#callSessionStarted, Listener#callSessionStartFailed 125f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 126f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void startConference(in String[] participants, in ImsCallProfile profile); 127f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 128f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 129f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Accepts an incoming call or session update. 130f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 131f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @param callType call type specified in {@link ImsCallProfile} to be answered 132f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @param profile stream media profile {@link ImsStreamMediaProfile} to be answered 133f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @see Listener#callSessionStarted 134f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 135f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void accept(int callType, in ImsStreamMediaProfile profile); 136f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 137f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 138f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Rejects an incoming call or session update. 139f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 140f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @param reason reason code to reject an incoming call 141f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @see Listener#callSessionStartFailed 142f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 143f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void reject(int reason); 144f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 145f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 146f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Terminates a call. 147f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 148f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @see Listener#callSessionTerminated 149f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 150f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void terminate(int reason); 151f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 152f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 153f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Puts a call on hold. When it succeeds, {@link Listener#callSessionHeld} is called. 154f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 155f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @param profile stream media profile {@link ImsStreamMediaProfile} to hold the call 156f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @see Listener#callSessionHeld, Listener#callSessionHoldFailed 157f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 158f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void hold(in ImsStreamMediaProfile profile); 159f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 160f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 161f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Continues a call that's on hold. When it succeeds, {@link Listener#callSessionResumed} 162f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * is called. 163f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 164f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @param profile stream media profile {@link ImsStreamMediaProfile} to resume the call 165f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @see Listener#callSessionResumed, Listener#callSessionResumeFailed 166f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 167f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void resume(in ImsStreamMediaProfile profile); 168f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 169f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 170f764e8075775f84df0c5c51a529548ba64707517Tyler Gunn * Merges the active & hold call. When the merge starts, 171f764e8075775f84df0c5c51a529548ba64707517Tyler Gunn * {@link Listener#callSessionMergeStarted} is called. 172f764e8075775f84df0c5c51a529548ba64707517Tyler Gunn * {@link Listener#callSessionMergeComplete} is called if the merge is successful, and 173f764e8075775f84df0c5c51a529548ba64707517Tyler Gunn * {@link Listener#callSessionMergeFailed} is called if the merge fails. 174f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 175f764e8075775f84df0c5c51a529548ba64707517Tyler Gunn * @see Listener#callSessionMergeStarted, Listener#callSessionMergeComplete, 176f764e8075775f84df0c5c51a529548ba64707517Tyler Gunn * Listener#callSessionMergeFailed 177f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 178f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void merge(); 179f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 180f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 181f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Updates the current call's properties (ex. call mode change: video upgrade / downgrade). 182f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 183f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @param callType call type specified in {@link ImsCallProfile} to be updated 184f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @param profile stream media profile {@link ImsStreamMediaProfile} to be updated 185f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @see Listener#callSessionUpdated, Listener#callSessionUpdateFailed 186f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 187f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void update(int callType, in ImsStreamMediaProfile profile); 188f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 189f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 190f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Extends this call to the conference call with the specified recipients. 191f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 1920a493e87224e4b337a89d9fbaaa604d7a8c5bd5fWink Saville * @param participants participant list to be invited to the conference call after extending the call 193f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @see Listener#sessionConferenceExtened, Listener#sessionConferenceExtendFailed 194f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 195f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void extendToConference(in String[] participants); 196f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 197f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 198f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Requests the conference server to invite an additional participants to the conference. 199f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 2000a493e87224e4b337a89d9fbaaa604d7a8c5bd5fWink Saville * @param participants participant list to be invited to the conference call 201f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @see Listener#sessionInviteParticipantsRequestDelivered, 202f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Listener#sessionInviteParticipantsRequestFailed 203f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 204f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void inviteParticipants(in String[] participants); 205f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 206f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 207f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Requests the conference server to remove the specified participants from the conference. 208f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 209f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @param participants participant list to be removed from the conference call 210f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @see Listener#sessionRemoveParticipantsRequestDelivered, 211f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Listener#sessionRemoveParticipantsRequestFailed 212f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 213f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void removeParticipants(in String[] participants); 214f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 215f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 216f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Sends a DTMF code. According to <a href="http://tools.ietf.org/html/rfc2833">RFC 2833</a>, 217f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * event 0 ~ 9 maps to decimal value 0 ~ 9, '*' to 10, '#' to 11, event 'A' ~ 'D' to 12 ~ 15, 218f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * and event flash to 16. Currently, event flash is not supported. 219f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 220c47b18fb2523b65189f88c22a4291233f00bfb4aLibin.Tang@motorola.com * @param c the DTMF to send. '0' ~ '9', 'A' ~ 'D', '*', '#' are valid inputs. 221c47b18fb2523b65189f88c22a4291233f00bfb4aLibin.Tang@motorola.com * @param result. 222f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 223c47b18fb2523b65189f88c22a4291233f00bfb4aLibin.Tang@motorola.com void sendDtmf(char c, in Message result); 224f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 225f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 226a8af6bb333201b325a58d92a50a8d3fd62e3ef85Uma Maheswari Ramalingam * Start a DTMF code. According to <a href="http://tools.ietf.org/html/rfc2833">RFC 2833</a>, 227a8af6bb333201b325a58d92a50a8d3fd62e3ef85Uma Maheswari Ramalingam * event 0 ~ 9 maps to decimal value 0 ~ 9, '*' to 10, '#' to 11, event 'A' ~ 'D' to 12 ~ 15, 228a8af6bb333201b325a58d92a50a8d3fd62e3ef85Uma Maheswari Ramalingam * and event flash to 16. Currently, event flash is not supported. 229a8af6bb333201b325a58d92a50a8d3fd62e3ef85Uma Maheswari Ramalingam * 230a8af6bb333201b325a58d92a50a8d3fd62e3ef85Uma Maheswari Ramalingam * @param c the DTMF to send. '0' ~ '9', 'A' ~ 'D', '*', '#' are valid inputs. 231a8af6bb333201b325a58d92a50a8d3fd62e3ef85Uma Maheswari Ramalingam */ 232a8af6bb333201b325a58d92a50a8d3fd62e3ef85Uma Maheswari Ramalingam void startDtmf(char c); 233a8af6bb333201b325a58d92a50a8d3fd62e3ef85Uma Maheswari Ramalingam 234a8af6bb333201b325a58d92a50a8d3fd62e3ef85Uma Maheswari Ramalingam /** 235a8af6bb333201b325a58d92a50a8d3fd62e3ef85Uma Maheswari Ramalingam * Stop a DTMF code. 236a8af6bb333201b325a58d92a50a8d3fd62e3ef85Uma Maheswari Ramalingam */ 237a8af6bb333201b325a58d92a50a8d3fd62e3ef85Uma Maheswari Ramalingam void stopDtmf(); 238a8af6bb333201b325a58d92a50a8d3fd62e3ef85Uma Maheswari Ramalingam 239a8af6bb333201b325a58d92a50a8d3fd62e3ef85Uma Maheswari Ramalingam /** 240f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Sends an USSD message. 241f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 242f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @param ussdMessage USSD message to send 243f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 244f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville void sendUssd(String ussdMessage); 245752217bfc662402cdf13368e4b2a0338e8e0aed8Andrew Lee 246752217bfc662402cdf13368e4b2a0338e8e0aed8Andrew Lee /** 247752217bfc662402cdf13368e4b2a0338e8e0aed8Andrew Lee * Returns a binder for the video call provider implementation contained within the IMS service 248752217bfc662402cdf13368e4b2a0338e8e0aed8Andrew Lee * process. This binder is used by the VideoCallProvider subclass in Telephony which 249752217bfc662402cdf13368e4b2a0338e8e0aed8Andrew Lee * intermediates between the propriety implementation and Telecomm/InCall. 250752217bfc662402cdf13368e4b2a0338e8e0aed8Andrew Lee */ 251752217bfc662402cdf13368e4b2a0338e8e0aed8Andrew Lee IImsVideoCallProvider getVideoCallProvider(); 2526a7ed1eb408a94a9d74ea55a68771a94c3005455Tyler Gunn 2536a7ed1eb408a94a9d74ea55a68771a94c3005455Tyler Gunn /** 2546a7ed1eb408a94a9d74ea55a68771a94c3005455Tyler Gunn * Determines if the current session is multiparty. 2556a7ed1eb408a94a9d74ea55a68771a94c3005455Tyler Gunn * @return {@code True} if the session is multiparty. 2566a7ed1eb408a94a9d74ea55a68771a94c3005455Tyler Gunn */ 2576a7ed1eb408a94a9d74ea55a68771a94c3005455Tyler Gunn boolean isMultiparty(); 258f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville} 259