public static bool Hangup(bool isAuto) { if (false == isAuto) { var call = callManager.CurrentCall; if (null == call) { log.Error("Terminating a NULL call."); return(false); } log.Info("normally terminate a call"); var errno = WrapperProxy.TerminateCall(call.CallHandle); if (errno != ErrorNumberEnum.PLCM_SAMPLE_OK) { log.Error("Hangup a Call failed. ErrorNum = " + errno.ToString()); return(false); } } else {//automatically hang up a call var unestablishedCalls = callManager.GetUnestablishedCalls(); foreach (var unestablishedCall in unestablishedCalls) { log.Info("automaticall hang up a call"); var errno = WrapperProxy.TerminateCall(unestablishedCall.CallHandle); if (errno != ErrorNumberEnum.PLCM_SAMPLE_OK) { log.Error("automatically Hangup a Call failed. ErrorNum = " + errno.ToString()); return(false); } } } return(true); }
/** * User agent hang up the current call. * @param isAuto: true: when the call is not established, incoming another call, automatically hang up the * not-established call; false: user normally hang up a connected call * @return true: successful; false: fail */ public static bool Hangup(Call call) { var errno = WrapperProxy.TerminateCall(call.CallHandle); if (errno != ErrorNumberEnum.PLCM_SAMPLE_OK) { log.Error("Hangup a Call failed. ErrorNum = " + errno.ToString()); return(false); } return(true); }