/// <summary>
        ///     Execute an application against FreeSwitch
        /// </summary>
        /// <param name="applicationName">Application name</param>
        /// <param name="applicationArguments">Application arguments</param>
        /// <param name="loop">The number of times to execute the app</param>
        /// <param name="eventLock">Asynchronous state</param>
        /// <returns>Async CommandReply</returns>
        private async Task <CommandReply> ExecuteApplication(string applicationName, string applicationArguments,
                                                             int loop, bool eventLock)
        {
            var command = new SendMsgCommand(Guid.Parse(ConnectedCall.UniqueID), SendMsgCommand.CALL_COMMAND,
                                             applicationName, applicationArguments, eventLock, loop);

            return(await Send(command));
        }
        public async Task <CommandReply> ExecuteAsync(string application,
                                                      string arguments,
                                                      bool eventLock)
        {
            var command = new SendMsgCommand(InboundCall.CallerGuid,
                                             SendMsgCommand.CallCommand,
                                             application,
                                             arguments,
                                             eventLock);

            return(await SendCommandAsync(command));
        }
        public async Task <CommandReply> ExecuteAsync(string application,
                                                      string arguments,
                                                      int loop,
                                                      bool eventLock)
        {
            var command = new SendMsgCommand(ConnectedCall.CallerGuid,
                                             SendMsgCommand.CALL_COMMAND,
                                             application,
                                             arguments,
                                             eventLock,
                                             loop);

            return(await SendCommandAsync(command));
        }
        /// <summary>
        ///     Execute an application against FreeSwitch
        /// </summary>
        /// <param name="applicationName">The application name</param>
        /// <param name="eventLock">Asynchronous status</param>
        /// <returns></returns>
        protected async Task <CommandReply> ExecuteApplication(string applicationName, bool eventLock)
        {
            var command = new SendMsgCommand(applicationName, string.Empty, eventLock);

            return(await Send(command));
        }