Vous êtes sur la page 1sur 132

Sequence Diagrams

V11.X
Document Revision 1.4

y
nl
O
se
U
al
rn
te
In

Confidential and Proprietary Information of Verint


Systems Inc.
11/540,185; US 11/540,320; US 11/540,900; US 11/540,902;
19922012 Verint Systems Inc. All Rights Reserved Worldwide. US 11/567,808; US 11/567,852; US 11/583,381; US
Confidential and Proprietary Information of Verint Systems Inc. 11/608,340; US 11/608,350; US 11/608,358; US 11/616,490;
US 11/621,134; US 11/691,530; US 11/692,983; US
All materials (regardless of form and including, without 11/693,828; US 11/693,923; US 11/693,933; US 11/712,933;
limitation, software applications, documentation, and any other US 11/723,010; US 11/742,733; US 11/752,458; US
information relating to Verint Systems, its products or services) 11/776,659; US 11/824,980; US 11/831,250; US 11/831,257;
are the exclusive property of Verint Systems Inc. Only expressly US 11/831,260; US 11/831,634; US 11/844,759; US
authorized individuals under obligations of confidentiality are 11/872,575; US 11/924,201; US 11/937,553; US 11/959,650;
permitted to review materials in this document. By reviewing US 11/968,428; US 12/015,375; US 12/015,621; US
these materials, you agree to not disclose these materials to any 12/053,788; US 12/055,102; US 12/057,442; US 12/057,476;
third party unless expressly authorized by Verint Systems, and US 12/107,976; US 12/118,789; US 12/118,792; US
to protect the materials as confidential and trade secret 12/164,480; US 12/245,781; US 12/326,205; US 12/351,370;
information. Any unauthorized review, retransmission, US 12/416,906; US 12/464,694; US 12/466,673; US
dissemination or other use of these materials is strictly 12/483,075; US 12/497,793; US 12/497,799; US 12/504,492;
prohibited. If you are not authorized to review these materials, US 12/539,640; US 12/608,474; US 12/628,089; US
please return these materials (and any copies) from where they 12/630,030; US 12/684,027; US 12/686,213; US 12/708,558;
were obtained. All materials found herein are provided AS IS US 12/725,127; US 12/753,137; US 12/762,402; US
and without warranty of any kind. 12/768,194; US 12/792,796; US 12/840,227; US 12/840,233;
The Verint Systems Inc. products are protected by one or more US 12/852,144; US 12/879,868; US 12/887,059; US
of the following U.S., European or International Patents: USPN 12/887,089; US 12/888,445; US 12/891,620; US 12/915,868;
5,659,768; USPN 5,790,798; USPN 6,278,978; USPN US 12/915,941; US 12/916,006; US 12/940,508; US
6,370,574; USPN 6,404,857; USPN 6,510,220; USPN 12/942,111; US 12/964,891; US 13/005,996; US 13/008,283;
6,724,887; USPN 6,751,297; USPN 6,757,361; USPN US 13/011,870; US 13/011,871; US 13/016,998; US
6,782,093; USPN 6,952,732; USPN 6,959,078; USPN 13/036,923; US 13/096,145; US 13/096,148; US 13/096,153;
6,959,405; USPN 7,047,296; USPN 7,149,788; USPN US 13/114,620; US 13/149,655; US 13/155,343; US
7,155,399; USPN 7,203,285; USPN 7,216,162; USPN 13/182,672; US 13/187,438; US 13/189,514; and other U.S.
7,219,138; USPN 7,254,546; USPN 7,281,173; USPN and International Patents and Patents Pending.
7,284,049; USPN 7,325,190; USPN 7,376,735; USPN Certain components of this Software or software contained in
7,424,715; USPN 7,424,718; USPN 7,466,816; USPN this Product (collectively, Software) may be covered by so-
7,478,051; USPN 7,558,322; USPN 7,570,755; USPN called free or open source software licenses (Open Source
7,574,000; USPN 7,587,041; USPN 7,613,290; USPN Components), which includes any software licenses approved as
7,633,930; USPN 7,634,422; USPN 7,650,293; USPN open source licenses by the Open Source Initiative or any similar
7,660,307; USPN 7,660,406; USPN 7,660,407; USPN licenses, including without limitation any license that, as a
7,672,746; USPN 7,680,264; USPN 7,701,972; USPN condition of distribution of the Open Source Components
7,734,783; USPN 7,752,043; USPN 7,752,508; USPN licensed, requires that the distributor make the Open Source
7,769,176; USPN 7,774,854; USPN 7,787,974; USPN Components available in source code format. A license in each
7,788,286; USPN 7,792,278; USPN 7,792,671; USPN Open Source Component is provided to you in accordance with
7,801,055; USPN 7,817,795; USPN 7,822,018; USPN the specific license terms specified in their respective license
7,826,608; USPN 7,836,171; USPN 7,848,524; USPN terms. EXCEPT WITH REGARD TO ANY WARRANTIES OR OTHER
RIGHTS AND OBLIGATIONS EXPRESSLY PROVIDED DIRECTLY TO
7,853,006; USPN 7,852,994; USPN 7,853,800; USPN
YOU FROM VERINT, ALL OPEN SOURCE COMPONENTS ARE
7,853,753; USPN 7,864,946; USPN 7,873,156; USPN
PROVIDED "AS IS'' AND ANY EXPRESSED OR IMPLIED
7,881,216; USPN 7,881,471; USPN 7,882,212; USPN
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
7,882,217; USPN 7,885,813; USPN 7,899,178; USPN
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
7,899,180; USPN 7,899,176; USPN 7,904,481; USPN
PARTICULAR PURPOSE ARE DISCLAIMED.
7,903,568; USPN 7,904,325; USPN 7,907,142; USPN

y
Any third party technology that may be appropriate or necessary
7,913,063; USPN 7,920,482; USPN 7,925,889; USPN

nl
for use with the Verint Product is licensed to you only for use
7,930,314; USPN 7,949,552; USPN 7,953,621; USPN
with the Verint Product under the terms of the third party license
7,953,719; USPN 7,953,750; USPN 7,965,828; USPN
O
agreement specified in the Documentation, the Software or as
7,966,397; USPN 7,991,613; USPN 7,995,612; USPN
provided online at http://verint.com/thirdpartylicense. You may
8,000,465; USPN 8,005,676; USPN 8,015,042; USPN D606,983;
not take any action that would separate the third party
se

USPN RE40,634; USPN RE41,534; USPN RE41,608; AU


technology from the Verint Product. Unless otherwise permitted
2003214926; CA 2,474,735; CA 2,563,960; CA 2,564,127; CA
under the terms of the third party license agreement, you agree
2,564,760; CA 2,567,232; CA 2,623,178; CA 2,627,060; CA
U

to only use the third party technology in conjunction with the


2,627,064; CA 2,628,553; EP 1096382; EP 1248449; EP
Verint Product.
1284077; DE 1284077; FR 1284077; DE 833489; FR 833489;
al

GB 833,489; GB 2374249; IE 84821; IE 85519; IL 13532400;


NZ 534642; ZL 200520118289.3; ZL 200520118288.9; ZL VERINT, the VERINT logo, ACTIONABLE INTELLIGENCE,
rn

200520118287.4; USPN D606,983; USPN RE40,634; USPN POWERING ACTIONABLE INTELLIGENCE, INTELLIGENCE IN
RE41,534; USPN RE41,608; AU 2003214926; CA 2,474,735; CA ACTION, ACTIONABLE INTELLIGENCE FOR A SMARTER
WORKFORCE, VERINT VERIFIED, ENTERPRISE INTELLIGENCE
te

2,563,960; CA 2,564,127; CA 2,564,760; CA 2,567,232; CA


2,623,178; CA 2,627,060; CA 2,627,064; CA 2,628,553; EP SOLUTIONS, WITNESS ACTIONABLE SOLUTIONS, VOVICI, STAR-
GATE, RELIANT, VANTAGE, X-TRACT, NEXTIVA, EDGEVR, ULTRA,
In

1096382; EP 1248449; EP 1284077; DE 1284077; FR 1284077;


DE 833489; FR 833489; GB 833,489; GB 2374249; IE 84821; AUDIOLOG, WITNESS, the WITNESS logo, IMPACT 360, the
IE85519; IL 13532400; NZ 534642; ZL 200520118289.3; ZL IMPACT 360 logo, IMPROVE EVERYTHING, EQUALITY,
200520118288.9; ZL 200520118287.4; and other provisional CONTACTSTORE, CLICK2STAFF, BLUE PUMPKIN, GMT, and GMT
rights from one or more of the following Published U.S. Patent Planet are trademarks or registered trademarks of Verint Systems
Applications: US 10/061,491; US 10/467,899; US 10/633,357; Inc. or its subsidiaries. Other trademarks mentioned are the
US 11/166,630; US 11/345,587; US 11/359,195; US property of their respective owners.
11/359,319; US 11/359,356; US 11/359,357; US 11/359,358;
US 11/359,532; US 11/361,208; US 11/388,944; US Visit our website at www.verint.com/intellectualpropertynotice
11/394,408; US 11/394,410; US 11/394,794; US 11/395,759; for updated information on Verint Intellectual Property.
US 11/475,683; US 11/477,124; US 11/478,714; US
11/479,056; US 11/479,267; US 11/479,506; US 11/479,899; Document Revision 1.4
US 11/509,549; US 11/509,550; US 11/540,107; US Published February 6, 2013
Contents

1 Recorder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Recorder Controlled TDM Recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
Recording a Contact - Start Segment (CTI is detected before audio) . . . . . . . . . . . . . .7
Segment and Contact Information Tagging . . . . . . . . . . . . . . . . . . . . . . . . . 10
Recording a Contact - Start Segment (Audio is detected before CTI) . . . . . . . . . . . . . 13
Recording a CTI Contact - Update Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Recording a CTI Contact - End Segment . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Recorder Controlled TDM Recording Logs . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Recorder Controlled VoIP Interception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Recording a Contact - Start Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Recording a Contact - Update Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Recording a Contact - End Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Recorder Controlled VoIP Interception Logs . . . . . . . . . . . . . . . . . . . . . . . . . 33
CTI Controlled VoIP Interception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Recording a Contact - Start Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Recording a Contact - Update Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Recording a Contact - End Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
CTI Controlled VoIP Interception Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
VoIP Delivery with Avaya DMCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Softphone Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Recording using Service Observe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Recording using Single-Step Conference . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Recording a Contact - Start Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

y
Segment and Contact Information Tagging . . . . . . . . . . . . . . . . . . . . . . . . . 62
Recording a Contact - Update Data Segment . . . . . . . . . . . . . . . . . .
nl
. . . . . . 64
O
Recording a Contact - End Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
VoIP Delivery with Avaya DMCC Process Logs . . . . . . . . . . . . . . . . . . . . . . . . 68
se

2 WebLogic Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
U

WebLogic Authentication Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72


WebLogic Authentication with SSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
al

WebLogic Authentication Process Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . 75


rn

3 User Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
te

User Management Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80


User Management Synchronization Components . . . . . . . . . . . . . . . . . . . . . . . 80
In
Contents

User Management Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82


User Management Process Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

4 Speech Analytics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Speech Transcription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Speech Transcription Log File Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Prepare Files for Transcription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Retrieve Files for Transcription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Transcribe Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Transcription Logs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Transcription Data and Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Speech Indexing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Speech Indexing Log File Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Prepare Files for the Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Full (Main) Index Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Incremental Index Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Indexing Logs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Index Components and Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 4

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1

Recorder

Recorder Controlled TDM Recording,page 6


Recorder Controlled VoIP Interception,page 26
CTI Controlled VoIP Interception,page 38
VoIP Delivery with Avaya DMCC,page 51

y
nl
O
se
U
al
rn
te
In
Chapter 1 - Recorder Recorder Controlled TDM Recording

Recorder Controlled TDM Recording


Recorder Controlled TDM Recording records the entire duration of a contact. Using an
Integration Service, the CTI-based recorder receives CTI events for the following contact
lifespan:
1 Start Segment: occurs when the CTI server sends a Start Call event to the CTI
Adapter at the beginning of a contact or when a new segment begins within the
contact.
Recording start segment includes the following processes:
Recording a Contact - Start Segment (CTI is detected before audio),page 7
Segment and Contact Information Tagging,page 10
Recording a Contact - Start Segment (Audio is detected before CTI),page 13
2 Updated Data: occurs when the CTI Adapter receives an update data event from the
switch or CTI server during the contact recording. At this point, the system tags
attributes that are provided by the event to the recorded segment.
3 End Segment: occurs when the CTI Adapter receives a Call End event from the
switch or CTI Server.
If the CTI data does not include the agents PBX ID, the Agent Initiated Monitoring (AIM)
must be installed on the agents workstation to identify the agent conducting the
contact.

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 6

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

Recording a Contact - Start Segment (CTI is detected before


audio)
Start Segment Logs - CTI detected before Audio,page 19

Integration
Switch/CTI Server CTI Adaptor TDM Recorder Screen Recorder Consolidator MDL
Service

Start Call event


1 + Ext + CTI Data

2 Start Call event +


Ext + CTI Data

3 Create segment + create contact


with CONTACTID identifier

4 Verify Business Rules

SEENAUDIO
+Channel

Allocate Audio INUM

Create INUM.wav for audio and


INUM.xml for metadata

STARTED + Channel
+ Audio INUM

Associate Audio INUM with segment


5

Identify workspace for Extension

START + Workstation

y
Allocate Screen INUM

nl
Create INUM.scn file for screen
and INUM.xml for metadata
O
STARTED + Workstation + Screen INUM
se

Associate Screen INUM


with segment
U

6 Tag Segment and Contact information to the audio segment


al
rn

7 Tag Segment and Contact information to the screen segment


te
In

Impact 360 V11.1 Sequence Diagrams 7

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

1 When a contact is initiated or a new segment is initiated (for example, when a


contact is transferred), the CTI server sends a Start Call event to the CTI Adapter.
The Start Call event identifies the recorded extension (and trunk if available), plus
additional CTI attributes (for example, CLI, Call Direction, Custom Data, etc.).
2 The CTI Adapter transfers the event to the Integration Service.
3 The Integration Service creates a segment.
If this is the first segment, a contact is created.
4 The Integration Service refers to its Business Rules to verify whether or not this
segment qualifies for audio or screen recording.
As part of the Business Rules evaluation mechanism, the Integration Service also
calculates the Conditional Custom Data fields (CCD).
5 The segment qualifies for one or the following:
Audio Recording
i. The TDM Recorder identifies VOX on the channel and sends a SEENAUDIO
message to the Integration Service.
ii. The TDM recorder allocates an INUM for the audio recording and saves the
audio as a INUM.wav file. All contact, segment and audio recording
information is saved in the Audio INUM.xml file.
The INUM identifier is a unique number allocated by the Recorder (that is,
screen and audio).
iii. If the beginning of the audio recording is successful, the TDM recorder sends
a STARTED message back to the Integration Service. The message includes a
recording INUM and channel.
If the audio recording is not successful, an alarm is generated.
iv. The Integration Service associates the Audio INUM with the segment.
NOTE The INUM is a unique 15 digit recording identifier. The first 6 digits represent the
Recorder Serial Number, as appears in the Recorder Settings page in Enterprise
Manager. The last 9 digits are the Recording Serial Number, starting with

y
000000001. For instance, if Recorder Serial Number is 934065 the first INUM will

nl
be 934065000000001 O
NOTE If the Recorder detected VOX activity for more than five seconds before the CTI
se

event was received, these five seconds will be included in the segment, and the
VOX start time will be used for naming the file and marking the contact.
U

If the Recorder detected VOX activity started more than 5 seconds before the CTI
event, the audio before the CTI event will be broken off as separate recording
(with an INUM). This segment will start at CTI start.
al

The 5 seconds overlay is configurable per Data Source.


rn
te
In

Impact 360 V11.1 Sequence Diagrams 8

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

Screen Recording
The Integration Service identifies the agent workstation IP associated with the
recorded extension, as well as the agent and PBX ID.
The agent workstation IP to be recorded is identified as a result of the seating
arrangement for the phone and screen data sources. For details, see the
Recorder Agent Associations Guide.
If the segment qualifies for a screen recording:
i. The Integration Service sends a START message to the Screen Recorder. The
START message contains the required agent workstation IP.
ii. The Screen Recorder allocates an INUM for the screen recording and saves
the screens in the INUM.scn file.
All screen recording information is saved in the Screen INUM.xml file.
iii. The Screen Recorder activates recording on the requested agent workstation
IP using the Screen Capture Service running on the workstation.
iv. The Integration Service associates the Screen INUM with the segment.

6 Integration Service sends PRPTAG, TAG, SESSION and CONTACT messages to TDM
Recorder in order to tag segment and contact information to the audio recording
INUM. For detailed flow see Segment and Contact Information Tagging,page 10.
7 Integration Service sends PRPTAG, TAG, SESSION and CONTACT messages to
Screen Recorder in order to tag segment and contact information to the screen
recording INUM. For detailed flow see Segment and Contact Information
Tagging,page 10.

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 9

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

Segment and Contact Information Tagging


Updating Sessions and Contact Information Logs,page 24

Integration
Switch/CTI Server CTI Adaptor IP Recorder Screen Recorder Consolidator MDL
Service

PRPTAG + Audio INUM


+ keep flag
1

Save to Audio INUM.XML

TAG + Audio INUM


+ Session attributes
2

Save to Audio INUM.XML

SESSION + Audio INUM +


SESSIONINUM
3

Save to Audio INUM.XML

CONTACT + Audio INUM +


CONTACTID
4

Save to Audio INUM.XML

PRPTAG + Screen INUM


+ keep flag
5

Save to Screen INUM.XML

TAG + Screen INUM


+ Session attributes
6

Save to Screen INUM.XML

SESSION + Screen INUM +


SESSIONINUM
7

Save to Screen INUM.XML

y
CONTACT + Screen INUM +

nl
CONTACTID
8 O
Save to Screen INUM.XML

SCREEN + Audio INUM + Screen INUM


se

Save to Audio INUM.XML


U

SCREEN + Audio INUM + Screen INUM


10
al

Save to Screen INUM.XML


rn
te
In

Impact 360 V11.1 Sequence Diagrams 10

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

1 The Integration Service decides whether the audio recording is consolidated to the
Database or not. The decision is based on system and extension configuration
parameters, such as Recording mode, as well as real-time data. The Integration
Service sends a PRPTAG message to the TDM Recorder, indicating whether to keep
the audio recording. The Keep flag is updated in the Audio INUM.xml file. If the
Keep Flag is zero, the Consolidator skips this recording while transferring the
information to the Database.
2 The Start Call event contains standard segment attributes such as ANI, DNIS, etc.
as well as custom data attributes. These attributes are tagged to the segment. The
Integration Service sends the TAG message containing the attributes to the TDM
Recorder.
The TDM Recorder updates the attributes in the Audio INUM.xml file.
3 The Integration Service sends a SESSION message to the TDM Recorder to signify
that a segment was created for the INUM.
The TDM Recorder updates the segment number in the Audio INUM.xml file.
The SESSIONINUM is the INUM of the primary recording in the specific segment.
Typically the first audio recording is considered the primary recording of the
segment. If no audio was recorded (for example a business rule has fired only for
screen recording) the first screen recording is the primary recording of the segment.
If there is more than one recording that belongs to the segment, the SESSION
message specifies a list of children recordings, including Start time and End time
of each recording. This enables the stitching of several recordings during playback
of the segment's audio.
4 The Integration Service sends a CONTACT message to the TDM Recorder to signify
that the recording belongs to a contact.
The TDM Recorder updates the information in the Audio INUM.xml file.
5 The Integration Service decides whether the screen recording is consolidated to the
Database or not. The Integration Service sends a PRPTAG message to Screen
Recorder indicating whether to keep the screen recording. The Keep flag is
updated in the Screen INUM.xml file. If the Keep flag is zero, the Consolidator
skips this recording while transferring the information to the Database.

y
nl
6 The Integration Service sends the TAG message containing the segment attributes
to the Screen Recorder.
O
The Screen Recorder updates the attributes in the Screen INUM.xml file.
se

7 The Integration Service sends a SESSION message to the Screen Recorder to


signify that a segment was created for the INUM.
U

The Screen Recorder updates the segment number in the Screen INUM.xml file.
al

The SESSIONINUM is the INUM of the primary recording in the specific segment.
Typically the first audio recording is considered the primary recording of the
rn

segment. If no audio was recorded (for example a business rule has fired only for
screen recording) the first screen recording is the primary recording of the segment.
te
In

Impact 360 V11.1 Sequence Diagrams 11

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

8 The Integration Service sends a CONTACT message to the Screen Recorder to


signify that the recording belongs to a contact.
The CONTACTID is a unique identifier of a contact generated by Integration Service.
The Screen Recorder updates the information in the Screen INUM.xml file.
9 The Integration Service sends a SCREEN message to the TDM Recorder to link
between the primary audio recording and the screen recording. This information is
vital to enable simultaneous playback of audio and screen.
10 The Integration Service sends a SCREEN message to the Screen Recorder to link
between the primary audio recording and the screen recording.

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 12

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

Recording a Contact - Start Segment (Audio is detected before


CTI)
Start Segment Logs - Audio detected before CTI,page 21

Integration
Switch/CTI Server CTI Adaptor TDM Recorder Screen Recorder Consolidator MDL
Service

SEENAUDIO
+Channel

Allocate Audio INUM

1 Create INUM.wav for audio and


INUM.xml for metadata

STARTED + Channel
+ Audio INUM

Save Audio INUM for future


2
association with segment

Start Call event


+ Ext + CTI Data
3
Start Call event +
Ext + CTI Data
4

5 Create segment + create contact


with CONTACTID identifier

6 Verify Business Rules

7 Associate Audio INUM with segment

Identify workspace
for Extension
START + Workstation

8 Allocate Screen INUM

y
nl
STARTED + Workstation + Screen INUM

Create INUM.scn file for screen


and INUM.xml for metadata
O
Associate Screen INUM
with segment
se

9 Tag Segment and Contact information to the audio segment


U

10 Tag Segment and Contact information to the screen segment


al
rn
te

1 Audio Recording
In

i. The TDM Recorder identifies VOX on the channel and sends a SEENAUDIO
message to the Integration Service.

Impact 360 V11.1 Sequence Diagrams 13

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

ii. The TDM recorder allocates an INUM for the audio recording and saves the
audio as a INUM.wav file. All contact, segment and audio recording
information is saved in the Audio INUM.xml file.
The INUM identifier is a unique number allocated by the Recorder (that is,
screen and audio).
iii. If the beginning of the audio recording is successful, the TDM recorder sends
a STARTED message back to the Integration Service. The message includes a
recording INUM and channel.
If the audio recording is not successful, an alarm is generated.
2 The Integration Service saves the Audio INUM to be later associated with a segment
once a segment is created
3 When a contact is initiated or a new segment is initiated (for example, when a
contact is transferred), the CTI server sends a Start Call event to the CTI Adapter.
The Start Call event identifies the recorded extension (and trunk if available), plus
additional CTI attributes (for example, CLI, Call Direction, Custom Data, etc.).
4 The CTI Adapter transfers the event to the Integration Service.
5 The Integration Service creates a segment.The saved Audio INUM is associated with
the segment.
If this is the first segment, a contact is created.
6 The Integration Service refers to its Business Rules to verify whether or not this
segment qualifies for audio or screen recording.
As part of the Business Rules evaluation mechanism, the Integration Service also
calculates the Conditional Custom Data fields (CCD).
7 Screen Recording
The Integration Service identifies the agent workstation IP associated with the
recorded extension, as well as the agent and PBX ID.
The agent workstation IP to be recorded is identified as a result of the seating
arrangement for the phone and screen data sources. For details, see the
Recorder Agent Associations Guide.

y
nl
If the segment qualifies for a screen recording: O
i. The Integration Service sends a START message to the Screen Recorder. The
START message contains the required agent workstation IP.
se

ii. The Screen Recorder allocates an INUM for the screen recording and saves
the screens in the INUM.scn file.
U

All screen recording information is saved in the Screen INUM.xml file.


al

iii. The Screen Recorder activates recording on the requested agent workstation
IP using the Screen Capture Service running on the workstation.
rn

iv. The Integration Service associates the Screen INUM with the segment.
te

8 Integration Service sends PRPTAG, TAG, SESSION and CONTACT messages to TDM
In

Recorder in order to tag segment and contact information to the audio recording
INUM. For detailed flow see Segment and Contact Information Tagging,page 10.

Impact 360 V11.1 Sequence Diagrams 14

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

9 Integration Service sends PRPTAG, TAG, SESSION and CONTACT messages to


Screen Recorder in order to tag segment and contact information to the screen
recording INUM. For detailed flow see Segment and Contact Information
Tagging,page 10.

Segment and Contact Information Tagging


The relevant Segment and Contact Information Tagging for the Recording a Contact -
Start Segment (Audio is detected before CTI) is exactly the same as in Recording a
Contact - Start Segment (CTI is detected before audio) section.
For information relating to sequence diagram and the process steps, see Segment and
Contact Information Tagging,page 10.

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 15

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

Recording a CTI Contact - Update Data


Update Data Logs,page 23

CTI Adaptor / MDL /


External Switch / Integration Screen Consolidator /
Integration TDM Recorder Application
CTI Server Service Recorder Recorder
Service Server

Data Update Event


1 + Ext + CTI Data

Data Update Event


2 + Ext + CTI Data

3 Verify Business Rules

TAG + INUM
4 + Custom Attributes

5 Save to INUM.xml

1 The CTI Server or switch sends an Update event to the CTI Adapter.
Typically, this event contains the recorded extension and several custom data
attributes.
2 The CTI Adapter transfers the event to the Integration Service.
3 The Integration Service refers to the Business Rules to verify whether or not this
segment qualifies for an audio or screen recording.

y
nl
4 Attributes are tagged to the recorded segment, according to the custom data
mapping configuration. The Integration Service sends attributes tagged to the
O
recorded segment as a TAG message to the TDM Recorder.
The TDM Recorder saves this information in the INUM.XML file.
se

NOTE The TAG message can provide updates for custom attributes as well as for
U

segment and contact attributes (for example, ANI, DNIS, Number of holds,
Contact Duration, etc.).
al

When the segment and/or contact is created or closed, the TAG message is sent to
rn

update the segment and the contact attributes.


te

5 The updated data is saved to the INUM.xml file.


In

Impact 360 V11.1 Sequence Diagrams 16

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

Recording a CTI Contact - End Segment


End Segment Logs,page 23

Integration
Switch/CTI Server CTI Adaptor TDM Recorder Screen Recorder Consolidator MDL
Service

End Call event


1 + Ext + CTI Data

2 End Start event +


Ext + CTI Data

3 Close segment

4 Tag Segment and Contact information to the audio segment

5 Tag Segment and Contact information to the screen segment

ENDAUDIO
+ Channel

Close INUM.wav
6
STOPPED + Channel
+ INUM

STOP + Workstation

7
STOPPED + Workstation

Close INUM.scn file

FINALIZE + INUM

Audio INUM.XML is ready to be


8 marked in DBS

y
FINALIZE + INUM

nl
Screen INUM.XML is ready to be
O
marked in DBS

Mark Audio and


se

9 Screen INUM.XMLs
in Central DBS
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 17

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

1 The CTI Server or switch sends an End Call event to the CTI Adapter.
Typically, this event contains the recorded extension and several custom data
attributes.
2 The CTI Adapter transfers the event to the Integration Service.
3 The Integration Service checks if it is currently recording this segment.
If the segment is being recorded, the Integration Service closes the segment. If this
is the last contact segment, the contact is closed.
4 Integration Service sends PRPTAG, TAG, SESSION and CONTACT messages to TDM
Recorder in order to tag segment and contact information to the audio recording
INUM. For detailed flow see Segment and Contact Information Tagging,page 10.
5 Integration Service sends PRPTAG, TAG, SESSION and CONTACT messages to
Screen Recorder in order to tag segment and contact information to the screen
recording INUM. For detailed flow see Segment and Contact Information
Tagging,page 10.
6 The TDM recorder identifies the VOX ended on the channel and sends an ENDAUDIO
message to the Integration Service. The TDM recorder closes the audio file and
sends a STOPPED message to the Integration Service that provides the recording
INUM.
It is possible that audio end will be detected before the end of the CTI call. In such
cases, step 5 will occur prior to step 1 and the rest of the flow remains the same.
NOTE The Integration Service ensures that the recording stopped, by waiting 6 seconds
for the STOPPED acknowledgement. The 6 seconds are added to the recorded
audio.

7 When the Integration Service closes the segment, a STOP message is sent to the
Screen recorder. The Screen Recorder terminates the Screen Capture's activity on
the agents workstation and sends a STOPPED acknowledgement for the STOP
request.
8 The Audio/Screen INUM.xml is ready to be marked in the database. The Integration
Service sends the FINALIZE message to the TDM and Screen recorders. The

y
FINALIZE message is generated only when all recordings of the contact are closed
and After Call Work is complete.
nl
O
9 This step represents the segment and contact marking dataflow and is triggered by
the FINALIZE message. The Consolidator updates the segment and the contact
se

information in the Central Database using the MDL infrastructure. The Consolidator
converts XML metadata to SOAP using XSLT. It uses the MDL web service to write
U

data to the database in SOAP format. For details, see the Marking Data Flow which
will be provided in a future version of this Document.
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 18

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

Recorder Controlled TDM Recording Logs


During the Recorder Controlled TDM Recording, process logs are generated for the
following:
Communication Between Integration Service and Recorder,page 19
Start Segment Logs - CTI detected before Audio, page 19
Start Segment Logs - Audio detected before CTI, page 21
Update Data Logs, page 23
End Segment Logs,page 23
Updating Sessions and Contact Information Logs,page 24
You can use the phrases (marked in blue) to search for a specific log line. For example,
to find the log associated with Start Call event, search for CallAdded.

Communication Between Integration Service and Recorder


Integration Service and Recorders communicate with each other via internal NGA
protocol. NGA messages that are sent and received by Integration Service are traced in
the Integration Service log. These messages specify the recorder role, recorder
computer name or IP address, message type and message parameters.
The following example is the NGA message portion sent from Integration Service to
Screen Recorder:
[NGAConnect|1434|H] 2012/06/27 17:50:44.066 NGA<SCREENCAPTURE, USCHI2K8REC,
10.31.250.32, 29503> Sending <2 START...
The following example is the NGA message portion received by Integration Service from
TDM Recorder:
[NGAConnect|17F0|H] 2012/06/27 17:50:39.346 NGA<TDMCAPTURE, USWDD2K8REC,
169.254.95.210, 29502> Received message <3 STARTED...

Start Segment Logs - CTI detected before Audio

y
Start Segment logs are produced by the Integration Service.
nl
O
The following is a list of the most common log lines created during the Start Segment
data flow.
se

Step 2: Start Call event + Ext + CTI Data


U

The CTI Adapter sends CTI events to the Integration Service. The CTI events are
handled by the Call Tracker. Typically, there is more than one CTI event that indicates a
al

new Start Call.


rn

The following is an example of a Siemens CSTA tracker that adds and updates a CTI call
in the Call Model when the call starts:
te

[Call |1434|D] 2012/06/27 17:50:38.826 Generic<Siemens>:


In

CallAdded<Ringing, 1340828205673> Configured Lines: [Extension<1, 550484>,


Trunk<1, 134235976>]

Impact 360 V11.1 Sequence Diagrams 19

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

[Call |1434|D] 2012/06/27 17:50:39.056 Generic<Siemens>:


CallUpdate<Active, 1340828205673> Configured Lines: [Extension<1, 550484>,
Trunk<1, 134235976>]
The latter logs reflect the changes associated with the call participants and the state of
the call. Active state indicates that a call is established and the call participants are
talking. Additional states that reflect the CTI events received for that extension, like
OnHold, can appear with CallUpdate.
When the call ends, the CallRemove message appears as shown in the following log:
[Call |1434|D] 2012/06/27 17:52:28.038 Generic<Siemens>: CallRemove<Idle,
1340828205673> Configured Lines: [Trunk<1, 134235976>, Extension<1, 550484>]

Step 3: Create segment + create contact with CONTACTID identifier


If the call is a new agent call, a new segment and contact are created. The following is
an example of the addition of a trunk device to the new segment and contact:
[Session |1434|I] 2012/06/27 17:50:38.826 Setting Connection <156285977651>
<Trunk<1, 134235976>, 1340828205673> to new Session<9114169183880000161>
State<Running> in new Contact<9114169183880000161>
If the call is a new agent call when the agent is already participating in a contact (for
instance, a customer is put on hold while the agent places a new consultation call to a
supervisor), a new segment is created and associated with an existing contact as shown
in the following log example:
[Session |1434|I] 2012/06/27 17:52:37.348 Setting Connection <156285976756>
<Trunk<1, 134236148>, 1340828205436> to new Session<9114169195730000161>
State<Running> in Contact<9114169100430000161>

Step 4: Verify Business Rules


The following is an example of an business rule evaluation of the Enterprise Audio and
Screen Recording rule:
[BusinessRu|1434|H] 2012/06/27 17:50:38.826 Evaluating Business Rule <1,
Enterprise Audio and Screen Recording, RecordingAction<RecordAll, 100, 60,
false, , >> against Contact<9114169183880000161>

y
The following is an example of a log that is created when the rule is evaluated as true:
[RequestedC|1434|D] 2012/06/27 17:50:38.826 Business Rule <1, Enterprise Audio
nl
and Screen Recording, RecordingAction<RecordAll, 100, 60, false, , >> fired
O
content type <Audio> on Contact<9114169183880000161>
se

The above log will not appear in cases where the specific business rule did not fire for
the segment or contact.
U

Step 5: Audio / Screen Recording


al

In the following log example, the TDM recorder detected an audio on the channel,
rn

allocated an INUM and started recording:


[NGAConnect|17F0|H] 2012/06/27 17:50:39.346 NGA<TDMCAPTURE, USWDD2K8REC,
te

169.254.95.210, 29502> Received message <3 SEENAUDIO MC:459:>


In

[NGAConnect|17F0|H] 2012/06/27 17:50:39.346 NGA<TDMCAPTURE, USWDD2K8REC,


169.254.95.210, 29502> Received message <3 STARTED CMDID:: MC:459:
INUM:464001000995896:>

Impact 360 V11.1 Sequence Diagrams 20

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

As shown in the following log, the Integration Service associates the recording with the
segment:
[Session |17F0|D] 2012/06/27 17:50:39.346 Session<9114169183880000161>
State<Running> has new Parent<Recording<464001000995896>>, replacing (NULL).
New StitchId<464001000995896>
In the following log example, the Integration Service requests the Screen Recorder to
start recording. The Screen Recorder responds with a STARTED message when recording
is started.
[NGAConnect|1434|H] 2012/06/27 17:50:44.066 NGA<SCREENCAPTURE, USCHI2K8REC,
10.31.250.32, 29503> Sending <2 START CMDID:USWDD2K8REC SCREENID 1765:
PC:10.31.242.154: DATAPORTGROUP:82:?>
[NGAConnect|17F0|H] 2012/06/27 17:50:44.066 NGA<SCREENCAPTURE, USCHI2K8REC,
10.31.250.32, 29503> Received message <2 STARTED CMDID:USWDD2K8REC SCREENID
1765: PC:10.31.242.154: INUM:314001000105372:>
In the following log example, the Integration Service associates a new screen recording
with the segment:
[SingleRole|17F0|I] 2012/06/27 17:50:44.066 Matched new <SC Video>
Recording<314001000105372> to Contact<9114169184400000161>
Session<9114169184400000161> State<Running>

Start Segment Logs - Audio detected before CTI


Start Segment logs are produced by the Integration Service.
The following is a list of the most common log lines created during the Start Segment
data flow.

Step 4: Start Call event + Ext + CTI Data


The CTI Adapter sends CTI events to the Integration Service. The CTI events are
handled by the Call Tracker. Typically, there is more than one CTI event that indicates a
new Start Call.
The following is an example of a Siemens CSTA tracker that adds and updates a CTI call
in the Call Model when the call starts:

y
nl
[Call |1434|D] 2012/06/27 17:50:38.826 Generic<Siemens>:
CallAdded<Ringing, 1340828205673> Configured Lines: [Extension<1, 550484>,
O
Trunk<1, 134235976>]
[Call |1434|D] 2012/06/27 17:50:39.056 Generic<Siemens>:
se

CallUpdate<Active, 1340828205673> Configured Lines: [Extension<1, 550484>,


Trunk<1, 134235976>]
U

The latter logs reflect the changes associated with the call participants and the state of
the call. Active state indicates that a call is established and the call participants are
al

talking. Additional states that reflect the CTI events received for that extension, like
OnHold, can appear with CallUpdate.
rn

When the call ends, the CallRemove message appears as shown in the following log:
te

[Call |1434|D] 2012/06/27 17:52:28.038 Generic<Siemens>: CallRemove<Idle,


1340828205673> Configured Lines: [Trunk<1, 134235976>, Extension<1, 550484>]
In

Impact 360 V11.1 Sequence Diagrams 21

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

Step 5: Create segment + create contact with CONTACTID identifier


If the call is a new agent call, a new segment and contact are created. The following is
an example of the addition of a trunk device to the new segment and contact:
[Session |1434|I] 2012/06/27 17:50:38.826 Setting Connection <156285977651>
<Trunk<1, 134235976>, 1340828205673> to new Session<9114169183880000161>
State<Running> in new Contact<9114169183880000161>
If the call is a new agent call when the agent is already participating in a contact (for
instance, a customer is put on hold while the agent places a new consultation call to a
supervisor), a new segment is created and associated with an existing contact as shown
in the following log example:
[Session |1434|I] 2012/06/27 17:52:37.348 Setting Connection <156285976756>
<Trunk<1, 134236148>, 1340828205436> to new Session<9114169195730000161>
State<Running> in Contact<9114169100430000161>

Step 6: Verify Business Rules


The following is an example of an business rule evaluation of the Enterprise Audio and
Screen Recording rule:
[BusinessRu|1434|H] 2012/06/27 17:50:38.826 Evaluating Business Rule <1,
Enterprise Audio and Screen Recording, RecordingAction<RecordAll, 100, 60,
false, , >> against Contact<9114169183880000161>
The following is an example of a log that is created when the rule is evaluated as true:
[RequestedC|1434|D] 2012/06/27 17:50:38.826 Business Rule <1, Enterprise Audio
and Screen Recording, RecordingAction<RecordAll, 100, 60, false, , >> fired
content type <Audio> on Contact<9114169183880000161>
The above log will not appear in cases where the specific business rule did not fire for
the segment or contact.

Step 7: Audio / Screen Recording


In the following log example, the TDM recorder detected an audio on the channel,
allocated an INUM and started recording:

y
[NGAConnect|17F0|H] 2012/06/27 17:50:39.346 NGA<TDMCAPTURE, USWDD2K8REC,

nl
169.254.95.210, 29502> Received message <3 SEENAUDIO MC:459:>
[NGAConnect|17F0|H] 2012/06/27 17:50:39.346 NGA<TDMCAPTURE, USWDD2K8REC,
O
169.254.95.210, 29502> Received message <3 STARTED CMDID:: MC:459:
INUM:464001000995896:>
se

As shown in the following log, the Integration Service associates the recording with the
segment:
U

[Session |17F0|D] 2012/06/27 17:50:39.346 Session<9114169183880000161>


State<Running> has new Parent<Recording<464001000995896>>, replacing (NULL).
al

New StitchId<464001000995896>
rn

In the following log example, the Integration Service requests the Screen Recorder to
start recording. The Screen Recorder responds with a STARTED message when recording
te

is started.
In

[NGAConnect|1434|H] 2012/06/27 17:50:44.066 NGA<SCREENCAPTURE, USCHI2K8REC,


10.31.250.32, 29503> Sending <2 START CMDID:USWDD2K8REC SCREENID 1765:
PC:10.31.242.154: DATAPORTGROUP:82:?>

Impact 360 V11.1 Sequence Diagrams 22

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

[NGAConnect|17F0|H] 2012/06/27 17:50:44.066 NGA<SCREENCAPTURE, USCHI2K8REC,


10.31.250.32, 29503> Received message <2 STARTED CMDID:USWDD2K8REC SCREENID
1765: PC:10.31.242.154: INUM:314001000105372:>
In the following log example, the Integration Service associates a new screen recording
with the segment:
[SingleRole|17F0|I] 2012/06/27 17:50:44.066 Matched new <SC Video>
Recording<314001000105372> to Contact<9114169184400000161>
Session<9114169184400000161> State<Running>

Update Data Logs


The following example shows the TAG message that is sent to the recorder to tag
updated custom data fields. Custom data fields appear as key:value: pairs where the
key is the custom attribute name.
[NGAConnect|1428|H] 2012/06/21 12:34:38.593 NGA<IPCapture, TLWVNKNG72,
169.254.197.121, 29504> Sending <6 TAG INUM:852006000000337: TIMEONHOLD:0:
EXTENDEDCALLHISTORY:Unknown,StartRecord,StartRecord: LOGGEDONDURATION:65281:
EMPLOYEEGROUP:Admin group: SERIALNUMBER:852006: NUMBEROFTIMESTRANSFERRED:0:
PAUSEDURATION:0: NUMBEROFTIMESCONFERENCE:0: NUMBEROFHOLDS:0: ORGANIZATION:TLV
Admins: PARTIES:8007: STARTTAG4:started4: STARTTAG5:started5:
STARTTAG2:started2: NETWORKID:tlvlabrecs\aviadmin: ULTRAAGENTID:852000201:
AGENTPK:201: DNIS:: SCREENUNIT:852006: ANI:: DATASOURCEULTRAID:852000201:
AGENTNAME:dana user: WORKSTATION:tlwsannadsk2: AGENTID:123: EXTENSION:8007:
CALLDIRECTION:Unknown: CALLID:1340205170746: DATASOURCENAME:Cisco IP DS Anna:
DEVICENAME:8007: CHANNELNUMBER:000000337: ?>

End Segment Logs


The following is a list of the logs created during the End Segment data flow.

Step 2: End Call event + Ext + CTI Data


The following log is created when the CTI Adapter sends events to the Integration
Service that indicate call ends. Events are handled by the call tracker.

y
nl
[Call |1434|D] 2012/06/27 17:52:49.799 Generic<Siemens>: CallRemove<Idle,
1340828205549> Configured Lines: [Trunk<1, 134235980>, Extension<1, 50232>]
O
Step 3: Close Segment
se

The following log is created when the call is closed and there are no more participants:
U

[Session |1434|I] 2012/06/27 17:52:49.799 Removed final Connection


<156285977184> <Trunk<1, 134235980>, 1340828205549> from
al

Session<9114169136730000161> State<Running> in Contact<9114169136730000161>


rn

Step 4: Tag Segment + Contact Information to the Audio Segment


te

For details see Updating Sessions and Contact Information Logs,page 24


In

Impact 360 V11.1 Sequence Diagrams 23

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

Step 5: Tag Segment + Contact Information to the Screen Segment


For details see Updating Sessions and Contact Information Logs,page 24

Step 6: ENDAUDIO + Channel


The following log is an example of Audio recording stopped by the recorder:
[NGAConnect|17F0|H] 2012/06/27 17:52:50.619 NGA<TDMCAPTURE, USWDD2K8REC,
169.254.95.210, 29502> Received message <3 ENDAUDIO MC:461:>
[NGAConnect|17F0|H] 2012/06/27 17:52:50.619 NGA<TDMCAPTURE, USWDD2K8REC,
169.254.95.210, 29502> Received message <3 STOPPED CMDID:: MC:461:
INUM:464001000995936:>
[SingleRole|17F0|D] 2012/06/27 17:52:50.619 Removing <TDM Audio>
Recording<464001000995936> from Contact<9114169136730000161>
Session<9114169136730000161> State<Closed>

Step 7: STOP + Workstation


The following is an example of a log that is created when IS requests to stop screen
recording on a specific workstation IP. Screen recording is stopped and responds with a
STOPPED message containing the screen recording INUM.
[NGAConnect|1434|H] 2012/06/27 17:52:56.239 NGA<SCREENCAPTURE, USCHI2K8REC,
10.31.250.32, 29503> Sending <2 STOP CMDID:USWDD2K8REC SCREENID 1781:
PC:10.31.241.59: DATAPORTGROUP:82:?>
[NGAConnect|17F0|H] 2012/06/27 17:52:56.239 NGA<SCREENCAPTURE, USCHI2K8REC,
10.31.250.32, 29503> Received message <2 STOPPED CMDID:USWDD2K8REC SCREENID
1781: PC:10.31.241.59: INUM:314001000105377:>

Step 8: FINALIZE
If there are more than one recording associated with the closed segment, all recordings
are finalized. The following is an example of the finalize audio recording log:
[NGAConnect|1024|H] 2012/06/27 17:53:01.799 NGA<TDMCAPTURE, USWDD2K8REC,
169.254.95.210, 29502> Sending <6 FINALIZE CMDID:FRAMEWORK/52571:
INUM:464001000995936:?>

y
The following is an example of the finalize screen recording log:
[NGAConnect|1024|H] 2012/06/27 17:53:01.799 NGA<SCREENCAPTURE, USCHI2K8REC,
nl
10.31.250.32, 29503> Sending <6 FINALIZE CMDID:USWDD2K8REC SCREENID 1782:
O
INUM:314001000105377:?>
se

Updating Sessions and Contact Information Logs


U

Step 1: PRPTAG + INUM + keep flag


al

The audio INUM is marked to be kept:


rn

[NGAConnect|17F0|H] 2012/06/27 17:50:39.346 NGA<TDMCAPTURE, USWDD2K8REC,


te

169.254.95.210, 29502> Sending <1 PRPTAG INUM:464001000995896: KEEP:true:


XMLKEEP:true: ROLLBACKREQUIRED:false:?>
In

Impact 360 V11.1 Sequence Diagrams 24

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled TDM Recording

Step 2: TAG + INUM + Session attributes


CTI attributes are tagged to the audio INUM. The following is an example of the multiple
TAG messages sent during recording:
[NGAConnect|17F0|H] 2012/06/27 17:50:39.346 NGA<TDMCAPTURE, USWDD2K8REC,
169.254.95.210, 29502> Sending <6 TAG CMDID:FRAMEWORK/52058:
INUM:464001000995896: EXTENDEDCALLHISTORY:Inbound: TIMEONHOLD:0:
LOGGEDONDURATION:9237: CALLINGPARTYNAME:7154568925: CALLINGPARTY:7154568925:
CALLEDPARTY:6200: SERIALNUMBER:464001: NUMBEROFTIMESTRANSFERRED:0:
NUMBEROFTIMESCONFERENCE:0: PAUSEDURATION:0: NUMBEROFHOLDS:0: DNIS:6200:
ANI:7154568925: DATASOURCEULTRAID:314000001: AGENTID:550484: EXTENSION:550484:
CALLDIRECTION:Inbound: TRUNK:134235976: FIREDBUSINESSRULES:Enterprise Audio
and Screen Recording: CALLID:1340828205673: DATASOURCENAME:Siemens:
DEVICENAME:550484: NUMBERDIALED:6200: CALLEDPARTYNAME:6200: CHANNELNUMBER:459:
?>

Step 3: SESSION + INUM + SESSIONINUM


The following is an example of when an audio INUM.xml file is updated with segment
INUM with standard segment attributes such us, duration, hold time, number of holds,
etc.
[NGAConnect|17F0|H] 2012/06/27 17:50:39.346 NGA<TDMCAPTURE, USWDD2K8REC,
169.254.95.210, 29502> Sending <6 SESSION CMDID:FRAMEWORK/52056:
INUM:464001000995896: SESSIONINUM:464001000995896: ULTRAID:: DURATION:0:
HOLDTIME:0: HOLDS:0: TIMEOFFSET:-300: ?>
The following is an example when a segment contains more than one audio recording.
The SESSION message is sent multiple times during the lifetime of a segment specifying
additional audio recordings that join that segment:

[NGAConnect|1434|H] 2012/06/27 17:52:28.788 NGA<TDMCAPTURE, USWDD2K8REC,


169.254.95.210, 29502> Sending <6 SESSION CMDID:FRAMEWORK/52416:
INUM:464001000995836: SESSIONINUM:464001000995836: ULTRAID:314000181:
DURATION:204: HOLDTIME:0: CHILDREN:2012-06-27T17%003a49%003a42.625-
05%003a00,464001000995875;2012-06-27T17%003a49%003a52.845-
05%003a00,464001000995879;2012-06-27T17%003a50%003a36.086-

y
05%003a00,464001000995894;2012-06-27T17%003a50%003a49.646-
05%003a00,464001000995901;2012-06-27T17%003a51%003a09.527-
nl
05%003a00,464001000995912: WRAPUPTIME:45: HOLDS:0: TIMEOFFSET:-300: ?>
O
Step 4: CONTACT + INUM + CONTACTID
se

The following is an example of when an audio INUM.xml file is updated with a contacts
U

contactid.
[NGAConnect|17F0|H] 2012/06/27 17:50:39.346 NGA<TDMCAPTURE, USWDD2K8REC,
al

169.254.95.210, 29502> Sending <6 CONTACT CMDID:FRAMEWORK/52057:


rn

INUM:464001000995896: CONTACTID:9114169183880000161: ?>


The following log indicates that the start recording process was successful and a new
te

audio recording was matched to a segment:


In

[SingleRole|17F0|I] 2012/06/27 17:50:39.346 Matched new <TDM Audio>


Recording<464001000995896> to Contact<9114169183880000161>
Session<9114169183880000161> State<Running>

Impact 360 V11.1 Sequence Diagrams 25

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled VoIP Interception

Recorder Controlled VoIP Interception


Recorder Controlled VoIP Interception records the entire duration of a contact.

VoIP signaling is available


This section covers a scenario, where VoIP signaling is available for the recorded call and
the Recorder is controlling the recording.
VoIP signaling is available with every call and the IP Recorder is able to identify the
participants of the call based on signaling.
In this case, the IP recorder controls the recording. The call is recorded based on
signaling and the Integration Service is notified about the participants of the calls. This
information can be matched by the Integration Service to the CTI events received from
the switch.
Integration Service receives CTI events for the following contact lifespan:
1 Start Segment: occurs when the CTI server sends a Start Call event to the CTI
Adapter at the beginning of a contact or when a new segment begins within the
contact.
2 Updated Data: occurs when the CTI Adapter receives an update data event from the
switch or CTI server during the contact recording. At this point, the system tags
attributes that are provided by the event to the recorded segment.
3 End Segment: occurs when the CTI Adapter receives a Call End event from the
switch or CTI Server.
If the CTI data does not include the agents PBX ID, the Agent Initiated Monitoring (AIM)
must be installed on the agents workstation to identify the agent conducting the
contact.

VoIP signaling is not present


In VoIP environments, it is also possible to detect cases in which VoIP signaling is not
present, or the IP Recorder does not support the particular signaling protocol.

y
In this case, the IP recorder can only identify the source and destination IP addresses of
the participants, but not the participants themselves. Therefore the switch has to
nl
O
provide the IP address of an extension in CTI events, in order to match the transmission
captured by the Recorder, with the CTI events received for the call.
se

This second scenario, where signaling is not available for the recorded call, will be
covered in a separate chapter CTI Controlled VoIP Interception, which will be provided in
U

a future version of this Document.


al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 26

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled VoIP Interception

Recording a Contact - Start Segment


Start Segment Logs,page 33

CTI Adaptor / MDL /


External Switch/ Integration Screen Consolidator /
Integration IP Recorder Application
CTI Server Service Recorder Recorder
Service Server

Start Call event


1 + Ext + CTI Data
Start Call event +
2 Ext + CTI Data

Create segment + create


3
contact with CONTACTID
identifier

4
Verify Business Rules

VOIP signaling and


transmission is detected

Allocate Audio INUM

Create INUM.wav for audio


and INUM.xml for metadata

STARTED + INUM + Ext + Src IP + Dest IP

Associate Audio INUM


5 with segment

SEENAUDIO + INUM

Identify workspace for


Extension

START + Workstation

Allocate Screen INUM

Create INUM.scn file for screen

STARTED + Workstation + INUM

Associate Screen INUM with

y
segment

nl
TAG + INUM
6
+ Session attributes
O
Save to Audio INUM.XML
se

SESSION + INUM +
7
SESSIONINUM

Save to Audio INUM.XML


U

CONTACT + INUM +
8
CONTACTID
al

Save to Audio INUM.XML


rn

SESSION + INUM +
9
SESSIONINUM
te

Save to Screen INUM.XML


CONTACT + INUM +
10
CONTACTID
In

Save to Screen INUM.XML

Impact 360 V11.1 Sequence Diagrams 27

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled VoIP Interception

1 When a contact is initiated or a new segment is initiated (for example, when a


contact is transferred), the CTI server sends a Start Call event to the CTI Adapter.
The Start Call event identifies the recorded extension, plus additional CTI attributes
(for example, CLI, Call Direction, Custom Data, etc.).The Start Call event can
provide the extension's IP address, which is optional.
2 The CTI Adapter transfers the event to the Integration Service.
3 The Integration Service creates a segment.
If this is the first segment, a contact is created.
4 The Integration Service refers to its Business Rules to verify whether or not this
segment qualifies for audio or screen recording.
As part of the Business Rules evaluation mechanism, the Integration Service also
calculates the Conditional Custom Data fields (CCD).
5 The segment qualifies for one or the following:
Audio Recording
i. The IP Recorder identifies VoIP traffic (RTP) accompanied by VoIP signaling.
Signalling identifies the participants of the call: their IP addresses and
identifiers (extension).
ii. The IP Recorder allocates an INUM for the audio recording and saves the
audio as a INUM.wav file. All contact, segment and audio recording
information is saved in the Audio INUM.xml file.
The INUM identifier is a unique number allocated by the Recorder (that is,
screen and audio).

NOTE The INUM is a unique 15 digit recording identifier. The first 6 digits represent the
Recorder Serial Number, as appears in the Recorder Settings page in Enterprise
Manager. The last 9 digits are the Recording Serial Number, starting with
000000001. For instance, if Recorder Serial Number is 934065 the first INUM will
be 934065000000001.

iii. If the beginning of the audio recording is successful, the IP Recorder sends a

y
STARTED message back to the integration service. The message includes a

nl
recording INUM, extension, source and destination IP addresses for this call. O
If the audio recording is not successful, an alarm is generated.
iv. The Integration Service associates the Audio INUM with the segment based
se

on extension provided in the STARTED message.


U

NOTE If the Recorder detected RTP activity for more than five seconds before the CTI
event was received, these five seconds will be included in the segment, and the
RTP start time will be used for naming the file and marking the contact.
al

If the Recorder detected RTP activity started more than 5 seconds before the CTI
rn

event, the audio before the CTI event will be broken off as separate recording
(with an INUM). This segment will start at CTI start.
te

The 5 seconds overlay is configurable per Data Source.


In

Impact 360 V11.1 Sequence Diagrams 28

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled VoIP Interception

Screen Recording
The Integration Service identifies the agent workstation IP associated with the
recorded extension, as well as the agent and PBX ID.
The agent workstation IP to be recorded is identified as a result of the seating
arrangement for the phone and screen data sources. For details, see the
Recorder Agent Associations Guide.
If the segment qualifies for a screen recording:
i. The Integration Service sends a START message to the Screen Recorder. The
START message contains the required agent workstation IP.
ii. The Screen Recorder allocates an INUM for the screen recording and saves
the screens in the INUM.scn file.
All screen recording information is saved in the Screen INUM.xml file.
iii. The Screen Recorder activates recording on the requested agent workstation
IP using the Screen Capture Service running on the workstation.
iv. The Integration Service associates the Screen INUM with the segment.

6 The Start Call event contains standard segment attributes (for example, ANI, DNIS,
etc.) and custom data attributes. These attributes are tagged to the segment. The
Integration Service sends the TAG message containing the attributes to the IP
Recorder.
The IP Recorder updates the attributes in the Audio INUM.xml file.
7 The Integration Service sends a SESSION message to the IP Recorder to signify that
a segment was created for the INUM.
The IP Recorder updates the segment number in the Audio INUM.xml file.
The SESSIONINUM is the INUM of the first recording in the specific segment.
8 The Integration Service sends a CONTACT message to the IP Recorder to signify
that the recording belongs to a contact.
The IP Recorder updates the information in the Audio INUM.xml file.

y
9 The Integration Service sends a SESSION message to the Screen Recorder to

nl
signify that a segment was created for the INUM. O
The Screen Recorder updates the segment number in the Screen INUM.xml file.
The SESSIONINUM is the INUM of the first recording in the specific segment.
se

10 The Integration Service sends a CONTACT message to the Screen Recorder to


signify that the recording belongs to a contact.
U

The Screen Recorder updates the information in the Screen INUM.xml file.
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 29

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled VoIP Interception

Recording a Contact - Update Data


Update Data Logs,page 35

External CTI Adaptor / MDL /


Integration Screen Consolidator /
Switch / CTI Integration IP Recorder Application
Service Recorder Recorder
Server Service Server

Data Update Event


1 + Ext + CTI Data

Data Update Event


2 + Ext + CTI Data

3 Verify Business Rules

TAG + INUM
4 + Custom Attributes

5 Save to INUM.xml

1 The CTI Server or switch sends an Update event to the CTI Adapter.
Typically this event contains the recorded extension and several custom data
attributes.
2 The CTI Adapter transfers the event to the Integration Service.
3 The Integration Service refers to its Business Rules to verify whether or not this
segment qualifies for an audio or screen recording:

y
nl
4 Attributes are tagged to the recorded segment, according to the custom data
mapping configuration. The Integration Service sends attributes tagged to the
O
recorded segment as a TAG message to the IP Recorder.
The IP Recorder saves this information in the INUM.XML file.
se

NOTE The TAG message can provide updates for custom attributes as well as for
U

segment and contact attributes (for example, ANI, DNIS, Number of holds,
Contact Duration, etc.).
al

When the segment and/or contact is created or closed, the TAG message is sent to
rn

update the segment and the contact attributes.


te

5 The updated data is saved to the INUM.xml file.


In

Impact 360 V11.1 Sequence Diagrams 30

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled VoIP Interception

Recording a Contact - End Segment


End Segment Logs,page 36

CTI Adaptor / MDL /


External Switch / Integration Screen Consolidator /
Integration IP Recorder Application
CTI Server Service Recorder Recorder
Service Server

1 End Call event


+ Ext + CTI Data

End Start event +


2 Ext + CTI Data

3 Close segment

SESSION + INUM
+ SESSIONINUM
+ Session Statistics

Save to Audio INUM.XML

CONTACT + INUM +
CONTACTID
+ Contact Statistics

Save to Audio INUM.XML


4

SESSION + INUM + SESSIONINUM + Session Statistics

Save to Screen INUM.XML

CONTACT + INUM +
CONTACTID + Contact Statistics

Save to Screen INUM.XML

RTP transmission ends

5
Close INUM.wav
STOPPED + INUM

STOP + Workstation

y
Close INUM.scn file
6

nl
STOPPED + Workstation
O
FINALIZE + INUM
se

Audio INUM.XML is ready to be marked


in DBS
7
FINALIZE + INUM
U

Screen INUM.XML is ready to be marked in


DBS Mark Audio and
Screen INUM.XMLs
al

8
in Central DBS
rn
te
In

Impact 360 V11.1 Sequence Diagrams 31

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled VoIP Interception

1 The CTI Server or switch sends an End Call event to the CTI Adapter.
Typically this event contains the recorded extension and several custom data
attributes.
2 The CTI Adapter transfers the event to the Integration Service.
3 The Integration Service checks if it is currently recording this segment.
If the segment is being recorded, the Integration Service closes the segment. If this
is the last contact segment the contact is closed.
4 The Integration Service sends a SESSION message to the IP Recorder to update
segment statistics (for example, the number of holds and duration) and a CONTACT
message to the IP Recorder to update contact statistics (for example, number of
transfers).
If the segment is an Audio recording, the IP Recorder updates the information in the
Audio INUM.xml file.
If the segment is a Screen recording, the IP Recorder updates the information in the
Screen INUM.xml file.
5 The IP Recorder identifies that the call has ended based on signaling, closes the
audio file and sends a STOPPED message to the Integration Service that provides
the recording INUM.
NOTE The Integration Service ensures that the recording has stopped, by waiting 6
seconds for the STOPPED acknowledgement. The 6 seconds are added to the
recorded audio.

6 When the Integration Service closes the segment a STOP message is sent to the
Screen recorder. The Screen Recorder terminates the Screen Capture's activity on
the agents workstation and sends a STOPPED acknowledgement for the STOP
request.
7 The Audio/Screen INUM.xml is ready to be marked in the database. The Integration
Service sends the FINALIZE message to the IP and Screen recorders.
This step represents the segment and contact marking dataflow and is triggered by the

y
FINALIZE message. The Consolidator updates the segment and the contact information

nl
in the Central Database using the MDL infrastructure. The Consolidator converts XML
metadata to SOAP using XSLT. It uses the MDL web service to write data to the database
O
in SOAP format. For details, see the Marking Data Flow which will be provided in a future
version of this Document.
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 32

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled VoIP Interception

Recorder Controlled VoIP Interception Logs


During the Recorder Controlled VoIP Interception process logs are generated for the
following:
Start Segment Logs,page 33
Update Data Logs,page 35
End Segment Logs,page 36
You can use the phrases (marked in blue) to search for a specific log line. For example,
to find the log associated with Start Call event, search for CallAdded.

Start Segment Logs


Start Segment logs are produced by the Integration Service.
The following is a list of the most common log lines created during the Start Segment
data flow. Each log is associated with a step in the flow.

Step 2: Start Call event + Ext + CTI Data


The CTI Adapter sends CTI events to the Integration Service. The CTI events are
handled by the Call Tracker. Typically, there is more than one CTI event that indicates a
new Start Call.
The following is an example of a Siemens CSTA tracker that is adding and updating a
CTI call in the Call Model when the call starts:
[Call |1434|D] 2012/06/27 17:50:38.826 Generic<Siemens>:
CallAdded<Ringing, 1340828205673> Configured Lines: [Extension<1, 550484>,
Trunk<1, 134235976>]
[Call |1434|D] 2012/06/27 17:50:39.056 Generic<Siemens>:
CallUpdate<Active, 1340828205673> Configured Lines: [Extension<1, 550484>,
Trunk<1, 134235976>]
The latter logs reflect the changes associated with the call participants and the state of
the call. Active state indicates that a call is established and the call participants are

y
talking. Additional states that reflect the CTI events received for that extension, like

nl
OnHold, can appear with CallUpdate. O
When the call ends the CallRemove message appears as shown in the following log:
[Call |1434|D] 2012/06/27 17:52:28.038 Generic<Siemens>: CallRemove<Idle,
se

1340828205673> Configured Lines: [Trunk<1, 134235976>, Extension<1, 550484>]


U

Step 3: Create segment + create contact with CONTACTID identifier


If the call is a new agent call, a new segment and contact are created. The following is
al

an example of the addition of an extension to the new segment and contact:


rn

[Session |12A8|I] 2012/08/01 08:23:42.404 Setting Connection <2860633904051>


<Extension<2, 2310>, 33026> to new Session<9114465302230000201> State<Running>
te

in new Contact<9114465302230000201>
In

If the call is a new agent call when the agent is already participating in a contact (for
instance, a customer is put on hold while the agent places a new consultation call to a

Impact 360 V11.1 Sequence Diagrams 33

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled VoIP Interception

supervisor), a new segment is created and associated with an existing contact as shown
in the following log example:
[Session |12A8|I] 2012/08/01 08:23:42.404 Setting Connection <2860633904051>
<Extension<2, 2310>, 33026> to new Session<9114465302230000201> State<Running>
in Contact<9114465302230000201>

Step 4: Verify Business Rules


The following is an example of an business rule evaluation of the Enterprise Audio and
Screen Recording rule:
[BusinessRu|1434|H] 2012/06/27 17:50:38.826 Evaluating Business Rule <1,
Enterprise Audio and Screen Recording, RecordingAction<RecordAll, 100, 60,
false, , >> against Contact<9114169183880000161>
The following is an example of a log that is created when the rule is evaluated as true:
[RequestedC|1434|D] 2012/06/27 17:50:38.826 Business Rule <1, Enterprise Audio
and Screen Recording, RecordingAction<RecordAll, 100, 60, false, , >> fired
content type <Audio> on Contact<9114169183880000161>
The above log will not appear in cases where the specific business rule did not fire for
the segment or contact.

Step 5: Audio / Screen Recording


In the following log example, the IP Recorder detected an RTP call, allocated an INUM
and started recording:
[NGAConnect|0DD4|H] 2012/08/01 08:23:44.911 NGA<IPCapture, TLWSV11NG4AL,
10.161.207.112, 29504> Received message <2 STARTED PROPERTY:systemtype:
VALUE:Q931Facility: PROPERTY:callref: VALUE:Q931Facility/
10.161.62.79_0001_1343714747: PROPERTY:Extension: VALUE:2310:
PROPERTY:callparty: VALUE:1: PROPERTY:primaryparty: VALUE:1: PROPERTY:rtptype:
VALUE:8: PROPERTY:ssrc: VALUE:4277018144: PROPERTY:AudioStartTime: VALUE:2012-
08-01T08%003a23%003a42.880+03%003a00: PROPERTY:dstip:
VALUE:10.161.62.79%003a2048: PROPERTY:srcip: VALUE:10.161.135.10%003a2230:
INUM:713002000046520: TO:713002000046520: CALLID:Q931Facility/
10.161.62.79_0001_1343714747:>

y
nl
[NGAConnect|0DD4|H] 2012/08/01 08:23:44.911 NGA<IPCapture, TLWSV11NG4AL,
10.161.207.112, 29504> Received message <1 SEENAUDIO INUM:713002000046520:
O
RTPTYPE:8:>
As shown in the following log, the Integration Service associates the recording with the
se

segment:
[Session |0DD4|D] 2012/08/01 08:23:44.911 Session<9114465302230000201>
U

State<Running> has new Parent<Recording<713002000046520>>, replacing (NULL).


New StitchId<713002000046520>
al

Step 6: TAG + INUM + Session attributes


rn
te

CTI attributes are tagged to the audio INUM. The following is an example of the multiple
TAG messages sent during recording:
In

[NGAConnect|17F0|H] 2012/06/27 17:50:39.346 NGA<TDMCAPTURE, USWDD2K8REC,


169.254.95.210, 29502> Sending <6 TAG CMDID:FRAMEWORK/52058:

Impact 360 V11.1 Sequence Diagrams 34

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled VoIP Interception

INUM:464001000995896: EXTENDEDCALLHISTORY:Inbound: TIMEONHOLD:0:


LOGGEDONDURATION:9237: CALLINGPARTYNAME:7154568925: CALLINGPARTY:7154568925:
CALLEDPARTY:6200: SERIALNUMBER:464001: NUMBEROFTIMESTRANSFERRED:0:
NUMBEROFTIMESCONFERENCE:0: PAUSEDURATION:0: NUMBEROFHOLDS:0: DNIS:6200:
ANI:7154568925: DATASOURCEULTRAID:314000001: AGENTID:550484: EXTENSION:550484:
CALLDIRECTION:Inbound: TRUNK:134235976: FIREDBUSINESSRULES:Enterprise Audio
and Screen Recording: CALLID:1340828205673: DATASOURCENAME:Siemens:
DEVICENAME:550484: NUMBERDIALED:6200: CALLEDPARTYNAME:6200: CHANNELNUMBER:459:
?>

Step 7: SESSION + INUM + SESSIONINUM


The following is an example of when an audio INUM.xml file is updated with segment
INUM with standard segment attributes such us, duration, hold time, number of holds,
etc.
[NGAConnect|17F0|H] 2012/06/27 17:50:39.346 NGA<TDMCAPTURE, USWDD2K8REC,
169.254.95.210, 29502> Sending <6 SESSION CMDID:FRAMEWORK/52056:
INUM:464001000995896: SESSIONINUM:464001000995896: ULTRAID:: DURATION:0:
HOLDTIME:0: HOLDS:0: TIMEOFFSET:-300: ?>

Step 8: CONTACT + INUM + CONTACTID


The following is an example of when an audio INUM.xml file is updated with a contacts
contactid.
[NGAConnect|17F0|H] 2012/06/27 17:50:39.346 NGA<TDMCAPTURE, USWDD2K8REC,
169.254.95.210, 29502> Sending <6 CONTACT CMDID:FRAMEWORK/52057:
INUM:464001000995896: CONTACTID:9114169183880000161: ?>
The following log indicates that the start recording process was successful and a new
audio recording was matched to a segment:
[SingleRole|0DD4|I] 2012/08/01 08:23:44.911 Matched new <IP Audio>
Recording<713002000046520> to Contact<9114465302230000201>
Session<9114465302230000201> State<Running>

Update Data Logs

y
nl
The following example shows the TAG message that is sent to the recorder to tag
updated custom data fields. Custom data fields appear as key:value: pairs where the
O
key is the custom attribute name.
se

[NGAConnect|1428|H] 2012/06/21 12:34:38.593 NGA<IPCapture, TLWVNKNG72,


169.254.197.121, 29504> Sending <6 TAG INUM:852006000000337: TIMEONHOLD:0:
EXTENDEDCALLHISTORY:Unknown,StartRecord,StartRecord: LOGGEDONDURATION:65281:
U

EMPLOYEEGROUP:Admin group: SERIALNUMBER:852006: NUMBEROFTIMESTRANSFERRED:0:


PAUSEDURATION:0: NUMBEROFTIMESCONFERENCE:0: NUMBEROFHOLDS:0: ORGANIZATION:TLV
al

Admins: PARTIES:8007: STARTTAG4:started4: STARTTAG5:started5:


STARTTAG2:started2: NETWORKID:tlvlabrecs\aviadmin: ULTRAAGENTID:852000201:
rn

AGENTPK:201: DNIS:: SCREENUNIT:852006: ANI:: DATASOURCEULTRAID:852000201:


AGENTNAME:dana user: WORKSTATION:tlwsannadsk2: AGENTID:123: EXTENSION:8007:
te

CALLDIRECTION:Unknown: CALLID:1340205170746: DATASOURCENAME:Cisco IP DS Anna:


In

DEVICENAME:8007: CHANNELNUMBER:000000337: ?>

Impact 360 V11.1 Sequence Diagrams 35

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled VoIP Interception

End Segment Logs


The following is a list of the logs created during the End Segment data flow. Each log is
associated with a step in the flow.

Step 2: End Call event + Ext + CTI Data


The following log is created when the CTI Adapter sends events to the Integration
Service that indicate call ends. Events are handled by the call tracker.
[Call |12A8|D] 2012/08/01 08:23:55.646 Avaya<Oren_Avaya>:
CallRemove<Idle, 33026> Configured Lines: [Extension<2, 2310>]

Step 3: Close Segment


The following log is created when the call is closed and there are no more participants:
[Session |12A8|I] 2012/08/01 08:23:55.646 Removed final Connection
<2860633904051> <Extension<2, 2310>, 33026> from Session<9114465302230000201>
State<Running> in Contact<9114465302230000201>

Step 4: Session + Contact Messages


The following log is created when a segment update that includes all recording INUMs is
associated with a segment:
[NGAConnect|1434|H] 2012/06/27 17:52:49.799 NGA<TDMCAPTURE, USWDD2K8REC,
169.254.95.210, 29502> Sending <6 SESSION CMDID:FRAMEWORK/52513:
INUM:464001000995678: SESSIONINUM:464001000995678: ULTRAID:314000188:
DURATION:602: HOLDTIME:0: CHILDREN:2012-06-27T17%003a44%003a03.031-
05%003a00,464001000995706;2012-06-27T17%003a44%003a13.171-
05%003a00,464001000995713;2012-06-27T17%003a44%003a35.991-
05%003a00,464001000995728;2012-06-27T17%003a46%003a02.032-
05%003a00,464001000995776;2012-06-27T17%003a46%003a50.652-
05%003a00,464001000995794;2012-06-27T17%003a47%003a21.073-
05%003a00,464001000995807;2012-06-27T17%003a51%003a04.377-
05%003a00,464001000995909;2012-06-27T17%003a52%003a05.658-
05%003a00,464001000995936: HOLDS:0: TIMEOFFSET:-300: ?>

y
The following is an example of when the audio INUM.xml file is updated with contact
information (for example, number of transfers, contact duration, total hold time, etc.).
nl
O
[NGAConnect|1434|H] 2012/06/27 17:52:49.799 NGA<TDMCAPTURE, USWDD2K8REC,
169.254.95.210, 29502> Sending <6 CONTACT CMDID:FRAMEWORK/52514:
se

INUM:464001000995678: CONTACTID:9114169136730000161: TRANSFERS:0:


DURATION:602: HOLDTIME:0: CONFERENCES:0: HOLDS:0: TIMEOFFSET:-300: ?>
U

Step 5: STOPPED + INUM


al

The following log is an example of Audio recording stopped by the recorder:


rn

[NGAConnect|0DD4|H] 2012/08/01 08:23:55.912 NGA<IPCapture, TLWSV11NG4AL,


te

10.161.207.112, 29504> Received message <1 STOPPED INUM:713002000046520:


CAUSE:CallEnd: DEFINITEEND:true:>
In

[SingleRole|0DD4|D] 2012/08/01 08:23:55.912 Removing <IP Audio>


Recording<713002000046520> from Contact<9114465302230000201>
Session<9114465302230000201> State<Closed>

Impact 360 V11.1 Sequence Diagrams 36

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder Recorder Controlled VoIP Interception

Step 6: STOP + Workstation


The following is an example of a log that is created when IS requests to stop screen
recording on a specific workstation IP. Screen recording is stopped and responds with a
STOPPED message containing the screen recording INUM.
[NGAConnect|1434|H] 2012/06/27 17:52:56.239 NGA<SCREENCAPTURE, USCHI2K8REC,
10.31.250.32, 29503> Sending <2 STOP CMDID:USWDD2K8REC SCREENID 1781:
PC:10.31.241.59: DATAPORTGROUP:82:?>
[NGAConnect|17F0|H] 2012/06/27 17:52:56.239 NGA<SCREENCAPTURE, USCHI2K8REC,
10.31.250.32, 29503> Received message <2 STOPPED CMDID:USWDD2K8REC SCREENID
1781: PC:10.31.241.59: INUM:314001000105377:>

Step 7: FINALIZE
If there are more than one recording associated with the closed segment, all recordings
are finalized. The following is an example of the finalize audio recording log:
[NGAConnect|1024|H] 2012/06/27 17:53:01.799 NGA<TDMCAPTURE, USWDD2K8REC,
169.254.95.210, 29502> Sending <6 FINALIZE CMDID:FRAMEWORK/52571:
INUM:464001000995936:?>
The following is an example of the finalize screen recording log:
[NGAConnect|1024|H] 2012/06/27 17:53:01.799 NGA<SCREENCAPTURE, USCHI2K8REC,
10.31.250.32, 29503> Sending <6 FINALIZE CMDID:USWDD2K8REC SCREENID 1782:
INUM:314001000105377:?>

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 37

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder CTI Controlled VoIP Interception

CTI Controlled VoIP Interception


CTI Controlled VoIP Interception records the entire duration of a contact.

VoIP signaling is not present


In VoIP environments, it is possible to detect cases in which VoIP signaling is not
present, or the IP Recorder does not support the particular signaling protocol.
In this case, the IP recorder can only identify the source and destination IP addresses of
the participants, but not the participants themselves. Therefore the switch has to
provide the IP address of an extension in CTI events, in order to match the transmission
captured by the Recorder, with the CTI events received for the call.
Integration Service receives CTI events for the following contact lifespan:
1 Start Segment: occurs when the CTI server sends a Start Call event to the CTI
Adapter at the beginning of a contact or when a new segment begins within the
contact.
2 Updated Data: occurs when the CTI Adapter receives an update data event from the
switch or CTI server during the contact recording. At this point, the system tags
attributes that are provided by the event to the recorded segment.
3 End Segment: occurs when the CTI Adapter receives a Call End event from the
switch or CTI Server.
If the CTI data does not include the agents PBX ID, the Agent Initiated Monitoring (AIM)
must be installed on the agents workstation to identify the agent conducting the
contact.

VoIP signaling is present


In VoIP environments where VoIP signaling is available for the recorded call, the
Recorder controls the recording.
VoIP signaling is available with every call and the IP Recorder is able to identify the
participants of the call based on signaling.

y
In this case, the IP recorder controls the recording. The call is recorded based on
signaling and the Integration Service is notified about the participants of the calls. This
nl
O
information can be matched by the Integration Service to the CTI events received from
the switch. This second scenario, where signaling is available for the recorded call, is not
se

covered in this chapter. See Recorder Controlled VoIP Interception,page 26.


U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 38

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder CTI Controlled VoIP Interception

Recording a Contact - Start Segment


Start Segment Logs,page 45
CTI Adaptor / MDL /
External Switch/ Integration Screen Consolidator /
Integration IP Recorder Application
CTI Server Service Recorder Recorder
Service Server

1 Start Call event


+ Ext + Src IP + Dest IP + CTI Data
Start Call event +
2 Ext + Src IP + Dest IP + CTI Data

Create segment + create


3 contact with CONTACTID
identifier

4 Verify Business Rules

VOIP transmission between


Src IP and Dest IP is detected

STARTSTREAM + Src IP + Dest IP + Ext


CALLSEEN + Src IP + Dest IP + Ext

Allocate Audio INUM

Create INUM.wav for audio


and INUM.xml for metadata

STARTED + INUM + Ext + Src IP + Dest IP


5

Associate Audio INUM


with segment

Identify workspace for


Extension
START + Workstation

Allocate Screen INUM

Create INUM.scn file for screen


STARTED + Workstation + INUM

Associate Screen INUM with


segment

y
TAG + INUM
6

nl
+ Session attributes

Save to Audio INUM.XML


O
SESSION + INUM +
7
SESSIONINUM
se

Save to Audio INUM.XML

CONTACT + INUM +
8
CONTACTID
U

Save to Audio INUM.XML


al

SESSION + INUM +
9
SESSIONINUM
rn

Save to Screen INUM.XML


CONTACT + INUM +
10
CONTACTID
te

Save to Screen INUM.XML


In

Impact 360 V11.1 Sequence Diagrams 39

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder CTI Controlled VoIP Interception

1 When a contact is initiated or a new segment is initiated (for example, when a


contact is transferred), the CTI server sends a Start Call event to the CTI Adapter.
The Start Call event identifies the recorded extension, plus additional CTI attributes
(for example, CLI, Call Direction, Custom Data, etc.).The Start Call event provides
extension's IP address, which is mandatory in this configuration.
2 The CTI Adapter transfers the event to the Integration Service.
3 The Integration Service creates a segment (that is, a session). The Integration
Service allocates a CALLID identifier. CALLID will be subsequently used by
Integration Service and IP Recorder to match the CTI event to the VoIP
transmission. If this is the first segment, a contact is created.
4 The Integration Service refers to its Business Rules to verify whether or not this
segment qualifies for audio or screen recording.
As part of the Business Rules evaluation mechanism, the Integration Service also
calculates the Conditional Custom Data fields (CCD).
5 The segment qualifies for one or the following:
Audio Recording
i. The IP Recorder identifies VoIP traffic (RTP) between source and destination
IP addresses.
ii. The Integration Service requests IP Recorder to start a recording of the call
by sending STARTCALL and STARTSTREAM messages that provide CALLID,
the source and destination IP addresses of the transmission, as well as the
Extension associated with the call.
iii. The IP Recorder matches the VoIP transmission with the STARTSTREAM
request, based on source and destination IP addresses.
iv. IP recorder associates CALLID with the transmission.
v. The IP Recorder allocates an INUM for the audio recording and saves the
audio as a INUM.wav file. All contact, segment and audio recording
information is saved in the Audio INUM.xml file.
The INUM identifier is a unique number allocated by the Recorder (that is,

y
screen and audio recordings).
NOTE
nl
The INUM is a unique 15 digit recording identifier. The first 6 digits represent the
O
Recorder Serial Number, as appears in the Recorder Settings page in Enterprise
Manager. The last 9 digits are the Recording Serial Number, starting with
se

000000001. For instance, if Recorder Serial Number is 934065 the first INUM will
be 934065000000001.
U

vi. If the beginning of the audio recording is successful, the IP Recorder sends a
al

STARTED message back to the integration service. The message includes a


recording INUM, extension, source and destination IP addresses for this call.
rn

If the audio recording is not successful, an alarm is generated.


te

vii. The Integration Service associates the Audio INUM with the segment based
on extension provided in the STARTED message.
In

Impact 360 V11.1 Sequence Diagrams 40

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder CTI Controlled VoIP Interception

NOTE If the Recorder detected RTP activity for more than five seconds before the CTI
event was received, these five seconds will be included in the segment, and the
RTP start time will be used for naming the file and marking the contact.
If the Recorder detected RTP activity started more than 5 seconds before the CTI
event, the audio before the CTI event will be broken off as separate recording
(with an INUM). This segment will start at CTI start.
The 5 seconds overlay is configurable per Data Source.

Screen Recording
The Integration Service identifies the agent workstation IP associated with the
recorded extension, as well as the agent and PBX ID.
The agent workstation IP to be recorded is identified as a result of the seating
arrangement for the phone and screen data sources. For details, see the
Recorder Agent Associations Guide.
If the segment qualifies for a screen recording:
i. The Integration Service sends a START message to the Screen Recorder. The
START message contains the required agent workstation IP.
ii. The Screen Recorder allocates an INUM for the screen recording and saves
the screens in the INUM.scn file.
All screen recording information is saved in the Screen INUM.xml file.
iii. The Screen Recorder activates recording on the requested agent workstation
IP using the Screen Capture Service running on the workstation.
iv. The Integration Service associates the Screen INUM with the segment.

6 The Start Call event contains standard segment attributes (for example, ANI, DNIS,
etc.) and custom data attributes. These attributes are tagged to the segment. The
Integration Service sends the TAG message containing the attributes to the IP
Recorder.
The IP Recorder updates the attributes in the Audio INUM.xml file.
7 The Integration Service sends a SESSION message to the IP Recorder to signify that

y
a segment was created for the INUM. The IP Recorder updates the segment number
in the Audio INUM.xml file.
nl
O
The SESSIONINUM is the INUM of the first recording in the specific session.
8 The Integration Service sends a CONTACT message to the IP Recorder to signify
se

that the recording belongs to a contact. The IP Recorder updates the information in
the Audio INUM.xml file.
U

9 The Integration Service sends a SESSION message to the Screen Recorder to


al

signify that a segment was created for the INUM. The Screen Recorder updates the
segment number in the Screen INUM.xml file.
rn

The SESSIONINUM is the INUM of the first recording in the specific session.
te

10 The Integration Service sends a CONTACT message to the Screen Recorder to


signify that the recording belongs to a contact.
In

The Screen Recorder updates the information in the Screen INUM.xml file.

Impact 360 V11.1 Sequence Diagrams 41

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder CTI Controlled VoIP Interception

Recording a Contact - Update Data


Update Data Logs,page 48

External CTI Adaptor / MDL /


Integration Screen Consolidator /
Switch / CTI Integration IP Recorder Application
Service Recorder Recorder
Server Service Server

Data Update Event


1 + Ext + CTI Data

Data Update Event


2 + Ext + CTI Data

3 Verify Business Rules

TAG + INUM
4 + Custom Attributes

5 Save to INUM.xml

1 The CTI Server or switch sends an Update event to the CTI Adapter.
Typically this event contains the recorded extension and several custom data
attributes.
2 The CTI Adapter transfers the event to the Integration Service.
3 The Integration Service refers to its Business Rules to verify whether or not this
segment qualifies for an audio or screen recording:

y
nl
4 Attributes are tagged to the recorded segment, according to the custom data
mapping configuration. The Integration Service sends attributes tagged to the
O
recorded segment as a TAG message to the IP Recorder.
The IP Recorder saves this information in the INUM.XML file.
se

NOTE The TAG message can provide updates for custom attributes as well as for
U

segment and contact attributes (for example, ANI, DNIS, Number of holds,
Contact Duration, etc.).
al

When the segment and/or contact is created or closed, the TAG message is sent to
rn

update the segment and the contact attributes.


te

5 The updated data is saved to the INUM.xml file.


In

Impact 360 V11.1 Sequence Diagrams 42

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder CTI Controlled VoIP Interception

Recording a Contact - End Segment


End Segment Logs,page 48

CTI Adaptor / MDL /


External Switch / Integration Screen Consolidator /
Integration IP Recorder Application
CTI Server Service Recorder Recorder
Service Server

1 End Call event


+ Ext + CTI Data

End Start event +


2 Ext + CTI Data

3 Close segment

SESSION + INUM
+ SESSIONINUM
+ Session Statistics

Save to Audio INUM.XML

CONTACT + INUM +
CONTACTID
+ Contact Statistics

Save to Audio INUM.XML


4

SESSION + INUM + SESSIONINUM + Session Statistics

Save to Screen INUM.XML

CONTACT + INUM +
CONTACTID + Contact Statistics

Save to Screen INUM.XML

RTP transmission ends

STOPCALL+ CALLID

5
Close INUM.wav
STOPPED + INUM

STOP + Workstation

y
nl
Close INUM.scn file
6 O
STOPPED + Workstation
se

FINALIZE + INUM

Audio INUM.XML is ready to be marked


U

in DBS
7
FINALIZE + INUM
al

Screen INUM.XML is ready to be marked in


DBS Mark Audio and
8 Screen INUM.XMLs
rn

in Central DBS
te
In

Impact 360 V11.1 Sequence Diagrams 43

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder CTI Controlled VoIP Interception

1 The CTI Server or switch sends an End Call event to the CTI Adapter.
Typically this event contains the recorded extension and several custom data
attributes.
2 The CTI Adapter transfers the event to the Integration Service.
3 The Integration Service checks if it is currently recording this segment.
If the segment is being recorded, the Integration Service closes the segment. If this
is the last contact segment the contact is closed.
4 The Integration Service sends a SESSION message to the IP Recorder to update
segment statistics (for example, the number of holds and duration) and a CONTACT
message to the IP Recorder to update contact statistics (for example, number of
transfers).
If the segment is an Audio recording, the IP Recorder updates the information in the
Audio INUM.xml file.
If the segment is a Screen recording, the IP Recorder updates the information in the
Screen INUM.xml file.
5 The Integration Service sends a STOPCALL request to the IP Recorder, in order to
stop the recording of a call identified by CALLID. The IP Recorder closes the audio
file and sends a STOPPED message to the Integration Service that provides the
recording INUM.
NOTE The Integration Service ensures that the recording has stopped, by waiting 6
seconds for the STOPPED acknowledgement. The 6 seconds are added to the
recorded audio.

6 When the Integration Service closes the segment a STOP message is sent to the
Screen recorder. The Screen Recorder terminates the Screen Capture's activity on
the agents workstation and sends a STOPPED acknowledgement for the STOP
request.
7 The Audio/Screen INUM.xml is ready to be marked in the database. The Integration
Service sends the FINALIZE message to the IP and Screen recorders.

y
8 This step represents the session and contact marking dataflow and is triggered by

nl
the FINALIZE message. The Consolidator updates the segment and the contact
information in the Central Database using the MDL infrastructure. The Consolidator
O
converts XML metadata to SOAP using XSLT. It uses the MDL web service to write
data to the database in SOAP format.
se

For details, see the Marking Data Flow which will be provided in a future version of
this Document.
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 44

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder CTI Controlled VoIP Interception

CTI Controlled VoIP Interception Logs


During the Recorder Controlled VoIP Interception process logs are generated for the
following:
Start Segment Logs,page 45
Update Data Logs,page 48
End Segment Logs,page 48
You can use the phrases (marked in blue) to search for a specific log line. For example,
to find the log associated with Start Call event, search for CallAdded.

Start Segment Logs


Start Segment logs are produced by the Integration Service.
The following is a list of the most common log lines created during the Start Segment
data flow. Each log is associated with a step in the flow.

Step 2: Start Call event + Ext + CTI Data


The CTI Adapter sends CTI events to the Integration Service. The CTI events are
handled by the Call Tracker. Typically, there is more than one CTI event that indicates a
new Start Call.
The following is an example of a Cisco JTAPI tracker that is adding and updating a CTI
call in the Call Model when the call starts:
[Call |169C|D] 2012/08/01 10:53:20.103 CiscoCM<Anna - Cisco IP DS>:
CallAdded<Ringing, 17726935> Configured Lines: [Extension<12, 8049>]

[Call |169C|D] 2012/08/01 10:53:20.751 CiscoCM<Anna - Cisco IP DS>:


CallUpdate<Ringing, 17726935> Configured Lines: [Extension<12, 8049>]
The latter logs reflect the changes associated with the call participants and the state of
the call. Active state indicates that a call is established and the call participants are
talking. Additional states that reflect the CTI events received for that extension, like

y
OnHold, can appear with CallUpdate.
When the call ends the CallRemove message appears as shown in the following log:
nl
O
[Call |169C|D] 2012/08/01 10:54:16.822 CiscoCM<Anna - Cisco IP DS>:
CallRemove<Idle, 17726935> Configured Lines: [Extension<12, 8049>]
se

Step 3: Create segment + create contact with CONTACTID identifier


U

If the call is a new agent call, a new session and contact are created. The following is an
al

example of the addition of an extension to the new session and contact:


[Session |169C|I] 2012/08/01 10:53:20.103 Setting Connection
rn

<183460604722142> <Extension<12, 8049>, 17726935> to new


Session<9114466200010000311> State<Running> in new
te

Contact<9114466200010000311>
In

If the call is a new agent call when the agent is already participating in a contact (for
instance, a customer is put on hold while the agent places a new consultation call to a

Impact 360 V11.1 Sequence Diagrams 45

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder CTI Controlled VoIP Interception

supervisor), a new session is created and associated with an existing contact as shown
in the following log example:
[Session |12A8|I] 2012/08/01 08:23:42.404 Setting Connection <2860633904051>
<Extension<2, 2310>, 33026> to new Session<9114465302230000201> State<Running>
in Contact<9114465302230000201>

Step 4: Verify Business Rules


The following is an example of an business rule evaluation of the Enterprise Audio and
Screen Recording rule:
[BusinessRu|169C|T] 2012/08/01 10:53:20.103 Evaluating Business Rule <3, Anna
BR, RecordingAction<RecordAll, 100, 0, false, false, , >> against
Contact<9114466200010000311>
The following is an example of a log that is created when the rule is evaluated as true:
[RequestedC|169C|H] 2012/08/01 10:53:20.103 Business Rule <3, Anna BR,
RecordingAction<RecordAll, 100, 0, false, false, , >> fired on
Contact<9114466200010000311>!!!
[RequestedC|169C|D] 2012/08/01 10:53:20.103 Business Rule <3, Anna BR,
RecordingAction<RecordAll, 100, 0, false, false, , >> fired content type
<Audio, Video> on Contact<9114466200010000311>
[RequestedC|169C|H] 2012/08/01 10:53:20.103 Business Rule <3, Anna BR,
RecordingAction<RecordAll, 100, 0, false, false, , >> fired on
Session<9114466200010000311> State<Running>!!!
[RequestedC|169C|D] 2012/08/01 10:53:20.103 Business Rule <3, Anna BR,
RecordingAction<RecordAll, 100, 0, false, false, , >> fired content type
<Audio, Video> on Session<9114466200010000311> State<Running>
The above log will not appear in cases where the specific business rule did not fire for
the segment or contact.

Step 5: Audio / Screen Recording


In the following example, Integration Service requests IP Recorder to record the call:
[NGAConnect|169C|H] 2012/08/01 10:53:21.923 NGA<IPCapture, TLWSV11NGRIA,
169.254.10.63, 29504> Sending <1 STARTCALL SYSTEM:FRAMEWORK: CALLID:FRAMEWORK/

y
183460604722142:?>

[NGAConnect|169C|H] 2012/08/01 10:53:21.923 NGA<IPCapture, TLWSV11NGRIA,


nl
O
169.254.10.63, 29504> Sending <1 EXTTAG CALLID:FRAMEWORK/183460604722142:
EXT:8049: DATASOURCE:12:?>
se

[NGAConnect|169C|H] 2012/08/01 10:53:21.923 NGA<IPCapture, TLWSV11NGRIA,


169.254.10.63, 29504> Sending <1 STARTSTREAM CALLID:FRAMEWORK/183460604722142:
U

SRC:10.161.62.40:0: DST:10.161.62.71:31962: HANDLER:UDP/RTP:?>


al

[NGAConnect|169C|H] 2012/08/01 10:53:21.923 NGA<IPCapture, TLWSV11NGRIA,


169.254.10.63, 29504> Sending <1 STARTSTREAM CALLID:FRAMEWORK/183460604722142:
rn

SRC:10.161.62.71:0: DST:10.161.62.40:24610: HANDLER:UDP/RTP:?>


te

[NGAConnect|1578|H] 2012/08/01 10:53:21.939 NGA<IPCapture, TLWSV11NGRIA,


In

169.254.10.63, 29504> Received message <1 CALLSEEN CALLID:FRAMEWORK/


183460604722142: DATASOURCE:12: EXTENSION:8049>

Impact 360 V11.1 Sequence Diagrams 46

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder CTI Controlled VoIP Interception

[NGAConnect|1578|H] 2012/08/01 10:53:22.579 NGA<IPCapture, TLWSV11NGRIA,


169.254.10.63, 29504> Received message <1 CALLSEEN CALLID:CISCO/19638047/
10.161.62.40#3036_10.161.135.137#2000: DATASOURCE:12: EXTENSION:8049>

[NGAConnect|1578|H] 2012/08/01 10:53:23.579 NGA<IPCapture, TLWSV11NGRIA,


169.254.10.63, 29504> Received message <1 CALLSEEN CALLID:RawRTP/
10.161.135.10#2210_10.161.62.79#2048: DATASOURCE:-1: EXTENSION:80083>

[NGAConnect|1578|H] 2012/08/01 10:53:24.579 NGA<IPCapture, TLWSV11NGRIA,


169.254.10.63, 29504> Received message <2 STARTED PROPERTY:systemtype:
VALUE:FRAMEWORK: PROPERTY:callref: VALUE:FRAMEWORK/183460604722142:
PROPERTY:DATASOURCE: VALUE:12: PROPERTY:DataSourceName: VALUE:Anna - Cisco IP
DS: PROPERTY:Extension: VALUE:8049: PROPERTY:callparty: VALUE:1:
PROPERTY:primaryparty: VALUE:1: PROPERTY:rtptype: VALUE:0: PROPERTY:ssrc:
VALUE:611677381: PROPERTY:AudioStartTime: VALUE:2012-08-
01T07%003a53%003a22.572+00%003a00: PROPERTY:RecordingStartTime: VALUE:2012-08-
01T07%003a53%003a22.572+00%003a00: PROPERTY:dstip:
VALUE:10.161.62.71%003a31962: PROPERTY:srcip: VALUE:10.161.62.40%003a24610:
INUM:380003000000222: TO:380003000000222: CALLID:FRAMEWORK/183460604722142:>
As shown in the following log, the Integration Service associates the recording with the
session:
[Session |1578|D] 2012/08/01 10:53:24.579 Session<9114466200010000311>
State<Running> has new Parent<Recording<380003000000222>>, replacing
Recording<380003000000221>. New StitchId<380003000000222>

Step 6: TAG + INUM + Session attributes


CTI attributes are tagged to the audio INUM. The following is an example of the multiple
TAG messages sent during recording:
[NGAConnect|1578|H] 2012/08/01 10:53:24.579 NGA<IPCapture, TLWSV11NGRIA,
169.254.10.63, 29504> Sending <6 TAG INUM:380003000000222: TIMEONHOLD:0:
EXTENDEDCALLHISTORY:Outbound: EMPLOYEEGROUP:Root Group: CALLINGPARTYNAME:danny
user: GLOBALCALLID:1/949719/17726935: CALLINGPARTY:8049: CALLEDPARTY:6002:
SERIALNUMBER:380003: NUMBEROFTIMESTRANSFERRED:0: NUMBEROFTIMESCONFERENCE:0:
PAUSEDURATION:0: NUMBEROFHOLDS:0: ORGANIZATION:TLV admins: PARTIES:8049, 6002:
FIREDBUSINESSRULEIDS:,3: ULTRAAGENTID:380000058: AGENTPK:58: DNIS:6002:

y
SCREENUNIT:380003: ANI:8049: DATASOURCEULTRAID:380000012: AGENTNAME:danny

nl
user: AGENTID:: WORKSTATION:tlwsannadsk2: EXTENSION:8049:
CALLDIRECTION:Outbound: FIREDBUSINESSRULES:,Anna BR: CALLID:17726935:
O
DATASOURCENAME:Anna - Cisco IP DS: DEVICENAME:SEP00016c4a9430:
NUMBERDIALED:6002: CALLEDPARTYNAME:6002: CHANNELNUMBER:000000222: ?>
se

Step 7: SESSION + INUM + SESSIONINUM


U

The following is an example of when an audio INUM.xml file is updated with session
al

INUM with standard session attributes such us, duration, hold time, number of holds,
etc.
rn

[NGAConnect|1578|H] 2012/08/01 10:53:24.579 NGA<IPCapture, TLWSV11NGRIA,


te

169.254.10.63, 29504> Sending <6 SESSION INUM:380003000000222:


SESSIONINUM:380003000000222: DNIS:6002: ULTRAID:380000058: PBX_LOGIN_ID::
In

ANI:8049: DIRECTION:Outbound: CHILDREN:: WRAPUPTIME:0: SWITCH_ID:380000012:


SWITCH_CALL_ID:: TIMEOFFSET:0: EXTENSION:8049: DURATION:4: HOLDTIME:0:
HOLDS:0: ?>

Impact 360 V11.1 Sequence Diagrams 47

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder CTI Controlled VoIP Interception

Step 8: CONTACT + INUM + CONTACTID


The following is an example of when an audio INUM.xml file is updated with a contacts
contactid.
[NGAConnect|1578|H] 2012/08/01 10:53:24.579 NGA<IPCapture, TLWSV11NGRIA,
169.254.10.63, 29504> Sending <6 CONTACT INUM:380003000000222:
CONTACTID:9114466200010000311: ?>
The following log indicates that the start recording process was successful and a new
audio recording was matched to a session:
[SingleRole|1578|I] 2012/08/01 10:54:16.806 Matched new <IP Audio>
Recording<380003000000223> to Contact<9114466200010000311>
Session<9114466200010000311> State<Running>

Update Data Logs


The following example shows the TAG message that is sent to the recorder to tag
updated custom data fields. Custom data fields appear as key:value: pairs where the
key is the custom attribute name.
[NGAConnect|1428|H] 2012/06/21 12:34:38.593 NGA<IPCapture, TLWVNKNG72,
169.254.197.121, 29504> Sending <6 TAG INUM:852006000000337: TIMEONHOLD:0:
EXTENDEDCALLHISTORY:Unknown,StartRecord,StartRecord: LOGGEDONDURATION:65281:
EMPLOYEEGROUP:Admin group: SERIALNUMBER:852006: NUMBEROFTIMESTRANSFERRED:0:
PAUSEDURATION:0: NUMBEROFTIMESCONFERENCE:0: NUMBEROFHOLDS:0: ORGANIZATION:TLV
Admins: PARTIES:8007: STARTTAG4:started4: STARTTAG5:started5:
STARTTAG2:started2: NETWORKID:tlvlabrecs\aviadmin: ULTRAAGENTID:852000201:
AGENTPK:201: DNIS:: SCREENUNIT:852006: ANI:: DATASOURCEULTRAID:852000201:
AGENTNAME:dana user: WORKSTATION:tlwsannadsk2: AGENTID:123: EXTENSION:8007:
CALLDIRECTION:Unknown: CALLID:1340205170746: DATASOURCENAME:Cisco IP DS Anna:
DEVICENAME:8007: CHANNELNUMBER:000000337: ?>

End Segment Logs


The following is a list of the logs created during the End Segment data flow. Each log is

y
associated with a step in the flow.

Step 2: End Call event + Ext + CTI Data


nl
O
The following log is created when the CTI Adapter sends events to the Integration
se

Service that indicate call ends. Events are handled by the call tracker.
[Call |169C|D] 2012/08/01 10:54:16.822 CiscoCM<Anna - Cisco IP DS>:
U

CallRemove<Idle, 17726935> Configured Lines: [Extension<12, 8049>]


al

Step 3: Close Segment


rn

The following log is created when the call is closed and there are no more participants:
te

[Session |169C|I] 2012/08/01 10:54:16.822 Removed final Connection


<183460604722142> <Extension<12, 8049>, 17726935> from
In

Session<9114466200010000311> State<Running> in Contact<9114466200010000311>

Impact 360 V11.1 Sequence Diagrams 48

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder CTI Controlled VoIP Interception

Step 4: Session + Contact Messages


The following log is created when a Session update that includes all recording INUMs is
associated with a session:
[NGAConnect|169C|H] 2012/08/01 10:54:16.822 NGA<IPCapture, TLWSV11NGRIA,
169.254.10.63, 29504> Sending <6 SESSION INUM:380003000000222:
SESSIONINUM:380003000000222: DNIS:6002: ULTRAID:380000058: PBX_LOGIN_ID::
ANI:8049: DIRECTION:Outbound: CHILDREN:2012-08-
01T10%003a54%003a16.806+00%003a00,380003000000223: WRAPUPTIME:0:
SWITCH_ID:380000012: SWITCH_CALL_ID:: TIMEOFFSET:0: EXTENSION:8049:
DURATION:56: HOLDTIME:0: HOLDS:0: ?>
The following is an example of when the audio INUM.xml file is updated with contact
information (for example, number of transfers, contact duration, total hold time, etc.).
[NGAConnect|169C|H] 2012/08/01 10:54:16.822 NGA<IPCapture, TLWSV11NGRIA,
169.254.10.63, 29504> Sending <6 CONTACT INUM:380003000000222:
CONTACTID:9114466200010000311: DNIS:6002: IS_EXCEPTION:false: TRANSFERS:0:
DURATION:56: HOLDTIME:0: ANI:8049: CONFERENCES:0: HOLDS:0: TIMEOFFSET:0: ?>

Step 5: End Call


The following log is an example of Audio recording stopped by the recorder:
[NGAConnect|169C|H] 2012/08/01 10:57:41.408 NGA<IPCapture, TLWSV11NGRIA,
169.254.10.63, 29504> Sending <1 STOPCALL CALLID:FRAMEWORK/183460604722150:?>

[NGAConnect|1578|H] 2012/08/01 10:57:41.423 NGA<IPCapture, TLWSV11NGRIA,


169.254.10.63, 29504> Received message <1 STOPPED INUM:380003000000225:
CAUSE:CallEnd: DEFINITEEND:true:>

[SingleRole|1578|D] 2012/08/01 10:57:41.423 Removing <IP Audio>


Recording<380003000000225> from Contact<9114466222310000311>
Session<9114466222310000311> State<Running>

Step 6: STOP + Workstation


The following is an example of a log that is created when IS requests to stop screen

y
recording on a specific workstation IP. Screen recording is stopped and responds with a

nl
STOPPED message containing the screen recording INUM. O
[NGAConnect|169C|H] 2012/08/01 10:57:41.423 NGA<SCREENCAPTURE, TLWSV11NGRIA,
169.254.10.63, 29503> Sending <2 STOP CMDID:TLWSV11NGRIA SCREENID 135:
PC:tlwsannadsk2: CONNECTSTRING:10.161.62.40: DATAPORTGROUP:30:?>
se

[NGAConnect|1578|H] 2012/08/01 10:57:41.447 NGA<SCREENCAPTURE, TLWSV11NGRIA,


U

169.254.10.63, 29503> Received message <2 STOPPED CMDID:TLWSV11NGRIA SCREENID


135: PC:tlwsannadsk2: INUM:380003000000224:>
al

Step 7: FINALIZE
rn

If there are more than one recording associated with the closed session, all recordings
te

are finalized. The following is an example of the finalize audio recording log:
In

[NGAConnect|1024|H] 2012/06/27 17:53:01.799 NGA<TDMCAPTURE, USWDD2K8REC,


169.254.95.210, 29502> Sending <6 FINALIZE CMDID:FRAMEWORK/52571:
INUM:464001000995936:?>

Impact 360 V11.1 Sequence Diagrams 49

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder CTI Controlled VoIP Interception

The following is an example of the finalize screen recording log:


[NGAConnect|1024|H] 2012/06/27 17:53:01.799 NGA<SCREENCAPTURE, USCHI2K8REC,
10.31.250.32, 29503> Sending <6 FINALIZE CMDID:USWDD2K8REC SCREENID 1782:
INUM:314001000105377:?>

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 50

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

VoIP Delivery with Avaya DMCC


Avaya Device and Media Call Control (DMCC) which was previously called CMAPI
(Communication Manager API) is a software connector that provides a programming
interface for device and media control on the Avaya Communication Manager switch.
DMCC recording combines both sides of the conversation into mono audio files.
VoIP Delivery via Avaya DMCC supports:
Full Recording: Using Verint's DMCC application, Impact 360 can monitor an
agent's extension using silent observation which is referred to by Avaya as Service
Observing.
Selective Recording: Using Recorder-initiated Single-Step Conferencing or
Service Observe.

Softphone Registration
Service Observe (SO) and Single-Step Conference (SSC) recording methods use
softphones registered on the IP Recorder to obtain record the agents' audio. Softphone
registration occurs during Integration service startup, before the system records any
calls. It is applicable for both selective and full recording solutions.

DMCC and Softphones


Applications developed for DMCC communicate with the Avaya Communication Manager
switch through the DMCC Connector interface. These applications send the DMCC
Connector requests to take control of an extension defined in the switch, in order to
perform telephone operations on these extensions. The operations include making calls,
receiving calls, sending announcements, applying tones, detecting digits and redirecting
the extensions calls to a specific IP address.
The DMCC Connector sends a request to the switch and in effect creates a softphone
(that is, a virtual phone that is controlled via an application rather than a physical
telephone device) for the relevant extension. The DMCC Connector can instruct the
switch where to direct the audio (in the format of RTP streams) for calls made to and

y
from the extension. This feature enables the recorder to record calls on these

nl
extensions. O
In DMCC Environment, Integration Service is configured with a DMCC Adapter which
communicates with the DMCC connector and is responsible for registration of softphones
se

as follows:
U

Recording using Service Observe


al

DMCC application can monitor an agent's extension using Service Observe. The DMCC
rn

service establishes a softphone on the switch for each extension on the system that
needs to record. Using this softphone extension, the DMCC application dials a predefined
te

Service Observe code, followed by the agent's extension.


Every time there is a call on the extension, the audio is sent from the switch to a
In

predefined IP address and port on the IP Recorder.


The specific IP and port are defined during the softphone set-up.

Impact 360 V11.1 Sequence Diagrams 51

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

An additional CTI Adapter is configured to communicate with the Avaya Communication


Manager and register for CTI events of the call flow.

Recording using Single-Step Conference

As with Service Observe, the DMCC service establishes a softphone on the switch for
each extension on the system that needs to be recorded. Integration Service's CTI
adapter uses a CTI client software to register extensions and softphones with the
switch. The CTI adapter also has a call control over extensions and softphones.
In order to record a call on extension, the CTI adapter joins a softphone to the call using
Single-Step Conference. The switch sends the audio of the call to a redefined IP
address and port on the IP Recorder. The specific IP and port are defined during the
softphone set-up. Single-Step Conference needs to be initiated on per-call basis.

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 52

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

Softphone Registration
Softphone Registration Logs,page 68

External Switch
Integration
Avaya AES DMCC Adapter IP Recorder
Service
Server

Service startup

LISTENON + Recorder IP + Ports: Port_1..Port_N

UDP port is opened

LISTENON_SUCCESS + Recorder IP + Port_1

1
UDP port is opened

LISTENON_SUCCESS + Recorder IP + Port_N

LISTENON_FINISHED + Recorder IP + Ports: Port_1..Port_N

GetDeviceId + softphone

y
Softphone is allocated to a CLAN board

nl
O
MonitorStart + softphone
2
se

Softphone is registered for events


U

RegisterTerminal + softphone + Recorder IP + RCP port + RTCP port


al
rn

Softphone is ready for use


te
In

Impact 360 V11.1 Sequence Diagrams 53

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

1 When Integration Service starts up, it begins a softphone registration sequence.


System configuration defines which IP Recorders are configured for VoIP Delivery
using DMCC; each recorder is configured with a disjointed range of ports allocated
for softphones.
Integration Service requests IP Recorder to open and to listen on a range of
ports that can be later associated with softphones, by sending a LISTENON
message that contains a specified range of ports.
IP Recorder responds with LISTENON_SUCCESS for each port number
separately. This indicates that the Integration Service can be associated to this
port with a softphone.
When IP Recorder completes listening on all requested ports, it responds with
LISTENON_FINISHED on the requested range of ports.
2 Although the diagram shows the registration step after the port opening step is
complete, these steps are executed simultaneously:
Integration Service creates a softphone.
A pair of ports (RTP and RTCP) are allocated for the softphone by choosing from
the pool of ports that were successfully opened by the IP Recorder in step 1.
Integration Service sends a request to allocate a softphone to DMCC Controller,
which associates the softphone with a CLAN board.
Integration Service sends a request to monitor the softphone with DMCC
Controller, in order to receive notifications on the softphone state.
Integration Service sends a requests to register the softphone providing the IP
Recorder address and pair of ports. If this request fails, the ports are released
back to the pool of available ports. Integration Service will try to register the
softphone again in the future.
The registered softphone is ready to be used for recording using any of the DMCC
methods.

NOTE Integration Service has a DMCC Adapter which communicates with Avaya
AES Server and is responsible for registration and Service Observe of

y
softphones. An additional CTI Adapter communicates with Avaya

nl
Communication Manager for CTI events. O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 54

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

Recording using Service Observe


Service Observe Logs,page 69

Avaya DMCC Integration


CTI Adapter IP Recorder
AES Server Adapter Service

Softphone registration is
1
complete

Allocate available
registered softphone for
agent extension recording

Request Service Observe + Extension + Softphone

Service Observe has a call

y
Agent extension audio is

nl
delivered to the Recorder
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 55

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

1 Service Observe process must be preceded by successful creation and registration


of a softphone with Avaya AES server, as described in section Softphone
Registration,page 53. Service Observe can be performed while agent extension is
not in a call, or during a call.
2 Integration Service uses a registered softphone to record agent extension by
initiating Service Observe. For Dedicated (or Full) VoIP delivery, Service Observe is
initiated upon startup of Integration Service, after the softphone registration is
completed. For Selective VoIP delivery, Service Observe is initiated per agent call.
See Avaya Integration Guide for more details about VoIP delivery solutions with
Service Observe.
If an agent extension is not observed by any softphone, Integration Service
chooses an available registered softphone.
The DMCC Adapter communicates with the DMCC Connector and sends a Service
Observe request on an agent extension, softphone and additional information
(like dialing sequence).
If Service Observe is successful, the DMCC Connector notifies the DMCC Adapter
that an observation call has been established.
If DMCC Connector responds with a failure, it is usually caused by an incorrect
softphone configuration (COR setting) in Avaya, or incorrect access code that is
dialed for Service Observe. In this case, the Integration Service ends the Service
Observe and attempts to re-register the softphone. In some cases, Service
Observe is executed successfully, however the audio is not delivered to the IP
Recorder. In this scenario, the system will raise a Device Not Recorded alarm.

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 56

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

Recording using Single-Step Conference


Single-Step Conference Logs,page 70

Avaya DMCC Integration


CTI Adaptor IP Recorder
AES Server Adapter Service

Softphone registration is
1
complete

Allocate available
registered softphone for
agent extension recording

SSC + softphone + extension


2

SSC request

Softphone is in call

CTI call start + softphone

3 CTI events on softphones


are ignored

y
Conference + softphone

nl
Agent extension audio is
O
delivered to the Recorder
se
U

1 Single-Step Conference process must be preceded by the successful creation and


registration of a softphone with Avaya AES server, as described in section Softphone
al

Registration,page 53. Single-Step Conference can be performed only when agent is


rn

in a call.
2 Integration Service uses a registered softphone to record agent extension by
te

initiating a Single-Step Conference. Single-Step Conference is initiated when agent


In

becomes active in a call:

Impact 360 V11.1 Sequence Diagrams 57

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

If no softphone is associated with an agent's extension, Integration Service


chooses an available registered softphone.
Integration Service asks the CTI adapter to send a Single-Step Conference
request to the switch for the agent's extension and for the softphone that was
allocated for recording of that extension.
CTI adapter uses CTI client software to communicate with the switch /middle-
ware in order to request Single-Step Conference (SSC). The switch requires a
Call ID to be provided with a SSC request, the CTI adapter provides the ID a call
that agent is active in.
Not all Avaya adapters allow communicating with the switch/middle-ware for
SSC requests. For the list adapters that support SSC, reference to the Avaya
Integration Guide.
3 If Single-Step Conference is successful:
DMCC Connector notifies the DMCC adapter that a call has been established on
the softphone.
The switch/middle-ware notifies on CTI call start on the softphone. Those CTI
events are ignored by the Integration Service.

VoIP delivery recording using DMCC


The following process describes how Impact 360 performs VoIP delivery recording using
DMCC and focuses on Call Start, Data Update and Call End events for IP telephony.
Integration Service registers for CTI events on the extensions the customer wants to
monitor, and receives the following CTI events:
The beginning of a contact.
Each segment within the contact.
The end of the contact.
If the CTI data does not include the agent's PBX ID, the Agent Initiated Monitoring (AIM)
should be installed on the agent workstations to identify the agent conducting the call.

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 58

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

Recording a Contact - Start Segment

Avaya
Communication Avaya AES Integration Screen
CTI Adapter IP Recorder Consolidator MDL
Manager Server Service Recorder

1 Start Call event


+ Ext + CTI Data

2 Start Call event +


Ext + CTI Data

3 Create segment + create contact


with CONTACTID identifier

4 Verify Business
Rules

5 Initiate Service Observe or


Single-Step Conference

Audio is delivered to softphone

STARTCALL + CALLID + Softphone

EXTTAG + CALLID + Ext

STARTSTREAM + CALLID + AES IP + Recorder IP + Softphone Port

Allocate Audio INUM

Create INUM.wav for audio and


INUM.xml for metadata

STARTED + INUM + Ext

6 Associate Audio INUM

y
with segment

nl
Identify workspace
for Extension
O
START + Workstation
se

Allocate Screen
INUM
U

Create INUM.scn file for screen

STARTED + Workstation + INUM


al
rn

Associate Screen INUM


with segment
te

Tag Segment and Contact information to the audio segment


7
In

8 Tag Segment and Contact information to the screen segment

Impact 360 V11.1 Sequence Diagrams 59

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

1 When a contact is initiated or a new segment is initiated (for example, when a


contact is transferred), the CTI server sends a Start Call event to the CTI Adapter.
The Start Call event identifies the recorded extension, plus additional CTI attributes
(for example, CLI, Call Direction, Custom Data, etc.).The Start Call event provides
extension's IP address, which is mandatory in this configuration.
2 The CTI Adapter transfers the event to the Integration Service.
3 The Integration Service creates a segment (that is, a session). The Integration
Service allocates a CALLID identifier. CALLID will be subsequently used by
Integration Service and IP Recorder to match the CTI event to the VoIP
transmission.
If this is the first segment, a contact is created.
4 The Integration Service refers to its Business Rules to verify whether or not this
segment qualifies for audio or screen recording.
As part of the Business Rules evaluation mechanism, the Integration Service also
calculates the Conditional Custom Data fields (CCD).
5 The Integration Service initiates Service Observe or Single-Step Conference.
6 The segment qualifies for one or the following:
Audio Recording
i. Integration Service allocates a softphone for recording of agent extension
audio.
Service Observe method is used:
Integration Service allocates an available registered softphone and sends a
Service Observe request to the DMCC connector (see Recording using
Service Observe,page 51). If there is a softphone that is already observing
the extension, Integration Service proceeds to the next step.
Single-Step Conference method is used:
Integration Service allocates an available registered softhpone and sends a
Single-Step Conference requests to the switch/middle-ware, (see Recording
using Single-Step Conference,page 52). This process is performed for each

y
call that agent extension becomes active in.
ii. The Integration Service requests IP Recorder to start a recording of the call,
nl
O
by sending STARTCALL, EXTTAG and STARTSTREAM messages that provide
CALLID, the source and destination IP addresses of the transmission, as well
se

as the Extension associated with the call.


U

NOTE In VoIP delivery, the source IP address is the address of the media board on Avaya
Communication Manager that transmits the audio of the call to the softphone
al

observing or conferencing the recorded extension; the destination IP address and


port are those of the softphone, as specified during the softphone registration. The
rn

softphone is located on the IP Recorder.


te

iii. The IP Recorder matches the VoIP transmission with the STARTSTREAM
In

request, based on source and destination IP addresses.


iv. IP recorder associates CALLID with the transmission.

Impact 360 V11.1 Sequence Diagrams 60

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

v. The IP Recorder allocates an INUM for the audio recording and saves the
audio as a INUM.wav file. All contact, segment and audio recording
information is saved in the Audio INUM.xml file. The INUM identifier is a
unique number allocated by the Recorder (that is, screen and audio
recordings).

NOTE The INUM is a unique 15 digit recording identifier. The first 6 digits represent the
Recorder Serial Number, as appears in the Recorder Settings page in Enterprise
Manager. The last 9 digits are the Recording Serial Number, starting with
000000001. For instance, if Recorder Serial Number is 934065 the first INUM will
be 934065000000001.

vi. If the beginning of the audio recording is successful, the IP Recorder sends a
STARTED message back to the Integration Service. The message includes a
recording INUM and extension. If the audio recording is not successful, an
alarm is generated.

NOTE If the Recorder detected RTP activity for more than five seconds before the CTI
event was received, these five seconds will be included in the segment, and the
RTP start time will be used for naming the file and marking the contact.
If the Recorder detected RTP activity started more than 5 seconds before the CTI
event, the audio before the CTI event will be broken off as separate recording
(with an INUM). This segment will start at CTI start.

Screen Recording
The Integration Service identifies the agent workstation IP associated with the
recorded extension, as well as the agent and PBX ID.
The agent workstation IP to be recorded is identified as a result of the seating
arrangement for the phone and screen data sources. For details, see the
Recorder Agent Associations Guide.
If the segment qualifies for a screen recording:
i. The Integration Service sends a START message to the Screen Recorder. The
START message contains the required agent workstation IP.

y
ii. The Screen Recorder allocates an INUM for the screen recording and saves
the screens in the INUM.scn file.
nl
O
All screen recording information is saved in the Screen INUM.xml file.
iii. The Screen Recorder activates recording on the requested agent workstation
se

IP using the Screen Capture Service running on the workstation.


U

iv. The Integration Service associates the Screen INUM with the segment.
al

7 Integration Service sends PRPTAG, TAG, SESSION and CONTACT messages to IP


Recorder in order to tag the segment and contact information to the audio recording
rn

INUM. For detailed flow see Segment and Contact Information Tagging,page 62.
te

8 Integration Service sends PRPTAG, TAG, SESSION and CONTACT messages to


Screen Recorder in order to tag segment and contact information to the screen
In

recording INUM. For detailed flow see Segment and Contact Information
Tagging,page 62.

Impact 360 V11.1 Sequence Diagrams 61

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

Segment and Contact Information Tagging


Updating Sessions and Contact Information Logs,page 24

Integration
Switch/CTI Server CTI Adaptor IP Recorder Screen Recorder Consolidator MDL
Service

PRPTAG + Audio INUM


+ keep flag
1

Save to Audio INUM.XML

TAG + Audio INUM


+ Session attributes
2

Save to Audio INUM.XML

SESSION + Audio INUM +


SESSIONINUM
3

Save to Audio INUM.XML

CONTACT + Audio INUM +


CONTACTID
4

Save to Audio INUM.XML

PRPTAG + Screen INUM


+ keep flag
5

Save to Screen INUM.XML

TAG + Screen INUM


+ Session attributes
6

Save to Screen INUM.XML

SESSION + Screen INUM +


SESSIONINUM
7

Save to Screen INUM.XML

y
CONTACT + Screen INUM +
CONTACTID

nl
8

Save to Screen INUM.XML


O
SCREEN + Audio INUM + Screen INUM
se
9

Save to Audio INUM.XML


U

SCREEN + Audio INUM + Screen INUM


10
al

Save to Screen INUM.XML


rn
te
In

Impact 360 V11.1 Sequence Diagrams 62

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

1 The Integration Service decides whether the audio recording is consolidated to the
Database or not. The decision is based on system and extension configuration
parameters, such as Recording mode, as well as real-time data. The Integration
Service sends a PRPTAG message to the IP Recorder, indicating whether to keep
the audio recording. The Keep flag is updated in the Audio INUM.xml file. If the
Keep Flag is zero, the Consolidator skips this recording while transferring the
information to the Database.
2 The Start Call event contains standard segment attributes such as ANI, DNIS, etc.
as well as custom data attributes. These attributes are tagged to the segment. The
Integration Service sends the TAG message containing the attributes to the TDM
Recorder.
The TDM Recorder updates the attributes in the Audio INUM.xml file.
3 The Integration Service sends a SESSION message to the TDM Recorder to signify
that a segment was created for the INUM.
The TDM Recorder updates the segment number in the Audio INUM.xml file.
The SESSIONINUM is the INUM of the primary recording in the specific segment.
Typically the first audio recording is considered the primary recording of the
segment. If no audio was recorded (for example a business rule has fired only for
screen recording) the first screen recording is the primary recording of the segment.
If there is more than one recording that belongs to the segment, the SESSION
message specifies a list of children recordings, including Start time and End time
of each recording. This enables the stitching of several recordings during playback
of the segment's audio.
4 The Integration Service sends a CONTACT message to the TDM Recorder to signify
that the recording belongs to a contact.
The TDM Recorder updates the information in the Audio INUM.xml file.
5 The Integration Service decides whether the screen recording is consolidated to the
Database or not. The Integration Service sends a PRPTAG message to Screen
Recorder indicating whether to keep the screen recording. The Keep flag is
updated in the Screen INUM.xml file. If the Keep flag is zero, the Consolidator
skips this recording while transferring the information to the Database.

y
nl
6 The Integration Service sends the TAG message containing the segment attributes
to the Screen Recorder.
O
The Screen Recorder updates the attributes in the Screen INUM.xml file.
se

7 The Integration Service sends a SESSION message to the Screen Recorder to


signify that a segment was created for the INUM.
U

The Screen Recorder updates the segment number in the Screen INUM.xml file.
al

The SESSIONINUM is the INUM of the primary recording in the specific segment.
Typically the first audio recording is considered the primary recording of the
rn

segment. If no audio was recorded (for example a business rule has fired only for
screen recording) the first screen recording is the primary recording of the segment.
te
In

Impact 360 V11.1 Sequence Diagrams 63

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

8 The Integration Service sends a CONTACT message to the Screen Recorder to


signify that the recording belongs to a contact.
The CONTACTID is a unique identifier of a contact generated by Integration Service.
The Screen Recorder updates the information in the Screen INUM.xml file.
9 The Integration Service sends a SCREEN message to the IP Recorder to link
between the primary audio recording and the screen recording. This information is
vital to enable simultaneous playback of audio and screen.
10 The Integration Service sends a SCREEN message to the Screen Recorder to link
between the primary audio recording and the screen recording

Recording a Contact - Update Data Segment


Update Data Logs,page 35

External CTI Adaptor / MDL /


Integration Screen Consolidator /
Switch / CTI Integration IP Recorder Application
Service Recorder Recorder
Server Service Server

Data Update Event


1 + Ext + CTI Data

Data Update Event


2 + Ext + CTI Data

3 Verify Business Rules

TAG + INUM
4 + Custom Attributes

y
nl
5 Save to INUM.xml
O
se

1 The CTI Server or switch sends an Update event to the CTI Adapter.
U

Typically this event contains the recorded extension and several custom data
attributes.
al

2 The CTI Adapter transfers the event to the Integration Service.


rn

3 The Integration Service refers to its Business Rules to verify whether or not this
segment qualifies for an audio or screen recording:
te
In

Impact 360 V11.1 Sequence Diagrams 64

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

4 Attributes are tagged to the recorded segment, according to the custom data
mapping configuration. The Integration Service sends attributes tagged to the
recorded segment as a TAG message to the IP Recorder.
The IP Recorder saves this information in the INUM.XML file.

NOTE The TAG message can provide updates for custom attributes as well as for
segment and contact attributes (for example, ANI, DNIS, Number of holds,
Contact Duration, etc.).
When the segment and/or contact is created or closed, the TAG message is sent to
update the segment and the contact attributes.

5 The updated data is saved to the INUM.xml file.

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 65

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

Recording a Contact - End Segment


End Segment Logs,page 36

Integration
Switch/CTI Server CTI Adaptor IP recorder Screen Recorder Consolidator MDL
Service

End Call event


1 + Ext + CTI Data

2 End Call event +


Ext + CTI Data

3 Close segment

4 Tag Segment and Contact information to the audio segment

5 Tag Segment and Contact information to the screen segment

RTP transmission
ends

STOPCALL + CALLID
6

Close INUM.wav

STOPPED + INUM

STOP + Workstation

7 Close INUM.scn file


STOPPED + Workstation

FINALIZE + INUM

Audio INUM.XML is ready to be


marked in DBS
8

y
FINALIZE + INUM

nl
Screen INUM.XML is ready to be
marked in DBS
O
Mark Audio and
9 Screen INUM.XMLs
se

in Central DBS
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 66

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

1 The CTI Server or switch sends an End Call event to the CTI Adapter.
Typically this event contains the recorded extension and several custom data
attributes.
2 The CTI Adapter transfers the event to the Integration Service.
3 The Integration Service checks if it is currently recording this segment.
If the segment is being recorded, the Integration Service closes the segment. If this
is the last contact segment the contact is closed.
4 Integration Service sends PRPTAG, TAG, SESSION and CONTACT messages to IP
Recorder in order to tag the segment and contact information to the audio recording
INUM. For detailed flow see Segment and Contact Information Tagging,page 62.
5 Integration Service sends PRPTAG, TAG, SESSION and CONTACT messages to
Screen Recorder in order to tag segment and contact information to the screen
recording INUM. For detailed flow see Segment and Contact Information
Tagging,page 62.
6 The Integration Service sends a STOPCALL request to the IP Recorder, in order to
stop the recording of a call identified by CALLID. The IP Recorder closes the audio
file and sends a STOPPED message to the Integration Service that provides the
recording INUM.
NOTE The Integration Service ensures that the recording has stopped, by waiting 6
seconds for the STOPPED acknowledgement. The 6 seconds are added to the
recorded audio.

7 When the Integration Service closes the segment a STOP message is sent to the
Screen recorder. The Screen Recorder terminates the Screen Capture's activity on
the agents workstation and sends a STOPPED acknowledgement for the STOP
request.
8 The Audio/Screen INUM.xml is ready to be marked in the database. The Integration
Service sends the FINALIZE message to the IP and Screen recorders.
9 This step represents the session and contact marking dataflow and is triggered by
the FINALIZE message. The Consolidator updates the segment and the contact

y
information in the Central Database using the MDL infrastructure. The Consolidator
converts XML metadata to SOAP using XSLT. It uses the MDL web service to write
nl
data to the database in SOAP format.
O
For details, see the Marking Data Flow which will be provided in a future version of
se

this Document.
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 67

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

VoIP Delivery with Avaya DMCC Process Logs


During the VoIP Delivery with Avaya DMCC process logs are generated. The process logs
for Start, Update and End Segments are very similar to those described in Chapter 3 -
CTI Controlled VoIP interception, and are referenced below.
Log examples are taken from Integration Service log file, which can be located in:
<drive>\Impact360\Data\Logs\integrationservice folder.
Start Segment Logs,page 33
Update Data Logs,page 35
End Segment Logs,page 36
The specific logs related to Service Observe and Single-Step Conference are as follows:
Softphone Registration Logs,page 68
Service Observe Logs,page 69
Single-Step Conference Logs,page 70
You can use the phrases (marked in blue) to search for a specific log line. For example,
to find the log associated with Start Call event, search for CallAdded.

Softphone Registration Logs


Integration Service creates softphones for all resources specified in Recording Resource
member group:
Step 1: LISTENON + Recorder IP + Ports: Port_1..Port_N
[SoftPhoneM|1F14|D] 2012/09/27 11:27:40.948 Creating new SoftPhone<201,
798508>
LISTENON_SUCCESS + Recorder IP + Port_1
Integration Service then requests IP Recorder to open UDP ports of the
softphones according to the port range configured for the IP Recorder.
[NGAConnect|1F98|H] 2012/09/27 11:27:43.908 NGA<IPCapture, WSAPP3930,

y
170.65.178.220, 29504> Sending <4 LISTENON IP:170.65.178.220: Ports:30000-
39999:?>
LISTENON_SUCCESS + Recorder IP + Port_N
nl
O
IP Recorder opens the ports for listening one-by-one, and acknowledges every
port successfully opened:
se

[NGAConnect|1F98|H] 2012/09/27 11:27:44.918 NGA<IPCapture, WSAPP3930,


170.65.178.220, 29504> Received message <4 LISTENON_SUCCESS IP:170.65.178.220:
U

Port:30100:>
[NGAConnect|1F98|H] 2012/09/27 11:27:44.918 NGA<IPCapture, WSAPP3930,
al

170.65.178.220, 29504> Received message <4 LISTENON_SUCCESS IP:170.65.178.220:


Port:30101:>
rn

LISTENON_FINISHED + Recorder IP + Ports: Port_1..Port_N


te

Once IP Recorder completes opening all the softphone ports, it notifies


Integration Service by sending the following message:
In

Impact 360 V11.1 Sequence Diagrams 68

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

[NGAConnect|1F98|H] 2012/09/27 11:29:23.918 NGA<IPCapture, WSAPP3519,


170.65.178.218, 29504> Received message <4 LISTENON_FINISHED
IP:170.65.178.218: PORTS:30000-39999:>
Step 2: GetDeviceId + softphone
Integration Service proceeds to register the softphone with the DMCC connector,
using a pair of RTP/RTCP ports that were successfully opened by IP Recorder.
[SoftPhone |1E28|D] 2012/09/27 11:30:33.468 SoftPhone<201, 798508> UDP
Endpoints to use for recordings<170.65.178.218:30100>
[SoftPhone |1E28|D] 2012/09/27 11:30:33.468 SoftPhone<201, 798508> UDP
Endpoints to use for recordings<170.65.178.218:30101>
MonitorStart + softphone
DMCC Connector confirms softphone registration is successfull.
[SoftPhone |1E28|I] 2012/09/27 11:30:33.478 SoftPhone<201, 798508> Got
DeviceId<798508:AESSydney:10.200.74.21:0> from CLANHost<10.200.74.21>
[DMCCServic|1E28|D] 2012/09/27 11:30:33.488 Started DMCC monitoring of
SoftPhone<201, 798508>
RegisterTerminal + softphone + Recorder IP + RCP port + RTCP port
SoftPhone |1E28|I] 2012/09/27 11:30:33.678 SoftPhone<201, 798508> is using
session<10.196.99.25 : B8D65A7B1A4DC17330CAB2D8A9B582A9-27>
[SoftPhone |1E28|I] 2012/09/27 11:30:33.678 SoftPhone<201, 798508> Register
succeeded

Service Observe Logs


Step 1: Allocate softphone and initiate Service Observe
If no softphone is already observing an agent extension, the Integration Service
allocates an available and successfully registered softphone.
[AvayaLineR|1BFC|H] 2012/10/10 12:55:11.730 AvayaLineResource<Extension<304,
162098>> Resource <null> Content<Extension<304, 162098>, Audio,
9115068496690002981> trying to allocate soft phone
[StreamMana|1BFC|H] 2012/10/10 12:55:11.730 tryGetResource-> the obtained
resource is <SOHandler<TeleTech/162098/Line, SoftPhone<304, 798508>>>
Integration Service initiates Service Observe by dialing a predefined Service

y
Observe code and commands IP Recorder to start the recording
[SoftPhone |1BFC|I] 2012/10/10 12:55:11.730 SoftPhone<304, 798508> Service
nl
Observing<162098>
O
[SoftPhone |1BFC|I] 2012/10/10 12:55:11.730 SoftPhone<304, 798508>
Dialing<162098> using line<267>
se

[SOHandler |1BB4|I] 2012/10/10 12:55:13.280 SoftPhone<304, 798508> Service


Observe has a call
U

Integration Service commands the recorder to start recording. Note that


destination address in STARTSTREAM message is the address of IP Recorder and
al

the port of the softphone.


[PortIPReco|1BB4|D] 2012/10/10 12:55:13.280 Adding stream. Call<CMAPI/798508/
rn

1349825841590/17>
[NGAConnect|1BB4|H] 2012/10/10 12:55:13.280 NGA<IPCapture, WSAPP3519,
te

170.65.178.218, 29504> Sending <1 STARTCALL SYSTEM:SIPProxy: CALLID:CMAPI/


798508/1349825841590/17: TIMEOUT:60: MODE:active: MONO:true:?>
In

[NGAConnect|1BB4|H] 2012/10/10 12:55:13.280 NGA<IPCapture, WSAPP3519,


170.65.178.218, 29504> Sending <1 STARTSTREAM CALLID:CMAPI/798508/

Impact 360 V11.1 Sequence Diagrams 69

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

1349825841590/17: SRC:10.196.125.48:0: DST:170.65.178.218:30100: HANDLER:RTP:


?>
Step 2: Keep alive Service Observe session
While agent's call is in progress, Integration Service maintains a keep alive with DMCC
Connected on the softphone's Service Observe session. Integration Service periodically
(every 30 seconds typically) notifies IP Recorder that Service Observe is still in place
and audio should be delivered to the recorder.
[NGAConnect|1F58|H] 2012/10/10 12:59:43.280 NGA<IPCapture, WSAPP3519,
170.65.178.218, 29504> Sending <1 CALL_ALIVE CALLID:CMAPI/798508/
1349825841590/17:?>
Once agent's call ends, the observing softphone receives an indication from DMCC
Connector and the Integration Service commands IP Recorder to stop the recording.
[SOHandler |1BB4|I] 2012/10/10 13:00:52.700 SoftPhone<304, 798508> Service
Observe is no longer on a call

[PortIPReco|1BB4|D] 2012/10/10 13:00:52.700 Stopping the recording.


Call<CMAPI/798508/1349825841590/17>

[NGAConnect|1BB4|H] 2012/10/10 13:00:52.700 NGA<IPCapture, WSAPP3519,


170.65.178.218, 29504> Sending <1 STOPCALL CALLID:CMAPI/798508/1349825841590/
17:?>
For the next call on an agent extension, Integration Service may detect a softphone that
is already observing the extension and continues using that softphone for audio
recording:
[SOHandler |1BFC|D] 2012/10/10 13:01:13.170 SoftPhone<304, 798508> already SO
<162098>

Single-Step Conference Logs


Step 1: Allocate softphone
If no softphone is already observing an agent extension, the Integration Service
allocates an available and successfully registered softphone.

y
[AvayaLineR|0918|H] 2012/12/17 11:26:15.942 AvayaLineResource<Extension<6,

nl
2106>> Resource <null> Content<Extension<6, 2106>, Audio,
9115659076770000601,Active> trying to allocate soft phone
O
The softphone was successfully allocated:
se

[StreamMana|0918|H] 2012/12/17 11:26:15.942 tryGetResource-> the obtained


resource is <AutoAnswerHandler<Dubi_Avaya_DS/2106/Line, SoftPhone<6, 2873>>>
U

Step 2: SSC + softphone + extension


Integration Service joins the softphone to the agent's call using a single-step
al

conference:
rn

[IEMessage |16B4|D] 2012/12/17 11:26:15.942 Dispatching Event


StartSSC<StreamManager> --> <si.6.out> Size<0>
te

[IEMessage |16B4|H] 2012/12/17 11:26:15.942 Str<description> =


StartSSC<Extension<6, 2106>>
In

[IEMessage |16B4|H] 2012/12/17 11:26:15.942 Folder<device>


[IEMessage |16B4|H] 2012/12/17 11:26:15.942 Str<Line> = 2106 ;
Int<DataSourceId> = 6 ; Str<SSCLine> = 2873

Impact 360 V11.1 Sequence Diagrams 70

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 1 - Recorder VoIP Delivery with Avaya DMCC

Adaptor's logs will show more information about the single-step conference command
sent to the switch/middle-ware.
The example below shows a Genesys SDK adaptor logs. Note that a C++ adaptor logs
will be in a separate file.
[GenesysSDK|16B4|I] 2012/12/17 11:26:15.972 Sending request to Single Step
Conference SoftPhone<2873> on ConnId<29275701877858082>
Step 3: Single Step Conference is established
If single-step conference is successful, the DMCC adaptor receives notification that the
softphone is now in a call, and audio delivery has started.
[SoftPhone |0BBC|D] 2012/12/17 11:26:15.992 SoftPhone<6, 2873> is off-
hook<true>...
[SoftPhone |0BBC|H] 2012/12/17 11:26:16.002 SoftPhone<6, 2873> Media Started
IPEndpoint<10.161.135.10:2050> Codec<g711U> PacketSize<20>
[AutoAnswer|0BBC|I] 2012/12/17 11:26:16.002 SoftPhone<6, 2873> has a call
The CTI Adaptor will receive a sequence of CTI events indicating that the softphone has
joined the agent's call in a conference.
Integration Service commands the IP Recorder to start recording the call:
[PortIPReco|0BBC|D] 2012/12/17 11:26:16.002 Adding stream. Call<CMAPI/2873/
1355316393375/3>
[NGAConnect|0BBC|H] 2012/12/17 11:26:16.002 NGA<IPCapture, TLWSV11NG4AL,
10.161.202.181, 29504> Sending <1 STARTCALL SYSTEM:SIPProxy: CALLID:CMAPI/
2873/1355316393375/3: TIMEOUT:60: MODE:active: MONO:true:?>
[NGAConnect|0BBC|H] 2012/12/17 11:26:16.002 NGA<IPCapture, TLWSV11NG4AL,
10.161.202.181, 29504> Sending <1 EXTTAG CALLID:CMAPI/2873/1355316393375/3:
EXT:2106:?>
[NGAConnect|0BBC|H] 2012/12/17 11:26:16.002 NGA<IPCapture, TLWSV11NG4AL,
10.161.202.181, 29504> Sending <1 STARTSTREAM CALLID:CMAPI/2873/1355316393375/
3: SRC:10.161.135.10:0: DST:10.161.202.181:9004: HANDLER:RTP: ?>
When agent's call ends, single-step conference ends automatically, therefore Integration
Service does not need to request the switch/middle-ware to end the recording.
Integration Service commands the IP Recorder to stop recording the call:
[AutoAnswer|0BBC|I] 2012/12/17 11:26:34.532 SoftPhone<6, 2873> is no longer on
a call

y
[PortIPReco|0BBC|D] 2012/12/17 11:26:34.532 Stopping the recording.
Call<CMAPI/2873/1355316393375/3>
nl
[NGAConnect|0BBC|H] 2012/12/17 11:26:34.532 NGA<IPCapture, TLWSV11NG4AL,
O
10.161.202.181, 29504> Sending <1 STOPCALL CALLID:CMAPI/2873/1355316393375/
3:?>
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 71

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 2

WebLogic Authentication

The Impact 360 system supports two application authentication methods, System
Authentication and Windows Authentication.
WebLogic Authentication Overview, page 72
WebLogic Authentication with SSO, page 74
WebLogic Authentication Process Logs, page 75

WebLogic Authentication Overview


The system uses Web-based communication between desktops and servers. When
accessing the platform's Web-based applications, the system authenticates the users
that are defined in the system according to the desired authentication method.
Once authenticated, the application authorizes the user according to their specific rights
and permissions, as defined in the system.
The system supports the following types of application authentication methods:

y
System Authentication (DB Realm): This is the default authentication method

nl
installed with the system. Authenticates the user with a username and password
that is maintained within the system database. This section describes the DB Realm
O
authentication method, including the system administration account that needs to
be defined and the password policies supported by the DB Realm authentication
se

method.
Windows LDAP Authentication (Active Directory): Supports Microsoft's
U


Windows integrated authentication mechanisms. This authentication method uses
the security features of Windows clients and servers, and uses the existing Windows
al

accounts to authenticate users (taken from the Domain Controllers Active


rn

Directory). This section describes the Windows authentication method, the forest
te
In
Chapter 2 - WebLogic Authentication

deployments supported by Windows authentication, and the Windows


authentication user accounts required in the application user forest.
Windows Authentication with SSO: Describes the SSO user accounts and their
requirements that need to be defined for Windows Authentication with Single-sign
On (SSO).

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 73

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 2 - WebLogic Authentication

WebLogic Authentication with SSO


WebLogic Authentication Process Logs, page 75

Key Distribution
Browser WebLogic LDAP Server Framework Database
Center (KDC)
(Application Server) (Active Domain) (BPMAIN)
(Active Domain)

GET

AUTH Required

Request Service Ticket


2

Service Ticket
GET + Service Ticket
3

Service ticket validation

LDAPBind with WL Admin account


Logon 4

LDAPSearch of end-user
5a

End-user found

Search in BPMAIN for end-user


5b

End-user found

Token Creation 6

Token
GET + Token

y
Token Validation

nl
Secondary 8
7
calls
Handle Request
O
se

Result
U
al

1 End User Starts to Browse.The server needs to authenticate.


rn

2 The Service Ticket is retrieved from Key Distribution Center (KDC).


te

This requires a valid setup of SPN (Service Principal Name), Principal Name and
In

Encryption Type.

Impact 360 V11.1 Sequence Diagrams 74

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 2 - WebLogic Authentication

3 The Request including the End-User Identification, is sent to the Server together
with the Ticket.
4 The Ticket is validated against the SSOKeyTab file.
5 After validating the Ticket, the server decrypts the End-User Identification from the
Request and validates that the User is entitled to access the application.
a. The validation is carried out on the Active Domain.
b. The validation is also carried out on the Framework Database (BPMainDB).
6 A token representing the User is created and returned to the End-User.
The token is saved in the WebLogic Coherence cache.
7 All secondary requests to the application are done with the token.
The token is stored in a cookie, and when the SSL is applied, the transport is
encrypted.
8 If the token is valid, the application handles the request.

WebLogic Authentication Process Logs


During the WebLogic Authentication procedure, numerous process logs are generated.
You can use the phrases (marked in blue) to search for a specific log line. For example,
to find the log associated with user emmadmin, search for
emmadmin@SUSDOMAIN.COM
1 Access.log file
10.161.207.32 - - [10/Dec/2012:11:45:54 +0000] "GET /wfo/control/
signinSSO?mode=initSSO&_sysTime=1355139939612 HTTP/1.1" 401 500
Anonymous access rejected by server with AUTH required.
2 NetMon capture on desktop
10.161.207.3210.161.133.85 KerberosV5 KerberosV5:TGS Request Realm:
SUSDOMAIN.COM Sname: HTTP/tlwveacons59.SUSDomain.com
10.161.133.85 10.161.207.32 KerberosV5 KerberosV5:TGS Response Cname: emmadmin

y
The ticket can be cached. To see the message clean the cache: klist purge
To see the ticket: klist tickets
nl
O
#1> Client: emmadmin@SUSDOMAIN.COM
Server: HTTP/tlwveacons59.SUSDomain.com @ SUSDOMAIN.COM
se

KerbTicket Encryption Type: RSADSI RC4-HMAC(NT)


Ticket Flags 0x40a00000 -> forwardable renewable pre_authent
U

Start Time: 12/10/2012 14:25:13 (local)


End Time: 12/11/2012 0:25:13 (local)
al

Renew Time: 12/17/2012 14:25:13 (local)


Session Key Type: RSADSI RC4-HMAC(NT)
rn

3 Access.log file
te

10.161.207.32 - emmadmin [10/Dec/2012:11:45:54 +0000] "GET /wfo/control/


signinSSO?mode=initSSO&_sysTime=1355139939612 HTTP/1.1" 200 0
In

end-user (in this case emmadmin) user entering with ticket.

Impact 360 V11.1 Sequence Diagrams 75

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 2 - WebLogic Authentication

10.161.207.32 - emmadmin [10/Dec/2012:11:45:54 +0000] "POST /wfo/control/


signinSSO HTTP/1.1" 200 821

4 Productionserver.log file

Enable WebLogic debug


Turn on SSO or Kerberos debug feature to look for the root cause of any errors.
Use a text editor to edit the file ssoenv.cmd file, which is located under the folder
%Impact360Softwaredir%ProductionServer\weblogic10sp3\Impact360\ProductionDom
ain.
Append the following lines to the file:
REM ========= start of debug flags ===================
set ADSSO=%ADSSO% -Dsun.security.krb5.debug=true
set ADSSO=%ADSSO% -DDebugSecurityAdjudicator=true
set ADSSO=%ADSSO% -Dweblogic.debug.DebugSecurityAtn=true
set ADSSO=%ADSSO% -Dweblogic.debug.DebugSecurityAtz=true
set ADSSO=%ADSSO% -Dweblogic.StdoutSeverityLevel=64
set ADSSO=%ADSSO% -Dweblogic.StdoutDebugEnabled=true
REM ========= end of debug flags ====================
Restart WebLogic service to make the debug flags take effect.
Once the issue is reproduced, and logs are collected, turn the debug mode off.
The following is an example of a Productionserver.log file:
####<Nov 28, 2012 1:06:36 PM GMT> <Debug> <SecurityAtn> <LMAPP>
<ProductionServer> <[ACTIVE] ExecuteThread: '8' for queue:
'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1354107996325>
<BEA-000000> <Found Negotiate with SPNEGO token>
####<Nov 28, 2012 1:06:36 PM GMT> <Debug> <SecurityAtn> <LMAPP>
<ProductionServer> <[ACTIVE] ExecuteThread: '8' for queue:
'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1354107996325>
<BEA-000000> <Negotiate filter: existing session, negotiation was started>

####<Nov 28, 2012 1:06:36 PM GMT> <Debug> <SecurityAtn> <LMAPP>
<ProductionServer> <[ACTIVE] ExecuteThread: '8' for queue:

y
'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1354107996552>

nl
<BEA-000000> <GSS name is emmadmin@SUSDOMAIN.COM>
####<Nov 28, 2012 1:06:36 PM GMT> <Debug> <SecurityAtn> <LMAPP>
O
<ProductionServer> <[ACTIVE] ExecuteThread: '8' for queue:
'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1354107996552>
se

<BEA-000000> <User name is emmadmin@SUSDOMAIN.COM>



U

<<WLS Kernel>> <> <> <1354107996560> <BEA-000000>


<com.bea.common.security.internal.service.IdentityAssertionCallbackServiceImpl
al

.assertIdentity returning emmadmin@SUSDOMAIN.COM>


####<Nov 28, 2012 1:06:36 PM GMT> <Debug> <SecurityAtn> <LMAPP>
rn

<ProductionServer> <[ACTIVE] ExecuteThread: '8' for queue:


'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1354107996560>
te

<BEA-000000>
<com.bea.common.security.internal.service.IdentityCacheServiceImpl.getCachedId
In

entity(emmadmin@SUSDOMAIN.COM)>
####<Nov 28, 2012 1:06:36 PM GMT> <Debug> <SecurityAtn> <LMAPP>
<ProductionServer> <[ACTIVE] ExecuteThread: '8' for queue:

Impact 360 V11.1 Sequence Diagrams 76

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 2 - WebLogic Authentication

'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1354107996560>


<BEA-000000>
<com.bea.common.security.internal.service.IdentityCacheServiceImpl.getCachedId
entity(emmadmin@SUSDOMAIN.COM) returning null>

<<WLS Kernel>> <> <> <1354107996567> <BEA-000000>
<com.bea.common.security.internal.service.CallbackHandlerWrapper.handle got
username from callbacks[0], UserName= emmadmin@SUSDOMAIN.COM>
####<Nov 28, 2012 1:06:36 PM GMT> <Debug> <SecurityAtn> <LMAPP>
<ProductionServer> <[ACTIVE] ExecuteThread: '8' for queue:
'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1354107996567>
<BEA-000000> <LDAP Atn Login username: emmadmin@SUSDOMAIN.COM>
5 NetMon capture on server
Enable WebLogic debug as shown in paragraph 4 above.
There are several different LDAP search messages. The filters are different, depending
on UPN support. The number of messages depends on the WL definitions. For example,
it is possible to search all groups and several levels where users are assigned.
LDAPMessage: Search Request; BaseObject: DC=susdomain,DC=com; Filter:
(&(&(sAMAccountName=emmadmin)(objectclass=user))(!(BIT_AND:
(userAccountControl)&2)))
LDAPMessage: Search Result Entry, MessageID: 41; SearchResultEntry:
CN=Emmanuelle,CN=Users,DC=SUSDomain,DC=com

<<WLS Kernel>> <> <> <1354107996567> <BEA-000000> <userExists? user:


emmadmin@SUSDOMAIN.COM>
####<Nov 28, 2012 1:06:36 PM GMT> <Debug> <SecurityAtn> <LMAPP>
<ProductionServer> <[ACTIVE] ExecuteThread: '8' for queue:
'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1354107996567>
<BEA-000000> <getConnection return conn:LDAPConnection {ldaps://
oren2008.SUSDOMAIN.COM:389 ldapVersion:3 bindDN:"WLSAdminUser@SUSDOMAIN.COM"}>
####<Nov 28, 2012 1:06:36 PM GMT> <Debug> <SecurityAtn> <LMAPP>
<ProductionServer> <[ACTIVE] ExecuteThread: '8' for queue:
'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1354107996567>
<BEA-000000> <getDNForUser search("DC=child2,DC=bomba,DC=com",
"(&(|(&(userPrincipalName=

y
emmadmin@SUSDOMAIN.COM)(objectclass=user))(&(sAMAccountName=

nl
emmadmin@SUSDOMAIN.COM)(objectclass=user)))(!(userAccountControl:1.2.840.11355
6.1.4.803:=2)))", base DN & below)>

O
<1354107996567> <BEA-000000> <oneShotGroupMembershipLookup called for
se

emmadmin@SUSDOMAIN.COM>
####<Nov 28, 2012 1:06:36 PM GMT> <Debug> <SecurityAtn> <LMAPP>
<ProductionServer> <[ACTIVE] ExecuteThread: '8' for queue:
U

'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <>



al

<1354107996567> <BEA-000000> <getDNForUser search("DC=child2,DC=bomba,DC=com",


"(|(&(userPrincipalName=
rn

emmadmin@SUSDOMAIN.COM)(objectclass=user))(&(sAMAccountName=
emmadmin@SUSDOMAIN.COM)(objectclass=user)))", base DN & below)>
te


In

####<Nov 28, 2012 1:06:36 PM GMT> <Debug> <SecurityAtn> <LMAPP>


<ProductionServer> <[ACTIVE] ExecuteThread: '8' for queue:

Impact 360 V11.1 Sequence Diagrams 77

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 2 - WebLogic Authentication

'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1354107996575>


<BEA-000000> <oneShotGroupMembershipLookup returns with 2 groups>

####<Nov 28, 2012 1:06:36 PM GMT> <Debug> <SecurityAtn> <LMAPP>
<ProductionServer> <[ACTIVE] ExecuteThread: '8' for queue:
'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1354107996575>
<BEA-000000> <login succeeded for username emmadmin@SUSDOMAIN.COM>

####<Nov 28, 2012 1:06:36 PM GMT> <Debug> <SecurityAtn> <LMAPP>
<ProductionServer> <[ACTIVE] ExecuteThread: '8' for queue:
'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1354107996575>
<BEA-000000>
<com.bea.common.security.internal.service.JAASLoginServiceImpl.login
subject=Subject:
Principal: emmadmin@SUSDOMAIN.COM
Principal: Users
Principal: Domain Users
Private Credential: emmadmin@SUSDOMAIN.COM
6 NetMon capture on server
beasvcX64.exe 10.161.201.105 10.161.201.25 HTTP HTTP:Response, HTTP/1.1,
Status: Ok, URL: /wfo/control/signin
Set-Cookie:
BP_SUITE_JSESSIONID=dS4CTpZTr9Klzm124CnX5mQvNhKBCQqhvh3TsY01RQN1nfnQRKT8!15005
13185; path=/
7 NetMon capture on server
beasvcX64.exe 10.161.201.25 10.161.201.105 HTTP HTTP:Request, GET /wfo/uif/
css/uif.css, Query:v=11.0.1.96
Cookie: MYCOOKIE=SOMEVALUE.node1;
BP_SUITE_JSESSIONID=dS4CTpZTr9Klzm124CnX5mQvNhKBCQqhvh3TsY01RQN1nfnQRKT8
beasvcX64.exe 10.161.201.25 10.161.201.105 HTTP HTTP:Request, GET /wfo/uif/
css/navStyle.css, Query:v=11.0.1.96
Cookie: MYCOOKIE=SOMEVALUE.node1;
BP_SUITE_JSESSIONID=dS4CTpZTr9Klzm124CnX5mQvNhKBCQqhvh3TsY01RQN1nfn

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 78

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 3

User Management

The User Management application within the Enterprise Suite portal is used to enable
administrators to carry out the functions of assigning privileges to Enterprise Suite
users, modifying user profiles, and creating hierarchical user organizations and groups.
User Management Overview, page 80
User Management Synchronization Components, page 80
User Management Synchronization, page 82
User Management Process Logs, page 83

y
nl
O
se
U
al
rn
te
In
Chapter 3 - User Management

User Management Overview


The User Management application is part of the portal and the two relevant modules in
the portal are Organization Management and User Management. The essence of the
relationship between the User Management system and the Interactions & Analytics
system, is an ongoing synchronization process that continuously synchronizes
information from the Framework database to the Interaction related databases.

User Management Synchronization Components


The following table provides a description of the various components that are involved in
the synchronization process.

Component Description

User Management Module This is the application module that contains the relevant pages
that facilitate the management of employees, organization, group,
roles, etc. This module is part of the main portal application, and is
hosted on Web Logic as part of the application server.

Integration Server This server is a generic scheduler, capable of running various pre-
defined packages of integration tasks. While the Integration
Server can be deployed for more than one instance on a single
enterprise system, the instance responsible for running the User
Management package is the one deployed on the Interaction
Database Platform.

Adapters The defined User Management package on the Integration Server


contains 3 adapters that perform the synchronization.
User Sync Adapter: The User Sync Adapter adapter is the
first of the three adapters, and is responsible for synchronizing
the data from the Framework Database to the ADAM
Database.
ADAM Transformer: This is the 2nd adapter in the User
Management package in the Integration Server. The actual

y
adapter is a separate and independent executable that is

nl
called by the Integration Server when needed. The ADAM
Transformer is responsible for most of that logical
O
transformation that is done during the synchronization
operation.
se

DB Sync: The 3rd adapter in the User Management package in


the Integration Server. The actual adapter is a separate and
U

independent executable that is called by the Integration Server


when needed. DB Sync is responsible for synchronizing the
required data from the ADAM Database to the QM Common
al

Database.
rn
te
In

Impact 360 V11.1 Sequence Diagrams 80

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 3 - User Management

Component Description

MDAL WS This Web Service serves as an interface for both query and update
operations over the ADAM Database. MDAL WS is hosted on IIS on
the application server.

Common DB This SQL database is used by the Interactions & Analytics


application and contains the common management tables (like
users, groups, etc.). A single enterprise system can contain more
than one instance of this database, depending on the scale.

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 81

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 3 - User Management

User Management Synchronization


User Management Process Logs, page 83
User
Management Framework Integration User Sync ADAM Common
MDAL WS ADAM DB DB Sync
Module Database Server Adapter Transformer Database

Make changes to
User Management
Data

Make changes to
1 User Management
Data

Trigger
2 incremental
Sync

3 Execute User Sync Adapter

Query recently made changes

Query result 4

Send update message


To MDAL WS
User Sync Adapter Save change to
(1st adapter in UUM ADAM DB
Package)
5 6

Success code

Success code

Success code
Execute ADAM Transformer Adapter
7

Query recently
made changes

Query result 8

ADAM Transformer
Adapter Apply
(2nd adapter in UUM 9 Transformation

y
Package) Logic

nl
Save transformed
object to DB O
Query result 10
se

Success code

Execute DB Sync Adapter


U

11
Query recently
made changes
al

12
Query result
rn

QM DB Sync Adapter
(3rd adapter in UUM
Commit change
Package)
To DB
te

13
Success code
In

Success code

Impact 360 V11.1 Sequence Diagrams 82

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 3 - User Management

1 User continuously make changes to user management data via the User
Management Module, and these changes are saved to the Framework
Database.
2 Every minute, an internal timer in the Integration Server triggers the User
Management package to start an incremental synchronization.
3 Integration Server executes the User Sync Adapter.
4 The User Sync Adapter queries the Framework Database to retrieve a list of
changes that were added since the previous adapter run.
5 User Sync Adapter aggregate the changes into batches and makes a call to the
MDAL WS with the first batch of update message. This web service call is
authenticated using a Foundation Authentication Token and is routed via the
load balancer.
6 MDAL WS processes the batch of messages and saves the required changes to the
ADAM Database.
Step 5 and 6 are repeated to process additional message batches until complete.
7 Integration Server executes the ADAM Transformer.
8 The ADAM Transformer queries ADAM Database to retrieve the changes that were
made since previous adapter run.
9 The ADAM Transformer performs the necessary logic to transform the objects that
were changed.
10 The ADAM Transformer saves the transformed objects back to the ADAM
Database.
11 Integration Server executes DB Sync adapter.
12 DB Sync queries the ADAM Database for the changes that were done since the
previous adapter run.
13 DB Sync updates the required tables in the Common Database, based on the
changes. If there is more than one instance of the Common Database, the update of
the tables is done in parallel to all instances.

y
User Management Process Logs
nl
O
During the User Management synchronization procedure, the following process logs are
generated.
se

Step 3: Execute User Sync Adapter


U

Location of the log file: [Data Dir]\Logs\Integration Server\IServer.txt


Log snippet (from IServer.txt) :
al

####[Integration-Server]-[qaadmin] [2012-12-17 19:30:00,085] [DEBUG]


[BatchExtender18-Process] [BatchExtender18 ] <##[{user=qaadmin}]##> -
rn

BPXProcess.launchPlugin(): Launching Plugin - PLUGIN TYPE:Batch;COMMAND


te

LINE:D:\Impact360\Software\JDK\jre\\bin\java.exe -Xmx512m -jar


Plugins\UserSync\UserSync.jar -pluginname "BatchExtender18" -extendername
In

"BatchExtender18" -extenderfilename
"D:\IMPACT~1\Software\INTEGR~1\FusionExchange\BPXServer.ConnectionInfo" -
servername "PTXServervm-v11-nimrod" -ORBNamingAddr "inet:vm-v11-nimrod:38693"

Impact 360 V11.1 Sequence Diagrams 83

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 3 - User Management

-maxretrycount 5 -adaptertype "TYPE_IMPLEMENTS_DO_COMMAND";WORKING


DIR:D:\IMPACT~1\Software\INTEGR~1\FusionExchange;MAX RUNTIME:3600000;MAX
RETRIES:0;POLL INTERVAL:1000

Step 4: User Sync Adapter


Where X is the random ID assigned to this plugin, and can be viewed on the
Integration Server Monitor page.
Location of the log files:
[Data Dir]\Logs\Integration Server\Plugin_BatchExtenderX.txt
[Data Dir]\Logs\Integration Server\Plugin_BatchExtenderX_UUM_messages.txt

Log snippet (from Plug_BatchExtenderX.txt):


####[BluePumpkinProcessX]-[qaadmin] [2012-12-17 19:28:02,306] [WARN]
[SyncListenerThread] [Plugin_BatchExtender18] <##[{user=qaadmin}]##> -
WFO=inc_Employee_482000033_update [ employee: ID:33 parentID:33
valueObjectExternalID:482000033 firstName:user lastName:test middleInitial:
organizationID:1 personID:33 startTime:2012-12-16T08:00:00Z suffix:]]

Step 5: Send update message to MDAL WS


Log snippet (from Plugin_BatchExtenderX_UUM_messages.txt):
[2012-12-17 19:20:04,712] - MDAL=inc_SyncEmployee_482000033_enabled
[display:test, user login: tzID:Pacific Standard Time email:]
Step 6: Save change to ADAM DB
Location of the log file:[Data dir]\Logs\MDALWS\MDALWS_UUM_CF.ltf

Log snippet (from MDALWS_UUM_CF.ltf):


12/17/12 11:20:07.325 (-07) UUMSyncWebService Verbose 0 Process Sync Message -
SyncEmployee: ID - 482000033, DisplayName - test, user, EmailAdress - ,
LoginName - , TimeZoneID - Pacific Standard Time, Enabled - True

Step 7: Execute ADAM Transformer adapter.


Location of the log file: [Data dir]\Logs\AdamTransformer\ADAMTransformer_CF.ltf

y
Log snippet (from IServer.txt) :

nl
####[Integration-Server]-[qaadmin] [2012-12-17 19:30:04,092] [DEBUG]
[BatchExtender1-Process] [BatchExtender1 ] <##[{user=qaadmin}]##> - The
O
working directory specified was blank. Setting working directory to servers
working directory: D:\IMPACT~1\Software\INTEGR~1\FusionExchange
se

####[Integration-Server]-[qaadmin] [2012-12-17 19:30:04,105] [DEBUG]


[BatchExtender1-Process] [BatchExtender1 ] <##[{user=qaadmin}]##> -
U

BPXProcess.launchPlugin(): Launching Plugin - PLUGIN TYPE:Batch;COMMAND


LINE:..\..\ADAMTransformer\TransformerAdapter.exe -pluginname "BatchExtender1"
-extendername "BatchExtender1" -extenderfilename
al

"D:\IMPACT~1\Software\INTEGR~1\FusionExchange\BPXServer.ConnectionInfo" -
rn

servername "PTXServervm-v11-nimrod" -ORBNamingAddr "inet:vm-v11-nimrod:38693"


-maxretrycount 5 -adaptertype "TYPE_IMPLEMENTS_DO_COMMAND";WORKING
te

DIR:D:\IMPACT~1\Software\INTEGR~1\FusionExchange;MAX RUNTIME:3600000;MAX
RETRIES:0;POLL INTERVAL:1000
In

Step 8: Query recently made changes.

Impact 360 V11.1 Sequence Diagrams 84

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 3 - User Management

Log snippet (from ADAMTransformer_CF.ltf):


11/29/12 16:43:08.320 (-07) Execution Flow Informational 0
================Starting set user leadership flow================
11/29/12 16:43:08.323 (-07) Execution Flow Informational 0 Found 20 users that
need user leadership reset

Step 9: Apply Transformation Logic.


Log snippet (from ADAMTransformer_CF.ltf):
11/29/12 16:43:08.326 (-07) History Informational 0 Transformer is reseting
leadership for users:
[482000001,482000014,482000015,482000016,482000018,482000019,482000020,4820000
22,482000023,482000024,482000026,482000027,482000002,482000003,482000005,48200
0006,482000007,482000009,482000010,482000011]

Step 10: Save transformed object to DB.


Log snippet (from ADAMTransformer_CF.ltf):
11/29/12 16:43:18.362 (-07) Execution Flow Informational 0 ================Set
User Leadership: all tasks Completed.================

Step 11: Execute DB Sync adapter.


Location of the log file:
[Data dir]\Logs\DatabaseDirectorySync\DatabaseDirectorySync_CF.ltf

Log snippet (from IServer.txt) :


####[Integration-Server]-[qaadmin] [2012-12-17 19:30:09,091] [DEBUG]
[BatchExtender2-Process] [BatchExtender2 ] <##[{user=qaadmin}]##> - The
working directory specified was blank. Setting working directory to servers
working directory: D:\IMPACT~1\Software\INTEGR~1\FusionExchange
####[Integration-Server]-[qaadmin] [2012-12-17 19:30:09,154] [DEBUG] [Alarm
Notifier Thread] [IServer ] <##[{user=qaadmin}]##> - **** ack alarm
instanceID=BatchExtender2
####[Integration-Server]-[qaadmin] [2012-12-17 19:30:09,155] [DEBUG]
[BatchExtender2-Process] [BatchExtender2 ] <##[{user=qaadmin}]##> -
BPXProcess.launchPlugin(): Launching Plugin - PLUGIN TYPE:Batch;COMMAND
LINE:..\..\DatabaseDirectorySync\DatabaseDirectorySync.exe -pluginname

y
"BatchExtender2" -extendername "BatchExtender2" -extenderfilename

nl
"D:\IMPACT~1\Software\INTEGR~1\FusionExchange\BPXServer.ConnectionInfo" -
servername "PTXServervm-v11-nimrod" -ORBNamingAddr "inet:vm-v11-nimrod:38693"
O
-maxretrycount 5 -adaptertype "TYPE_IMPLEMENTS_DO_COMMAND";WORKING
DIR:D:\IMPACT~1\Software\INTEGR~1\FusionExchange;MAX RUNTIME:3600000;MAX
se

RETRIES:0;POLL INTERVAL:1000
U

Step 12: Query recently made changes.


Log snippet (from: [Data
al

Dir]\Logs\DatabaseDirectorySync\DatabaseDirectorySync_CF.ltf)
rn

12/16/12 15:02:09.114 (-07) ExecutionFlow1 Informational 0 Loading user


changes after lut 12/13/2012 9:45:10 AM
te

12/16/12 15:02:09.116 (-07) ExecutionFlow1 Informational 0 LoadDeleteUsers


Started
In

12/16/12 15:02:09.119 (-07) ExecutionFlow1 Informational 0 LoadDeleteUsers


Ended

Impact 360 V11.1 Sequence Diagrams 85

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 3 - User Management

12/16/12 15:02:09.126 (-07) ExecutionFlow1 Informational 0 LoadModifiedUsers


Started.

Step 13: Commit change to DB.


Log snippet (from: [Data
Dir]\Logs\DatabaseDirectorySync\DatabaseDirectorySync_CF.ltf)
12/16/12 15:02:09.132 (-07) ExecutionFlow1 Informational 0 WARNING: Starting
to flush staging data into SQL Server...
12/16/12 15:02:09.133 (-07) ExecutionFlow1 Informational 0 LoadModifiedUsers
Ended
12/16/12 15:02:09.135 (-07) ExecutionFlow1 Informational 0 LoadDeletedDefs
Started
12/16/12 15:02:09.139 (-07) ExecutionFlow1 Informational 0 AddDeleteObject for
Categories_defs Started
12/16/12 15:02:09.139 (-07) ExecutionFlow1 Informational 0 AddDeleteObject for
Categories_defs Ended
12/16/12 15:02:09.142 (-07) ExecutionFlow1 Informational 0 AddDeleteObject for
Workflow_folders Started
12/16/12 15:02:09.142 (-07) ExecutionFlow1 Informational 0 AddDeleteObject for
Workflow_folders Ended
12/16/12 15:02:09.145 (-07) ExecutionFlow1 Informational 0 AddDeleteObject for
Instances_defs Started
12/16/12 15:02:09.145 (-07) ExecutionFlow1 Informational 0 AddDeleteObject for
Instances_defs Ended
12/16/12 15:02:09.193 (-07) ExecutionFlow1 Informational 0 AddDeleteObject for
Pcd_def Started
12/16/12 15:02:09.193 (-07) ExecutionFlow1 Informational 0 AddDeleteObject for
Pcd_def Ended
12/16/12 15:02:09.195 (-07) ExecutionFlow1 Informational 0 AddDeleteObject for
Switches_def Started
12/16/12 15:02:09.195 (-07) ExecutionFlow1 Informational 0 AddDeleteObject for
Switches_def Ended
12/16/12 15:02:09.195 (-07) ExecutionFlow1 Informational 0 LoadDeletedDefs
Ended
12/16/12 15:02:09.198 (-07) ExecutionFlow1 Informational 0 AddCategoriesDefs
Started
12/16/12 15:02:09.201 (-07) ExecutionFlow1 Informational 0 AddCategoriesDefs

y
Ended
12/16/12 15:02:09.204 (-07) ExecutionFlow1 Informational 0 AddFoldersDefs
nl
Started
O
12/16/12 15:02:09.208 (-07) ExecutionFlow1 Informational 0 AddFoldersDefs
Ended
se

12/16/12 15:02:09.210 (-07) ExecutionFlow1 Informational 0 AddInstancesDefs


Started
U

12/16/12 15:02:09.213 (-07) ExecutionFlow1 Informational 0 AddInstancesDefs


Ended
al

12/16/12 15:02:09.214 (-07) ExecutionFlow1 Informational 0 AddPCDDefs Started


12/16/12 15:02:09.225 (-07) ExecutionFlow1 Informational 0 AddPCDDefs Ended
rn

12/16/12 15:02:09.227 (-07) ExecutionFlow1 Informational 0 AddSwitchesDefs


Started
te

12/16/12 15:02:09.228 (-07) ExecutionFlow1 Informational 0 AddSwitchesDefs


Ended
In

12/16/12 15:02:09.229 (-07) ExecutionFlow1 Informational 0 LoadDeletedGroups


Started

Impact 360 V11.1 Sequence Diagrams 86

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 3 - User Management

12/16/12 15:02:09.231 (-07) ExecutionFlow1 Informational 0 LoadDeletedGroups


Ended
12/16/12 15:02:09.233 (-07) ExecutionFlow1 Informational 0 LoadModifiedGroups
Started
12/16/12 15:02:09.235 (-07) ExecutionFlow1 Informational 0 WARNING: Starting
to flush staging data into SQL Server...
12/16/12 15:02:09.235 (-07) ExecutionFlow1 Informational 0 LoadModifiedGroups
Ended
12/16/12 15:02:09.237 (-07) ExecutionFlow1 Informational 0 LoadDSTChanges
Started
12/16/12 15:02:09.239 (-07) ExecutionFlow1 Informational 0 LoadDSTChanges
Ended
12/16/12 15:02:09.239 (-07) ExecutionFlow1 Informational 0 LoadParams Started
12/16/12 15:02:09.241 (-07) ExecutionFlow1 Informational 0 LoadParams Ended

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 87

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4

Speech Analytics

Speech Transcription,page 89
Speech Indexing,page 100

y
nl
O
se
U
al
rn
te
In
Chapter 4 - Speech Analytics Speech Transcription

Speech Transcription
Transcription is the process of converting audio data into text.
The transcription process is divided into the following main stages:
1 Prepare Files for Transcription,page 90: The user defines transcription rules, which
are saved in the database. Based on these rules, the system retrieves metadata for
the relevant recorded interactions. The Primary transcription server then processes
the rules and metadata and creates XML mission files for each interaction.
2 Retrieve Files for Transcription,page 91: All secondary transcription servers retrieve
the XML mission files from the Primary transcription server, and the relevant audio
files from the Content Server for transcription.
3 Transcribe Files,page 92: The transcription servers process and transcribe the files,
and create two different types of data:
Transcribed Data (.inf file): Contains the text of the recorded conversation
between the agent and the customer.
Metadata of the Transcribed Data (.met file): Contains some information
about the recorded conversation (about five fields), including speaker separation
and silence information.
For details on the two main folders used in different stages of the transcription process,
see Transcription Data and Folders,page 99.

Speech Transcription Log File Details


Refer to the following log files, according to the stage in the transcription process:

Stage Log File Location

Prepare Files for %DataDir%\Logs\StorageManager\StorageManager_CF_MESSAGES.txt


Transcription,page 90

y
Retrieve Files for ITS log located in:

nl
Transcription,page 91 %DataDir%\Logs\SpeechTranscriptionService\Speech Transcription Service - CF
Informational.txt
O
Transcribe ITS log located in:
se

Files,page 92 %DataDir%\Logs\SpeechTranscriptionService\Speech Transcription Service - CF


Informational.txt
U

NOTE To view the final result of each log (success or failure), access the Process Tracking
al

logs (located in: %IMPACT360DATADIR%\Logs\SpeechProcessTracking\).


rn
te

For detailed information about the logs generated during the transcription process, see
Transcription Logs,page 93.
In

Impact 360 V11.1 Sequence Diagrams 89

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Transcription

Prepare Files for Transcription


Prepare Files for Transcription Logs,page 93

Desktop Data Center Site

Interaction Applications Primary Transcription Server

Storage Manager QM DB
Users Desktop Contact DB Storage Manager
Rule Editor (CentralApp)

Configure Rules
1
Store Rules
2

Process Rules
3

Retrieve Metadata
4

5 Create XML Mission


Files

1 Using the Storage Manager Rule Editor (Interaction Application), the user configures
transcription rules on the enterprise level.
The rule includes language and specific vocabulary, which forms the basis of the
cluster definition used by the Speech Transcription Service. Each rule is applied to a
specific instance, which is associated with a specific Speech Application Server.
2 The Storage Manager Rule Editor saves the rule definitions to the QM database
(CentralApp).
3 The Storage Manager, on the Primary Transcription Server, periodically retrieves and
processes the stored transcription rules from the QM Database (CentralApp).
4 Based on the transcription rules, the Storage Manager retrieves the metadata of the
relevant interactions for transcription from the Contact Database.

y
The Storage Manager will not pull interactions from the Contact Database that have
not yet been included in the User Synchronization process.
nl
O
5 The Storage Manager:
a. Compiles a list of interactions that meet the transcription rules
se

b. Creates an .xml mission file for each interaction


U

c. Saves the mission files according to transcription clusters, which are groups of
servers categorized according to language
al

One server in each cluster is designated as the Primary server (via the Enterprise
rn

Management application interface).


The Primary server in the cluster is the server that holds the Transcription Queue,
te

which is the Contact Data shared folder (default location:


In

%IMPACT360DATADIR%contactdata), whose contents indicate the sequence


in which the mission files need to be processed by the transcription engines of the
cluster.

Impact 360 V11.1 Sequence Diagrams 90

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Transcription

Retrieve Files for Transcription


T

Retrieve Files for Transcription Logs,page 95

Sites

Primary Transcription Server Transcription Servers

Transcription Content Server


Storage Manager Transcriber Locator
Queue

Populates
Transcription Missions
1
Get XML Mission Files
2
Get Audio URL
3

Request for URL Media


4

Send Valid URL


5
Send Valid URL
6

NOTE This flow is only used for locating the URL of the audio file for transcription. The
actual audio file retrieval is described in Transcribe Files,page 92.

1 The Storage Manager periodically populates the transcription mission queue

y
(Contact Data shared folder on the Primary Transcription Server), which indicates
the sequence in which the mission files need to be processed.
nl
O
2 The Transcriber service on all transcription servers in the site retrieve the XML
mission files from the Transcription Queue.
se

3 The Transcriber Service on each transcription server sends a message to the Locator
to get the URL of the audio file indicated by the mission file data.
U

If Speaker Separation is enabled, the Locator gets the URL of the VAD file (in
addition to the URL of the audio file).
al

4 The Locator requests to receive the relevant URL of the audio file from the Content
rn

Server.
te

5 The Content Server sends back a valid URL to the Locator.


In

6 The Locator, in turn, sends the valid URL to the Transcriber.

Impact 360 V11.1 Sequence Diagrams 91

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Transcription

Transcribe Files
Transcribe File Logs,page 98

Sites

Transcription Servers

Transcriber Playback Products Directory Content Server

Get Audio File


1
Downloads File from URL
2

3 Decompress/Decrypts
Audio File

File Ready for


Transcription
4

5 Transcribes File: INF &


MET Files Created

Saves INF & MET Files


6

y
nl
NOTE
O
This flow describes retrieving the actual audio file using the retrieved URL by the
Locator.
se

1 The Transcriber sends a message to the Playback component to retrieve the audio
U

file.
al

2 The Playback component downloads the file at the specific URL from the Content
Server.
rn

If Speaker Separation is enabled, the Locator downloads the VAD file (in addition to
te

the audio file).


3 The Playback component decompresses and decrypts the audio file, so that it can be
In

transcribed.

Impact 360 V11.1 Sequence Diagrams 92

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Transcription

4 The Playback component sends a message to the Transcriber that the audio file is
processed and ready to be transcribed.
5 The Transcriber transcribes the audio file.
The output of the transcription process includes two text files that describe the
interaction in text:
Transcribed Data (.inf file): Contains the text of the recorded conversation
between the agent and the customer.
Metadata of the Transcribed Data (.met file): Contains some information
about the recorded conversation (about five fields), including speaker separation
and silence information.
6 The Transcriber saves the files in the Products folder, according to the relevant
Speech Analytics Application Service instance.

Transcription Logs
During the transcription process, the following logs are generated:
Prepare Files for Transcription,page 90
Retrieve Files for Transcription Logs,page 95
Transcribe File Logs,page 98
You can use the phrases (marked in blue) to search for a specific log line. For example,
to find the log associated with retrieving metadata from the Contact Database, search
for Querying CentralContact.

Prepare Files for Transcription Logs


The following is a list of the logs created during the Prepare Files for Transcription data
flow. Each log is associated with a step in the flow.

Step 3: Process Rules from QM DB

y
nl
Log File Location:
%DataDir%\Logs\StorageManager\StorageManager_CF_MESSAGES.txt
O
Transcription rules are created via the Rule Editor (Organization
Management>Interactions and Analytics>Storage Manager Rules).
se

The following log is created when the Storage Manager retrieves and processes the
U

transcription rules from the QM DB.


01/04/13 18:35:27.673 (+02) Storage Manager Event Factory Informational
al

DatabaseQueryMaker.cpp 229 Records retrieved: 1


01/04/13 18:35:27.674 (+02) Repository Informational Rule.cpp 157 Succeeded to
rn

read rule 'Eitan Rule' definition from the database


01/04/13 18:35:27.674 (+02) Decision Processor Informational RuleTree.cpp 191
te

Rule tree was successfully created


01/04/13 18:35:27.674 (+02) Storage Manager Event Factory Informational
In

SMEventGenerator.cpp 7776 Starting to process rules for ITS role

Impact 360 V11.1 Sequence Diagrams 93

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Transcription

01/04/13 18:35:27.674 (+02) Storage Manager Event Factory Noncritical


SMEventGenerator.cpp 7828 No IntelliFind units found, will not process
IntelliFind rules
01/04/13 18:35:27.674 (+02) Storage Manager Event Factory Informational
SMEventGenerator.cpp 7778 Finished processing rules for ITS role
01/04/13 18:35:27.674 (+02) Storage Manager Event Factory Informational
SMEventGenerator.cpp 7780 Non-multi-role environment, rules for ATSM role will
not be processed
01/04/13 18:40:28.526 (+02) Storage Manager Event Factory Verbose
SMEventGenerator.cpp 751 Storage Manager is activated now

Step 4: Retrieves Metadata from Contact DB


Log File Location:
%DataDir%\Logs\StorageManager\StorageManager_CF_MESSAGES.txt
The following log is created when the Storage Manager retrieves the metadata of the
relevant interactions from the Contact DB, based on the transcription rules it retrieved
and processed from the QM DB:
11/28/12 07:40:12.621 (+02) Storage Manager Event Factory Informational
DatabaseQueryMaker.cpp 229 Records retrieved: 1
11/28/12 07:40:12.621 (+02) Storage Manager Event Factory Informational
SMEventGenerator.cpp 2835 Querying CentralContact DB
11/28/12 07:40:12.622 (+02) Storage Manager Event Factory Verbose
DatabaseQueryMaker.cpp 222 [part 1 of 18] Performing query: SELECT TOP 1500 *
FROM (SELECT s.sid as _sid, isnull(s.contact_id, -1) as _contact_id,
s.start_time as _start_time, s.dwh_creation_date as _dwh_creation_date,
s.end_time as _end_time, s.direction as _direction, s.audio_ch_no as
_channel_number, s.audio_module_no as _module_number, isnull(s.switch_id,-1)
as _switch_id, s.dbs_id as _dbs_id, s.local_start_time as _local_start_time,
s.local_end_time as _local_end_time, isnull(s.wrapup_time, -1) as
_wrapup_time, isnull(c.number_of_conferences,-1) as _number_of_conferences,
isnull(c.number_of_holds,-1) as _number_of_holds,
isnull(c.number_of_transfers,-1) as _number_of_transfers,
isnull(c.total_hold_time,-1) as _total_hold_time, isnull(s.agent_id,-1) as
_agent_id, isnull(u.user_id,-1) as _user_id, isnull(u.user_name,'') as
_user_name, dbo.Fn_NGRecorder_segments_get(s.audio_module_no, s.audio_ch_no,

y
';') as _secondary_inums, (isnull(s.pbx_login_id,'')) as Agent,

nl
(isnull(s.ani,'')) as ANI, (case spd.p1_id WHEN 1 THEN isnull(spd.p1_value,'')
EL
O
11/28/12 07:40:12.624 (+02) Storage Manager Event Factory Verbose
DatabaseQueryMaker.cpp 222 [part 18 of 18] Performing query:
se

ull(se.extensions,'')) as StringExtension FROM CentralContact.dbo.Sessions s


WITH (NOLOCK) LEFT OUTER JOIN CentralContact.dbo.Sessions_pd spd WITH (NOLOCK)
U

ON s.sid = spd.sid AND s.month_of_year = spd.month_of_year AND s.dbs_id =


spd.dbs_id LEFT OUTER JOIN CentralContact.dbo.Contacts c WITH (NOLOCK) ON
s.contact_id = c.contact_id LEFT OUTER JOIN CentralContact.dbo.Users u WITH
al

(NOLOCK) ON s.agent_id = u.user_id LEFT OUTER JOIN


rn

CentralContact.dbo.Sessions_extensions se WITH (NOLOCK) ON s.ext_id =


se.ext_id WHERE (s.dwh_creation_date >= '2012/11/28 05:15:10.000') AND
te

(s.dwh_creation_date < '2012/11/28 05:20:11.000') AND ((((s.duration > 30))))


AND (s.audio_module_no IN (706001)) AND (s.agent_id > 0) AND
In

(s.local_start_time > '1900/01/01 00:00:00.000') ) q ORDER BY _sid

Impact 360 V11.1 Sequence Diagrams 94

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Transcription

The following log indicates the end of retrieving metadata for a specific set of
interactions that adhere to the transcription rules:
11/28/12 07:45:13.995 (+02) Storage Manager Event Factory Informational
DbsQueryWithConnectionWrapper.cpp 295 Records retrieved: 0
11/28/12 07:45:13.995 (+02) Storage Manager Event Factory Verbose
DbsQueryWithConnectionWrapper.cpp 77 Succeeded to close connection to database
11/28/12 07:45:13.995 (+02) Storage Manager Event Factory Informational
SMEventGenerator.cpp 9229 UUM: no more unprocessed sessions left in DB
11/28/12 07:45:13.995 (+02) Storage Manager Event Factory Noncritical
SMEventGenerator.cpp 9237 ~~~~~~~~~~~~~~~ Finished to process unprocessed
sessions with age 0 ~~~~~~~~~~~~~~~~~

Retrieve Files for Transcription Logs


The following is a list of the logs created during the Retrieve Files for Transcription data
flow. Each log is associated with a step in the flow.

Step 2: Get XML File from Storage Manager


Log File Location: ITS log in: %DataDir%\Logs\SpeechTranscriptionService\
Speech Transcription Service - CF Informational.txt
The following log is created when all transcription servers retrieve the XML mission files
from the Storage Manager on the Primary transcription server (Contact Data shared
folder):
Handler 1: Get XML file. Informational Speech Transcription Service STTServer
01/01/13 05:18:58.597 (+03) XMLProvider.cpp pocuser 167 0x12F70 0x47DC
Handler 1: Get XML file succeeded. Got file 467001_23645_09.52.33.000.XML.
Informational Speech Transcription Service STTServer 01/01/13 05:18:58.597
(+03) XMLProvider.cpp pocuser 128 0x12F70 0x47DC
Handler 1: Update session data for XML file \\127.0.0.1\ContactData$\18-Feb-
2012\Priority_25\467001_23645\467001_23645_09.52.33.000.XML
Informational Speech Transcription Service STTServer 01/01/13 05:18:58.597
(+03) XMLProvider.cpp
Handler 1: Moving XML file: \\127.0.0.1\ContactData$\18-Feb-

y
2012\Priority_25\467001_23645\467001_23645_09.52.33.000.XML to

nl
K:\Impact360\Data\ContactData\Handler 1\\467001_23645_09.52.33.000.XML
Informational Speech Transcription Service STTServer 01/01/13 05:18:59.146
(+03) XMLProvider.cpp pocuser 141 0x12F70 0x47DC
O
Handler 1: Update sessions from XML file \\127.0.0.1\ContactData$\18-Feb-
se

2012\Priority_25\467001_23645\467001_23645_09.52.33.000.XML succeeded
Informational Speech Transcription Service STTServer 01/01/13 05:18:59.201
(+03) STTHandler.cpp pocuser 1311 0x12F70 0x47DC
U

Handler 1: Process Tracking pre transcription process completed successfully.


Mission XML is [K:\Impact360\Data\ContactData\Handler
al

1\467001_23645_09.52.33.000.XML]. Result message is [Successful retrieval]


rn
te
In

Impact 360 V11.1 Sequence Diagrams 95

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Transcription

Step 3: Get Audio URL from Locator


Log File Location: ITS log in: %DataDir%\Logs\SpeechTranscriptionService\
Speech Transcription Service - CF Informational.txt
The following log is created when the Transcriber Service attempts to get the URL of the
audio file from the Locator:
Handler 1: Trying to get audio location from Locator for mission XML file:
K:\Impact360\Data\ContactData\Handler 1\467001_23645_09.52.33.000.XML

Step 4: Request for URL Media from Content Server


Log File Location: ITS log in: %DataDir%\Logs\SpeechTranscriptionService\
Speech Transcription Service - CF Informational.txt
The following log is created when the Locator sends a request to the Content Server to
retrieve the URL for the audio file:
Call to GetSessionURL with request:
<?xml version="1.0" encoding="utf-8"?>
<locatorRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="sessionRequest">
<addUrlParameters>
<param name="encrypted">Ultra</param>
</addUrlParameters>
<removeUrlParameters />
<sessionID>
<moduleID>467001</moduleID>
<channelID>23645</channelID>
<startTime>2012-02-18T09:52:33.0000000</startTime>
<secondaryInums>;</secondaryInums>
</sessionID>
<fileType>Audio</fileType>
<fileType>VAD</fileType>
</locatorRequest>

Step 5: Send Valid URL to Locator

y
Log File Location: ITS log in: %DataDir%\Logs\SpeechTranscriptionService\

nl
Speech Transcription Service - CF Informational.txt O
The following log is created when the Content Server finds the URL and sends it back to
the Locator:
se

Got Response from GetSessionURL:


<?xml version="1.0" encoding="UTF-16" standalone="no"
U

?><sessionResponse><fileResponse fileType="Audio"><requestStatus>0</
requestStatus><statusDetails></statusDetails><foundOnServer
al

isOriginalRecorder="true">TLWVT3CONS55</foundOnServer><sessionURL>http://TL
VT3CONS55:29500/retriever/
rn

replay?audioinums=467001000023645&encrypted=Ultra&type=audio&searcharchiver=fa
lse&searchbuffer=true&token=994A5FDCBED46ADE994A5FDCBED46ADE80FF97FCAFB6DC3A2D
te

4C176B99FE9AA4ABDB716859434486D936579ACC128184317399C14
79B44F511E89020CCE2D8405BEBFDA3586E7DCBB211A65886CB912F5B70C814F4A1440BDA98F23
In

6B6A51A1B3C26B2BBB578A02DBB89BCB16528A3D&ext=.wav</
sessionURL><sessionRecordingStartTime>2012-02-18T09:52:33.000</
sessionRecordingStartTime></fileResponse><fileResponse fileTy

Impact 360 V11.1 Sequence Diagrams 96

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Transcription

e="VAD"><requestStatus>-403</requestStatus><statusDetails>HEAD Request failed


for url http://TLWVT3CONS55:29500/retriever/
replay?audioinums=467001000023645&encrypted=Ultra&type=speaker&searcharchiver=
false&searchbuffer=true&token=994A5FD
BED46ADE994A5FDCBED46ADE80FF97FCAFB6DC3A2D4C176B99FE9AA4ABDB716859434486D93657
9ACC128184317399C14279B44F511E89020CCE2D8405BEBFDA3586E7DCBB211A65886CB912F5B7
0C814F4A1440BDA98F236B6A51A1B3C26B2BBB578A02DBB89BCB16528A3D with HTTP Code
412 Precondition Failed</
tatusDetails></fileResponse></sessionResponse>
Audio File URL:http://TLWVT3CONS55:29500/retriever/
replay?audioinums=467001000023645&encrypted=Ultra&type=audio&searcharchiver=fa
lse&searchbuffer=true&token=994A5FDCBED46ADE994A5FDCBED46ADE80FF97FCAFB6DC3A2D
4C176B99FE9AA4ABDB716859434486D936579ACC1281843173
9C14279B44F511E89020CCE2D8405BEBFDA3586E7DCBB211A65886CB912F5B70C814F4A1440BDA
98F236B6A51A1B3C26B2BBB578A02DBB89BCB16528A3D&ext=.wav

IMPORTANT If an error occurs while retrieving the audio URL, the root cause can be found in
one of the following logs:
Content Server Log file:
%DataDir%\Logs\contentserver\contentserver_yyyy_mm_dd_0001.log
Locator Log file:
%DataDir%\Logs\transcriber\transcriber_yyyy_mm_dd_0001.log

Step 6: Send Valid URL to Transcriber Service


Log File Location: ITS log in: %DataDir%\Logs\SpeechTranscriptionService\
Speech Transcription Service - CF Informational.txt
The following log is created when the Locator sends the URL of the audio file to the
Transcriber Service:
Verbose Speech Transcription Service TranscriptionEngineBase 01/01/13
05:19:01.164 (+03) pocuser 0 0x12F70 0x47DC
HandleMissionXmlValue method: Element path '/CAudioFile/
VadLocationFromLocator' was created inside the file
'K:\Impact360\Data\ContactData\Handler 1\467001_23645_09.52.33.000.XML' with
the value ''.
Informational Speech Transcription Service TranscriptionEngineBase 01/01/13

y
05:19:01.164 (+03)

nl
HandleMissionXmlValue method: Element path '/CAudioFile/VadLocalFilePath' was
created inside the file 'K:\Impact360\Data\ContactData\Handler
O
1\467001_23645_09.52.33.000.XML' with the value ''.
Verbose Speech Transcription Service TranscriptionEngineBase 01/01/13
se

05:19:01.175 (+03)
HandleMissionXmlValue: The element path '/CAudioFile/VadLocalFilePath' inside
U

the file 'K:\Impact360\Data\ContactData\Handler


1\467001_23645_09.52.33.000.XML' contains the value ''.
al

Verbose Speech Transcription Service STTServer 01/01/13 05:19:01.175 (+03)


AudioProvider.cpp pocuser 121 0x12F70 0x47DC
rn

Handler 1: Succeeded to get Audio File path from Locator.


te
In

Impact 360 V11.1 Sequence Diagrams 97

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Transcription

Transcribe File Logs


The following is a list of the logs created during the Transcribe Files for Transcription
data flow. Each log is associated with a step in the flow.

Step 3: Playback Prepares File to be Transcribed


Log File Location: ITS log in: %DataDir%\Logs\SpeechTranscriptionService\
Speech Transcription Service - CF Informational.txt
The following log is created when the Playback component decompresses or decrypts
the audio file, getting it ready to be transcribed:
Handler 1: Decompressing audio file
K:\Impact360\Data\Products\467001_23645_2012-02-18T09_52_33.0000000.wav ->
K:\Impact360\Data\Products\467001_23645_2012-02-18T09_52_33.0000000.pcm.wav
Verbose Speech Transcription Service STTServer 01/01/13 05:19:01.744 (+03)
AudioProvider.cpp pocuser 444 0x12F70 0x47DC
AudioConverterEngine.AfcEngine3 CLSIDFromProgID completed successfully. Class
ID = -823125332
Verbose Speech Transcription Service STTServer 01/01/13 05:19:01.907 (+03)
AudioProvider.cpp pocuser 446 0x12F70 0x47DC
IAfcEngine3 CoCreateInstance for Class ID = -823125332 HRESULT is : 1322759924
Informational Speech Transcription Service STTServer 01/01/13 05:19:04.707
(+03) STTHandler.cpp pocuser 1381 0x12F70 0x47DC
Handler 1: Decompress audio file succeeded.

Step 5: Transcribes File


Log File Location: ITS log in: %DataDir%\Logs\SpeechTranscriptionService\
Speech Transcription Service - CF Informational.txt
The following log is created when the Transcriber Service starts transcribing the file:
Handler 1: Transcribe pcm audio file
K:\Impact360\Data\Products\467001_23645_2012-02-18T09_52_33.0000000.pcm.wav,
xml file: K:\Impact360\Data\ContactData\Handler
1\467001_23645_09.52.33.000.XML

y
Verbose Speech Transcription Service TranscriptionEngineBase 01/01/13

nl
05:19:04.713 (+03) TEngineBase.cs pocuser 117 0x12F70 0x47DC
Engine 1: Beginning engine transcription.
audio : K:\Impact360\Data\Products\467001_23645_2012-02-
O
18T09_52_33.0000000.pcm.wav cri K:\Impact360\Data\ContactData\Handler
se

1\467001_23645_09.52.33.000.XML.
At the end of the transcription process, the following log is created:
U

Handler 1: Transcribe File: K:\Impact360\Data\Products\467001_23645_2012-02-


18T09_52_33.0000000.pcm.wav completed successfully
al

Step 6: INF and MET Files Saved in Products


rn

Log File Location: ITS log in: %DataDir%\Logs\SpeechTranscriptionService\


te

Speech Transcription Service - CF Informational.txt


In

The following logs indicate that the .inf and .met files (transcribed data and metadata,
respectively) have been saved in the Products directory on the transcription server:

Impact 360 V11.1 Sequence Diagrams 98

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Transcription

The file K:\Impact360\Data\ContactData\Handler 1\467001_23645_09.52.33.000.XML


has been obfuscated to: k:\impact360\data\products\if app 467100\18-feb-
2012\467001_23645_09.52.33.000.met
Created first Info in K:\Impact360\Data\Products\IF APP 467100\18-Feb-
2012\467001_23645_09.52.33.000.inf
To view the final result of each log (success or failure), access the Process Tracking logs
(located in: % IMPACT360DATADIR%\Logs\SpeechProcessTracking\).
For detailed descriptions of these logs, see the Interaction and Analytics Administration
Guide.

Transcription Data and Folders


The Contact Data shared folder and the Products folder are the two main folders used
in different stages of the transcription process:

Folder Description Location

Contact Data Incoming transcription mission queue, which Located on the Primary Transcription
indicates the sequence in which the mission Server only
files need to be processed. Default location:
All secondary transcription servers (all %IMPACT360DATADIR%contactdata
transcription servers on different sites other
than the Primary Transcription Server)
retrieve the XML mission files and process
them according to the sequence defined in
the Contact Data shared folder.

Products Holds the following files: Located on every Speech Transcription


Transcription output files (.inf and .met), Server
from where the Speech Application
Server copies the files for indexing
Audio files (temporarily)downloads and
transcribes the audio file in this folder,
and then subsequently deletes the file

y
after the transcription is completed

nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 99

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

Speech Indexing
After recorded interactions are transcribed into text, the transcriptions are processed
into a complete semantic index. Once content has been included in the index, it can be
used and integrated into the system for analytics purposes.
For example, searching for terms, categories and trends is based on indexed data, as
well as other analytics tools and features.
There are two main types of indexing flows:
Full (Main) Index Flow,page 105: The full or main index is built once a day, and
includes new transcripts, added to the transcripts from the previous build. When the
full index is built, the process also creates a sub-index, which is a smaller sample of
the full index, used for specialized applications and analytics features. In addition,
the process builds an updated trends list based on the data in the full index.
Incremental Index Flow,page 108: The incremental index is built once an hour,
starting with the first hour in which there are new transcripts after the full index
build. Each incremental index build contains all new transcripts since the last Full
index build. In addition, in the incremental index flow, no sub-index is created, and
no updated trends list is built.
Two independent threads that are activated by the Index Builder or scheduler (which is
also responsible for activating the building flows) relate to copying the transcription files
(.inf and .met) from the Speech Transcription Server and converting them to database
files to be used for the index (see Prepare Files for Transcription,page 90).
For descriptions of the components used in both types of index processes, and a
comparison of the properties or characteristics of each type of index, see Index
Components and Properties,page 130.

Speech Indexing Log File Details


The syntax of the indexing log filenames is:
iBuild_<ThreadNum>_<Cycle>.log

y
For example: IBuild_sclog_0_0.log, where sclog_0 is the thread\core 0 and the log
cycle is 0.
nl
O
Refer to the following files:
se

Log File File Location


U

iBuild_mgr_0.log %impact360softwaredir%\Enhanced_Speech\IndexBuilder\Bin\

iBuild_0_0.log %impact360softwaredir%\Enhanced_Speech\IndexBuilder\Bin\
al

iBuild_sub_0.log %impact360softwaredir%\Enhanced_Speech\IndexBuilder\Bin\
rn

iBuild_sclog_0_0.log %impact360softwaredir%\SpeechCatTomcat64\log\speechcat
te

iBuild_Trends_0_0.log %impact360softwaredir%\Enhanced_Speech\SpeechCategorization\Bin\
In

Impact 360 V11.1 Sequence Diagrams 100

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

NOTE For troubleshooting purposes, it may be required to collect all iBuild_n_n.log


files.
(The IBuild_0_0.log file may not be enough to fully troubleshoot index building
issues.)

For detailed information about the logs generated during the indexing process, see
Indexing Logs,page 110.

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 101

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

Prepare Files for the Index


Two independent threads that are activated by the Index Builder or scheduler (which is
also responsible for activating the index corpus building flows) involve copying the
transcription files from the Speech Transcription Server to the Speech Application
Server, and preparing the files to be indexed on the Speech Application Server:
1 Copy Products,page 103: The Speech Application Server copies the transcribed files
from the Speech Transcription Server and saves them locally to a folder on the
Speech Application Server.
2 Store Products,page 104: The Speech Application Server converts the .inf and .met
transcription files into SQL Lite Database files, and stores the database files on the
Speech Application Server.

Sites Data Center

Speech Transcription Speech Application


Servers Server
Copy Products
1

2 Store Products

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 102

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

Copy Products
Copy Products Log,page 110

Sites Data Center

Speech Transcription Servers Speech Application Server

Products>Incoming
Products Directory Copy Products Folder
Copies .inf & .met files
1
4
Repeats
Copy/Delete Saves files in Incoming
File Cycle 2

Deletes .inf & .met files


3

1 The Copy Products component on the Speech Application Server copies each
transcription file (.inf and .met) saved in the Products directory on the Speech
Transcription Servers.
2 Copy Products saves the files to the Products>Incoming folder on the Speech
Application Server.
3 Copy Products deletes the files on the Speech Transcription Server that it copied to
the Speech Application Server.
4 This same copy/delete file cycle is repeated until all relevant files (based on various
parameters) for the current thread are copied to the Speech Application Server.

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 103

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

Store Products
Store Products Log,page 112

Data Center

Speech Application Server

Products>Incoming PRODUCTS_FILES_
Folder DATABASE

Moves files to DB
1
3
Repeats
Move/Delete
File Cycle Deletes moved files
2

1 The Store Products process moves the transcription files saved in the
Products>Incoming folder to the Products File Database.
During this process, it converts the transcription files (saved as text files.inf and
.met) to SQL Lite Database files.
2 The Store Products process deletes the files from the Products>Incoming folder
that it copied to the Products File Database.
3 This same move/delete file cycle is repeated until all relevant files (based on various
parameters) for the current thread are copied to the Products File Database.

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 104

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

Full (Main) Index Flow


Full Index Log,page 113

Data Center

Speech Application Server

IBuild IBuild (Sub) Trends


Index Builder SpeechCat Manager IBuild (Full) Building

Stop
1

Start Preparing Index


2

Define Index
3
(Periods to Build)

Start Index Build


4

Build Full Index (Per


5
Period)

Index Build Done


6

Start Sub Index


7

8 Build Sub Index

Sub Index Build Done


9

Start Tends Building

y
10

nl
O
11 Build Trends

Trends Building Done


se

12
U

Start
13
al
rn

14 Load Index
te
In

Impact 360 V11.1 Sequence Diagrams 105

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

1 Once a day, during a scheduled maintenance window (usually at night), the Index
Builder starts the process of building a Full (or Main) index.
To begin this process, it stops the SpeechCat service, which provides Speech Portal
services for users (searching for terms, analyzing trends and categories, etc.). This
means that analytics activity via the Portal cannot be performed during this time.
2 The Index Builder activates the IBuild Manager to start preparing the Full index.
3 The IBuild Manager defines the scope of the index based on the following
parameters:
How many transcripts need to be indexed, based on the number of new
transcripts that have been added to the database from the previous Full index
build to the current date
Total length of all of the new transcripts, in relation to the maximum size
constraints of the index
New transcripts dates, in order to determine which index partitions should be
created or updated.
Based on these factors, the IBuild Manager determines how many index builds need
to be created, and the date range or time period for each index build. A maximum
of three index builds can be created simultaneously.
To verify the index will not exceed its limitations, the manager scans the product
directory for new documents that should be indexed, starting from the last date,
backwards.
For each date, it counts how many documents in the index belong to this date and
how many new documents are still in the Products directory, waiting to be indexed.
It also checks the total duration of all documents in the index from this date and
adds the total duration of the new documents from the Products directory (the
duration of new documents is estimated according to the average duration of
documents already in the index).
After each day is scanned, the total number of documents and documents duration
is updated and checked against the limitations. If one of the limitations exceeds, the
scan is stopped and the starting date range is updated to the previous day. If all

y
dates were scanned and there are no limitation issues, the index will be built

nl
according to the original dates. O
To determine the number of index builds, the IBuild Manager reviews all of the new
documents in the Products directory and adds the time period that contains it to a
build list.
se

4 The IBuild Manager triggers the IBuild (Full) index process to start building the
U

index, based on the defined scope (number of index builds, per specific time
periods, etc.).
al

5 The IBuild (Full) index process creates up to three index builds, within the defined
rn

time periods.
Each index build writes to a separate IBuild.log file. Therefore, as the IBuild
te

process can perform up to three index builds, there can be up to three separate
IBuild.log files created at one time.
In

6 The IBuild manager waits for the IBuild process to end.

Impact 360 V11.1 Sequence Diagrams 106

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

7 When the Full index has been built, the IBuild Manager activates the IBuild (Sub)
process to start creating the sub-index, which is a smaller sample of the full index,
used for specialized applications and analytics features.
8 The IBuild (Sub) process builds the sub-index.
9 The IBuild Manager waits for the IBuild (Sub) process to end.
10 When the Sub index has been built, the IBuild Manager activates the Trends
Building process to start rebuilding or updated the trends list, based on the updated
Full index.
11 The Trends Building process builds the trends list.
12 The IBuild Manager waits for the Trends Building process to end.
13 Once the Full and Sub indexes are built and the trends list has been updated, the
Index Builder restarts the SpeechCat process.
14 The SpeechCat process loads the updated index.
Once the index has been loaded, users perform analytics activities based on the
updated data (trends, categories, searching for terms, etc.).

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 107

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

Incremental Index Flow


Incremental Index Log,page 125

Data Center

Speech Application Server

Index Builder SpeechCat IBuild Manager IBuild (Inc)

Start Incremental Index


1

Define Index
2
(Periods to Build)

Start First Index Build


3

Build Incremental Index


4
(For One Period)

Reload Index
5

6 Reload Index
Index Build Done
7

Start Second Index Build


8

y
Build Incremental Index

nl
9
(For One Period)

Reload Index
O
10
se
U

11 Reload Index
Index Build Done
al

12
rn

Incremental Index Done


13
te
In

Impact 360 V11.1 Sequence Diagrams 108

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

1 Once an hour, the Index Builder starts the process of building an incremental index,
which includes new transcripts that have been added to the database from the
previous hour.

NOTE The hour after the Full Index has been built, usually at night, the
incremental index will usually be empty. It will include new transcripts the
next hour that new transcripts have been added to the database.

To begin this process, the Index Builder activates the IBuild Manager to start
preparing the incremental index.
2 The IBuild Manager defines the scope of the index, including:
Number of time periods that should be built according to the dates of the new
transcripts inserted into the database
Date range of the periods
Based on these factors, the IBuild Manager determines how many index builds need
to be created, and the date range or time period for each index build. The indexes
are built sequentially.
3 The IBuild Manager triggers the IBuild (Inc) index process to start creating the first
index build, which includes transcripts for a specific time period.
4 The IBuild (Inc) index process creates the first index build, within the defined time
period.
5 The IBuild (Inc) index process sends a Reload message to the SpeechCat process,
indicating to reload the incremental index to include the new transcripts added in
the build.
6 The SpeechCat process reloads the incremental index.
7 The IBuild Manager waits for the incremental build process to end.
8 The IBuild Manager activates a new IBuild (Inc) index process to start creating the
second index build, which includes transcripts for a different time period.
Each index build writes to a separate IBuild.log file. Therefore, as the IBuild
process can perform up to three index builds, there can be up to three separate

y
IBuild.log files created.
9 The IBuild (Inc) index process creates the second index build, within the defined
nl
O
time period.
10 The IBuild (Inc) index process sends a Reload message to the SpeechCat process,
se

indicating to reload the index to include the incremental index build.


11 The SpeechCat process reloads the index.
U

12 When all incremental builds end, the IBuild Manager process terminates.
al

13 The Index Builder waits until the IBuild Manager process ends.
rn
te
In

Impact 360 V11.1 Sequence Diagrams 109

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

Indexing Logs
During the indexing process, the following logs are generated:
Copy Products Log,page 110
Store Products Log,page 112
Full Index Log,page 113
Incremental Index Log,page 125
You can use the phrases (marked in blue) to search for a specific log line. For example,
to find the log associated with the Keep date parameter, search for Keep date.

Copy Products Log

Start Copy Products Process


Log File: iBuild_sclog_0_0.log
The following log is created when the Speech Application starts the process of copying
the contents from the Products directory on the Speech Transcription Server (which
includes the transcription files), to the Incoming directory on the Speech Application
Server.
The parameter Number of days backwards defines the range of files (by date) that it
will copy. Other parameters (such as Wake up interval, Max thread count, Connection
timeout) define the copy process itself.
28-Dec-2012 08:08:39.877 Thread-1 INFO: Starting a cycle of the
ProductsCopyingExecutor thread
28-Dec-2012 08:08:39.877 Thread-1 INFO: Products copying thread was initialized
with the following configuration:
Source folders: [\\l3its1\Products\IF APP 261101]
Destination folder: G:\Impact360\SpeechData\Products\Incoming
Number of days backwards: 120
Wake up interval (in milliseconds): 300000
Max thread count: 4

y
Connection timeout (in milliseconds): 20000

Step 1 & 2: Copies and Saves Transcription Files in Incoming


nl
O
Log File: iBuild_sclog_0_0.log
se

The following log shows the Speech Application Server copying the .inf and .met
transcription files from the Products directory on the Speech Transcription Server, and
U

saving the transcription files in the Incoming folder on the Speech Application Server:
al

28-Dec-2012 20:00:32.883 pool-780-thread-1 FINE: File [\\l3its1\Products\IF


APP 261101\30-Nov-2012\261001_36943370_17.06.44.047.met] was copied
rn

successfully to [G:\Impact360\SpeechData\Products\Incoming\TempProducts\30-
Nov-2012\261001_36943370_17.06.44.047.met]
te
In

Impact 360 V11.1 Sequence Diagrams 110

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

Step 3: Deletes Transcription Files on Transcription Server


Log File: iBuild_sclog_0_0.log
The following log shows the Speech Application Server deleting the files from the
Products directory on the Speech Transcription Server.
28-Dec-2012 20:00:32.883 pool-780-thread-1 FINE: File [\\l3its1\Products\IF
APP 261101\30-Nov-2012\261001_36943370_17.06.44.047.met] was deleted
successfully

Step 4: Repeats Copy/Delete File Process


Log File: iBuild_sclog_0_0.log
The following log shows a sequential, pipeline process of copy/delete file activity that is
repeated until all of the relevant files have been copied to the Speech Application
Server:
28-Dec-2012 20:00:32.893 pool-780-thread-1 FINE: File [\\l3its1\Products\IF
APP 261101\30-Nov-2012\261001_36943371_17.06.47.030.inf] was copied
successfully to [G:\Impact360\SpeechData\Products\Incoming\TempProducts\30-
Nov-2012\261001_36943371_17.06.47.030.inf]
28-Dec-2012 20:00:32.893 pool-780-thread-1 FINE: File [\\l3its1\Products\IF
APP 261101\30-Nov-2012\261001_36943371_17.06.47.030.inf] was deleted
successfully
28-Dec-2012 20:00:32.903 pool-780-thread-1 FINE: File [\\l3its1\Products\IF
APP 261101\30-Nov-2012\261001_36943371_17.06.47.030.met] was copied
successfully to [G:\Impact360\SpeechData\Products\Incoming\TempProducts\30-
Nov-2012\261001_36943371_17.06.47.030.met]
28-Dec-2012 20:00:32.913 pool-780-thread-1 FINE: File [\\l3its1\Products\IF
APP 261101\30-Nov-2012\261001_36943371_17.06.47.030.met] was deleted
successfully
28-Dec-2012 20:00:32.923 pool-780-thread-1 FINE: File [\\l3its1\Products\IF
APP 261101\30-Nov-2012\261001_36943383_17.06.26.707.inf] was copied
successfully to [G:\Impact360\SpeechData\Products\Incoming\TempProducts\30-
Nov-2012\261001_36943383_17.06.26.707.inf]
28-Dec-2012 20:00:32.923 pool-780-thread-1 FINE: File [\\l3its1\Products\IF
APP 261101\30-Nov-2012\261001_36943383_17.06.26.707.inf] was deleted

y
successfully

End Copy Products Process


nl
O
Log File: iBuild_sclog_0_0.log
se

At the end of the Copy Products process, the log shows a summary of the process,
including the number of files copied to the Speech Application Server, and the number of
U

files deleted from the Speech Transcription Server:


30-Dec-2012 08:08:39.907 pool-1169-thread-1 INFO: Summary of products for
al

Transcription Server source folder [\\l3its1\Products\IF APP 261101] : Files


rn

copied = 55 ; Files deleted = 55


30-Dec-2012 08:08:39.907 Thread-1 INFO: Summary of products copying thread:
te

Total files copied = 55 ; Total files deleted = 0


30-Dec-2012 08:08:39.917 Thread-1 INFO: Moved 55 files from
In

G:\Impact360\SpeechData\Products\Incoming\TempProducts to
G:\Impact360\SpeechData\Products\Incoming

Impact 360 V11.1 Sequence Diagrams 111

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

30-Dec-2012 08:08:39.917 Thread-1 INFO: Finished the current cycle of the


ProductsCopyingExecutor thread
30-Dec-2012 08:08:39.917 Thread-1 INFO: The thread pool executor was shut down
successfully.

Store Products Log

Start Store Products Process


Log File: iBuild_sclog_0_0.log
The following log shows the beginning of the Store Products (directory) process:
30-Dec-2012 08:06:03.366 Thread-2 INFO: product InComing Dir=
G:\Impact360\SpeechData\Products\Incoming
30-Dec-2012 08:06:03.366 Thread-2 INFO: Start to store products into the DB
30-Dec-2012 08:06:03.376 Thread-2 FINE: Alarm of Speech Analytics Application
Module with id=QM_MESSAGE_26525 was removed successfully from System Monitor.
30-Dec-2012 08:06:03.376 Thread-2 INFO: Working on directory :
G:\Impact360\SpeechData\Products\Incoming\30-Nov-2012

Step 1: Moves Files from Incoming to Database


Log File: iBuild_sclog_0_0.log
The following log shows the Speech Application Server converting the transcription files
into database files, and moving the files from the Incoming directory to the
Products_File_Database directory:
30-Dec-2012 08:06:04.697 Thread-2 INFO: Insert 200 records (400 Files from
directory:G:\Impact360\SpeechData\Products\Incoming\25-Nov-2012) into DB at
G:\Impact360\SpeechData\Products\25-Nov-2012\PRODUCTS_FILES_DATABASE
30-Dec-2012 08:06:04.697 Thread-2 INFO: Skipping 0 product INFO Files on
Directory: G:\Impact360\SpeechData\Products\Incoming\25-Nov-2012
30-Dec-2012 08:06:05.577 Thread-2 INFO: Insert 200 records (400 Files from
directory:G:\Impact360\SpeechData\Products\Incoming\25-Nov-2012) into DB at
G:\Impact360\SpeechData\Products\25-Nov-2012\PRODUCTS_FILES_DATABASE

y
End Store Products Process
Log File: iBuild_sclog_0_0.log
nl
O
The following log shows the end of the current Store Products session, indicating the
total number of records stored as database files, and the duration of this process (Time
se

to Process):
U

30-Dec-2012 08:06:33.979 Thread-2 INFO: Total Number of Records : 5000


30-Dec-2012 08:06:33.979 Thread-2 INFO: Time to Process(milseconds) : 30613
al

30-Dec-2012 08:06:33.979 Thread-2 INFO: time to process 5000 products 30613


30-Dec-2012 08:06:33.979 Thread-2 INFO: StoringProduct is going to sleep for
rn

300 seconds ( 5 Minutes )


te
In

Impact 360 V11.1 Sequence Diagrams 112

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

Full Index Log

Step 3: IBuild Manager Defines Index


Log File: iBuild_mgr_0.log
The following log is created at the beginning of the build index process.
The IBuild Manager starts up, and loads certain global index properties. The index size is
limited both in the number of documents it can hold and the total duration of the calls in
it. These limitations are specified in the properties MAX-MX (number of documents)
and MAX-DOCS-DURATION (total duration of the calls in the index). The maximum
number of IBuild processes that can run concurrently, which is three (MAX-IBUILD-
PROCESSES).
The source folder of the index content is in Products, and destination folder for the
index is SpeechCatData:
29-Dec-2012 00:00:09.029 main INFO: >> IBuild Manager start
29-Dec-2012 00:00:09.079 main INFO: Loaded IBuild properties
29-Dec-2012 00:00:09.079 main INFO: No existing ibuild.prop.local
29-Dec-2012 00:00:09.079 main INFO: Properties: {MAIN-MX=26000, SUB-MX=20000,
DISABLE=false, MAX-DOCS-DURATION=2000000, MAX-IBUILD-PROCESSES=3,
DESTINATION=G:\Impact360\SpeechData\SpeechCatData, INC-MX=1000,
VOCABULARY=UNITED_STATES, SAMPLE-SIZE=500000, EXTENSION=info, INDEX-LENGTH=15,
MAX-DOCS-AMOUNT=20000000, LANGUAGE=ENGLISH, NUM-DAYS=365, SUFFIX=info , SCAN-
DAYS=120, SOURCE=G:\Impact360\SpeechData\Products}
The IBuild Manager checks the Products directory to verify the number of new records
that have been added to Products:
29-Dec-2012 00:00:13.210 main INFO: Loading properties from ibuild.prop
29-Dec-2012 00:00:13.230 main INFO: There are 43388 new records in products db
29-Nov-2012 whose insertion date is after Fri Dec 28 00:32:59 GMT+02:00 2012
29-Dec-2012 00:00:13.230 main INFO: 11/29/2012 00:00:00: Existing: 13 (1
hours), New: 43388 (4252 hours), Total: 43401 (4254 hours)
The time periods that are built in the index are those that have new documents that
should be indexed. In addition, time periods that contain dates that should be purged
from the index are rebuilt.

y
There are three important dates in the index building process:

nl
Scan Start: The first date for scanning the Products directory for new transcripts

O
Scan End: The last date for scanning the Products directory for new transcripts
se

Keep Date: The first date of the corpus, meaning that all transcripts of this date
and older will be included in the index
U

In the following example log, the Keep date is Dec. 29, 2011, and the scan dates are
Aug. 30-Dec. 28, 2012. This means that the system should scan for all new transcripts
al

between Aug. 30-Dec. 28, 2012 for building the index, and to keep all transcriptions
rn

from Dec. 29, 2011 and older. Therefore, no transcriptions will be deleted from the index
for this time period.
te

29-Dec-2012 00:00:13.500 main INFO: Index Builder Manager will use the
In

following parameters for the current buildings: Keep date = 12/29/2011


00:00:00; Scan start = 08/30/2012 00:00:00; Scan end = 12/28/2012 22:00:12

Impact 360 V11.1 Sequence Diagrams 113

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

The IBuild Manager reviews all periods included in the build range (from Keep Date to
Scan End) and sums up the total number of documents and the duration of documents
for all periods.
Based on this data, the IBuild Manager determines the number of index builds that will
be created (according to time periods), and the corresponding size of the index:
29-Dec-2012 00:00:13.620 main INFO: About to execute 2 index builds; Maximum 2
simultaneously
29-Dec-2012 00:00:13.620 main INFO: About to start corpus build with 13000 MB
memory on index 2012-11-16 - 2012-11-30

Step 4: IBuild Manager Triggers IBuild to Build Index


Log File: iBuild_mgr_0.log
After defining the scope of the index, including the number of index builds and the time
periods including in each build, the IBuild Manager triggers the IBuild process to start
building the corpus of the index (the index iself):
29-Dec-2012 00:00:13.630 pool-1-thread-2 INFO: Performing Corpus build on index
2011-12-22 - 2012-01-05

Step 5: IBuild (Full) Builds Index


Log File: iBuild_0_0.log
The following log shows the IBuild (Full) process loading the index properties
accordingly:
29-Dec-2012 00:00:13.810 main INFO: Loaded IBuild properties
29-Dec-2012 00:00:13.830 main INFO: No existing ibuild.prop.local
29-Dec-2012 00:00:13.830 main INFO: Properties: {MAIN-MX=26000, SUB-MX=20000,
DISABLE=false, MAX-DOCS-DURATION=2000000, MAX-IBUILD-PROCESSES=3,
DESTINATION=G:\Impact360\SpeechData\SpeechCatData, INC-MX=1000,
VOCABULARY=UNITED_STATES, SAMPLE-SIZE=500000, EXTENSION=info, INDEX-LENGTH=15,
MAX-DOCS-AMOUNT=20000000, LANGUAGE=ENGLISH, NUM-DAYS=365, SUFFIX=info , SCAN-
DAYS=120, SOURCE=G:\Impact360\SpeechData\Products}
29-Dec-2012 00:00:13.830 main INFO: >> IBuild 11.1.1.201_Int start
29-Dec-2012 00:00:13.830 main INFO: Maximum memory: 11555M

y
29-Dec-2012 00:00:13.830 main INFO: Args amount = 14

nl
29-Dec-2012 00:00:13.830 main INFO: Arg 0= -b O
The corpus text in this log indicates that it is building a Full index (as opposed to an
incremental or sub-index):
se

29-Dec-2012 00:00:13.830 main INFO: Arg 1= corpus


29-Dec-2012 00:00:13.830 main INFO: Arg 2= -s
U

29-Dec-2012 00:00:13.830 main INFO: Arg 3= G:\Impact360\SpeechData\Products


29-Dec-2012 00:00:13.830 main INFO: Arg 4= -d
29-Dec-2012 00:00:13.830 main INFO: Arg 5=
al

G:\Impact360\SpeechData\SpeechCatData
rn

29-Dec-2012 00:00:13.830 main INFO: Arg 6= -m


29-Dec-2012 00:00:13.830 main INFO: Arg 7=
te

G:\Impact360\SpeechData\SpeechCatData\SpannedIndex\2012-11-16 - 2012-11-30
29-Dec-2012 00:00:13.830 main INFO: Arg 8= -t
In

29-Dec-2012 00:00:13.830 main INFO: Arg 9= 11/30/2012 23:59:59


29-Dec-2012 00:00:13.830 main INFO: Arg 10= -f
29-Dec-2012 00:00:13.830 main INFO: Arg 11= 11/16/2012 00:00:00

Impact 360 V11.1 Sequence Diagrams 114

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

29-Dec-2012 00:00:13.830 main INFO: Arg 12= -c


29-Dec-2012 00:00:13.830 main INFO: Arg 13= 11/16/2012 00:00:00
The IBuild process indicates the time periods for which it is building the index.
29-Dec-2012 00:00:13.830 main INFO: Building corpus for the following dates:
Keep Date = Fri Nov 16 02:00:00 GMT+02:00 2012
Scan Start = Fri Nov 16 02:00:00 GMT+02:00 2012
Scan End = Sat Dec 01 01:59:59 GMT+02:00 2012
This log indicates the beginning of building the corpus of the index in the SpeechCatData
directory:
30-Dec-2012 00:00:13.435 main INFO: Building corpus in
G:\Impact360\SpeechData\SpeechCatData\SpannedIndex\2012-11-16 - 2012-11-
30\Building 30-Dec-2012 00.00.13
The IBuild process loads parameters and files that define the types of words that will be
included and not included (known as stop words) in the index:
30-Dec-2012 00:00:13.875 main INFO: Try to load file :
StopWords_ENGLISH_UNITED_STATES.icd
30-Dec-2012 00:00:13.875 main INFO: Try to load file : StopWords_ENGLISH.icd
30-Dec-2012 00:00:13.875 main INFO: File exists
30-Dec-2012 00:00:13.875 main INFO: Loading
E:\Impact360\Software\Enhanced_Speech\IndexBuilder\Bin\StopWords_ENGLISH.icd
30-Dec-2012 00:00:13.885 main INFO: Read 664 stop words and expressions
The IBuild process loads the previous index (so the new indexed transcription will be
added to it). In this log section, the process loads DB files of metadata information from
the previous index:
30-Dec-2012 00:00:16.975 main INFO: Loading CD1 DB
30-Dec-2012 00:00:17.165 main INFO: Loading CD10 DB
30-Dec-2012 00:00:18.336 main INFO: Loading CD11 DB
30-Dec-2012 00:00:19.456 main INFO: Loading CD12 DB
30-Dec-2012 00:00:20.536 main INFO: Loading CD13 DB
30-Dec-2012 00:00:21.616 main INFO: Loading CD14 DB
30-Dec-2012 00:00:22.736 main INFO: Loading CD15 DB
30-Dec-2012 00:00:23.846 main INFO: Loading CD16 DB
30-Dec-2012 00:00:24.886 main INFO: Loading CD17 DB
30-Dec-2012 00:00:25.456 main INFO: Loading CD18 DB

y
30-Dec-2012 00:00:26.066 main INFO: Loading CD19 DB
The IBuild processes the new transcripts in two phases (passes). The log shows the
nl
O
progress of each pass:
30-Dec-2012 00:06:25.191 main INFO: Fetched 105425 new call identifiers from
se

products dir G:\Impact360\SpeechData\Products\29-Nov-2012


30-Dec-2012 00:06:33.552 main INFO: Processing files (pass 1 - 29-Nov-2012)
U

30-Dec-2012 00:06:34.612 main FINE: Processed 500 files


30-Dec-2012 00:06:35.802 main FINE: Processed 1000 files
30-Dec-2012 00:06:36.762 main FINE: Processed 1500 files
al

30-Dec-2012 00:06:37.622 main FINE: Processed 2000 files


rn

30-Dec-2012 00:06:38.442 main FINE: Processed 2500 files


30-Dec-2012 00:06:39.192 main FINE: Processed 3000 files
te

30-Dec-2012 00:06:39.992 main FINE: Processed 3500 files


30-Dec-2012 00:06:40.752 main FINE: Processed 4000 files
In

30-Dec-2012 00:06:41.562 main FINE: Processed 4500 files


30-Dec-2012 00:06:42.492 main FINE: Processed 5000 files
30-Dec-2012 00:06:43.432 main FINE: Processed 5500 files

Impact 360 V11.1 Sequence Diagrams 115

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

30-Dec-2012 00:06:44.323 main FINE: Processed 6000 files


30-Dec-2012 00:06:45.243 main FINE: Processed 6500 files
30-Dec-2012 00:06:46.163 main FINE: Processed 7000 files
30-Dec-2012 00:06:47.013 main FINE: Processed 7500 files
30-Dec-2012 00:06:47.803 main FINE: Processed 8000 files
30-Dec-2012 00:06:48.523 main FINE: Processed 8500 files
After processing the relevant files for the specific day (all dates you see in a single run
are in the same partition), it then retrieves and processes additional transcripts for the
next partition:
30-Dec-2012 00:09:30.454 main INFO: Fetched 70575 new call identifiers from
products dir G:\Impact360\SpeechData\Products\30-Nov-2012
30-Dec-2012 00:09:36.005 main INFO: Processing files (pass 1 - 30-Nov-2012)
30-Dec-2012 00:09:36.815 main FINE: Processed 500 files
30-Dec-2012 00:09:37.515 main FINE: Processed 1000 files
30-Dec-2012 00:09:38.245 main FINE: Processed 1500 files
30-Dec-2012 00:09:38.965 main FINE: Processed 2000 files
30-Dec-2012 00:09:39.795 main FINE: Processed 2500 files
30-Dec-2012 00:09:40.735 main FINE: Processed 3000 files
30-Dec-2012 00:09:41.555 main FINE: Processed 3500 files
30-Dec-2012 00:09:42.415 main FINE: Processed 4000 files
During this processing, if the IBuild process could not process a file into the index due to
an error, it indicates this in the log by stating that the file is corrupted, and that it is
skipping this file (not including it in the index):
30-Dec-2012 00:12:39.977 main FINE: Processed 15000 files
30-Dec-2012 00:12:41.908 main FINE: Processed 15500 files
30-Dec-2012 00:12:43.648 main WARNING: The contact 29-Nov-
2012\261001_36756279_14.36.27.340 Info is corrupted. word num =0 skipping this
file ...
30-Dec-2012 00:12:43.838 main FINE: Processed 16000 files
30-Dec-2012 00:12:45.348 main WARNING: The contact 29-Nov-
2012\261001_36756850_14.38.32.297 Info is corrupted. word num =0 skipping this
file ...
30-Dec-2012 00:12:46.028 main FINE: Processed 16500 files
30-Dec-2012 00:12:46.668 main WARNING: The contact 29-Nov-
2012\261001_36757302_14.40.08.913 Info is corrupted. word num =0 skipping this

y
file ...

nl
30-Dec-2012 00:12:47.998 main FINE: Processed 17000 files
30-Dec-2012 00:12:49.938 main WARNING: The contact 29-Nov-
2012\261001_36758460_14.45.09.727 Info is corrupted. word num
O
=0 skipping this
file ...
30-Dec-2012 00:12:50.188 main FINE: Processed 17500 files
se

30-Dec-2012 00:12:52.898 main FINE: Processed 18000 files


30-Dec-2012 00:12:55.118 main FINE: Processed 18500 files
U

Step 6: Index Build Done


al

Log File: iBuild_0_0.log


rn

At this stage, the IBuild process adds the indexed data of the new transcripts to the
te

indexed data of the previous built index, combines them and writes the index files to the
disk. It then renames the index directory to a new name in the SpeechCatData
In

directory:
30-Dec-2012 09:03:38.198 main INFO: Saving terms lexicon (bloxx2.icd)

Impact 360 V11.1 Sequence Diagrams 116

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

30-Dec-2012 09:03:38.328 main INFO: Saving index properties (bloxx0.icd)


30-Dec-2012 09:03:38.328 main INFO: Renaming new index directory to
G:\Impact360\SpeechData\SpeechCatData\SpannedIndex\2012-11-16 - 2012-11-30\30-
Dec-2012 00.00.13\inc\30-Dec-2012 09.00.05
The text: IBuild Done indicates the end of the Full Index build:
30-Dec-2012 09:05:44.027 main INFO: << IBuild Done

Step 7: Start Sub Index


Log File: iBuild_mgr_0.log
After the Full Index is built, the Index Builder triggers the IBuild (Sub) process to start
building the sub-index:
30-Dec-2012 00:26:53.527 main INFO: Starting Sub Corpus build with 20000 MB
memory
30-Dec-2012 00:26:53.527 main INFO: Command:
E:\Impact360\Software\JRE64\bin\java.exe -Xmx20000m -
Djava.util.logging.config.class=ibuild.IBuildLogProperties -
Djava.library.path=..\..\CommonLibs -jar IBuild.jar -bsub_corpus -
sG:\Impact360\SpeechData\Products -dG:\Impact360\SpeechData\SpeechCatData -
c08/31/2012 00:00:00 -f12/30/2011 00:00:00 -t12/29/2012 22:00:12
30-Dec-2012 00:26:53.537 pool-2-thread-1 INFO: Performing sub_corpus build on
index SubIndex

Step 8: Build Sub Index


Log File: iBuild_sub_0.log
The IBuild (Sub) process starts building the sub-index, including loading index
properties:
30-Dec-2012 00:26:53.747 main INFO: Loaded IBuild properties
30-Dec-2012 00:26:53.767 main INFO: No existing ibuild.prop.local
30-Dec-2012 00:26:53.767 main INFO: Properties: {MAIN-MX=26000, SUB-MX=20000,
DISABLE=false, MAX-DOCS-DURATION=2000000, MAX-IBUILD-PROCESSES=3,
DESTINATION=G:\Impact360\SpeechData\SpeechCatData, INC-MX=1000,
VOCABULARY=UNITED_STATES, SAMPLE-SIZE=500000, EXTENSION=info, INDEX-LENGTH=15,

y
MAX-DOCS-AMOUNT=20000000, LANGUAGE=ENGLISH, NUM-DAYS=365, SUFFIX=info , SCAN-

nl
DAYS=120, SOURCE=G:\Impact360\SpeechData\Products}
30-Dec-2012 00:26:53.767 main INFO: >> IBuild 11.1.1.201_Int start
O
30-Dec-2012 00:26:53.767 main INFO: Maximum memory: 17777M
30-Dec-2012 00:26:53.767 main INFO: Args amount = 12
se

30-Dec-2012 00:26:53.767 main INFO: Arg 0= -b


The sub_corpus text in this log indicates that it is building a Sub index (as opposed to
U

a Full or incremental index):


30-Dec-2012 00:26:53.767 main INFO: Arg 1= sub_corpus
al

30-Dec-2012 00:26:53.767 main INFO: Arg 2= -s


30-Dec-2012 00:26:53.767 main INFO: Arg 3= G:\Impact360\SpeechData\Products
rn

The IBuild process indicates the time periods for which it is building the Sub index:
te

30-Dec-2012 00:26:53.777 main INFO: Building sub_corpus for the following


dates:
In

Keep Date = Fri Dec 30 02:00:00 GMT+02:00 2011


Scan Start = Fri Aug 31 02:00:00 GMT+02:00 2012

Impact 360 V11.1 Sequence Diagrams 117

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

Scan End = Sun Dec 30 00:00:12 GMT+02:00 2012


This log indicates the beginning of building the corpus of the Sub index in the
SpeechCatData directory:
30-Dec-2012 00:26:53.787 main INFO: Building sub_corpus in
G:\Impact360\SpeechData\SpeechCatData\sub\Building 30-Dec-2012 00.26.53
30-Dec-2012 00:26:53.827 main INFO: Creating a new Sub Corpus.
The IBuild process loads parameters and files that define the types of words that will be
included and not included (known as stop words) in the Sub index:
30-Dec-2012 00:26:53.837 main INFO: Try to load file :
StopWords_ENGLISH_UNITED_STATES.icd
30-Dec-2012 00:26:53.837 main INFO: Try to load file : StopWords_ENGLISH.icd
30-Dec-2012 00:26:53.837 main INFO: File exists
30-Dec-2012 00:26:53.837 main INFO: Loading
E:\Impact360\Software\Enhanced_Speech\IndexBuilder\Bin\StopWords_ENGLISH.icd
30-Dec-2012 00:26:53.847 main INFO: Read 664 stop words and expressions
The IBuild process loads the previous Sub index (so the new indexed transcription will
be added to it). In this log section, the process loads DB files of metadata information
from the previous Sub index:
30-Dec-2012 00:27:00.118 main INFO: Loading CD1 DB
30-Dec-2012 00:27:00.408 main INFO: Loading CD10 DB
30-Dec-2012 00:27:01.688 main INFO: Loading CD11 DB
30-Dec-2012 00:27:02.928 main INFO: Loading CD12 DB
30-Dec-2012 00:27:04.158 main INFO: Loading CD13 DB
30-Dec-2012 00:27:05.388 main INFO: Loading CD14 DB
30-Dec-2012 00:27:06.668 main INFO: Loading CD15 DB
30-Dec-2012 00:27:07.888 main INFO: Loading CD16 DB
30-Dec-2012 00:27:09.128 main INFO: Loading CD17 DB
30-Dec-2012 00:27:09.788 main INFO: Loading CD18 DB
30-Dec-2012 00:27:10.418 main INFO: Loading CD19 DB
The IBuild processes the new transcripts in two phases (passes). The log shows the
progress of each pass:
30-Dec-2012 00:30:10.331 main INFO: Process new files from products DB
30-Dec-2012 00:30:10.331 main INFO: Processing files (pass 1)
30-Dec-2012 00:30:10.351 main INFO: Loading properties from ibuild.prop

y
30-Dec-2012 00:30:10.551 main FINE: Processed 13 files
30-Dec-2012 00:30:11.391 main FINE: Processed 513 files
nl
30-Dec-2012 00:30:12.131 main FINE: Processed 1013 files
O
30-Dec-2012 00:30:12.721 main FINE: Processed 1513 files
30-Dec-2012 00:30:13.231 main WARNING: File 261001_36738236_13.24.42.867. is
se

empty and contains no info lines


30-Dec-2012 00:30:13.351 main FINE: Processed 2013 files
U

30-Dec-2012 00:30:13.931 main FINE: Processed 2513 files


30-Dec-2012 00:30:14.561 main FINE: Processed 3013 files
al

30-Dec-2012 00:30:15.251 main FINE: Processed 3513 files


30-Dec-2012 00:30:15.891 main FINE: Processed 4013 files
rn

30-Dec-2012 00:30:16.021 main WARNING: File 261001_36745028_13.51.14.940. is


empty and contains no info lines
te

30-Dec-2012 00:30:16.501 main FINE: Processed 4513 files


30-Dec-2012 00:30:17.081 main FINE: Processed 5013 files
In

30-Dec-2012 00:30:17.661 main FINE: Processed 5513 files


30-Dec-2012 00:30:18.252 main FINE: Processed 6013 files
30-Dec-2012 00:30:18.862 main FINE: Processed 6513 files

Impact 360 V11.1 Sequence Diagrams 118

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

30-Dec-2012 00:30:19.552 main FINE: Processed 7013 files


30-Dec-2012 00:30:20.112 main FINE: Processed 7513 files

Step 9: Sub Index Build Done


Log File: iBuild_sub_0.log
At this stage, the IBuild process adds the indexed data of the new transcripts to the
indexed data of the previous built index, combines them and writes the index files to the
disk. It then renames the index directory to a new name in the SpeechCatData
directory:
30-Dec-2012 00:42:28.653 main INFO: Saving terms lexicon (bloxx2.icd)
30-Dec-2012 00:42:28.803 main INFO: Saving index properties (bloxx0.icd)
30-Dec-2012 00:42:28.803 main INFO: Saving phrases lexicon (bloxx2p.icd)
30-Dec-2012 00:42:29.073 main INFO: Saving phraseDoc indexes (index7p files)
30-Dec-2012 00:42:29.153 main INFO: Renaming new index directory to
G:\Impact360\SpeechData\SpeechCatData\sub\30-Dec-2012 00.26.53
The text: IBuild Done indicates the end of the Sub Index build:
30-Dec-2012 00:42:29.353 main INFO: << IBuild Done
The Index Manager indicates that the sub-index has been built (ibuild.mgr.log):
30-Dec-2012 00:42:30.303 pool-2-thread-1 INFO: sub_corpus build has ended with
exit code 0 for index SubIndex
30-Dec-2012 00:42:30.303 pool-2-thread-1 FINE: The input stream reader of
external Index build process was closed successfully.
30-Dec-2012 00:42:30.303 pool-2-thread-1 FINE: The external Index build process
was closed successfully.
30-Dec-2012 00:42:30.323 pool-2-thread-1 INFO: Execution done for index
SubIndex

Step 10: Start Trends Building


Log File: iBuild_mgr_0.log
After the Sub Index is built, the Index Builder triggers the Trends Building process to
start building the trends list:

y
30-Dec-2012 00:42:30.433 main INFO: Starting Build history Trends build with

nl
20000 MB memory
30-Dec-2012 00:42:30.433 main INFO: Command:
O
E:\Impact360\Software\JRE64\bin\java.exe -Xmx20000m -
Djava.util.logging.config.class=speechcat.trends.TrendsLogProperties -
se

Djava.library.path=..\..\CommonLibs -jar BuildTrends.jar


30-Dec-2012 00:42:30.433 pool-3-thread-1 INFO: Performing Build_history_Trends
build on index All
U

Step 11: Build Trends List


al

Log File: iBuild_Trends_0_0.log


rn

The Trends Building process starts building the trends list, by first loading various
te

configuration files:
In

12-Sep-2012 00:01:20.596 main INFO: Build Term History Trends


12-Sep-2012 00:01:20.688 main INFO: No existing
F:\Impact360\SpeechData\SpeechcatData\config.prop

Impact 360 V11.1 Sequence Diagrams 119

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

12-Sep-2012 00:01:20.707 main INFO: set Index Root path


12-Sep-2012 00:01:20.707 main INFO: Loading setting
12-Sep-2012 00:01:20.753 main INFO: Loading m_CRIInfos
12-Sep-2012 00:01:20.879 main INFO: Loading StopWordsFile
12-Sep-2012 00:01:20.882 main INFO: Corpus thread pool size: 20
12-Sep-2012 00:01:20.883 main INFO: Buffer Reader thread pool size: 24
12-Sep-2012 00:01:20.883 main INFO: Corpus thread time out: 120
12-Sep-2012 00:01:20.887 main INFO: Loading Sub-Corpus
12-Sep-2012 00:01:20.941 main INFO: Opened Input Files (Memory: 7092K)
12-Sep-2012 00:01:20.943 main INFO: Loading DocList
12-Sep-2012 00:01:20.986 main INFO: DiskReaderPool singleton was created
successfully
12-Sep-2012 00:01:21.158 main INFO: Loaded 89 Contacts with 1 Audio hours
(Memory: 16760K)
12-Sep-2012 00:01:21.160 main INFO: Loading Lexicon
12-Sep-2012 00:01:21.163 main INFO: Loaded 61 Terms (Memory: 18294K)
The Trends Building process starts building the trends list:
12-Sep-2012 00:01:21.334 main FINE: Prepare Build Trends : Instance id '844100'
transformed to '100' by retrieving 3 less significant digits from the original
instance.
12-Sep-2012 00:01:21.334 main FINE: Got application server (DAS/Globalizer IP)
address. Address is: LMCONS
12-Sep-2012 00:01:21.349 main INFO: Successfully constructed DAS WS address.
Address is: http://LMCONS/DAS101/SpeechCategorySync.asmx
12-Sep-2012 00:01:21.349 main FINE: DAS WS address is: http://LMCONS/DAS101/
SpeechCategorySync.asmx
The Trends Building process reads the terms usage matrix to find various trends among
the defined terms:
12-Sep-2012 00:01:22.782 main INFO: Read term usage from dir
F:\Impact360\SpeechData\SpeechcatData\TermUsage\12-Sep-2012 00.01.02
12-Sep-2012 00:01:22.785 main INFO: Created ShiftingMatrixFile for matrix
TermUsage, input dir F:\Impact360\SpeechData\SpeechcatData\TermUsage\12-Sep-
2012 00.01.02
12-Sep-2012 00:01:22.786 main INFO: Created ShiftingMatrixFile for matrix
TermUsageTotals, input dir F:\Impact360\SpeechData\SpeechcatData\TermUsage\12-
Sep-2012 00.01.02

y
12-Sep-2012 00:01:22.787 main INFO: Median of NumDocs in recent days of term-
usage index: 0
nl
12-Sep-2012 00:01:22.787 main INFO: Using the following configuration
O
parameters in TermUsageNormalizer.calcNumDocsLowerBounds:
TRENDS_MIN_CALLS_PER_DAY = 750;TRENDS_MIN_CALLS_PER_DAY_FOR_TODAY =
se

250;TRENDS_MIN_CALLS_PER_DAY_FRACTION =
0.2;TRENDS_MIN_CALLS_PER_DAY_FRACTION_FOR_TODAY = 0.1
U

The Trends Building process loads the parameters that define how different types of
trends (for example, daily and weekly) are calculated and processed:
al

12-Sep-2012 00:01:22.905 main INFO: Using the following configuration


rn

parameters for daily trends: DAILY_TRENDS_MIN_REQUIRED_DAYS =


10;DAILY_TRENDS_SUFFICIENT_NUM_OF_DAYS =
te

15;DAILY_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
0.0050;DAILY_TRENDS_MIN_VALUABLE_REF_VALUE = 0.01;DAILY_TRENDS_MIN_DAY_STD =
In

5.0
12-Sep-2012 00:01:22.906 main INFO: Using DAILY_TRENDS_BACKGROUND_PERIOD = 21
for daily trends calculations

Impact 360 V11.1 Sequence Diagrams 120

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

12-Sep-2012 00:01:22.906 main INFO: Using the following configuration


parameters for weekly trends: WEEKLY_TRENDS_MIN_REQUIRED_DAYS =
10;WEEKLY_TRENDS_SUFFICIENT_NUM_OF_DAYS =
15;WEEKLY_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
0.0050;WEEKLY_TRENDS_MIN_VALUABLE_REF_VALUE = 0.01;WEEKLY_TRENDS_MIN_DAY_STD =
5.0
The following log shows how different historical time periods of trends are built based on
a specific date (Sept. 09, 2012). This includes daily and weekly trends, and also trends
of different time periods, including 30, 90, 180, and 270 days from the specified date
(Sept. 09, 2012):
12-Sep-2012 00:01:22.972 main INFO: Build Trends Files for day Sun Sep 09
17:00:00 PDT 2012
12-Sep-2012 00:01:22.972 main INFO: Median of NumDocs in recent days of term-
usage index: 0
12-Sep-2012 00:01:22.972 main INFO: Using the following configuration
parameters in TermUsageHistoryNormalizer.calcNumDocsLowerBounds:
TRENDS_MIN_CALLS_PER_DAY = 750;TRENDS_MIN_CALLS_PER_DAY_FOR_TODAY =
250;TRENDS_MIN_CALLS_PER_DAY_FRACTION =
0.2;TRENDS_MIN_CALLS_PER_DAY_FRACTION_FOR_TODAY = 0.1
12-Sep-2012 00:01:22.972 main INFO: Lower bound of NumDocs for including day in
trends calculations: 750
12-Sep-2012 00:01:22.972 main INFO: Lower bound of NumDocs for including last
day in trends calculations: 250
12-Sep-2012 00:01:22.974 main INFO: Using the following configuration
parameters for daily trends: DAILY_TRENDS_MIN_REQUIRED_DAYS =
10;DAILY_TRENDS_SUFFICIENT_NUM_OF_DAYS =
15;DAILY_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
0.0050;DAILY_TRENDS_MIN_VALUABLE_REF_VALUE = 0.01;DAILY_TRENDS_MIN_DAY_STD =
5.0
12-Sep-2012 00:01:22.974 main INFO: Using DAILY_TRENDS_BACKGROUND_PERIOD = 21
for daily trends calculations
12-Sep-2012 00:01:22.974 main INFO: Using the following configuration
parameters for weekly trends: WEEKLY_TRENDS_MIN_REQUIRED_DAYS =
10;WEEKLY_TRENDS_SUFFICIENT_NUM_OF_DAYS =
15;WEEKLY_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
0.0050;WEEKLY_TRENDS_MIN_VALUABLE_REF_VALUE = 0.01;WEEKLY_TRENDS_MIN_DAY_STD =

y
5.0

nl
12-Sep-2012 00:01:22.974 main INFO: Using WEEKLY_TRENDS_BACKGROUND_PERIOD = 28
for weekly trends calculations
12-Sep-2012 00:01:22.975 main INFO: Using the following configuration
O
parameters for new PeriodTrendsCalculator object:
se

PERIOD_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
0.0050;PERIOD_TRENDS_MIN_VALUABLE_REF_VALUE =
0.01;PERIOD_TRENDS_SMOOTHING_RATIO =
U

10;PERIOD_TRENDS_BACKGROUND_LEVEL_PERCENTILE = 40
12-Sep-2012 00:01:22.975 main INFO: Created PeriodTrendsCalculator object for
al

period length of 30 days


12-Sep-2012 00:01:22.975 main INFO: Using the following configuration
rn

parameters for new PeriodTrendsCalculator object:


PERIOD_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
te

0.0050;PERIOD_TRENDS_MIN_VALUABLE_REF_VALUE =
In

0.01;PERIOD_TRENDS_SMOOTHING_RATIO =
10;PERIOD_TRENDS_BACKGROUND_LEVEL_PERCENTILE = 40

Impact 360 V11.1 Sequence Diagrams 121

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

12-Sep-2012 00:01:22.975 main INFO: Created PeriodTrendsCalculator object for


period length of 90 days
12-Sep-2012 00:01:22.975 main INFO: Using the following configuration
parameters for new PeriodTrendsCalculator object:
PERIOD_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
0.0050;PERIOD_TRENDS_MIN_VALUABLE_REF_VALUE =
0.01;PERIOD_TRENDS_SMOOTHING_RATIO =
10;PERIOD_TRENDS_BACKGROUND_LEVEL_PERCENTILE = 40
12-Sep-2012 00:01:22.976 main INFO: Created PeriodTrendsCalculator object for
period length of 180 days
12-Sep-2012 00:01:22.976 main INFO: Using the following configuration
parameters for new PeriodTrendsCalculator object:
PERIOD_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
0.0050;PERIOD_TRENDS_MIN_VALUABLE_REF_VALUE =
0.01;PERIOD_TRENDS_SMOOTHING_RATIO =
10;PERIOD_TRENDS_BACKGROUND_LEVEL_PERCENTILE = 40
12-Sep-2012 00:01:22.976 main INFO: Created PeriodTrendsCalculator object for
period length of 270 days
12-Sep-2012 00:01:22.976 main INFO: Using the following configuration
parameters for new PeriodTrendsCalculator object:
PERIOD_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
0.0050;PERIOD_TRENDS_MIN_VALUABLE_REF_VALUE =
0.01;PERIOD_TRENDS_SMOOTHING_RATIO =
10;PERIOD_TRENDS_BACKGROUND_LEVEL_PERCENTILE = 40
12-Sep-2012 00:01:22.976 main INFO: Created PeriodTrendsCalculator object for
period length of 360 days
12-Sep-2012 00:01:22.986 main INFO: Build Term db Files for day Sun Sep 09
17:00:00 PDT 2012
The following log shows how different historical time periods of category trends are built
based on a specific date (Oct. 07, 2012). This includes daily and weekly trends, and also
trends of different time periods, including 30, 90, 180, 270, and 360 days from the
specified date (Oct. 07, 2012):
12-Oct-2012 00:00:57.316 main INFO: Build Category db Files for day Sun Oct 07
17:00:00 PDT 2012
12-Oct-2012 00:00:57.316 main INFO: Median of NumDocs in recent days of term-
usage index: 2

y
12-Oct-2012 00:00:57.317 main INFO: Using the following configuration

nl
parameters in TermUsageHistoryNormalizer.calcNumDocsLowerBounds:
TRENDS_MIN_CALLS_PER_DAY = 750;TRENDS_MIN_CALLS_PER_DAY_FOR_TODAY =
250;TRENDS_MIN_CALLS_PER_DAY_FRACTION =
O
0.2;TRENDS_MIN_CALLS_PER_DAY_FRACTION_FOR_TODAY = 0.1
se

12-Oct-2012 00:00:57.317 main INFO: Lower bound of NumDocs for including day in
trends calculations: 750
12-Oct-2012 00:00:57.317 main INFO: Lower bound of NumDocs for including last
U

day in trends calculations: 250


12-Oct-2012 00:00:57.318 main INFO: Using the following configuration
al

parameters for daily trends: DAILY_TRENDS_MIN_REQUIRED_DAYS =


10;DAILY_TRENDS_SUFFICIENT_NUM_OF_DAYS =
rn

15;DAILY_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
0.0050;DAILY_TRENDS_MIN_VALUABLE_REF_VALUE = 0.01;DAILY_TRENDS_MIN_DAY_STD =
te

5.0
In

12-Oct-2012 00:00:57.319 main INFO: Using DAILY_TRENDS_BACKGROUND_PERIOD = 21


for daily trends calculations

Impact 360 V11.1 Sequence Diagrams 122

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

12-Oct-2012 00:00:57.319 main INFO: Using the following configuration


parameters for weekly trends: WEEKLY_TRENDS_MIN_REQUIRED_DAYS =
10;WEEKLY_TRENDS_SUFFICIENT_NUM_OF_DAYS =
15;WEEKLY_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
0.0050;WEEKLY_TRENDS_MIN_VALUABLE_REF_VALUE = 0.01;WEEKLY_TRENDS_MIN_DAY_STD =
5.0
12-Oct-2012 00:00:57.319 main INFO: Using WEEKLY_TRENDS_BACKGROUND_PERIOD = 28
for weekly trends calculations
12-Oct-2012 00:00:57.319 main INFO: Using the following configuration
parameters for new PeriodTrendsCalculator object:
PERIOD_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
0.0050;PERIOD_TRENDS_MIN_VALUABLE_REF_VALUE =
0.01;PERIOD_TRENDS_SMOOTHING_RATIO =
10;PERIOD_TRENDS_BACKGROUND_LEVEL_PERCENTILE = 40
12-Oct-2012 00:00:57.319 main INFO: Created PeriodTrendsCalculator object for
period length of 30 days
12-Oct-2012 00:00:57.319 main INFO: Using the following configuration
parameters for new PeriodTrendsCalculator object:
PERIOD_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
0.0050;PERIOD_TRENDS_MIN_VALUABLE_REF_VALUE =
0.01;PERIOD_TRENDS_SMOOTHING_RATIO =
10;PERIOD_TRENDS_BACKGROUND_LEVEL_PERCENTILE = 40
12-Oct-2012 00:00:57.320 main INFO: Created PeriodTrendsCalculator object for
period length of 90 days
12-Oct-2012 00:00:57.320 main INFO: Using the following configuration
parameters for new PeriodTrendsCalculator object:
PERIOD_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
0.0050;PERIOD_TRENDS_MIN_VALUABLE_REF_VALUE =
0.01;PERIOD_TRENDS_SMOOTHING_RATIO =
10;PERIOD_TRENDS_BACKGROUND_LEVEL_PERCENTILE = 40
12-Oct-2012 00:00:57.320 main INFO: Created PeriodTrendsCalculator object for
period length of 180 days
12-Oct-2012 00:00:57.320 main INFO: Using the following configuration
parameters for new PeriodTrendsCalculator object:
PERIOD_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
0.0050;PERIOD_TRENDS_MIN_VALUABLE_REF_VALUE =
0.01;PERIOD_TRENDS_SMOOTHING_RATIO =

y
10;PERIOD_TRENDS_BACKGROUND_LEVEL_PERCENTILE = 40

nl
12-Oct-2012 00:00:57.320 main INFO: Created PeriodTrendsCalculator object for
period length of 270 days
12-Oct-2012 00:00:57.321 main INFO: Using the following configuration
O
parameters for new PeriodTrendsCalculator object:
PERIOD_TRENDS_MIN_VALUABLE_BACKGROUND_AVG =
se

0.0050;PERIOD_TRENDS_MIN_VALUABLE_REF_VALUE =
0.01;PERIOD_TRENDS_SMOOTHING_RATIO =
U

10;PERIOD_TRENDS_BACKGROUND_LEVEL_PERCENTILE = 40
12-Oct-2012 00:00:57.321 main INFO: Created PeriodTrendsCalculator object for
al

period length of 360 days


The following log entry indicates that the terms and category trends for the various
rn

historical time periods have been completed for the specified dates (in this case, Oct.
te

02-Oct. 08):
12-Oct-2012 00:00:58.704 main INFO: Build Term and Categories History Trends
In

Finish Successfully for dates Mon Oct 08 17:00:00 PDT 2012 to Tue Oct 02
17:00:00 PDT 2012

Impact 360 V11.1 Sequence Diagrams 123

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

Step 12: Trends Building Done


Log File: iBuild_mgr_0.log
The IBuild Manager indicates that the Trends Building process has completed:
30-Dec-2012 00:54:37.224 pool-3-thread-1 INFO: Build_history_Trends build has
ended with exit code 0 for index All

Step 13: Restarts SpeechCat Service


Log File: iBuild_sclog_0_0.log
The Index Builder restarts the SpeechCat service:
7-Jan-2013 00:45:15.642 main INFO: Loading speech Cat - creating a new
speechCat instance.
7-Jan-2013 00:45:15.702 main INFO: Loading speech Cat - loading speech cat.
7-Jan-2013 00:45:15.732 main INFO: SpeechCat starting

Step 14: SpeechCat Loads Index


Log File: iBuild_sclog_0_0.log
The SpeechCat service loads the index:
7-Jan-2013 00:45:22.163 main INFO: Starting to load the spanned index
7-Jan-2013 00:45:22.163 main INFO: Looking for newest index of type MAIN under
G:\Impact360\SpeechData\SpeechCatData\SpannedIndex\2012-01-06 - 2012-01-20
7-Jan-2013 00:45:22.163 main INFO: Trying to load index from folder
G:\Impact360\SpeechData\SpeechCatData\SpannedIndex\2012-01-06 - 2012-01-20\07-
Jan-2013 00.00.12
7-Jan-2013 00:45:22.203 main INFO: Opened Input Files (Memory: 204801K)
7-Jan-2013 00:45:22.213 main INFO: Loading cache (max number of terms: 1048576,
max file size: 1073741824)
7-Jan-2013 00:45:22.233 main INFO: Created CacheTermBlock of size 0
7-Jan-2013 00:45:22.233 main INFO: Corpus id #0 details:
Index type: MAIN
Parent dir: G:\Impact360\SpeechData\SpeechCatData\SpannedIndex\2012-01-06 -
2012-01-20

y
Source dir: G:\Impact360\SpeechData\SpeechCatData\SpannedIndex\2012-01-06 -

nl
2012-01-20\07-Jan-2013 00.00.12
Number of documents: 0
Corpus build date: 01/06/2013 22:00:14
O
7-Jan-2013 00:45:22.233 main INFO: Index was loaded successfully from folder
se

G:\Impact360\SpeechData\SpeechCatData\SpannedIndex\2012-01-06 - 2012-01-20\07-
Jan-2013 00.00.12
U

End Full Index Process


al

Log File: iBuild_mgr_0.log


rn

After the SpeechCat service loads the index, the Full index process is complete. The
IBuild Manager writes the following messages, indicating this status:
te

30-Dec-2012 00:54:37.244 pool-3-thread-1 INFO: Execution done for index All


In

30-Dec-2012 00:54:37.244 main INFO: << IBuild Manager Done

Impact 360 V11.1 Sequence Diagrams 124

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

Incremental Index Log

Step 2: IBuild Manager Defines Index


Log File: iBuild_mgr_0.log
The following log is created at the beginning of the build incremental index process.
The IBuild Manager starts up, and loads certain global index properties related to the
index, such as maximum size of the main index (MAIN-MX), the maximum duration
(length) of transcript data that can be included in the index (MAX-DOCS-DURATION),
and maximum number of IBuild processes that can run concurrently, which is three
(MAX-IBUILD-PROCESSES).
The source folder of the index content is in Products, and destination folder for the
index is SpeechCatData:
21-Dec-2012 04:00:01.805 main INFO: >> IBuild Manager start
21-Dec-2012 04:00:01.865 main INFO: Loaded IBuild properties
21-Dec-2012 04:00:01.865 main INFO: No existing ibuild.prop.local
21-Dec-2012 04:00:01.865 main INFO: Properties: {MAIN-MX=2000, SUB-MX=1490,
DISABLE=true, MAX-DOCS-DURATION=200000, MAX-IBUILD-PROCESSES=3,
DESTINATION=G:\Impact360\SpeechData\SpeechCatData, INC-MX=256,
VOCABULARY=UNITED_STATES, SAMPLE-SIZE=50000, EXTENSION=info, INDEX-LENGTH=15,
MAX-DOCS-AMOUNT=2000000, LANGUAGE=ENGLISH, NUM-DAYS=365, SUFFIX=info , SCAN-
DAYS=120, SOURCE=G:\Impact360\SpeechData\Products}
The IBuild Manager checks the Products directory to verify the number of new records
that have been added to Products:
21-Dec-2012 04:00:01.965 main INFO: There are 14 new records in products db 24-
Nov-2012 whose insertion date is after Fri Dec 21 03:00:10 GMT+02:00 2012
21-Dec-2012 04:00:01.965 main INFO: There are 8 new records in products db 23-
Nov-2012 whose insertion date is after Fri Dec 21 03:00:10 GMT+02:00 2012
21-Dec-2012 04:00:01.965 main INFO: There are 3 new records in products db 22-
Nov-2012 whose insertion date is after Fri Dec 21 03:00:10 GMT+02:00 2012
21-Dec-2012 04:00:01.965 main INFO: There are 13 new records in products db 21-
Nov-2012 whose insertion date is after Fri Dec 21 03:00:10 GMT+02:00 2012
21-Dec-2012 04:00:01.975 main INFO: There are 7 new records in products db 20-

y
Nov-2012 whose insertion date is after Fri Dec 21 03:00:10 GMT+02:00 2012

nl
After verifying the number of new transcripts in Products, the IBuild Manager searches
for new calls within a specified date range (Scan start and Scan end).
O
The Keep date parameter indicates to keep all transcriptions that are older than the
keep date.
se

In the following example log, the Keep date is Dec. 22, 2011, and the scan dates are
Aug. 23-Dec. 21, 2012. This means that the system should scan for all new transcripts
U

between Aug. 23-Dec. 21, 2012 for building the index, and to keep all transcriptions
from Dec. 22, 2011 and older. Therefore, no transcriptions will be deleted from the index
al

for this time period.


rn

21-Dec-2012 04:00:02.035 main INFO: Index Builder Manager will use the
following parameters for the current buildings: Keep date = 12/22/2011
te

00:00:00; Scan start = 08/23/2012 00:00:00; Scan end = 12/21/2012 02:00:01


In

Based on this data, the IBuild Manager determines the number of index builds that will
be created (according to time periods), and the corresponding size of the index:

Impact 360 V11.1 Sequence Diagrams 125

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

21-Dec-2012 04:00:02.145 main INFO: About to execute 1 index builds; Maximum 1


simultaneously
21-Dec-2012 04:00:02.145 main INFO: About to start inc_corpus build with 256 MB
memory on index 2012-11-16 - 2012-11-30
21-Dec-2012 04:00:02.145 main INFO: Command:
E:\Impact360\Software\JRE64\bin\java.exe -Xmx256m -
Djava.util.logging.config.class=ibuild.IBuildLogProperties -
Djava.library.path=..\..\CommonLibs -jar IBuild.jar -binc_corpus -
sG:\Impact360\SpeechData\Products -dG:\Impact360\SpeechData\SpeechCatData -
mG:\Impact360\SpeechData\SpeechCatData\SpannedIndex\2012-11-16 - 2012-11-30 -
t11/30/2012 23:59:59 -f11/16/2012 00:00:00 -c11/16/2012 00:00:00
21-Dec-2012 04:00:02.155 pool-1-thread-1 INFO: Performing Inc Corpus build on
index 2012-11-16 - 2012-11-30

Step 3: IBuild Manager Triggers IBuild to Build Index


Log File: iBuild_mgr_0.log
After defining the scope of the index, including the number of index builds and the time
periods including in each build, the IBuild Manager triggers the IBuild process to start
building the corpus of the index (the index iself):
21-Dec-2012 04:00:02.155 pool-1-thread-1 INFO: Performing Inc Corpus build on
index 2012-11-16 - 2012-11-30

Step 4: IBuild (Inc) Builds Index


Log File: iBuild_0_0.log
The following log shows the IBuild (Inc) process loading the index properties
accordingly:
21-Dec-2012 04:00:02.405 main INFO: Loaded IBuild properties
21-Dec-2012 04:00:02.435 main INFO: No existing ibuild.prop.local
21-Dec-2012 04:00:02.435 main INFO: Properties: {MAIN-MX=2000, SUB-MX=1490,
DISABLE=true, MAX-DOCS-DURATION=200000, MAX-IBUILD-PROCESSES=3,
DESTINATION=G:\Impact360\SpeechData\SpeechCatData, INC-MX=256,
VOCABULARY=UNITED_STATES, SAMPLE-SIZE=50000, EXTENSION=info, INDEX-LENGTH=15,
MAX-DOCS-AMOUNT=2000000, LANGUAGE=ENGLISH, NUM-DAYS=365, SUFFIX=info , SCAN-

y
DAYS=120, SOURCE=G:\Impact360\SpeechData\Products}

nl
21-Dec-2012 04:00:02.435 main INFO: >> IBuild 11.1.1.201_Int start
21-Dec-2012 04:00:02.435 main INFO: Maximum memory: 245M
O
The inc_corpus text in this log indicates that it is building an Incremental index (as
opposed to a Full or Sub- ndex):
se

21-Dec-2012 04:00:02.435 main INFO: Args amount = 14


U

21-Dec-2012 04:00:02.435 main INFO: Arg 0= -b


21-Dec-2012 04:00:02.435 main INFO: Arg 1= inc_corpus
21-Dec-2012 04:00:02.435 main INFO: Arg 2= -s
al

21-Dec-2012 04:00:02.435 main INFO: Arg 3= G:\Impact360\SpeechData\Products


rn

21-Dec-2012 04:00:02.435 main INFO: Arg 4= -d


21-Dec-2012 04:00:02.435 main INFO: Arg 5=
te

G:\Impact360\SpeechData\SpeechCatData
21-Dec-2012 04:00:02.435 main INFO: Arg 6= -m
In

21-Dec-2012 04:00:02.435 main INFO: Arg 7=


G:\Impact360\SpeechData\SpeechCatData\SpannedIndex\2012-11-16 - 2012-11-30
21-Dec-2012 04:00:02.435 main INFO: Arg 8= -t

Impact 360 V11.1 Sequence Diagrams 126

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

21-Dec-2012 04:00:02.435 main INFO: Arg 9= 11/30/2012 23:59:59


21-Dec-2012 04:00:02.435 main INFO: Arg 10= -f
21-Dec-2012 04:00:02.435 main INFO: Arg 11= 11/16/2012 00:00:00
21-Dec-2012 04:00:02.435 main INFO: Arg 12= -c
21-Dec-2012 04:00:02.435 main INFO: Arg 13= 11/16/2012 00:00:00
The IBuild process indicates the time periods for which it is building the index:
21-Dec-2012 04:00:02.445 main INFO: Building inc_corpus for the following
dates:
Keep Date = Fri Nov 16 02:00:00 GMT+02:00 2012
Scan Start = Fri Nov 16 02:00:00 GMT+02:00 2012
Scan End = Sat Dec 01 01:59:59 GMT+02:00 2012
This log indicates the beginning of building the corpus of the index in the SpeechCatData
directory:
21-Dec-2012 04:00:02.455 main INFO: Building inc_corpus in
G:\Impact360\SpeechData\SpeechCatData\SpannedIndex\2012-11-16 - 2012-11-30\21-
Dec-2012 00.00.09\inc\Building 21-Dec-2012 04.00.02
The IBuild process loads parameters and files that define the types of words that will be
included and not included (known as stop words) in the index:
21-Dec-2012 04:00:02.465 main INFO: Try to load file :
StopWords_ENGLISH_UNITED_STATES.icd
21-Dec-2012 04:00:02.465 main INFO: Try to load file : StopWords_ENGLISH.icd
21-Dec-2012 04:00:02.465 main INFO: File exists
21-Dec-2012 04:00:02.465 main INFO: Loading
E:\Impact360\Software\Enhanced_Speech\IndexBuilder\Bin\StopWords_ENGLISH.icd
21-Dec-2012 04:00:02.505 main INFO: Read 664 stop words and expressions
The IBuild process loads the previous index (so the new indexed transcription will be
added to it). In this log section, the process loads DB files of metadata information from
the previous index:
21-Dec-2012 04:00:03.725 main INFO: Rewriting existing values of
AGENT_TALK_TIME_PERCENTAGE dat file
21-Dec-2012 04:00:03.725 main INFO: Rewriting existing values of ANI dat file
21-Dec-2012 04:00:03.725 main INFO: Rewriting and sorting existing values of
ANI DB file
21-Dec-2012 04:00:03.795 main INFO: Rewriting existing values of AgentID dat

y
file

nl
21-Dec-2012 04:00:03.795 main INFO: Rewriting existing values of AgentPBXID dat
file
O
21-Dec-2012 04:00:03.795 main INFO: Rewriting and sorting existing values of
AgentPBXID DB file
se

21-Dec-2012 04:00:03.795 main INFO: Rewriting existing values of CD1 dat file
21-Dec-2012 04:00:03.795 main INFO: Rewriting and sorting existing values of
U

CD1 DB file
21-Dec-2012 04:00:03.895 main INFO: Rewriting existing values of CD10 dat file
al

21-Dec-2012 04:00:03.895 main INFO: Rewriting and sorting existing values of


CD10 DB file
rn

21-Dec-2012 04:00:03.915 main INFO: Rewriting existing values of CD11 dat file
21-Dec-2012 04:00:03.915 main INFO: Rewriting and sorting existing values of
te

CD11 DB file
21-Dec-2012 04:00:03.955 main INFO: Rewriting existing values of CD12 dat file
In

21-Dec-2012 04:00:03.955 main INFO: Rewriting and sorting existing values of


CD12 DB file

Impact 360 V11.1 Sequence Diagrams 127

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

The IBuild processes the new transcripts in two phases (passes). The log shows the
progress of each pass:
21-Dec-2012 04:00:04.925 main INFO: Process new files from products DB
21-Dec-2012 04:00:04.925 main INFO: Processing files (pass 1)
21-Dec-2012 04:00:04.925 main INFO: Products db for current day does not exist:
path=G:\Impact360\SpeechData\Products\16-Nov-2012
21-Dec-2012 04:00:04.925 main INFO: Processing files (pass 1 - 16-Nov-2012)
21-Dec-2012 04:00:04.925 main INFO: Products db for current day does not exist:
path=G:\Impact360\SpeechData\Products\17-Nov-2012
21-Dec-2012 04:00:04.935 main INFO: Loading properties from ibuild.prop
21-Dec-2012 04:00:04.935 main INFO: Fetched 7 new call identifiers from
products dir G:\Impact360\SpeechData\Products\20-Nov-2012
21-Dec-2012 04:00:04.935 main INFO: Processing files (pass 1 - 20-Nov-2012)
21-Dec-2012 04:00:05.275 main INFO: Fetched 13 new call identifiers from
products dir G:\Impact360\SpeechData\Products\21-Nov-2012
21-Dec-2012 04:00:05.275 main INFO: Processing files (pass 1 - 21-Nov-2012)
21-Dec-2012 04:00:05.335 main INFO: Fetched 3 new call identifiers from
products dir G:\Impact360\SpeechData\Products\22-Nov-2012
21-Dec-2012 04:00:05.335 main INFO: Processing files (pass 1 - 22-Nov-2012)
21-Dec-2012 04:00:05.345 main INFO: Fetched 8 new call identifiers from
products dir G:\Impact360\SpeechData\Products\23-Nov-2012
21-Dec-2012 04:00:05.355 main INFO: Processing files (pass 1 - 23-Nov-2012)
21-Dec-2012 04:00:05.375 main INFO: Fetched 14 new call identifiers from
products dir G:\Impact360\SpeechData\Products\24-Nov-2012
21-Dec-2012 04:00:05.375 main INFO: Processing files (pass 1 - 24-Nov-2012)
21-Dec-2012 04:00:05.495 main INFO: Products db for current day does not exist:
path=G:\Impact360\SpeechData\Products\25-Nov-2012

Step 5: Request to Reload Index


Log File: iBuild_sclog_0_0.log
After the Incremental index is built, the IBuild (Inc) process sends a request to the
SpeechCat service to reload the index:
21-Dec-2012 04:00:05.550 http-29171-1 INFO: handleRequest Request start:
1357513300071 <?xml version="1.0" encoding="UTF-8"?>
<Request Action="Reload Corpus"

y
Step 6: SpeechCat Reloads Index
nl
O
Log File: iBuild_sclog_0_0.log
se

When the index is created, the IBuild process saves the terms, index properties and
renames the index directory to a new name in the SpeechCatData directory:
U

21-Dec-2012 01:01:40.071 http-29171-1 INFO: Reloading the incremental index of


the sub-index 1 before synchronized
al

G:\Impact360\SpeechData\SpeechCatData\SpannedIndex\2012-12-01 - 2012-12-15\07-
Jan-2013 00.00.12
rn

21-Dec-2012 01:01:40.071 http-29171-1 INFO: Reloading the incremental index of


the sub-index 2 in synchronized
te

G:\Impact360\SpeechData\SpeechCatData\SpannedIndex\2012-12-01 - 2012-12-15\07-
Jan-2013 00.00.12
In

Impact 360 V11.1 Sequence Diagrams 128

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

Step 7: Index Build Done


Log File: iBuild_0_0.log
When the index is created, the IBuild process saves the terms, index properties and
renames the index directory to a new name in the SpeechCatData directory:
21-Dec-2012 04:00:06.805 main INFO: Saving terms lexicon (bloxx2.icd)
21-Dec-2012 04:00:06.825 main INFO: Saving index properties (bloxx0.icd)
21-Dec-2012 04:00:06.835 main INFO: Renaming new index directory to
G:\Impact360\SpeechData\SpeechCatData\SpannedIndex\2012-11-16 - 2012-11-30\21-
Dec-2012 00.00.09\inc\21-Dec-2012 04.00.02
The text: IBuild Done indicates the end of the Incremental Index build:
21-Dec-2012 04:00:07.795 main INFO: << IBuild Done

Step 8-12: Index Build and Reload Index


Log File: iBuild_0_0.log
The second Incremental index is built and the SpeechCat service reloads the index (as
described in the previous steps).

Step 13: Incremental Index Done


Log File: iBuild_mgr_0.log
After all incremental index builds are completed and the SpeechCat reloads the index,
the IBuild Manager indicates the incremental index session is complete:
21-Dec-2012 04:00:07.825 pool-1-thread-1 INFO: Inc Corpus build has ended with
exit code 0 for index 2012-11-16 - 2012-11-30
21-Dec-2012 04:00:07.825 pool-1-thread-1 FINE: The input stream reader of
external Index build process was closed successfully.
21-Dec-2012 04:00:07.825 pool-1-thread-1 FINE: The external Index build process
was closed successfully.
21-Dec-2012 04:00:07.845 pool-1-thread-1 INFO: Execution done for index 2012-
11-16 - 2012-11-30
21-Dec-2012 04:00:07.845 main INFO: << IBuild Manager Done

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 129

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

Index Components and Properties


The following sections provide descriptions of the components used in both types of
index processes, and provide a comparison of the properties or characteristics of each
type of index:
Index Component Descriptions,page 130
Full and Incremental Index Properties,page 131

Index Component Descriptions


Each component involved in the index process has a specialized function. Some of the
components used in the process depend on the type of flow (Full or Incremental).

Component Description Index Flow

Index Builder Manages the entire process of building the index, Full and Incremental
including:
Stops/restarts the SpeechCat service (for Full Index)
Triggers the IBuild Manager to start the scheduled
index process
Triggers the sub-index process (for Full Index)
Triggers rebuilding of the trends list (for Full Index)
Loads the SpeechCat with the updated index (for Full
Index)
Reloads the SpeechCat with the updated index (for
Incremental Index)

SpeechCat Provides Speech Portal services for users (searching for Full and Incremental
terms, analyzing trends and categories, etc.).
Full Index: SpeechCat is stopped during the index
build, and restarted when the index is complete. It is
then loaded with the updated index.
Incremental Index: SpeechCat is not stopped during

y
the index build, and is reloaded after every index build.

IBuild Manager Acts as a scheduler for both types of index flows, and
nl
Full and Incremental
O
defines the parameters of the index build, including the
number of calls that need to be indexed and the number of
se

index builds that will be created.

IBuild (Full) Builds the index itself once a day, based on the parameters Full
U

defined by the IBuild Manager.


al

IBuild (Incremental) Builds the index itself once an hour, based on the Incremental
parameters defined by the IBuild Manager.
rn
te
In

Impact 360 V11.1 Sequence Diagrams 130

Confidential and Proprietary Information of Verint Systems Inc.


Chapter 4 - Speech Analytics Speech Indexing

Component Description Index Flow

IBuild (Sub) Builds the sub-index, which is a smaller sampling or Full


portion of the full index, used for for specialized
applications and analytics features.
The Index Builder triggers the IBuild (Sub) process to build
the sub-index after the Full index is built.

Trends Building Rebuilds or updates the trends list, which is used by Full
SpeechCat for analytics.
The Index Builder triggers the Trends Building process to
build the trends list after the sub-index is built.

Full and Incremental Index Properties


There are certain characteristics or properties that are specific to the index flow (Full or
Incremental).
The following table provides a comparision of the specific properties of each flow:

Index Frequency Includes Updates Stops/ Load or Reload Index


Sub- Trends Restarts for Speech Portal?
Index? List? SpeechCat?

Full (Main) Once a day (per Yes Yes Yes Load


maintenance (Works when SpeechCat is
window) down)

Incremental Once an hour No No No Reload


(after Full) (Works when SpeechCat is
up and running)

y
nl
O
se
U
al
rn
te
In

Impact 360 V11.1 Sequence Diagrams 131

Confidential and Proprietary Information of Verint Systems Inc.


Verint Global Headquarters
330 South Service Road
Melville, NY 11747 USA

info@verint.com
1-800-4VERINT

www.verint.com

y
nl
O
se
U
al
rn
te
In

2012 Verint Systems Inc.


All Rights Reserved Worldwide.
Confidential and Proprietary Information of Verint Systems Inc.

The contents of this material are confidential and proprietary to Verint Systems Inc.
and may not be reproduced, published, or disclosed to others without express
authorization of Verint Systems Inc.

Vous aimerez peut-être aussi