Campaign configuration is set via the Set Campaign Properties [SO] method and is retrieved via the Get Campaign Properties [GP] method. See RouterNET Integration.
A successful call will yield the Property Data [PD] event with a Data (DT) parameter containing a large XML document with the properties set for that campaign.
This XML document is saved per tenant as CampaignParams_<tenant>.xml in the C:/<root>/CM/<tenant> folder (where C is the installation root drive). It has the following format:
<?xml version="1.0" encoding="utf-16"?>
<CampaignMap>
  <Campaign Name="Campaign1" ID="1" State="0" CallsMade="6">
    <CampaignParams ....>
  </Campaign>
  <Campaign Name="Campaign2" ID="2" State="1" CallsMade="3">
    <CampaignParams ....>
  </Campaign>
  ....
</CampaignMap>
A full description of each element in this file is given in the example below.
 Show example & descriptions - V10.7
Show example & descriptions - V10.7
                | <?xml version="1.0" encoding="utf-16"?> <CampaignMap> <Campaign Name="Mobiles" ID="1" State="2" CallsMade="0"> | |
| <CampaignParams DSN="Mobiles" SchemaName="" DBUser="" DBPassword="" DBVerified="true"> | |
| DSN, SchemaName, DBUser and DBPassword attributes are the data source specifiers for the campaign. | |
| <CampaignName> Mobiles </CampaignName> | |
| The name of the Campaign. | |
| <TelColumn> Telephone </TelColumn> | |
| The column name used to store the primary telephone number | |
| <KeyColumn> Contact_ID </KeyColumn> | |
| The column name of the primary key (identity) column | |
| <AbandonRate> 3.00000000 </AbandonRate> | |
| The configured Abandon Rate - only applies to predictive | |
| <AbandonDelay> 1 </AbandonDelay> | |
| The configured Abandon Delay - only applies to predictive | |
| <MaxWrapTime> 0 </MaxWrapTime> | |
| The configured Maximum Wrap time | |
| <WrapOutcome> </WrapOutcome> | |
| The configured Wrap Outcome | |
| <WrapData> </WrapData> | |
| The Wrap Data | |
| <RingTimeout> 16 </RingTimeout> | |
| The configured RNA timeout - only applies to outbound campaigns | |
| <EstimateTalk> 2 </EstimateTalk> | |
| Estimated talk time - only applies to predictive | |
| <CacheSize> 200 </CacheSize> | |
| Configured default cache size | |
| <TableName> mobiles </TableName> | |
| The name of table or view used for input to the campaign | |
| <CLICol> </CLICol> | |
| The table column containing the CLI data | |
| <AMCol> </AMCol> | |
| The table column containing the Answering Machine data | |
| <LastDialed> </LastDialed> | |
| Deprecated | |
| <ResultPrimaryTable> mobiles </ResultPrimaryTable> | |
| The name of table to apply result updates. This will normally be the same as the TableName element but in the case of a view may be different | |
| <ResultTimestampCol> Result_TS </ResultTimestampCol> | |
| The column name used to store the timestamp for the last Result | |
| <RetryCountCol> Retry_Count </RetryCountCol> | |
| The column name used to store the retry count for this Record | |
| <RetryTimestampCol> Retry_TS </RetryTimestampCol> | |
| The column name used to store the timestamp for the next retry | |
| <RetryUserName> Retry_Username </RetryUserName> | |
| The column name used to store the user that the call is to be presented to. For an agent callback this column will be set | |
| <ResultColumn> Switch_Result </ResultColumn> | |
| The column name used to store the last telephony result | |
| <KeyNumeric> true </KeyNumeric> | |
| Is the key column numeric or alphanumeric? | |
| <RetryMode> 2 </RetryMode> | |
| 0 for no retries, 2 for Campaign Manager | |
| <EnableCallbacks> true </EnableCallbacks> | |
| Are Callbacks enabled? | |
| <DatabaseMode> 2 </DatabaseMode> | |
| 0 for simple number feed, 2 to allow retries and database update | |
| <CampaignType> 0 </CampaignType> | |
| Note: These values are NOT the same as the values used in the Dialing Mode (DM) parameter of the Open Campaign [OC] message. 
 | |
| <AgentResultCol> Agent_Result </AgentResultCol> | |
| The column name used to store the last agent disposition for the call | |
| <CTLayerID> </CTLayerID> | |
| The telephony layer that the campaign gets deployed against | |
| <LCRCode> </LCRCode> | |
| The least-cost routing prefix to be used | |
| <RetryParams MaxRetries="8" MaxRetriesNotPresent="4" MaxTimeOfDay="0.87500000" MinTimeOfDay="0.33333333" MultipleNumberStrategy="0" MultiRetryThreshold="0" LimitAcrossAllNumbers="true" MaxOverdue="0.00347220" OverdueOffset="1.00000000" CallbackNotPresentOffset="1.00000000" CallbackPresentOffset="0.00347220" CallbackPlannedNotMadeOffset="1.00000000" PoolCBNP="false" PoolCBP="false" PoolCBPNM="false" CountCBNPRetry="false" CountCBPRetry="false"> | |
| Attributes of RetryParams element contain overall retry strategy as follows: 
 | |
| <Retry Outcome="1"> | |
| The Outcome Attribute is an integer number for the cause code returned by CallGem when a call is dispositioned | |
| <RetryDetail Type="0" Offset="0.01041670" Offset1="0.00000000" Offset2="0.00000000" Offset3="0.00000000" Offset4="0.00000000" Offset5="0.00000000" Precedence="0" MaxAttempts="6" NotPresent="false" BadNumber="false" MaxTimeOfDay="0.87500000" MinTimeOfDay="0.33333330"/> </Retry> | |
| Each fail type outcome has rules that govern selection of next retry time. The attributes of each RetryDetail element contain these rules: 
 | |
| </Retry> </RetryParams> | |
| <WriteAudittrail> true </WriteAudittrail> | |
| Boolean indicating whether or not an audittrail table should be written. Default is true. Audittrail contains history to enable intelligent selection of retry time | |
| <RouteExternal> false </RouteExternal> | |
| false if Softdial CallGem™ determines route to agent. true if the telephony platform determines route to agent | |
| <ExternalTimeOut> 0 </ExternalTimeOut> | |
| The length of time after which an unavailable request for externally-routed agents is timed out | |
| <RunUsers/> <ManageUsers/> | |
| Deprecated | |
| <AlternateNumberCols> <Item> Telephone </Item> </AlternateNumberCols> | |
| Collection of column names for alternate telephone numbers. Each Item is the name of a column | |
| <AlternateNumberCLICols> <Item> </Item> </AlternateNumberCLICols> | |
| Collection of column names for alternate CLIs. Each item is the name of a column. | |
| <CleanGlobal> false </CleanGlobal> | |
| Clean this campaign against a built-in global DNC list | |
| <CleanCallCenter> false </CleanCallCenter> | |
| Clean this campaign against a built-in tenant-level DNC list | |
| <CleanCampaign> false </CleanCampaign> | |
| Clean this campaign against a built-in campaign-level DNC list | |
| <CheckedFlagField> </CheckedFlagField> | |
| Deprecated | |
| <TZBoundUpper> </TZBoundUpper> | |
| Column name for timezone management latest time to call | |
| <TZBoundLower> </TZBoundLower> | |
| Column name for timezone management earliest time to call | |
| <TZStateCodeField> </TZStateCodeField> | |
| Column name for state code to support timezone management | |
| <TZPostCodeField> </TZPostCodeField> | |
| Column name for post/ zip code to support timezone management | |
| <NumDigitsAreaCode> 0 </NumDigitsAreaCode> | |
| The number of digits in the phone number that indicate the area code | |
| <TZLegislaturesFile> </TZLegislaturesFile> | |
| The Legislatures file to be used for timezone processing | |
| <DNCListsSelected/> | |
| Collection of DNC lists selected to clean against | |
| <DNCListsCleaned/> | |
| Collection of DNC lists cleaned against | |
| <FilterList> | |
| Collection of Filter elements which in turn are a collection of FilterCondition elements. | |
| <Item> <Filter Name="lt1000" Apply="true" FreeForm="false" FreeFormText="> | |
| Each Filter element with the attribute Apply set true is logically 'OR'ed to form the selection criteria for the records to make up the campaign. Filter attributes are: 
 | |
| <ConditionList> <Item> <FilterCondition Column="Contact_ID" Comparison="<=" Value="1000" Type="4"/> | |
| FilterCondition attributes are: 
 | |
| </Item> </ConditionList> </Filter> </Item> <FilterList> | |
| <OrderColumn> Contact_ID </OrderColumn> | |
| The column to determine sort order for the campaign | |
| <CallbackNumber> Retry_Number </CallbackNumber> | |
| The column name for storing a specific number the respondent wanted to be called back on | |
| <RecTagCol1>
            </RecTagCol1> <RecLabel1> </RecLabel1> | |
| The column name for data to be embedded in a call recording tag. Each campaign can define 6 custom tags | |
| <BlanketRecording> false </BlanketRecording> | |
| Whether all calls should be recorded on this campaign | |
| <AnsMachineDetMode> 1 </AnsMachineDetMode> | |
| The mode used for call progress analysis. An enumeration as follows: 
 | |
| <AnsMachineMsg> </AnsMachineMsg> | |
| The symbolic name for the answer machine message for AnsMachineDetMode 3 (above) | |
| <AgentlessSpoofAgents> 0 </AgentlessSpoofAgents> | |
| How many agents should an agentless campaign dial for? | |
| <Agentless_Behaviour> 2 </Agentless_Behaviour> | |
| Behaviour of agentless campaign. Enumerator values: 
 | |
| <AgentlessPredictiveMode> false </AgentlessPredictiveMode> | |
| Boolean indicating whether Softdial CallGem™ should dial predictive on agentless campaigns or progressive | |
| <AgentlessMessage> </AgentlessMessage> | |
| Symbolic name for agentless campaign message | |
| <AgentlessEnabled> false </AgentlessEnabled> | |
| Are agentless campaigns enabled? | |
| <CLIPresented> </CLIPresented> | |
| CLI to be presented for this campaign. (If not overridden by <CLICol>) | |
| <RetryIndexColName> Retry_Index </RetryIndexColName> | |
| The column name for the column storing the indicator for the telephone number to be used to dial on the next attempt | |
| <AbandonMessage> </AbandonMessage> | |
| The symbolic name for the abandon call message. (If not overridden by <AMCol>) | |
| <MultiNumFlagging> false </MultiNumFlagging> | |
| Whether or not priority flagging for multiple phone numbers is supported | |
| <CliPerNumFlagging> true </CliPerNumFlagging> | |
| Whether or not CLI flagging for multiple phone numbers is supported | |
| <DiallingPrefix> </DiallingPrefix> | |
| The prefix to be used for this campaign | |
| <DiallingPostfix> </DiallingPostfix> | |
| The postfix to be used for this campaign | |
| <MultiNumFlagCols/> | |
| Collection of column names for flag columns | |
| <MultiNumProgressModes> <Item> -1 </Item> </MultiNumProgressModes> | |
| Collection of call progress modes for each phone number column. Values as per AnsMachineDetMode, or -1 to indicate that the default mode for the campaign is used | |
| <MinCallTimeForColumn> <Item> 0.000000 </Item> </MinCallTimeForColumn> | |
| Collection of earliest times-of-day to call for each phone number column. The value 0.0 indicates that the shift time boundary is used | |
| <MaxCallTimeForColumn> <Item> 1.000000 </Item> </MaxCallTimeForColumn> | |
| Collection of latest times-of-day to call for each phone number column. The value 0.0 indicates that the shift time boundary is used | |
| <MaxRingTime> <Item> 0 </Item> </MaxRingTime> | |
| The maximum ring time set for this campaign | |
| <EndOfListBehaviour> 0 </EndOfListBehaviour> | |
| End of List behaviour. An enumerator describing what should happen when the last record has been read in. Values: 
 | |
| <ChainCampaignName> </ChainCampaignName> | |
| If campaign chaning is used, the name of the campaign to chain on to | |
| <PreviewTimeout> 0 </PreviewTimeout> | |
| The amount of time an agent on a preview campaign gets to preview a call before it is launched | |
| <BreatherTimeout> 0 </BreatherTimeout> | |
| The amount of time an agent on a preview campaign gets to pause for breath before being presented with another account | |
| <PreviewOnHook> false </PreviewOnHook> | |
| Whether preview on-hook behaviour is enabled | |
| <DialerCampaign> </DialerCampaign> | |
| For linked campaigns, the name of the master campaign | |
| <ApportionmentType> 0 </ApportionmentType> | |
| How records are apportioned. Enumerator with values 
 | |
| <ApportionmentRatio> 1 </ApportionmentRatio> | |
| For ApportionmentType 1, the ratio to be used for this campaign | |
| <RecordTypeCol> </RecordTypeCol> | |
| The column name containing record type data to be passed to Softdial CallGem™ | |
| <CompleteCol> Complete_TS </CompleteCol> | |
| The column name for the 'record complete' timestamp | |
| <SBRType> 0 </SBRType> | |
| Whether Outbound Skills Based Routing is enabled and if so, how the skills skill data is obtained: 
 | |
| <QueueCol> </QueueCol> | |
| The column used to identify the queue to be used for outbound skills-based routing | |
| <QueueAddress> </QueueAddress> | |
| The queue address for outbound skills-based routing. This should only be set for linked campaigns | |
| <SBRAbandonOutcome> 0 </SBRAbandonOutcome> | |
| The outcome code to be used if a call is abandoned due to lack of agent with the required skill | |
| <ConstrainRetries> false </ConstrainRetries> | |
| Determines whether retries are filtered. false - Not filtered true - Filtered | |
| <QuotedIdentifiers> false </QuotedIdentifiers> | |
| Determines whether table and field names are quoted in SQL. Quoted Identifiers are required for PostgreSQL database | |
| <RetryPrecedence> 100 </RetryPrecedence> | |
| <MediaType> </MediaType> | |
| <CallsToSupplyMaster> 0 </CallsToSupplyMaster> | |
| <LastRequestedCount> 0 </LastRequestedCount> | |
| <CustomerIdentity> </CustomerIdentity> | |
| From V10.7 - The content of this element is used to specify a customer name from the database record, with row names defined in brackets and all other text copied directly (for instance, {Title} {Forename} {Surname}, {Quals} might return "Mr John Smith, PhD" assuming all the rows exist in the database). This is passed to the endpoint as the Display Name (YO) parameter of an Agent Connect [AC] message, and is then transferred to the Agent Desktop client as the CustomerName field in UpdateEndpoint messages | |
| <FilterResultCols/> | |
| <Schedule IsScheduled="false"> | |
| Scheduled start/ stop of campaigns. The IsScheduled attribute determines whether the campaign runs according to a schedule. The Schedule element is a collection of days starting index 0 - Sunday, 1 - Monday and so on | |
| <Day Index="0" StartTime="0.33333333" EndTime="0.87500000"/> | |
| The StartTime and EndTime attributes are a fractional time of day representing LOCAL time at the server. | |
| </CampaignParams> </Campaign> </CampaignMap> | |