Revision as of 19:09, December 1, 2017 by Jnabuurs (talk | contribs)
Jump to: navigation, search

Submitting Call Attempt Records=

When OCS attempts a call, it sends the call attempt record to Web or Application Server via HTTP POST. Web or Application Server then checks the call result data to determine whether dialing rules should be applied to the record or if the record should be added to a contact suppression list.

Scenario: Successful HTTP Post to Web or Application Server

  1. A campaign is started/loaded in any dialing mode.
  2. An outbound call is dialed.
  3. OCS sends a call attempt record (HTTP POST with GSW_OCS_SEQUENCE_NO: 0) to Web or Application Server.
  4. OCS stores the record posted to Web or Application Server while it waits for confirmation from Web or Application Server that the record was saved.
  5. Web or Application Server receives the record and sends a 200 OK response to OCS. The log confirms that the call attempt record was saved.
  6. The agent-customer call is established.
  7. The agent releases the call and logs the result of the call (example Answer, Answering Machine, DoNotCall)
  8. OCS sends another call attempt record (HTTP POST with GSW_OCS_SEQUENCE_NO: 1) to Web or Application Server, this time containing the GSW_CALL_RESULT parameter.
  9. Web or Application Server receives the record and sends another 200 response.
Important
The GSW_OCS_SEQUENCE_NO: 1 record overwrites the GSW_OCS_SEQUENCE_NO: 0 record when dialing rules are applied.

Feature Configuration

Add the following configuration options, as described on the Options Descriptions page in this manual.

The data posted to Web or Application Server will contain the following attributes. Refer to the Reference Manual for a detailed description of each attribute.

Attribute Name Attribute Name Attribute Name
GSW_CALL_ATTEMPT_GUID GSW_HIST_SEQUENCE_NUM GSW_TENANT_NAME
GSW_PHONE GSW_CAMPAIGN_DBID GSW_PHONE_TYPE
GSW_CUSTOMER_ID GSW_START_PROCESSING GSW_CALL_TIME
GSW_SCHEDULED_TIME GSW_TZ_OFFSET GSW_TZ_NAME
GSW_CALL_RESULT GSW_CAMPAIGN_NAME GSW_CALLING_LIST
GSW_CAMPAIGN_GROUP_NAME GSW_GROUP_NAME GSW_QUEUE_NAME
GSW_DIAL_MODE GSW_OPTIMIZE_BY GSW_OPTIMIZE_GOAL
GSW_DIALING GSW_RINGING GSW_RELEASED
GSW_ANSWERED GSW_CPD_COMPLETED GSW_QUEUED
GSW_AGENT_RINGING GSW_AGENT_ANSWERED GSW_DIVERTED
GSW_ABANDONED GSW_AGENT_RELEASED GSW_ACW_COMPLETED
GSW_COMPLETE_PROCESSING GSW_POSTAL_CODE GSW_REGION_CODE
GSW_COUNTRY_CODE GSW_TZ_CODE GSW_D_AREA_CODE
GSW_D_REGION_CODE GSW_D_COUNTRY_CODE

Responses and Logs

When OCS sends the HTTP POST to Web or Application Server, it responds with a response code and a corresponding log entry, as described in the table below.

HTTP Response Code Associated Log Entry Description
200 OK Call Attempt Record has been saved for phone %s Web or Application Server confirms that the call attempt record has been successfully stored for further processing.
409 Conflict Call Attempt Record was not saved and has been queued for reprocessing for phone %s


If a wait condition occurs during re-submission of the record:

  • Wait condition has been activated for Campaign Group %s (DBID %d)
  • Wait condition has been cleared for Campaign Group %s (DBID %d)
Web or Application Server is not reachable or could not save the call attempt record as a result of an internal error or a bad request.
408 Time-out Save operation for Call Attempt Record was aborted (timeout elapsed) and the record has been queued for reprocessing for phone %s


If a wait condition occurs during re-submission of the record:

  • Wait condition has been activated for Campaign Group %s (DBID %d)
  • Wait condition has been cleared for Campaign Group %s (DBID %d)
A request to Web or Application Server has timed out. This request response might be generated by OCS internally if the response wait time exceeds the time specified in the history-http-response-timeout option.
418 I'm a teapot Call Attempt Record was not saved and has been queued for reprocessing for phone %s


If a wait condition occurs during re-submission of the record:

  • Wait condition has been activated for Campaign Group %s (DBID %d)
  • Wait condition has been cleared for Campaign Group %s (DBID %d)
The HTTP POST request did not go through as a result of mis-configuration or some other internal error.

Re-Submitting Failed Records

When OCS sends the HTTP POST to Web or Application Server, OCS stores the record data until it receives confirmation from Web or Application Server that the record was saved successfully. This confirmation comes as a 200 OK response. If OCS receives any other response (409 Conflict, 408 Time-out, or 418 I'm a teapot), OCS treats that record as failed, and it re-submits the record in accordance with the values specified in the history-wait-recovery-timeout option.

Wait Conditions

A wait condition is triggered when the number of call attempted records marked for re-submission exceeds the threshold specified in the history-wait-condition-threshold option. With a wait condition in place, the campaign remains in a running state, but dialing is suspended.

Race Conditions

If OCS sends a pre-dial validation request to Web or Application Server for a contact record that Web or Application Server is currently processing but has not yet saved (for example, it has not yet sent a response or the record is marked for re-processing), a race condition occurs.

As a prevention measure, OCS checks for a race condition before submitting a pre-dial validation request. If it detects a race condition, it will not dial the record. Instead, OCS refers to the call result specified in the validation-race-condition-call-result option and attempts to apply that treatment to the call result.

In this scenario, the following log entry appears:
Predial check aborted due to race condition for phone %s

Comments or questions about this documentation? Contact us for support!