Submitting Call Attempt Records to an External System
When OCS attempts a call, it sends the call attempt record to an external system. The external system then checks the call result data to determine whether the record should be added to a contact suppression list.
Question: Should I continue to refer to it as the 'external system' or 'Compliance Manager' ??
How it Works
- A campaign is started/loaded in any dialing mode.
- An outbound call is dialed.
- OCS sends a call attempt record (HTTP POST with GSW_OCS_SEQUENCE_NO: 0) to the external system.
- OCS stores the record posted to the external system while it waits for confirmation from the external system that the record was saved.
- The external system receives the record and sends a 200 OK response to OCS. The log confirms that the call attempt record was saved.
- The agent-customer call is established.
- The agent releases the call and logs the result of the call (example Answered, AnsweringMachine, DoNotCall)
- OCS sends another call attempt record (HTTP POST with GSW_OCS_SEQUENCE_NO: 1) to the external system, this time containing the GSW_CALL_RESULT parameter.
The GSW_OCS_SEQUENCE_NO: 1 record overwrites the GSW_OCS_SEQUENCE_NO: 0 record when dialing rules are applied.
Question: Does the external system send only one response?
Feature Configuration
Add the following configuration options:
- send-history
- [[OCSOptionDescriptions#history-uri|history-uri]]
- history-wait-condition-threshold
- history-wait-recovery-timeout
- validation-race-condition-call-result
- send-history-key
- history-es-report-events
The data posted to the external system will contain the following attributes:
| 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 |
Refer to the Reference Manual (page) for a detailed description of each attribute.
When OCS sends a call attempt record to the external system, the external system responds with one of the following response codes:
| HTTP Response Code | Description |
|---|---|
| 200 OK | The external system confirms that the call attempt record has been successfully stored for further processing. |
| 409 Conflict | The external system 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 | A request to the external system 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 | The HTTP POST request did not go through as a result of mis-configuration or some other internal error. |
Scenarios
Record Cancel
Resubmitting after 404
