This chapter covers the following topics:
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:
Implement an HTTP listener that processes the callout requests from the bean
Implement callout delivery by making HTTP requests to the client HTTP listener (third party)
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 |
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 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 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.
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:
AccountCode/AccountNum
ContactNum
CustomerNum
QuoteNum
OrderNum
ContractNum
ServiceRequestNum
CustomerID
occtANI
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.