campaign maintenance
    Emergency Notification Services Home  |   Contact Us  |   About Us  |   Sign Up  |   FAQ
blizzards hurricanes tornados floods forest fires

911 technical documentation

Emergency Alert System

Emergency Notification Systems This section of our technical library presents information and documentation relating to Emergency Notification Systems and Disaster Recovery Applications. If a severe snow storm hits your area, your community can be notified of school closings or event cancellations. Should an emergency arise in your community, our emergency broadcast phone service can deliver large volumes of phone messages quickly using thousands of digital and analog phone lines simultaneously. If a dangerous chemical spill occurs in your community, you can target specific areas to call. 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.

DSC Autonomous Call Center Acknowledgement 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:

    DIALERINTERFACE = ACDNT3,65.197.226.152

    ACS_DBASE=f:\dbase

    ACSCAMP_ID=00000F

    ACSRECORDINGPATH=d:\sounds\recordings

    Ivr_config entries:

    <ivr progname>,<progpath>,junk

    i.e.:

    00000E,c:\ivrs\00000E\00000E,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.




ACS API Library Routines