Comments

Thursday, June 27, 2013

Oracle Basic Telephony Integration

Posted by at 11:59 PM Read our previous post
An integration of Oracle Universal Work Queue (UWQ) client with the third-party switch or middleware softphone that uses the Basic Telephony Adapter SDK is referred as Basic Telephony Integration.
By using the Telephony Adapter SDK to integrate the UWQ client with the third-party softphone, we can bypass all the servers used in server-side adapters. This integration type is referred to as client-side integration because it involves direct communication between two client applications: the third-party softphone and the UWQ client.

Basic Integration Architecture

 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         

The Basic Telephony SDK plug-in enables third-party telephony systems to communicate with the Oracle E-Business Suite by using one of two types of HTTP messages:

Callout: Messages are sent from Oracle E-Business Suite to the third-party system using a HTTP GET request.

Event: Messages are sent from a third-party system using an HTTP POST request.

The below diagram shows the sending and receiving of Callouts and Events.


Message Structure

Callout Messages
Following are few examples of the Callout messages sent by Ebusiness suite.

1. Register

http://localhost:<port>/?FunctionName=Register&
telesetNumber=<AgentExtnNumber>&
agentID=<AgentACDid>&ipAddress=<CRM IP Address>&port=<CRM Port>                             
                                       
2. Login

http://localhost:port/?FunctionName=Login&
telesetNumber=<AgentExtnNumber>&agentID=<AgentId>
&agentPassword=<ACD Password>&agentQueue=<ACD Queue>

3.  UnRegister

http://localhost:<port>/?FunctionName=Unregister&
telesetNumber=<AgentExtnNumber>&agentID=<AgentACDId>

4. Logout

http://localhost:port/?FunctionName=Logout&
telesetNumber=<AgentExtnNumber>&agentID=<AgentId>
&agentPassword=<ACD Password>&agentQueue=<ACD Queue>

5. Ready
The Ready Callout message is sent when agent becomes ready (first time login or after a break) to take calls. The message sent will be :

http://localhost:<port>/?FunctionName=Ready&
telesetNumber=<AgentExtnNumber>&agentID=<AgentId>

6. Not ready
The NotReady Callout message is sent when agent is not ready/unavailable  to take calls. The message sent will be :

http://localhost:<port>/?FunctionName=NotReady&
telesetNumber=<AgentExtnNumber>&agentID=<AgentId>

7. Check Status
The CheckStatus Callout message is sent by CRM on periodic basis to check connection and re-establish connection. The message sent will be:

http://localhost:<port>/?FunctionName=CheckStatus

8. Make Call 
The MakeCall Callout Message is sent when agent enters a number and presses Dialout in CRM. The message sent will be :

http://localhost:<port>/?FunctionName=MakeCall&
telesetNumber=<AgentExtnNumber>&
agentID=<AgentId>&
dialString=<Number to be dialed>

9. Response in case of error

<CCTSDK>
<event name="Error">
<data name="occtErrorMsg" value="<Error Message> "/>
</event>
</CCTSDK>

Event Messages
Following are few examples of the Event messages sent by the third party telephony system to ebusiness suite.

1. ScreenPop
ScreenPop message is used to trigger screen pop-up in UWQ. The same message is used for ScreenPop for incoming calls or calls established through outbound dialling.
The structure of XML message to be sent is as follows:

<CCTSDK>
<event name="ScreenPop">
<data name="occtSourceID" value="<InteractionUniqueId>"/>
<data name="occtANI" value="<Callers Number>"/>
<data name="occtDNIS" value="<Agent ExtnNumber>"/>
[<data name=”CustomerID” value=”<CustomerNumber>”/>]
[<data name=”ContactNum” value=”<RegisteredPhoneNumber>”/>]
[<data name=”ScreenPopType” value=”SR|OPPORTUNITY|EVENT”/>]
[<data name=”occtClassification” value=”SR|OPPORTUNITY|EVENT”/>]
[<data name=”AccountNum” value=”<Primary Account Number>”/>]
[<data name=”EventCode”  value=”<Event Registration Code>”/>]
[<data name=”ServiceRequestNum” value=”<SR Number>” />]
[<data name=”COMPAIGN_SCHEDULE_NAME” value=”<Compaign Name>”/>]
[<data name=”lastOperationCode” value=”<lastOperationCode>”/>]
[<data name=”language” value=”<language>” />]
</event>
</CCTSDK>

2. CallEstablished
CallEstablished message is sent when a call is established / connected. This message need to be sent after ScreenPop message. CRM uses this information to make Interaction History.
The structure of XML message to be is as follows:

<CCTSDK>
<event name="CallEstablished">
<data name="occtSourceID" value="<InteractionUniqueId>"/>
</event>
</CCTSDK>

The occtSourceID of this message should match with occtSourceID for corresponding ScreenPop message

3. CallReleased
CallReleased message is sent when a call is disconnected. CRM uses this information to make Interaction History.
The structure of XML message to be sent is as follows:

<CCTSDK>
<event name="CallReleased">
<data name="occtSourceID" value="<InteractionUniqueId>"/>
</event>
</CCTSDK>

The occtSourceID of this message should match with occtSourceID for corresponding ScreenPop message


1 comment:

  1. Nice article! It does a better job of explaining things than many of the Oracle docs I've looked at.

    I'm attempting an integration with Cisco. We have both the Cisco Client and Oracle Clients running on an agent's PC. The legacy environment is Cisco and we are trying to add the Oracle capability to perform ScreenPop's from the inbound info that is delivered to the Cisco client. One of the main things I am trying to achieve is passing ANI from the Cisco client to the Oracle client. The Cisco client has a few options to deliver info to the Oracle client (1. UDP; 2. HTTP; 3. Launch Macro; 4. Launch APP and pass parameters). Unfortunately, the HTTP option does not deliver the data to Oracle's client in XML format. Do you have a suggestion to address this challenge?

    ReplyDelete

© Oracle Apps CRM is powered by Blogger - Template designed by Stramaxon - Best SEO Template