ServiceGrid Article - Setup Guide Custom CallService

From DocWiki

Jump to: navigation, search

Contents

Overview

The Custom CallService is a service which is in a connection partner specific format. This service is useful when a customer in a connection partner is not able to process or send data in the Cisco ServiceGrid standard format provided by the Core CallService. The service sends valid SOAP messages. The message contains all important fields, used for both inbound and outbound transactions.

WSDL and Schema Location
SDCALL-Platform (EU production environment)

https://ws.solvedirect.com/ws/soap/custom/CallService?wsdl

https://ws.solvedirect.com/ws/soap/custom/CallService?xsd=1

ws.solvedirect.com is the host that depends on the sdcall platform.

SDCALL-STA-Platform (EU test environment)

https://sdcall-sta.solvedirect.com/ws/soap/custom/CallService?wsdl

https://sdcall-sta.solvedirect.com/ws/soap/custom/CallService?xsd=1

SJC1-Platform (US production environment)

https://sjc1.solvedirect.com/ws/soap/custom/CallService?wsdl

https://sjc1.solvedirect.com/ws/soap/custom/CallService?xsd=1

cisco-test-Platform (US test environment)

https://sdcall-sta.solvedirect.com/ws/soap/custom/CallService?wsdl

https://sdcall-sta.solvedirect.com/ws/soap/custom/CallService?xsd=1

VIE2-Platform (EU production environment)

https://vie2.solvedirect.com/ws/soap/custom/CallService?wsdl

https://vie2.solvedirect.com/ws/soap/custom/CallService?xsd=1

VIE2-beta-Platform (EU test environment)

https://vie2.beta.solvedirect.com/ws/soap/custom/CallService?wsdl

https://vie2.beta .solvedirect.com/ws/soap/custom/CallService?xsd=1

Communication Types
The Custom CallService provides the following two operations:

  1. Pushing data to Cisco ServiceGrid with an inbound communication using the putCall() method.
  2. Pulling data from Cisco ServiceGrid with an outbound communication using the getCall() method.

Configuring the above services are described in the following two sections:

  1. Inbound Setup
  2. Outbound Setup

Inbound Setup

The following steps describe how to set up a new communication including a trigger, a receiver, and a template. The communication can be later used for calling putCall.
Creating the Inbound Communication

To create a new Inbound Communication, follow these steps:

Step 1: Click the SD.basicdata group in the tree.You can find the New Communication.

Step 2: Click the MessageRules.

Step 3: Select All Communications.

Step 4: Select Create new inbound communication.

Setupguidecorecallservicecommunicationscreenshot.jpg


To select a converter and communication type, follow these steps:

Step 1: Select Converter as SD.xml 2.0-SDStandardXML 2.0.
Step 2: Select CommunicationType as HTTPS.soap-HTTPS SOAP.
Step 3: Click Next.

Outboundcomm selection.jpg


To enter a new communication master data, follow these steps:

Step 1: Enter the details in the given fields:

Field Name
Field Description
ShortName
Unique short name for communication. This field is limited to 12 characters. For example, SGdCusInbCo.
Name
Long name for communication, which describes the detailed function. This field is limited to 50 characters. For example, Setup Guide Cust Callservice Inbound Communication.

Setupguidecustomcallserviceinbound03-25113258.png

Step 2 : Click Save.

Creating the template

To create a template, follow these steps:

Step 1: Click the SD.basicdata group in the tree.

Step 2: Click the MessageRules.

Step 3: Select All Templates.

Step 4: Select Create a new template.

CreateNewTemplate.png

Step 5: Enter the details in the new Communication Template master data.

Step 6: Click Save.

OutBTemplate.png

Adding the template to the communication

To add a template, follow these steps:

Step 1: Click Add new template link as shown in the communication overview:

Setupguidecustomcallserviceoutbound04-25113407.png

Step 2: Choose the template as SGdCusInbTmp-Setup Guide Custom Inbound Callservice Template.

Step 3: Choose the template type as Inbound.

Setupguidecustomcallserviceinbound05-25113323-500px.png
Step 4: Click Save.

Creating the sender for communication

To create a new sender for communication, follow these steps:

Step 1: Select Add new sender inbound communication.

Step 2: Click Add new Sender.

Setupguidecorecallserviceinbound04-25111852-400px.png

Entering the new sender master data

To enter a new sender master data, follow these steps:

Step 1: Enter the details in the given fields:

Field Name
Field Description
Type
Select FixAddressString-HTTPS SOAP from the drop down list.
SystemName
SystemName depends on the fields of application for communication. Enter the keyword all for the communication to be active on all platforms. Other values include: beta, sjc1, sdcall, and so on.
Address
Enter the email id of the user who will call the service. For example, d3adm@cisco.com

Step 2: Click Save.

Commsenderdata.jpg


Connecting the message trigger for communication

To create a new inbound message trigger follow these steps:

Step 1: Click the SD.basicdata group in the tree.

Step 2: Click MessageRules.

Step 3: Select All Triggers.

Step 4: Select Create a new message trigger.

MessageTrigger1.png

Step 5: Select company, call system and trigger type as shown in the below figure:

Slide3.jpg

Step 6: Enter new message trigger master data details in the ShortName, Name and InboundType fields.

Newtrigger.jpg

Step 7: Click Save.

Summary

A trigger and a communication was successfully created.

The summary views should follow the screenshots provided below:

OutBreceiv.jpg


Outbound Setup

The following steps describe how to set up a new communication including a trigger, a receiver and a template. The communication can be later used for calling getCall.

Creating the outbound communication

To create a new Outbound Communication, follow these steps:

Step 1: Click the SD.basicdata group in the tree.You can find the New Communication.

Step 2: Click the MessageRules tab.

Step 3: Click the All Communications link. 

Step 4: Choose Create new outbound communication.

Setupguidecustcallservicecommunicationscreenshot.jpg

Selecting the converter and communication type

To select a converter and communication type, follow these steps:

Step 1: From the Converter drop-down list, choose SD.xsl-SDStandardXSL.
Step 2: From the Communication Type drop-down list, choose HTTPS.soap-HTTPS SOAP.
Step 3: Click Next.

Setupguidecustomcallserviceinbound02-25113238-400px.png

Entering the new communication master data

To enter a new communication master data, follow these steps:

Step 1: Enter the details in the given fields:

Field Name
Field Description
ShortName
Unique short name for communication. This field is limited to 12 characters. For example, SGdCusOubCom.
Name
Long name for communication which describes the detailed function. This field is limited to 50 characters. For example, Setup Guide Custom Callservice Outbound Communication.

Step 2 : Click Save.

OutNewCommMasterData.png

Creating the template

To create a template, follow these steps:

Step 1: Click the SD.basicdata group in the tree.

Step 2: Click the MessageRules.

Step 3: Select All Templates.

Step 4: Select Create a new template.

CreateNewTemplate.png

Step 5: Enter the details in the new Communication Template master data.

Step 6: Click Save.

Newtemplexample.jpg


The following shows a sample template:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
      <xsl:template match="/">
            <sd.call-xml>
                  <xsl:for-each select="SD.call">
                      <xsl:call-template name="CALL"></xsl:call-template>
                  </xsl:for-each>
           </sd.call-xml>
       </xsl:template>
      <xsl:template name="CALL">
          <transformedroottag>
             <sdcallid><xsl:value-of select="/SD.call/ID"></xsl:value-of></sdcallid>
             <providercallid><xsl:value-of select="/SD.call/SPCallID"></xsl:value-of></providercallid>
             <customercallid><xsl:value-of select="/SD.call/CustCallID"></xsl:value-of></customercallid>
             <xsl:for-each select="Attachments">
                 <xsl:variable name="attachmentelementname">
                  <xsl:value-of select="concat('att', position())"></xsl:value-of>
                </xsl:variable>
                <xsl:element name="{$attachmentelementname}">
                  <data><xsl:value-of select="DataBase64"></xsl:value-of></data>
                  <name><xsl:value-of select="FileName"></xsl:value-of></name>
               </xsl:element>
            </xsl:for-each>
         </transformedroottag>
      </xsl:template>
</xsl:stylesheet>

Adding the template to the communication

To add a template, follow these steps:

Step 1: Click the Add new template link as shown in the communication overview:

Setupguidecustomcallserviceoutbound04-25113407.png

Step 2: From the Template drop-down list, choose SGdCusInbTmp-Setup Guide Custom Outbound Callservice Template.

Step 3: From the Template Type drop-down list, choose Outbound.

Step 4: Click Save.

Setupguidecustomcallserviceinbound05-25113323-500px.png


Creating the receiver for communication

To create a receiver for communication, follow these steps:

Step 1: Select the Add new receiver outbound communication.

Step 2: Click Add new Receiver.

Setupguidecorecallserviceinbound04-25111852-400px.png

Entering the new sender master data

To enter a new sender master data, follow these steps:

Step 1: Enter the details in the given fields:

Field Name
Field Description
Type
Select FixAddressString-HTTPS SOAP from the drop down list.
SystemName
SystemName depends on the fields of application for communication. Enter the keyword all for the communication to be active on all platforms. Other values include: beta, sjc1, sdcall, and so on.
Address
Enter the email id of the user who will call the service. For example, d3adm@cisco.com.

Step 2 : Click Save.

Commsenderdata.jpg

Connecting the message trigger for communication

To create a new outbound message trigger, follow these steps:

Step 1: Click the SD.basicdata group in the tree.

Step 2: Click MessageRules.

Step 3: Select All Triggers.

Step 4: Select Create a new message trigger.

MessageTrigger1.png

Step 5: Select company, call system and trigger type as shown in the below figure:

Slide3.jpg


Step 6: Enter new message trigger master data details in the ShortName and Name fields.

MsgTriggerOutB.png
Step 7: Click Save.

Special features for attachment handling

The Custom CallService contains both inbound and outbound attachments.

Outbound Attachments

Attachments can be added to the XML-content in any structure. You can iterate over all attachments and put them in any context. All attachment data will be base64-encoded.

<xsl:for-each select="Attachments">
    <attfilename><xsl:value-of select="FileName"></xsl:value-of></attfilename>
    <attdata><xsl:value-of select="DataBase64"></xsl:value-of></attdata>
</xsl:for-each>

Inbound Attachments

You can also receive attachments in any format since Release 5.7. Ensure that the attachment is in the right place after the transformation.

<call>
    <attachments>
          <filename><xsl:value-of select=".//rootTag/attachmentFilename"></xsl:value-of></filename>
          <database64><xsl:value-of select=".//rootTag/attachmentTag"></xsl:value-of></database64>
    </attachments>
</call>

Limitations

Size of messages

Size of both the inbound and outbound messages are limited to 20MB.

Outbound Sample

If the outbound communication is configured properly, you can send a request to the platform.

<soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="urn:ws.solvedirect.com/webservices/custom">
      <soapenv:header></soapenv:header>
      <soapenv:body>
           <cus:getcall>
                <username>d3adm</username>
                <password>*******</password>
          </cus:getcall>
      </soapenv:body>
</soapenv:envelope>


The user you are using for calling the service should have the same email address in its master data as you configured in the receiver or sender.

If there are no calls queued for this communication, you will get an empty response:

<s:envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
     <s:body>
          <ns2:getcallresponse xmlns:ns2="urn:ws.solvedirect.com/webservices/custom">
                <calldata></calldata>
           </ns2:getcallresponse>
      </s:body>
</s:envelope> 


While updating any call in the callsystem that the trigger is listening to, you will get a response with expected template outcome:

<s:envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
     <s:body>
          <ns2:getcallresponse xmlns:ns2="urn:ws.solvedirect.com/webservices/custom">
                <calldata>
                     <sdcallid>274839744</sdcallid>
                     <providercallid></providercallid>
                     <customercallid></customercallid>
                     <att1>
                         <data>/9j/4AAQ...</data>
                         <name>testatt.jpg</name>
                     </att1>
                </calldata>
          </ns2:getcallresponse>
      </s:body>
</s:envelope> 


For a complete list of Cisco ServiceGrid Articles, go to the List of Articles page.

Rating: 0.0/5 (0 votes cast)

Personal tools