internal override bool Execute(LocalTUILogonConnectivityTester umConn) { umConn.DebugTrace("Inside SendDigits Execute()", new object[0]); if (umConn.IsCallGone()) { umConn.Error = new TUC_RemoteEndDisconnected(); return(false); } if (string.IsNullOrEmpty(this.digitsToSend)) { return(true); } bool result; try { foreach (char c in this.digitsToSend) { umConn.DebugTrace("Inside SendDigits , sending digit {0}", new object[] { c }); if (!umConn.SendDTMFTone(c)) { return(false); } Thread.Sleep(500); } result = true; } catch (Exception ex) { if (!(ex is RealTimeException) && !(ex is InvalidOperationException)) { throw; } umConn.Error = new TUC_SendSequenceError(ex.Message, ex); umConn.ErrorTrace("Inside SendDigits Execute, error ={0}", new object[] { ex }); result = false; } return(result); }