private void HandleCallWaiting(Timer timer, Call c) {
if (c.state != Call.CALL_STATE.Ringing || Call.active_call == c) {
if (timer != null) {
timer.Stop();
timer.Dispose();
return;
}
}
if (timer == null) {
timer = new Timer(4000);
timer.Elapsed += (s, e) => HandleCallWaiting(timer, c);
timer.Start();
}
if (Call.active_call != null && Call.active_call.state == Call.CALL_STATE.Answered)
PortAudio.PlayInUUID(Call.active_call.leg_a_uuid, "tone_stream://%(200,100,440);loops=2;");
}
private void CallStateChangedHandler(object sender, Call.CallPropertyEventArgs args) {