Campaign Maintenance
Home  |   Contact Us  |   About Us  |   Sign Up  |   FAQ

predictive dialers and crm software
computer telephony software predictive dialer

Emergency Notification
Automatic Call Distribution
Predictive Dialer
Business Phone Systems
Emergency Communications
Community Notification Systems
Emergency Phone Dialer
Emergency Alert System EAS
Emergency Broadcast Systems
Emergency Dialer

predictive dialers and crm software

School Closing Alert
School Announcement

emergency notification systems

DSC Tech Library

Emergency Alert Systems

Emergency Notification Systems This section of our technical library presents information and documentation relating to Emergency Broadcasting Systems and Disaster Recovery Applications. Should an emergency arise in your community, our 911 broadcast service can deliver large volumes of calls quickly using thousands of phone lines simultaneously. In the event of a blizzard, wild fire or devastating flood, your community can be notified quickly given specific instructions if an evacuation is required using our emergency broadcasting service. If a dangerous chemical spill occurs in your community, you can target specific areas to call. If a severe snow storm hits your area, your community can be notified of school closings or event cancellations.

DSC Autonomous Call Center Acknowledgment Client

AcsAPI Library Routines - Campaign Maintenance

    int ACSAddCampaign(const char * _description,

                       const char * _startDate, // YYYYMMDD

                       const char * _startTime, // HHMM

                       const char * _stopDate,

                       const char * _stopTime);

    This routine (ACSAddCampaign) MUST be run first as it returns the generated campaign name for the rest of the calls, using the AcsApiIVRModelResponse structure:

    struct AcsApiIVRModelResponse{ // ACS_RT_IVR

        char campaign[7];


    (Note:  This is a multi-operation call, and since any one of the subsequent calls that need to be made to set up an IVR could fail, care must be taken if an error is encountered.  Manual intervention will usually be necessary.  This shall hopefully evolve.)

    This  routine communicates with the cmpapid service via DscACS.  It performs a number of operations, so multiple errors could be returned.  Cmpapid uses ivr_config & dsc_config (in dbase11) to lookup directories and to generate the new campaign name.

    Dsc_config entries:





    Ivr_config entries:

    <ivr progname>,<progpath>,junk



    Generated campaign name progress sequentially from “000000” to “ZZZZZZ”; e.g. “000000”, “000001”,…”00000Z”,”000010”,…”00001Z”, etc.

    All dates are character strings in the format “YYYYMMDD”; all times “HHMM”.

    If entries are missing, cmpapid will supply default values and add these entries.

    This routine will:

    Add a campaign record.

    Add a site record.

    Add a customer file (cpfile) definition, of the same name as the campaign.  It based on the template “CPBLAST” definition, which must exist.

    Create the customer file on disk.

    Return to you the name of the generated campaign.

    int ACSChangeCampaignStartStopTimes(const char * _campaign,

                                        const char * _startDate,

                                        const char * _startTime,

                                        const char * _stopDate,

                                        const char * _stopTime);

    This changes a campaign’s start and stop times.

    int ACSChangeCampaignDescription(const char * _campaign,

                                     const char * _description);

    This changes a compaign’s description.

    int ACSRemoveCampaign(const char * _campaign);

    This removes a campaign.  Note:  This only removes the campaign record, not the other detritus generated above, by ACSAddCampaign().

    int ACSSetCallModel(const char * _campaign,

                        const int    _numBusyRetries,

                        const int *  _busyRollMinutes,

                        const int    _numNoAnswerRetries,

                        const int *  _noAnswerRollMinutes,

                        const int    _numAnsweringMachineRetries,

                        const int *  _answeringMachineRollMinutes,

                        const int    _answeredRollMinutes);

    Adds the call model record for the campaign.  The “RollMinutes” arguments are int[3] arrays, corresponding to the rollover minutes for indicated retries, up to 3.

    int ACSSetListManager(const char * _campaign,

                          const int    _type,

                          const int    _ratio,

                          const int    _retries,

                          const int    _retryMinutes,

                          const char * _startDate,

                          const char * _startTime,

                          const char * _endDate,

                          const char * _endTime);

    Adds the List Manager record.   There are 5 types:

    ACSAPI_LT_MAIN        // fresh list definition

    ACSAPI_LT_CONNECT    // connect list definition

    ACSAPI_LT_BUSY        // busy list definition

    ACSAPI_LT_NOANSWER    // no answer list definition

    ACSAPI_LT_ANSWMACHINE // answering machine list definition

    _retries & _retryMinutes are ignored for type ACSAPI_LT_MAIN.

    int ACSSetIVRModel(const char * _campaign,

                       const int    _type,

                       const char * _pressthrunumber);

    So far, there are three types:

    ACSAPI_IT_VOICEBLAST1 // simple voice blast

    ACSAPI_IT_VOICEBLAST2 // voice blast w/no custom per # wave lookup

    ACSAPI_IT_PRESSTHRU   // simple IVR press-trough

    _pressthrunumber is used only for ACSAPI_IT_PRESSTHRU.

    Creates the appropriate IVR program, compiles it and places it in the run area.  Adds an entry in ivr_config indicating its location.