public void Station(int index)
        {
            string extension = Part(index++);

            OAIDeviceModel model = GetDevice(extension);

            if (null == model)
            {
                model = new OAIDeviceModel();
                model.Extension = extension;
            }

            int mask = EntityFieldMask();

            if (OAIQueryListExtended.MASK_STATION_LIST_USER ==
                (OAIQueryListExtended.MASK_STATION_LIST_USER & mask))
            {
                model.Username = Part(index++);
            }

            if (OAIQueryListExtended.MASK_STATION_LIST_DESC ==
                (OAIQueryListExtended.MASK_STATION_LIST_DESC & mask))
            {
                model.Description = Part(index++);
            }

            if (OAIQueryListExtended.MASK_STATION_LIST_ATTEND ==
                (OAIQueryListExtended.MASK_STATION_LIST_ATTEND & mask))
            {
                model.Attendant = IntPart(index++);
            }

            if (OAIQueryListExtended.MASK_STATION_LIST_IS_ADMIN ==
                (OAIQueryListExtended.MASK_STATION_LIST_IS_ADMIN & mask))
            {
                model.IsAnAdministrator = IntPart(index++);
            }

            if (OAIQueryListExtended.MASK_STATION_LIST_IS_ATTEND ==
                (OAIQueryListExtended.MASK_STATION_LIST_IS_ATTEND & mask))
            {
                model.IsAnAttendant = IntPart(index++);
            }

            if (OAIQueryListExtended.MASK_STATION_LIST_DAY_FLAGS ==
                (OAIQueryListExtended.MASK_STATION_LIST_DAY_FLAGS & mask))
            {
                model.DayCOSFlags = IntPart(index++);
            }

            if (OAIQueryListExtended.MASK_STATION_LIST_NIGHT_FLAGS ==
                (OAIQueryListExtended.MASK_STATION_LIST_NIGHT_FLAGS & mask))
            {
                model.NightCOSFlags = IntPart(index++);
            }

            if (OAIQueryListExtended.MASK_STATION_LIST_VOICE_MAIL ==
                (OAIQueryListExtended.MASK_STATION_LIST_VOICE_MAIL & mask))
            {
                model.VoiceMailExtension = IntPart(index++);
            }

            if (OAIQueryListExtended.MASK_STATION_LIST_DEVICE_TYPE ==
                (OAIQueryListExtended.MASK_STATION_LIST_DEVICE_TYPE & mask))
            {
                model.DeviceType = IntPart(index++);
            }

            if (OAIQueryListExtended.MASK_STATION_LIST_MAILBOX_NODE ==
                (OAIQueryListExtended.MASK_STATION_LIST_MAILBOX_NODE & mask))
            {
                model.MailboxNodeNumber = IntPart(index++);
            }

            if (OAIQueryListExtended.MASK_STATION_LIST_PHYSICAL_DEVICE ==
                (OAIQueryListExtended.MASK_STATION_LIST_PHYSICAL_DEVICE & mask))
            {
                model.PhysicalDeviceType = IntPart(index++);
            }

            OAIDevicesController
                .Relay()
                .Push(extension, model);
        }
        protected void SetDevice(string device, string agent, int available)
        {
            OAIDeviceModel model = GetDevice(device);

            if (null == model)
            {
                model = new OAIDeviceModel();
                model.Extension = device;
            }

            model.Agent = agent;
            model.Available = available;

            OAIDevicesController
                .Relay()
                .Push(device, model);
        }