示例#1
0
 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);
 }
示例#2
0
        /**
         * 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);
        }