Configuring Genetec Mission Control™ Incidents for CCURE 9000 Access Control - This guide provides recommended best practices for working with Genetec Mission Control™ incidents in conjunction with CCURE 9000 Access Control plugin.

Product
Mission Control
Content type
Best practices
Language
English
Last updated
2025-01-31

Configuring CCURE 9000 Access Control events in the Administration Station

As all event activities are recorded in Genetec Mission Control™, you need to configure events in the CCURE 9000 Access Control Administration Station to avoid duplication of data.

Before you begin

Ensure that you have access to the CCURE 9000 Access Control Administration Station.

Procedure

  1. Open the CCURE 9000 Access Control Administration Station.
  2. Open an existing event that needs to be configured.
  3. Click the Acknowledgement tab.


  4. Select the Send state changes to Journal checkbox.
  5. (Optional) Select Send state changes to Monitoring Station if you want to record events in the CCURE 9000 Monitoring client.
    Best Practice: In the General view of the event configuration, set the Min activation time to the desired amount of time the event should stay active on the Administration Station monitoring screen.
  6. Click Save and Close.

After you finish

Configure incidents using native Security Center events or custom events.

Configuration options for Mission Control incidents

Incident configuration option: using Security Center events

Leverage Genetec Mission Control™ features to ensure that operators monitor incidents only in Mission Control including the ones coming from the CCURE 9000 Access Control plugin.

You can use Mission Control features to monitor incidents from the CCURE plugin by using Security Center events as incident triggers. Native Security Center events are the optimal option for Mission Control incident triggers as they enable receiving native door events from CCURE doors that have been synchronized with the plugin. Other advantages include the following:
  • Simplified configuration.
  • Using the entity hierarchy in Security Center.
  • Viewing triggered incidents and associated entities on maps.
  • Reducing the number of entities monitored by operators by removing the custom CCURE XFEvents.
  • Mission Control incidents operate with higher efficiency when integrated with events rather than alarms.

Using events as incident triggers

You can use a single Security Center event in place of multiple alarms as an incident trigger.

Procedure

  1. From the Incident configuration task, select your incident and open the Triggers tab.
  2. Click Add event ().
    The Event qualifying rule dialog box opens.
  3. Select the event type that is required to trigger the incident.
  4. Click Save.

Example

Incident trigger for a Door forced open event:

Adding entities to maps

You can add entities associated with incident triggers to a map to visualize triggered incidents in the Incident monitoring task.

What you should know

When your incident trigger is based on native Security Center events instead of CCURE custom XFEvents, they are automatically synchronized between the directory and the CCURE server. These entities can be associated with areas or maps as required. Genetec Mission Control™ can display incidents on a map when the source entity or location of the incident is configured on the map using the Map designer task.

Procedure

  1. From the Config Tool homepage, open the Map designer task.
  2. Open an existing map or create a new map. For more information, see Creating maps.
  3. In the Entities section, click Area view () to add map objects.
  4. Add the required entities to your map and click Save.

Results

When incidents are triggered on the configured entities, they are visible on the map in the Incident monitoring task.

NOTE: After configuring the incident trigger with Security Center events and adding the required entities to your map, operators will not see the XFEvent entity in their monitoring tasks.

Configuring and using custom fields in Mission Control

You can use custom fields in incident configuration to provide operators with additional information when responding to incidents.

Procedure

  1. Create a custom field or configure an existing one. For more information, see Creating custom fields.
  2. Go to the Area view task, select an entity and open the Custom fields tab.
  3. Enter the desired value in the custom field and click Apply.
  4. Go to the Incident configuration task to create an incident and configure its trigger. For more information, see Configuring incident triggers for Mission Control.
  5. In the Automation tab, configure a conditional activity for the incident by using the custom field.

Example

In this example, we will configure a custom field applicable to all door entities and then use it in a conditional activity to trigger an incident.
  1. Create a custom field called Zone Level that assigned to all door entity types.

  2. In the Area view task, select the door entity and enter the Zone Level as 3 in the Custom fields tab and click Apply.

    NOTE: Zone level can be assigned to the selected door or any other entity in your area hierarchy.
  3. In the Incident configuration task, create an incident and in its Triggers tab create a Door forced open event.

  4. Go to the Automation tab to add the conditional activity using the custom field to change the incident type when Zone Level is 3 for the triggered entity. You need to create two additional incidents for this configuration.

The conditional activity then identifies the custom field and triggers the incident accordingly.

Adding support documents with custom information

Apart from custom fields, you can also provide additional information about the incident or its attached entities to operators by adding a support documents to the incident.

Procedure

  1. From the Config Tool homepage, open the Incident configuration task.
  2. In the Document management view, add your support document. For more information, see Adding support documents for Mission Control.
    For the document to appear with incidents in the selected location, configure the Location field accordingly.

Synchronizing CCURE 9000 Access Control entities manually

You can import all compatible entities from the CCURE 9000 Access Control server into Security Center using synchronization.

Before you begin

  • If this is the first time you are using synchronization to import entities, define the alarm recipients and choose a partition for alarms and events. For information about this, see Configuring alarm behavior.
  • Make sure the plugin is connected to the server. For information about this, see Connecting to the CCURE 9000 system.

What you should know

A manual synchronization is required the first time you connect to the CCURE 9000 Access Control. For a description of manual synchronization, see How synchronization works with CCURE 9000 on the TechDoc Hub.

Procedure

  1. From the Config Tool homepage, open the Plugins task.
  2. Select the CCURE 9000 Access Control plugin from the entity browser, and click the Synchronization tab.
  3. Expand the Synchronization options section and click Add partition membership for synchronized entities () under the Entity partitions list.
    The CCURE Synchronization page showing the "Add partition button" tooltip.
    A window with a list of available Security Center partitions opens.
  4. Select a Security Center partition and click OK.

    The Add Partition window in Config Tool with one partition selected.
    All synchronized CCURE 9000 Access Control entities, except XFEvents, will be added to the Security Center partitions that are listed in the Entity partition section. You can assign XFEvents to partitions from the Alarm and events page. For more information, see About partitions.
  5. Expand the Synchronization details section, and then click the Manual synchronization button.

    The Synchronization details section of the CCURE 9000 plugin Synchronization page, with the Manual synchronization button highlighted.
    In the Manual synchronization dialog box, choose the entities you want to synchronize.
    IMPORTANT: For the first synchronization, it is recommended to synchronize one type of entity at a time.

    The CCURE Manual Synchronization window.
    Partitions
    • Turn off the Partitions filter to synchronize all CCURE 9000 Access Control partitions. This is the default setting.
    • Turn on the Partitions filter, and select the specific CCURE 9000 Access Control partitions to synchronize. Warning: If you turn on the filter without selecting a CCURE 9000 Access Control partition, nothing is imported.
    Events
    Turn on Events to get all existing XFEvents. All synchronized XFEvents are listed in the Alarms and events page of the CCURE 9000 Access Control plugin role. Note: XFEvents are not added to the Security Center partition that is selected in the synchronization options above.
    Hardware, areas and zones
    • Turn on Hardware, areas and zones to get all existing panels, readers, doors, areas, and zones from the CCURE 9000 Access Control software.
    • Turn on Inputs to get all available inputs on the CCURE 9000 Access Control panels.
    • Turn on Outputs to get all available outputs on the CCURE 9000 Access Control panels.
    Personnel
    • Turn on Personnel to synchronize CCURE 9000 Access Control personnel as Security Center cardholders. Basic personnel data like first and last name is imported. For a full list of imported data, see Synchronized CCURE 9000 cardholder properties.
    • Turn on Disabled to get personnel that are disabled in the system.
    • Turn on Pictures to get the personnel photos. Choose either a full or thumbnail image.
    • Turn on Customer labels to get the custom fields for the personnel.
    • Turn on User defined fields to get the fields created for the personnel.
    Journal
    To retrieve the CCURE 9000 Access Control event logs after the plugin reconnects to the system, turn on Automatically synchronize when connected, and then specify how many days of logs to retrieve. These events are stored in the plugin database and can be viewed using the report tasks in Security Desk. This includes XFEvents configured for custom events in Security Center. Events that occur during the offline grace period are triggered and stored in the plugin database. For more information on the offline grace period, see Configuring the offline grace period for alarms and events.
    The Journal section of the CCURE 9000 plugin synchronization page.
  6. Click OK, and then Apply.
    To see the progress of the synchronization, click , next to the synchronization State.
  7. If the table remains empty after the synchronization, click the Refresh () button to update it.

Results

When synchronization is complete, the following occurs:
  • If this is the first synchronization, the CCURE 9000 Access Control plugin role changes from yellow to gray when it connects to the CCURE 9000 server.
  • All XFEvents are listed in the Alarms and events page of the CCURE 9000 Access Control plugin role. XFEvents that require acknowledgment are listed as Alarms and XFEvents do not require acknowledgment are listed as Custom events.
  • Panel inputs and outputs are listed under the CCURE 9000 Access Control plugin role in the entity browser and in the Area view task.

Incident configuration option: using custom events and CCURE XFEvents

You can use Genetec Mission Control™ to manage incidents while still operating processes in the CCURE server and the Monitoring Station.

What you should know

This method uses custom events and XFEvents to simplify the incident trigger configuration. Custom events configured with an incident can be triggered by alarms and events.
NOTE: This option should only be used when the events triggering an incident are not native to Security Center. For example, events coming from crash bar doors.

Creating custom events

You can create your own custom Security Center events that you can use for event-to-actions.

What you should know

Custom events allow you to give descriptive names to standard events generated by input signals from zones, intrusion panels, and so on. They are used to configure custom event-to-actions.

For example, you can associate an input state (normal, active, trouble) of a zone entity to a custom event that describes what is happening, such as Illegal entry or Door open too long for this zone. When this custom event is received in Security Desk, it can trigger an action, using event-to-actions.

Procedure

  1. Open the System task, click the General settings view, and go to the Events page.
  2. Click Add an item ().
  3. In the Create custom event dialog box, type a Name for the new event.
  4. From the Entity type list, select the entity type that triggers this event.
  5. In the Value field, type a unique number to identify the custom event from other custom events.
    These values are not related to the logical IDs of entities.
  6. Click Save > Apply.

Configuring the macro for CCURE 9000 Access Control plugin

You can use macros to remap Security Center alarms and events to the CCURE plugin.

Procedure

  1. From the Config Tool homepage, open the System task, and click the Macros view.
  2. Click Macro(), and enter the macro name.
  3. Click the Properties tab, overwrite the default macro code with the CCURE configuration macro for custom events and click Apply.
  4. Go to the Default execution context tab, and enter the desired values in the following fields:
    CCURERole
    Entity of the CCURE Access Control plugin role.
    LogRecipient
    Users receiving the messages from the macro.
    AreaPrefix
    Name of the areas that has its events remapped, separated by a semicolon.
    EventSuffix
    Name of the event that is at the end of the XFEvent. Example: _FORCED ALARM.
    CustomEventNo
    Number of the custom event that the XFEvents is mapped.
    ShouldEventsTriggerAlarms
    Turn on this option if you want the remapped events to trigger an alarm. This can be changed manually for each event.

Results

After applying the macro, incident triggers can be configured using the custom event which has remapped to the CCURE plugin from Security Center.

Example: Configuring an incident with a custom event

You can remap all events associated with an entity by configuring custom events and macros in the CCURE 9000 Access Control plugin.

Procedure

  1. Create a custom event for the selected door entity type.

  2. Remap all Door forced open events by configuring the macro.
  3. In the Default execution context tab of the Macros page, configure the below information:
    CCURERole
    CCCURE 9000 Access Control.
    LogRecipient
    Administrators.
    AreaPrefix
    First;Second.
    EventSuffix
    _FORCED ALARM.
    CustomEventNo
    The number of the custom event that the XFEvents is mapped.
    ShouldEventsTriggerAlarms
    Turn on this option if you want the remapped events to trigger an alarm. This can be changed manually for each event.


    Running the macro results in all Door forced open events in the configured areas to be remapped to the MC_CCURE_DOOR_FORCED_OPEN_EVENT event. All remapped events can be viewed in the Alarms and events page of the CCURE 9000 Access Control role.
  4. In the Incident configuration task, configure an incident with the custom Door forced open event.

Results

Your incident trigger is now configured with the custom event and the incident can now be monitored in Genetec Mission Control™ and the CCURE Monitoring Station.

CCURE configuration macro for custom events

Macros are entities used to add custom functionalities to Security Center such as mapping custom CCURE 9000 Access Control events to Security Center event-to-actions.

Code
using Genetec.Sdk;
using Genetec.Sdk.Entities;
using Genetec.Sdk.Enumerations;
using Genetec.Sdk.Queries;
using Genetec.Sdk.Scripting;
using Genetec.Sdk.Scripting.Interfaces.Attributes;
using Genetec.Plugins.CCure.Requests;
using Genetec.Sdk.Entities.CustomEvents;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Runtime.Serialization;
using System.Xml;

[MacroParameters()]
public sealed class myMacro : UserMacro
{
	public Guid CCURERole { get; set; }
	public Guid LogRecipient { get; set; }
	public string AreaPrefix { get; set; }
	public string EventSuffix { get; set; }
	public int CustomEventNo { get; set; }
	public bool ShouldEventsTriggerAlarm { get; set; }
	/// <summary>
	/// Entry point of the macro. Provide an implementation of this method.
	/// </summary>
	public override void Execute()
	{

		var systemConfig = Sdk.GetEntity(SdkGuids.SystemConfiguration) as SystemConfiguration;
		var customEventService = systemConfig.CustomEventService;
		var customEvents = customEventService.CustomEvents;
		var filteredCustomEvents = new List<CustomEvent>();

		var areasPrefixes = AreaPrefix.Split(';');

		foreach (var customEvent in customEvents)
		{
			if (areasPrefixes.Any(a => customEvent.Name.Contains(a)) && customEvent.Name.Contains(EventSuffix))
				filteredCustomEvents.Add(customEvent);
		}

		//Sdk.ActionManager.SendMessage(LogRecipient, string.Join(",", filteredCustomEvents.Select(e => e.Name)), 60);

		// Replace with your CCure role Guid

		var getRequest = Sdk.RequestManager.SendRequest<EventConfigurationsRequest, EventConfigurationsResponse>(CCURERole, new EventConfigurationsRequest());
		var config = getRequest.EventConfigurations;

		foreach (var xfConfig in config)
		{
			if (filteredCustomEvents.Select(e => e.Id).Contains(xfConfig.CustomEventId))
			{
				xfConfig.CustomEventId = CustomEventNo;
				xfConfig.HiddenFromUI = false;
				xfConfig.RaiseEvent = true;
				xfConfig.TriggerAlarm = ShouldEventsTriggerAlarm;
			}
		}

		Sdk.RequestManager.SendRequest<SaveEventConfigRequest, VoidResponse>(CCURERole, new SaveEventConfigRequest(config));
	}

	/// <summary>
	/// Called when the macro needs to clean up. 
	/// </summary>
	protected override void CleanUp()
	{
		// Release objects created by the Execute method, unhook events, and so on.
	}
}

namespace Genetec.Plugins.CCure.Requests
{
	// Request to Get the configuration
	[DataContract(Namespace = "")]
	internal class EventConfigurationsRequest
	{ }

	// Response of the Get Request
	[DataContract(Namespace = "")]
	internal class EventConfigurationsResponse
	{
		[DataMember]
		public List<XfEventConfiguration> EventConfigurations { get; private set; }

		public EventConfigurationsResponse(List<XfEventConfiguration> eventConfigurations)
		{
			EventConfigurations = eventConfigurations;
		}
	}

	// Request to save configuration
	[DataContract(Namespace = "")]
	internal class SaveEventConfigRequest
	{
		[DataMember]
		public List<XfEventConfiguration> Configurations { get; private set; }

		public SaveEventConfigRequest(List<XfEventConfiguration> configurations)
		{
			Configurations = configurations;
		}
	}

	[DataContract(Namespace = "")]
	public class VoidResponse
	{
		public static readonly VoidResponse Instance = new VoidResponse();

		private VoidResponse()
		{ }
	}

	// Configuration, meaning mapping between XfEvents and CustomEvents
	[DataContract(Namespace = "")]
	public class XfEventConfiguration
	{
		[DataMember]
		public Guid AlarmId { get; set; }

		[DataMember]
		public int CustomEventId { get; set; }

		[DataMember]
		public bool HiddenFromUI { get; set; }

		[DataMember]
		public string Name { get; set; }

		[DataMember]
		public bool RaiseEvent { get; set; }

		[DataMember]
		public bool RequireAck { get; set; }

		[DataMember]
		public bool TriggerAlarm { get; set; }

		[DataMember]
		public Guid XfEventCustomEntityId { get; set; }

		[DataMember]
		public List<string> Tags { get; set; }

		public XfEventConfiguration() { }
	}
}