コード例 #1
0
ファイル: CdeCalls.cs プロジェクト: vivaladan/KOps
        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);
        }
コード例 #2
0
        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);
                }
            }
        }