public new void Process()
        {
            string call = CallID();

            OAICallModel model = GetCall(call);

            if (null == model)
            {
                model = new OAICallModel();
            }

            model.Extension = AffectedExt();
            model.Call = call;

            OAIDeviceModel device = GetDevice(model.Extension);

            if (null == device)
            {
                return;
            }

            device.AddCall(call);

            OAIAgentModel agent = GetAgent(device.Agent);

            if (null != agent)
            {
                model.Agent = agent.Agent;
                agent.AddCall(call);
            }

            OAICallsController.Relay().Push(call, model);
        }
        protected void SetCall()
        {
            string call = CallID();

            bool newCall = false;

            if (null != call &&
                0 < call.Length)
            {
                OAICallModel model = GetCall(call);

                if (null == model)
                {
                    newCall = true;
                    model = new OAICallModel();
                }

                model.Call = call;

                model.CNX = LocalCnxState();
                model.AccountCode = AccountCode();

                if (0 == OAICallingDeviceType.EXTERNAL.CompareTo(CallingDeviceType()))
                {
                    model.Trunk = TrunkName();
                    model.CLI = OutsideCallerNumber();
                    model.DDI = TrunkOutsideNumber();
                }

                if (newCall)
                {
                    OAICallsController.Relay().Push(call, model);
                }
            }
        }
        protected void SetCall()
        {
            string call = CallID();

            bool newCall = false;

            if (null != call &&
                0 < call.Length)
            {
                CallModel = GetCall(call);

                if (null == CallModel)
                {
                    newCall = true;
                    CallModel = new OAICallModel();
                }

                // TODO: AND THE REST??

                CallModel.Call = call;

                CallModel.DDI = TrunkOutsideNumber();
                CallModel.CNX = LocalCnxState();

                if (newCall)
                {
                    OAICallsController.Relay().Push(call, CallModel);
                }
            }
        }
        protected void SetCall(string call, bool data)
        {
            bool newCall = false;

            if (null != call &&
                0 < call.Length)
            {
                OAICallModel model = GetCall(call);

                if (null == model)
                {
                    newCall = true;
                    model = new OAICallModel();
                }

                model.Call = call;

                if (data)
                {
                    model.CNX = LocalCnxState();
                    model.CLI = OutsideCallerNumber();
                    model.Trunk = TrunkName();
                    model.DDI = TrunkOutsideNumber();
                    model.Caller = OutsideCallerName();
                }

                if (newCall)
                {
                    OAICallsController.Relay().Push(call, model);
                }
            }
        }
        protected void SetCall(string call, string cnx)
        {
            bool newCall = false;

            if (null != call &&
                0 < call.Length)
            {
                OAICallModel CallModel = GetCall(call);

                if (null == CallModel)
                {
                    newCall = true;
                    CallModel = new OAICallModel();
                }

                CallModel.Call = call;

                if (null != cnx)
                {
                    CallModel.CNX = cnx;
                }

                if (newCall)
                {
                    OAICallsController.Relay().Push(call, CallModel);
                }
            }
        }
        protected void SetCall()
        {
            string call = CallID();

            bool newCall = false;

            if (null != call &&
                0 < call.Length)
            {
                OAICallModel model = GetCall(call);

                if (null == model)
                {
                    newCall = true;
                    model = new OAICallModel();
                }

                model.Call = call;
                model.CNX = LocalCnxState();
                model.Extension = InitiatingExt();

                OAIDeviceModel device = GetDevice(InitiatingExt());

                if (null != device)
                {
                    model.Agent = device.Agent;
                }

                if (newCall)
                {
                    OAICallsController.Relay().Push(call, model);
                }
            }
        }
        protected void SetCall()
        {
            string call = CallID();

            bool newCall = false;

            if (null != call &&
                0 < call.Length)
            {
                CallModel = GetCall(call);

                if (null == CallModel)
                {
                    newCall = true;
                    CallModel = new OAICallModel();
                }

                CallModel.Call = call;
                CallModel.CLI = DialedNumber();
                CallModel.Trunk = TrunkUsed();

                if (newCall)
                {
                    OAICallsController.Relay().Push(call, CallModel);
                }
            }
        }
        protected void SetCall()
        {
            string call = CallID();

            bool newCall = false;

            if (null != call &&
                0 < call.Length)
            {
                OAICallModel model = GetCall(call);

                if (null == model)
                {
                    newCall = true;
                    model = new OAICallModel();
                }

                model.Call = call;
                model.DDI = RetrievedDeviceTrunkNumber();
                model.CLI = RetrievedDeviceOutsideNumber();
                model.CNX = LocalCnxState();

                if (newCall)
                {
                    OAICallsController.Relay().Push(call, model);
                }
            }
        }