Direct Integration

This chapter covers the following topics:

Introduction to Direct Integration

This chapter describes Oracle Telephony Adapter SDK Direct Integration and provides information for developers and consultants who intend to use it to integrate Oracle E-Business Suite with a third-party telephony vendor.

An adapter is needed to build this integration. The purpose of the adapter is to facilitate communication between the form bean and the third-party softphone. The adapter must have the following characteristics:

Callouts

Callouts convey information about the state of an agent, based on which the switch can determine whether or not the agent should be assigned a call. The Oracle E-Business Suite application passes callouts to the middleware. The middleware then processes this information and changes the state of the agent. Based on this state, the switch becomes aware of whether or not this agent is available. Here is an example of an HTML statement that uses callouts:. http://localhost:port/?FunctionName=Login&telesetNumber=70002&agentID=7001&agentPassword=1234&agentQueue=7700

The following table provides a few examples of callouts.

Constants Meaning
FUNCTION_NAME FunctionName
REGISTER_FUNC Register
UNREGISTER_FUNC Unregister
LOGIN_FUNC Login
LOGOUT_FUNC Logout
READY_FUNC Ready
NOT_READY_FUNC NotReady
MAKE_CALL_FUNC MakeCall
DIAL_CANONICAL_FUNC DialCanonical
CHECK_STATUS_FUNC CheckStatus
AGENT_ID agentID
AGENT_PASSWORD agentPassword
AGENT_QUEUE agentQueue
IP_ADDRESS ipAddress
IP_PORT port
TELESET_NUMBER telesetNumber
SCREEN_POP_EVENT ScreenPop
CALL_ESTABLISHED_EVENT CallEstablished
CALL_RELEASED_EVENT CallReleased
ERROR_EVENT Error
TELEPHONY_DISABLED_EVENT TelephonyDisabled
TELEPHONY_ENABLED_EVENT TelephonyEnabled
KEY_ERROR_DETAILS KeyErrorDetails
MSG_EXTENSION_UNSPEC ExtensionNotSpecified
MSG_ACDID_UNSPEC AgentACDIdNotSpecified
MSG_THIRD_PARTY_URL_UNSPEC ThirdPartyUrlNotSpecified
MSG_UNEXPECTED_ERROR UnexpectedError
MSG_LOGIN_FAILED LoginFailed
MSG_LOGOUT_FAILED LogoutFailed
MSG_ READY _FAILED ReadyFailed
MSG_DIAL_FAILED DialFailed
EVENT_APPDATA occtAppData
EVENT_SOURCE_ID occtSourceID
EVENT_NAME occtEventName
EVENT_ANI occtANI
EVENT_DNIS occtDNIS
EVENT_CLASSIFICATION occtClassification
EVENT_ERROR_MSG occtErrorMsg

Events

The adapter constantly listens to messages that the third-party softphone sends. These messages are termed events and contain information pertaining to an incoming call based on which the screen-pop record is identified. To provide for maximum flexibility, the integration enables maximum fields based on which the screen-pop can be launched for customers. Following tables show the interaction keys that the integration can accept within Oracle E-Business Suite (EBS) and correspondingly launch the correct record for the agent who answers the call.

The following table shows the interactions keys for the Contact Center form.

Interaction Keys for the Contact Center Form
Interaction Key Description
occtSourceID Logical ID used to connect between multiple events of the same physical call. Multiple events generated from the same physical call must have the same occtSourceID value, that is, telephony middleware call IDs. SourceID values must be a number. Valid values are 0 and positive and negative numbers with magnitude 1.0E-130 to 9.99..E125 occtANI ANI. Must be <= 30 characters. occtDNIS DNIS. Must be <= 30 characters.
OcctClassification (Optional) Field passed for determining the appropriate media action for this ScreenPop event. Must be <= 64 characters.
occtANI ANI. Must be <= 30 characters.
occtDNIS DNIS. Must be <= 30 characters.
ContactNum Contact Number
PromotionCode Promotion Code
AccountCode Account Code
QuoteNum Quote Number
CustomerID Customer ID
Product Product
SystemName System Name
ContractNum Contract Number
PreferredID Preferred ID
ScreenPopType Screen Pop Type
occtCallBirthTime Call Begin Time
occtCallAnswerTime Call Answer Time
CustomerProductID Customer Product ID
InventoryItemID Inventory Item ID
InvoiceNum Invoice number
LotNum Lot Number
OrderNum Order Number
ProductName Product Name
PurchaseOrderNum Purchase Order Number
ReferenceNum Reference Number
RevisionNum Revision Number
RMANum RMA Number
SerialNum Serial Number
ServiceRequestNum Service Request Number
CustomerNum Customer Number
CustomerName Customer Name
LanguageCompetency Language Competency
KnowledgeCompetency Knowledge Competency
ProductCompetency Product Competency
occtMediaType Media Type
employeeID Employee ID
occtMediaItemID Media Item ID
AccountNum Account Number
SiteNum Site Number
RepairNum Repair Number
DefectNum Defect Number

The following table shows the interactions keys for the Service Request form.

Interaction Keys for the Service Request Form
Interaction Key Description Rank
ServiceRequestNum Service Request Number 1
SerialNum Serial Number 1
CustomerProductID Instance Number 1
TagNum Tag Number 1
AccountNum Account Number 2
CustomerNum Customer Number (Party Number) 3
EmployeeNum Employee Number 3
CountryCode Country Code 3
AreaCode Area Code 3
PhoneNumber Phone Number 3
occtANI Customer/Contact Phone 4
ProductName Product Name 5
InventoryItemID Inventory Item ID 5

The following table defines the ranking logic for incoming service request interaction keys.

Ranking Logic for Service Request Interaction Keys
Interaction Keys as Input Parameters to the Ranking Logic Result of the Ranking Logic
ServiceRequestNum is a parameter The Create Service Request form is populated with the passed service request number and is in update mode. For all other cases, the form is in create mode.
Any other rank 1 parameter The Create Service Request form is populated using that parameter, and no other parameter is checked.
No rank 1 parameter but at least one rank 2 parameter The system populates the data for that parameter and checks for any rank 5 parameter. Rank 3 and 4 parameters are not checked.
No rank 1 and 2 parameters but at least one rank 3 parameter The system populates the data for that parameter and checks for any rank 5 parameter. Rank 4 parameters are not checked.
No rank 1, 2, 3, or 4 parameters The system populates data based on the rank 5 parameter.

The following list shows the interactions keys for the eBusiness Center form:

The eBusiness Center is queried based on party_id. This party_id is derived from the above interaction key parameters that are passed to Oracle TeleSales. The first valid party_id is derived from these parameters in the order provided above. The ranking logic is such that after a valid party_id is found, the system ignores the other parameters in this order. If none of the parameters is valid, Universal Search is displayed.

An event is passed from the softphone application into EBS in the form of an XML message. The message contains multiple interaction keys based on which a record or subset can be identified. The softphone notifies the form by publishing an event. An example of an incoming XML message is:

<CCTSDK>
<event name="ScreenPop">
<data name="occtSourceID" value="134"/>
<data name="CustomerID" value="1234567"/>
<data name="occtANI" value="40666546"/>
<data name="occtDNIS" value="7404"/>
</event>

The softphone is responsible for integrating with the IVR and capturing IVR-collected data in its routing strategies. The softphone may choose to include this IVR data as Attached Variables and pass it on to this adapter. Any number of variables can be defined and passed to the adapter, and the adapter does not restrict any of those variables but sends all the information to EBS to parse.