IImsCallSessionListener.aidl revision 69f35c8e1bc5b7bd087907d7d88a5de4cf57ba42
1/* 2 * Copyright (c) 2013 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.android.ims.internal; 18 19import com.android.ims.ImsStreamMediaProfile; 20import com.android.ims.ImsCallProfile; 21import com.android.ims.ImsReasonInfo; 22import com.android.ims.ImsConferenceState; 23import com.android.ims.internal.IImsCallSession; 24 25/** 26 * A listener type for receiving notification on IMS call session events. 27 * When an event is generated for an {@link IImsCallSession}, the application is notified 28 * by having one of the methods called on the {@link IImsCallSessionListener}. 29 * {@hide} 30 */ 31interface IImsCallSessionListener { 32 /** 33 * Notifies the result of the basic session operation (setup / terminate). 34 */ 35 void callSessionProgressing(in IImsCallSession session, in ImsStreamMediaProfile profile); 36 void callSessionStarted(in IImsCallSession session, in ImsCallProfile profile); 37 void callSessionStartFailed(in IImsCallSession session, in ImsReasonInfo reasonInfo); 38 void callSessionTerminated(in IImsCallSession session, in ImsReasonInfo reasonInfo); 39 40 /** 41 * Notifies the result of the call hold/resume operation. 42 */ 43 void callSessionHeld(in IImsCallSession session, in ImsCallProfile profile); 44 void callSessionHoldFailed(in IImsCallSession session, in ImsReasonInfo reasonInfo); 45 void callSessionHoldReceived(in IImsCallSession session, in ImsCallProfile profile); 46 void callSessionResumed(in IImsCallSession session, in ImsCallProfile profile); 47 void callSessionResumeFailed(in IImsCallSession session, in ImsReasonInfo reasonInfo); 48 void callSessionResumeReceived(in IImsCallSession session, in ImsCallProfile profile); 49 50 /** 51 * Notifiies the result of call merge operation. 52 */ 53 void callSessionMerged(in IImsCallSession session, 54 in IImsCallSession newSession, in ImsCallProfile profile); 55 void callSessionMergeFailed(in IImsCallSession session, 56 in ImsReasonInfo reasonInfo); 57 58 /** 59 * Notifies the result of call upgrade / downgrade or any other call updates. 60 */ 61 void callSessionUpdated(in IImsCallSession session, 62 in ImsCallProfile profile); 63 void callSessionUpdateFailed(in IImsCallSession session, 64 in ImsReasonInfo reasonInfo); 65 void callSessionUpdateReceived(in IImsCallSession session, 66 in ImsCallProfile profile); 67 68 /** 69 * Notifies the result of conference extension. 70 */ 71 void callSessionConferenceExtended(in IImsCallSession session, 72 in IImsCallSession newSession, in ImsCallProfile profile); 73 void callSessionConferenceExtendFailed(in IImsCallSession session, 74 in ImsReasonInfo reasonInfo); 75 void callSessionConferenceExtendReceived(in IImsCallSession session, 76 in IImsCallSession newSession, in ImsCallProfile profile); 77 78 /** 79 * Notifies the result of the participant invitation / removal to/from the conference session. 80 */ 81 void callSessionInviteParticipantsRequestDelivered(in IImsCallSession session); 82 void callSessionInviteParticipantsRequestFailed(in IImsCallSession session, 83 in ImsReasonInfo reasonInfo); 84 void callSessionRemoveParticipantsRequestDelivered(in IImsCallSession session); 85 void callSessionRemoveParticipantsRequestFailed(in IImsCallSession session, 86 in ImsReasonInfo reasonInfo); 87 88 /** 89 * Notifies the changes of the conference info. in the conference session. 90 */ 91 void callSessionConferenceStateUpdated(in IImsCallSession session, 92 in ImsConferenceState state); 93 94 /** 95 * Notifies the incoming USSD message. 96 */ 97 void callSessionUssdMessageReceived(in IImsCallSession session, 98 int mode, String ussdMessage); 99 100 /** 101 * Notifies of handover information for this call 102 */ 103 void callSessionHandover(in IImsCallSession session, 104 in int srcAccessTech, in int targetAccessTech, in ImsReasonInfo reasonInfo); 105 void callSessionHandoverFailed(in IImsCallSession session, 106 in int srcAccessTech, in int targetAccessTech, in ImsReasonInfo reasonInfo); 107 108 /** 109 * Notifies the TTY mode change by remote party. 110 * @param mode one of the following: 111 * - {@link com.android.internal.telephony.Phone#TTY_MODE_OFF} 112 * - {@link com.android.internal.telephony.Phone#TTY_MODE_FULL} 113 * - {@link com.android.internal.telephony.Phone#TTY_MODE_HCO} 114 * - {@link com.android.internal.telephony.Phone#TTY_MODE_VCO} 115 */ 116 void callSessionTtyModeReceived(in IImsCallSession session, in int mode); 117} 118