Skip to main content
Version: 2.5.0

Siebel definition file know-how

About Siebel definition files

Definition files are imported into a Siebel Communication Configuration entry and this configuration can later also be modified directly in Siebel UI.

But because the structure, order and all comments of the definition file are lost during import, we recommend to do changes always in the definition file and then re-import the modified file again. (Because if you later export the configuration from Siebel back into a definition file, that file will be much less clear and readable than our default definition file.)

Contents of a definition file

  • Configuration parameters
  • Driver
  • Driver parameters
  • Profiles
  • Mapping from Siebel commands (button or menu item) to DeviceCommands
  • Event handler for DeviceEvents
  • Dialing filter rules

Communication Parameters

  • General Siebel communication settings (AutoLogin, ChannelCleanupTimer,... )

Siebel Definition File Communication Parameters

Driver

  • Path to the driver .dll file, loaded by Siebel Communication Server

Siebel Definition File Driver

Driver parameters

  • Driver parameters are "global" configuration parameters for that specific driver dll.
  • Driver parameters can be defined in definition file as "Required", but this is only used as information for the configuration editor in Siebel UI.

Siebel Definition File Driver Parameters

Profiles

  • Profiles are intended to use the same driver in different configuration variants.
  • Some driver parameters can be overridden in the profile.
  • It depends on driver implementation, which parameters can be overridden in profile (In Connects for Siebel, only the parameters listed in Installation and Configuration Guide or default definition file as "Session Parameters" can be overridden in profile.)
  • The Connects for Siebel default definition file contains one profile. Siebel Definition File Profiles
  • For Multi PG installations, one profile per PG is needed. (See chapter "3.3.10 Configuration for Multi Agent PG Voice Deployments" in Installation and Configuration Guide)
  • Agents are not assigned to a profile, but to a communication configuration. To assign agents to a specific profile, we need for each profile an individual communication configuration.

Mapping from Siebel commands to DeviceCommands

DeviceCommands

  • DeviceCommands are the commands that a driver offers to Siebel.

  • A list of available DeviceCommands of Connects for Siebel can be found in Installation and Configuration Guide in chapter "Customizing Siebel" / "Available Device Commands". Here you can also find the required parameters for each DeviceCommand.

  • DeviceCommands always have a current state (enabled/disabled/blinking/pressed).

  • The driver reports the current state of the commands on any change to Siebel using a CacheCommandInformation message with a decimal value representing a few bits.

  • State values used in Connects for Siebel CacheCommandInformation message:

    • 18 = Disabled
    • 16 = Enabled
    • 20 = Enabled + Pressed
    • 24 = Enabled + Blinking
  • DeviceCommands can not only be used from within the definition file. Customers may also call DeviceCommands directly from their own customization code, e.g. from within business service methods.

  • In Connects for Siebel definition file, the DeviceCommands can be found in a section "Real Device Commands", then sorted and grouped by DeviceCommands for/to:

    • Login/Logout
    • State change voice
    • State change mail
    • State change chat
    • handling of existing calls
    • initiate outbound calls from UI
    • initiate outbound calls
    • initiate and handle consult transfers
    • initiate and handle consult conferences
    • initiate blind transfers
    • outbound option calls
    • handling existing email tasks and chat

    Siebel Definition File Mapping Commands

Commands called from Siebel into definition file

  • In a default Siebel Communications Toolbar, each existing button is mapped to a hardcoded command name in definition file. These command names are the entry points for buttons into the definition file. (Customers may edit these buttons or even add custom buttons with Siebel Tools.)

  • A list of default toolbar buttons and their mapped command name can be found in "Siebel CTI Administration Guide", chapter "Communications Toolbar Items, Commands, and Methods". All these commands end with the postfix "Group". (To quick find the table in the guide search e.g. for "AnswerCallGroup".)

    Siebel Definition File Called Commands

  • In the default definition file of Connects for Siebel, the mapping for these default toolbar button commands can be found in a section "Toolbar button commands" Siebel Definition File Toolbar Button Commands

  • The menu items, that appear in the "Tools" / "Communications" menu in Siebel UI, are entirely defined in the definition file. (See commands with a "MenuPosition" property.) In the default definition file of Connects for Siebel, the default toolbar buttons can be found in a section "Main Menu commands". Siebel Definition File Main Menu Commands

Mapping commands (buttons or menu items) to DeviceCommands

  • The initial command (of buttons and menu items in Siebel UI) is mapped in definition file directly or indirectly to a DeviceCommand of the driver or an internal Siebel command.

  • Indirect mapping of commands can be done hierarchically with subcommands pointing to other commands, that may contain again and again subcommands pointing to other commands. At the end of such a command chain is either a DeviceCommand of a driver or an internal Siebel command.

    Siebel Definition File Mapping Commands To DeviceCommands

  • The button or menu item in Siebel UI reflects the current state (enabled/disabled/blinking/pressed) of the mapped DeviceCommand command, and uses the "Title" field of that command as mouseover tooltip.

  • When an initial command of a button or menu item is mapped using subcommands to multiple DeviceCommands, Siebel is dynamically searching at runtime for the first mapped and enabled DeviceCommand and then reflects the state of this command and uses the "Title" field of that command as mouseover tooltip. When pressing the button, this command is executed.

  • With "FilterSpec" it is possible to virtually disable a command when additional conditions match, even if it is reported by the driver as enabled. For example, some commands in the default definition file are only enabled, when the command "PopupNotReadyReasons" is also enabled. (This special command "PopupNotReadyReasons" is always enabled when the driver parameter "PopupNotReadyReasons" is set to "TRUE").

  • By default, only the first enabled subcommand of a command is executed, but it is also possible to execute all by setting the command parameter "ExecuteAll" = "TRUE"

Special Commands

Additional to the DeviceCommands from driver, Siebel also knows some Special Commands.

They can be used in the same way as DeviceCommands of the driver.

  • @Associate (e.g. link the currently open Contact or Service Request to the call)
  • @CreatePopupFrame (e.g. open a browser popup window)
  • @InvokeSWECommand (Invoke a Siebel Web Engine like "Send Fax (SWE)"
  • @OpenView (Navigate to a specific Siebel view, e.g. "Service Contact Detail View")
  • @UpdateRecord (Update a data field of current Siebel business component)
  • @ViewWorkObject (?)

Event Handler for DeviceEvents

DeviceEvents

  • DeviceEvents are events that a driver can send to Siebel.

  • A list of available DeviceEvents of Connects for Siebel can be found in Installation and Configuration Guide in chapter "Customizing Siebel" / "Available Device Events". Here you can also find the available fields of each DeviceEvent.

  • In Connects for Siebel definition file, all available DeviceEvents can be found in a section "Events" with an empty sample EventHandler named at the end with "...Dummy". Siebel Definition File DeviceEvents

  • Not all available events are sent to Siebel by default (for performance reasons). With the following driver parameters you can configure the events that are sent to Siebel:

    • AgentEventMask
    • CallEventMask
    • TaskEventMask

Mapping DeviceEvents to Siebel actions

  • Customers can define EventHandlers in definition file to trigger something in Siebel (e.g. a search by ANI or display text in toolbar) when a specific event was received.

  • The default definition file contains a section "Event mappings to Siebel actions" with default event mappings shipped with the product.
    Siebel Definition File Mapping DeviceEvents

    These default mappings do the following (not complete list):

    • Display text in toolbar on CallDelivered events
    • Open transferred screen from other agent on CallEstablished events
    • Trigger search in Contacts table on CallEstablished events (routed calls + other calls)
    • Trigger search in Contacts table for outbound option calls in CallDelivered and CallEstablished and CallVarUpdated events
    • A (commented out) sample to trigger search in Service Request table with a Service Request ID in CallVariable 6 on CallEstablished events
  • It is possible to define multiple EventHandlers for the same DeviceEvent, but they should be restricted by Filter conditions. Siebel will walk through the list of these EventHandlers (ordered by the "Order" property) and then execute only the first matching EventHandler.

  • The following sample explains the parts of a typical EventHandler for incoming calls: Siebel Definition File EventHandler Example

    When you open a view (like Contacts) in Siebel UI and then select About View... in Help menu, then you can see the view name and the used Business Object and Business Components of this view. This information can be used to define the query (QueryBusObj, QueryBusComp, SingleView, MultiView). To get the field name of a specific field on the view for the QuerySpec parameter, you may ask a Siebel Developer or use Siebel Tools to further inspect the fields on the view. Siebel Definition File About View

Special Events

Additional to the DeviceEvents from driver, Siebel also knows some Special Events.

They can be used in the same way as DeviceEvents from driver and occur just before or just after a new call/chat/mail (a WorkItem) appears, just before it is released, or just before it is set on hold or is resumed.

  • @PreIndicateNewWorkItemEvent, @PostIndicateNewWorkItemEvent
  • @PreWorkItemReleasedEvent, @PostWorkItemReleasedEvent
  • @PreWorkItemResumedEvent, @PostWorkItemResumedEvent
  • @PreWorkItemStartedEvent, @PostWorkItemStartedEvent

Dialing filter rules

The section [Configuration Parameters] may contain Dialing Filter Rules.

The dialing filter rules may be used in Commands and EventHandlers by adding a :Lookup after the variable.

Dialing filter rules are defined like "[searchedDigits]->[replacedWithTheseDigits]".

When using the dialing filters, Siebel walkthrough the list of rules. As soon as a rule matches, it is executed and the result returned.

Attention: The same rules are used for dialing outgoing calls as well as for incoming calls to use in search queries.

Sample dialing filter rules:

[Configuration Parameters]
...
DialingFilter.Rule1 = "+4131917->"
DialingFilter.Rule2 = "+41->0"
DialingFilter.Rule3 = "+->00"
DialingFilter.Rule4 = "00->+"
DialingFilter.Rule5 = "0->+41"
DialingFilter.Rule6 = "->+4131917"
...

An outgoing call to a number "+41791234567" will match rule 2 and return 0791234567 to dial. An incoming call with an ANI like 0791234567 will match rule 5 and return +41791234567 to search. An incoming call from an internal phone like 1234 will match rule 6 and return +41319171234 to search.