Re: TAPI 3.0 call attached data



On Jul 13, 4:55 pm, "Matthias Moetje [MVP]"
<moetje@xxxxxxxxxxxxxxxxxxx> wrote:
Kataria,

where is your TSP sending data to?

Where is the line of code where you try to receive the data?

Best regards,

Matthias Moetje
-------------------------------------
TERASENS GmbH
Augustenstraße 24
80333 Munich, GERMANY
-------------------------------------
Fon: +49 89 143370-0
Fax: +49 89 143370-22
e-mail: moetje at terasens dot com
www: www.terasens.com
-------------------------------------

:::::::::::::::::::::::::::::::

Hi Matthias,

We are using TAPI 3.0 and as per http://msdn2.microsoft.com/en-us/library/ms734213.aspx

We have to use ITCallInfo::GetCallInfoBuffer, called with the
CIB_CALLDATABUFFER member of CALLINFO_BUFFER

We are using VB and not able to find method GetCallInfoBuffer in
Interface ITCallInfo.

Request you if you could add a few lines the earlier code which show
how to access the xml CAD file

Information from the TSP:::::::::

Hi,

Please find below the short draft document that must help you with the
implementation.

1. How to access Call Attached Data:
Use dwCallDataOffset and dwCallDataSize fields of Microsoft
LINECALLINFO structure.

2. The format of the Call Attached Data is XML. The detailed
description is in the attachement.

:::::::::::::::::::

Detailed Description:::::::::::::::CallAttachedData.doc

CallAttachedData

Introducton

This Protocol defines XML representation of the data attached to
(associated with) a call provided by MX boxes.
The document is intended for use in a new development of interfaces
communicating with MX boxes.

Data attached to call

Every call has data associated with it. Data may be empty or contain a
lot of additional useful information about the call and its history.
For example, data may contain information that has been collected from
caller party via his/her conversation with IVR. It may contain
priority information about how important the call is and how it should
be handled. After call is routed to an agent helping to caller -
information may appear on his screen offering a better service.
Data received from MX box is in well formatted XML format that may be
verified with provided DTD.

Data lists

XML file with CallAttchedData represents one or multiple data lists
containing set of key-data pairs.
Root element (type of XML document) is CallAttachedData. This element
is always present inside well formed and verified XML document.
If there is a set of key-data pairs - they are presented in form of
element tags. Each element has two mandatory attributes: key and type.
In example below there is a pair with key DNIS that has string type
data 1-800-888-8888.
A key may refer to another data list. In the example below there is
key Customer with type datalist that include subset of its own
elements.
In case if there is an error in some element - it may contain error
element with code number and test description of the problem.

Formats of attributes and data used within XML document

CallAttachedData
It has three mandatory attributes:
· version - version of protocol used to form this XML file
· callID - unique call ID number
· timestamp - time stamp

version
Defines version number of DTD file verifying current XML document
Format: "1.0"

callID
Call ID number. It has followed format:
XXXXX-XX-XXXXX-XXX
^ ^ ^ ^
| | | |
| | | +- low portion of call counter (hex, 12 bits),
| | | example: 2B4
| | +- high portion of call counter (hex, 18 bits),
| | example: 002D5
| +- random number associated with box number (hex, 8 bits),
| example: 3F
+- box number (alpha, most significant 26 bits), example: 105TH
Example:
105TH-3F-002D5-2B4

timestamp
Timestamp of the CallAttachedData. Format: "2006-05-01T15:30:25"

element
This tag has two mandatory attributes:
· key - name of the key
· type - type of the data associated with that key

key
Format: any string value
type
Format: one of the followed enumerated values:
(bool|byte|word|long|string|datalist)
Default value:
"string"


error
This tag should include two tags:
· code - error code
· description - text string, describing the error
See Error codes for more details.


DTD
Here is Call Attached Data DTD that may be used for verifying XML
data:
<!ELEMENT CallAttachedData
(element*) >
<!ELEMENT element (#PCDATA|element|
error)* >
<!ELEMENT error
(code,description) >
<!ELEMENT code
(#PCDATA) >
<!ELEMENT description
(#PCDATA) >

<!ATTLIST CallAttachedData
version CDATA #FIXED "1.0"
callID CDATA #REQUIRED
timestamp CDATA
#REQUIRED >

<!ATTLIST element
key CDATA #REQUIRED
type (bool|byte|word|long|string|datalist)
"string" >


Example of XML files that contains call attached data
Here is example of the call attached data in form of XML file:
<?xml version="1.0"?>
<!DOCTYPE CallAttachedData PUBLIC "-//Zultys//DTD CAD 1.0 Strict//EN"
"http://yurio-pc1/DTD/CAD_1-0.dtd";>
<CallAttachedData version="1.0" callID="105TH-3F-002D5-2B4"
timestamp="2006-05-01T15:30:25">
<element key="DNIS" type="string">1-800-888-8888</element>
<element key="ANI" type="string">1-234-567-8901</element>
<element key="AgentID" type="long">1234567</element>
<element key="Customer" type="datalist">
<element key="FirstName" type="string">Bill</element>
<element key="LastName" type="string">Clinton</element>
<element key="DateOfBirth" type="string">1954-11-23</element>
<element key="Contacted" type="bool">false</element>
</element>
<element key="ExtraLongString" type="string">
ssssssssssssssssssssssssssssssss
<error>
15
<description>Data is truncated</description>
</error>
</element>
</CallAttachedData>


File contains root data list comprising of 5 keys with associated
data. One of the keys refers to the second data list, which contains
another set of 4 key-pairs.
This file has reference to CAD_1-0.dtd that may be used for
verification of the XML data content. This is primary method to refer
to DTD file.
In case you have difficulties to get CAD_1-0.dtd from the public place
provided, but you have to verify XML document in order to make sure
that it has complied to CAD_1-0.dtd you may include DTD content
directly into XML file.


Here is example of the same XML file as above with DTD part included
into it.
<?xml version="1.0"?>
<!DOCTYPE CallAttachedData [
<!ELEMENT CallAttachedData (element*)>
<!ELEMENT element (#PCDATA|element|error)*>
<!ELEMENT error (code,description)>
<!ELEMENT code (#PCDATA)>
<!ELEMENT description (#PCDATA)>

<!ATTLIST CallAttachedData
version CDATA #FIXED "1.0"
callID CDATA #REQUIRED
timestamp CDATA
#REQUIRED >

<!ATTLIST element
key CDATA #REQUIRED
type (bool|byte|word|long|string|datalist)
"string" >
]>

<CallAttachedData version="1.0" callID="105TH-3F-002D5-2B4"
timestamp="2006-05-01T15:30:25">
<element key="DNIS" type="string">1-800-888-8888</element>
<element key="ANI" type="string">1-234-567-8901</element>
<element key="AgentID" type="long">1234567</element>
<element key="Customer" type="datalist">
<element key="FirstName" type="string">Bill</element>
<element key="LastName" type="string">Clinton</element>
<element key="DateOfBirth" type="string">1954-11-23</element>
<element key="Contacted" type="bool">false</element>
</element>
<element key="ExtraLongString" type="string">
ssssssssssssssssssssssssssssssss
<error>
15
<description>Data is truncated</description>
</error>
</element>
</CallAttachedData>

Error codes
Any element may include error tag inside. It defines error code and
text description associated with that element.
Code Description Comment
1 Unknown error Error is not defined in this document
11 Unsupported type Data associated with the key has the type that
is not defined in this document
15 Data is truncated Example, string that was initially placed into
ADS is truncated in this XML file




Detailed Description:::::::::::::::CAD_1-0.dtd

<!-- XDT: CAD
v1.0 -->
<!-- Call Attached
Data -->
<!-- http://xxxx.com/DTD/ADS_1-0.dtd
-->
<!-- File
"CAD_1-0.dtd" -->
<!-- Copyright 2006 xxxx
Technologies -->

<!ELEMENT CallAttachedData
(element*) >
<!ELEMENT element (#PCDATA|element|
error)* >
<!ELEMENT error
(code,description) >
<!ELEMENT code
(#PCDATA) >
<!ELEMENT description
(#PCDATA) >

<!ATTLIST CallAttachedData
version CDATA #FIXED "1.0"
callID CDATA #REQUIRED
timestamp CDATA
#REQUIRED >

<!ATTLIST element
key CDATA #REQUIRED
type (bool|byte|word|long|string|datalist)
"string" >


.



Relevant Pages

  • Re: Determine if xml is malformed
    ... I'm really looking at how to easily check if the xml file is ... I have an xml file that looks like below. ... <!ATTLIST LIB version CDATA #REQUIRED> ... <!ATTLIST TEST Type CDATA #REQUIRED> ...
    (microsoft.public.dotnet.languages.vb)
  • Re: simplexml and CDATA
    ... element when parsing an xml file or string with simplexml. ... CDATA and what simplexml does. ... In CDATA sections, you can include e.g. ...
    (comp.lang.php)
  • Re: simplexml and CDATA
    ... element when parsing an xml file or string with simplexml. ... CDATA and what simplexml does. ... In CDATA sections, you can include e.g. ...
    (comp.lang.php)
  • Strip CDATA with regex
    ... I have a xml file where I need to strip the CDATA sections of any ...
    (alt.php)
  • Re: xml in plain text file on heavy load.
    ... even if the XML file is magically and perfectly ... I want to emphasize that IIS would never be caching that XML file on its own ... Application is NOT synchronizing access to your ASP pages. ...
    (microsoft.public.inetserver.iis)