private void OnFromMonitoringCallStateChanged(object sender) { TlfIaPosition from = (TlfIaPosition)sender; if (from.CallId == -1) { foreach (KeyValuePair <int, TlfIaPosition> p in _Froms) { if (p.Value == from) { from.TlfPosStateChanged -= OnFromMonitoringCallStateChanged; from.Dispose(); _Froms.Remove(p.Key); General.SafeLaunchEvent(RemoteListenChanged, this, new ListenPickUpMsg(FunctionState.Idle, from.Literal, p.Key)); break; } } } }