public override async Task StartDtmf(string k) { int i = -1; if (!int.TryParse(k, out i)) { if (k == "*") { i = 10; } else { i = 11; } } var source = new CancellationTokenSource(10000); await Task.Run(() => { _sdkLib.sendDtmf(_sessionId, DTMF_METHOD.DTMF_RFC2833, i, 160, true); }, source.Token); }