public async Task MakeGroupCallAsync(string groupId) { var result = await cde.Calling.MakeCall(new CdeGroupIdentity(groupId)); var events = callStore.Get(result.CallID); events.IncomingCall = new CdeCallEventArgs( result.CallID, result.ChannelID, new CdeCallInfo( null, CdeCallDirection.Outgoing, CdeCallType.PreArrangedGroup, groupId)); events.CallInfo = new CdeCallInfoEventArgs( result.CallID, new CdeTalkerInfo { MemberIdentity = new InternalCdeMemberIdentity { } }, new CdeCallSupplInfo { }); Publish(events); }
private void ProcessCdeEvent(CdeCall cdeEvent) { var call = callStore.Get(cdeEvent.CallId); if (cdeEvent.IncomingCall != null) { call.IncomingCall = cdeEvent.IncomingCall; if (call.IncomingCall != null && call.CallInfo != null) { Publish(call); } } if (cdeEvent.CallStatusChanged != null) { call.CallStatusChanged = cdeEvent.CallStatusChanged; if (call.IncomingCall != null) // && call.CallInfo != null { Publish(call); } } if (cdeEvent.CallInfo != null) { call.CallInfo = cdeEvent.CallInfo; if (call.IncomingCall != null && call.CallStatusChanged != null) { Publish(call); } } }