Campaign property data is saved to the CampaignParams_<tenant>.xml file in the C:/Softdial/CM/<tenant> folder (where C is the installation root drive). This is a single file per tenant with 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.
<CampaignParams DSN="Campaign1" SchemaName=" DBUser=" DBPassword=" DBVerified="true"> | |
SchemaName, DSN, DBUser and DBPassword attributes are the data source specifiers for the campaign. | |
<CampaignName>linkmaster</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 | |
<FramingType>0</FramingType> | |
Frame application data as either
|
|
<AbandonRate>3</AbandonRate> | |
The configured abandon rate - only applies to Predictive | |
<AbandonDelay>1</AbandonDelay> | |
The configured abandon delay - only applies to Predictive | |
<RingTimeout>16</RingTimeout> | |
The configured Ring No Answer (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>Campaign1</TableName> | |
The name of table or view used for input to the campaign | |
<LastDialed></LastDialed> | |
Deprecated | |
<ResultPrimaryTable>Campaign1</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 retry 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> | |
Whether the key column is numeric (true) or alphanumeric (false) | |
<RetryMode>2</RetryMode> | |
|
|
<DatabaseMode>2</DatabaseMode> | |
|
|
<CampaignType>0</CampaignType> | |
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="5" MaxRetriesNotPresent="4" MaxTimeOfDay="0.87500000" MinTimeOfDay="0.33333333" MultipleNumberStrategy="0" MultiRetryThreshold="0" LimitAcrossAllNumbers="true"> | |
Attributes of the RetryParams element contain overall retry strategy, as follows:
|
|
<Retry Outcome="1"> | |
An integer for the cause code returned by Softdial CallGem™ when a call is dispositioned. | |
<RetryDetail Offset="0.01041670" MaxAttempts="6" NotPresent="false" BadNumber="false" MaxTimeOfDay="0.87500000" MinTimeOfDay="0.33333330"/> | |
Each fail type outcome has rules that govern selection of next retry time. RetryDetail attributes are:
|
|
</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> | |
|
|
<ExternalTimeOut>0</ExternalTimeOut> | |
The length of time after which an unavailable request for externally-routed agents is timed out | |
<RunUsers/> | |
Deprecated | |
<ManageUsers/> | |
Deprecated | |
<AlternateNumberCols> | |
Collection of column names for alternate telephone numbers | |
<Item>Telephone</Item> | |
Each item is the name of a column | |
</AlternateNumberCols> <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. | |
<DNCListsSelected/> | |
Collection of DNC lists selected to clean against. | |
<DNCListsCleaned/> | |
Collection of DNC lists cleaned against. | |
<FilterList> | |
A collection of Filter elements which in turn are a collection of FilterCondition elements. | |
<Item> <Filter Name="le1000" Apply="true" FreeForm="false" FreeFormText="> |
|
Each Filter element with the attribute Apply set to 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> <PoolCallbacksOnPlannedNotMade>false</PoolCallbacksOnPlannedNotMade |
|
Whether or not the callback be passed to the pool, if scheduled callbacks for a specific agent are not made because the agent is not present. | |
<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> | |
The column name for data to be embedded in a call recording tag. Each campaign can define 6 custom tags. | |
<RecTagCol2></RecTagCol2> <RecLabel1></RecLabel1> |
|
The label to be used for the call recording tags, displayed in the call recording viewer. |
|
<RecLabel2></RecLabel2> <BlanketRecording>false</BlanketRecording> |
|
Whether all calls should be recorded on this campaign. | |
<AnsMachineDetMode>0</AnsMachineDetMode> | |
The mode used for call progress analysis. An enum, as follows:
|
|
<AnsMachineMsg></AnsMachineMsg> | |
The symbolic name for the answer machine message for AnsMachineDetMode 3 (above) | |
<AgentlessSpoofAgents>0</AgentlessSpoofAgents> | |
For Agentless campaigns, how many agents should the campaign dial for? | |
<Agentless_Behaviour>2</Agentless_Behaviour> | |
For Agentless campaigns, the behaviour of the campaign. Enumerator values are:
|
|
<AgentlessPredictiveMode>false</AgentlessPredictiveMode> | |
For Agentless campaigns, boolean indicating the mode of dialing :
|
|
<AgentlessMessage></AgentlessMessage> | |
For Agentless campaigns, the symbolic name for the message to be played. | |
<CLIPresented></CLIPresented> | |
CLI to be presented for this campaign. | |
<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. | |
<MultiNumFlagging>false</MultiNumFlagging> | |
Whether or not priority flagging for multiple phone numbers is supported. | |
<MultiNumFlagCols/> | |
Collection of column names for flag columns. | |
<MultiNumProgressModes> | |
Collection of call progress modes for each phone number column. Values as per AnsMachineDetMode (above), or -1 to indicate that the default mode for the campaign is used. | |
<Item>-1</Item> </MultiNumProgressModes> <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. | |
<Item>0.000000</Item> </MinCallTimeForColumn> <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. | |
<Item>0.000000</Item> </MaxCallTimeForColumn> <EndOfListBehaviour>0</EndOfListBehaviour> |
|
An enumerator describing what should happen when the last record has been read in. Values are:
|
|
<ChainCampaignName></ChainCampaignName> | |
If campaign chaining 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. | |
<PoolCallbacksOnRetry>true</PoolCallbacksOnRetry> | |
Pool callbacks if the callback fails for a retryable reason. | |
<DialerCampaign>linkmaster</DialerCampaign> | |
For master/ slave 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> | |
For outbound skills-based routing, the column used to identify the queue to be used. | |
<QueueAddress></QueueAddress> | |
For outbound skills-based routing, the queue address. This should only be set for master/ slave campaigns. | |
<SBRAbandonOutcome>0</SBRAbandonOutcome> | |
For outbound skills-based routing, the outcome code to be used if a call is abandoned due to lack of agent with the required skill. | |
<ConstrainRetries>false</ConstrainRetries> | |
Boolean indicating whether retries are filtered. | |
<QuotedIdentifiers>false</QuotedIdentifiers> | |
Boolean indicating whether table and field names are quoted in SQL. Quoted Identifiers are required for PostgreSQL database. | |
<Schedule IsScheduled="false"> | |
For scheduling start and stop of campaigns. The Schedule element is a collection of Day elements. The IsScheduled attribute determines whether the campaign runs according to a schedule. | |
<Day Index="0" StartTime="0.33333333" EndTime="0.87500000"/> | |
The Index attribute denotes day of the week: "0" - Sunday, "1" - Monday and so on. The StartTime/ EndTime attributes are a fractional time of day representing LOCAL time at the server. | |
<Day Index="1" StartTime="0.33333333" EndTime="0.87500000"/> <Day Index="2" StartTime="0.33333333" EndTime="0.87500000"/> <Day Index="3" StartTime="0.33333333" EndTime="0.87500000"/> <Day Index="4" StartTime="0.33333333" EndTime="0.87500000"/> <Day Index="5" StartTime="0.33333333" EndTime="0.87500000"/> <Day Index="6" StartTime="0.33333333" EndTime="0.87500000"/> </Schedule> </CampaignParams> |