Ejemplo n.º 1
0
        private void callHandler_OnCallStatusChanged(object sender, MyPhonePlugins.CallStatus callInfo)
        {
            LogHelper.Log(Environment.SpecialFolder.ApplicationData, "CallTriggerCmd.log",
                          String.Format("CallStatusChanged - CallID='{0}' - Incoming='{1}' - OtherPartyNumber='{2}' - State='{3}'", callInfo.CallID, callInfo.Incoming, callInfo.OtherPartyNumber, callInfo.State));

            var onCallStatusChanged = new OnCallStatusChanged();

            try
            {
                var _sender = sender as MyPhonePlugins.IMyPhoneCallHandler;

                fillCallHandler_1(_sender, onCallStatusChanged.CallHandler);

                fillCallStatus(callInfo, onCallStatusChanged.CallStatus);

                foreach (var call in _sender.ActiveCalls)
                {
                    var newCall = new CallStatus();
                    fillCallStatus(call, newCall);
                    onCallStatusChanged.CallHandler.ActiveCalls.Add(newCall);
                }

                foreach (var profile in _sender.Profiles)
                {
                    var newProfile = new UserProfileStatus();
                    fillProfiles(profile, newProfile);
                    onCallStatusChanged.CallHandler.Profiles.Add(newProfile);
                }
            }
            catch
            {
                onCallStatusChanged = null;
            }

            Callback(channel => channel.CallStatusChanged(onCallStatusChanged));
        }
Ejemplo n.º 2
0
 public void CallStatusChanged(OnCallStatusChanged onCallStatusChanged)
 {
     V8Context.CreateV8Context().AsyncEvent.ExternalEvent("3CXPhonePlugin", "OnCallStatusChanged", convertToJSON(onCallStatusChanged, typeof(OnCallStatusChanged)));
 }