예제 #1
0
        private void OnCrmServerCallReceived(CallSessionInfo e)
        {
            EventHandler <CallSessionInfo> handler = CrmServerCallReceived;

            if (handler != null)
            {
                handler(this, e);
            }
        }
 private void CallReceived(CallSessionInfo sessionInfo)
 {
     try
     {
         foreach (var crmClient in _clients.Values.Where(client => client.Credential.PhoneNumber.Equals(sessionInfo.Callee) || client.Credential.PhoneNumber.Equals(sessionInfo.Caller)))
         {
             crmClient.CallReceived(sessionInfo);
         }
     }
     catch (Exception) { }
 }
예제 #3
0
 public void CallReceived(CallSessionInfo session)
 {
     try
     {
         Client.CallReceived(session);
     }
     catch (Exception)
     {
         OnDisconnected(EventArgs.Empty);
     }
 }
        private void ClientOnSessionCreated(object sender, VoIPEventArgs <ISession> voIpEventArgs)
        {
            var sessionInfo = new CallSessionInfo();

            sessionInfo.Callee       = voIpEventArgs.Item.Callee;
            sessionInfo.Caller       = voIpEventArgs.Item.Caller;
            sessionInfo.RingDuration = voIpEventArgs.Item.RingDuration;
            sessionInfo.StartTime    = voIpEventArgs.Item.StartTime;
            sessionInfo.TalkDuration = voIpEventArgs.Item.TalkDuration;

            CallReceived(sessionInfo);
        }
        private void WcfCrmClientOnCrmServerCallReceived(object sender, CallSessionInfo callSessionInfo)
        {
            var entry = _internalCrmEntries.FirstOrDefault(en => en.PhoneNumber.Equals(callSessionInfo.Caller));

            if (entry == null)
            {
                entry = new CrmEntry {
                    BusinessName = "Unknown", PhoneNumber = callSessionInfo.Caller, FirstName = "Unknown"
                }
            }
            ;

            Messenger.Default.Send(new NotificationMessage(entry, CallReceived));
        }
예제 #6
0
 public void CallReceived(CallSessionInfo session)
 {
     OnCrmServerCallReceived(session);
 }