Cisco Cisco Computer Telephony Integration OS 8.5 Developer's Guide
3-15
CTI OS Developer’s Guide for Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)
Chapter 3 CIL Coding Conventions
Obtaining Objects from UniqueObjectIDs
The ICMEnterpriseUniqueID in CTI OS takes the form of a variable-length string
with the form
with the form
“icm.routercallkeyday.routercallkeycallid”
where routercallkeyday is the field Day in the ICM Route_Call_Detail and
Termination_Call_Detail tables, and routercallkeycallid is the field
RouterCallKey in the ICM Route_Call_Detail and Termination_Call_Detail
tables.
Termination_Call_Detail tables, and routercallkeycallid is the field
RouterCallKey in the ICM Route_Call_Detail and Termination_Call_Detail
tables.
The CTI OS server enables certain types of monitor mode applications that track
the pre-call notification event (eTranslationRouteEvent or eAgentPrecallEvent)
and seek to match the call data with the arrival of an eCallBeginEvent.
the pre-call notification event (eTranslationRouteEvent or eAgentPrecallEvent)
and seek to match the call data with the arrival of an eCallBeginEvent.
To do so, the application will receive the pre-call notification (for calls routed by
ICM (either pre-route, post-route, or translation route), and create a record
(object) using the ICMEnterpriseUniqueID field as the unique key. Later, when
the call arrives at the ACD, and is queued or targeted (by the ACD) for a specific
agent, the application can match the saved record (object) with the incoming call
by the ICMEnterpriseUniqueID field. The following events will contain the
ICMEnterpriseUniqueID that can be used to associate a call with the saved call
information:
ICM (either pre-route, post-route, or translation route), and create a record
(object) using the ICMEnterpriseUniqueID field as the unique key. Later, when
the call arrives at the ACD, and is queued or targeted (by the ACD) for a specific
agent, the application can match the saved record (object) with the incoming call
by the ICMEnterpriseUniqueID field. The following events will contain the
ICMEnterpriseUniqueID that can be used to associate a call with the saved call
information:
•
eCallBeginEvent
•
eCallDataUpdateEvent
•
eSnapshotCallConf
•
eCallEndEvent
Obtaining Objects from UniqueObjectIDs
Client applications written to take advantage of the CIL can use the
UniqueObjectID to obtain a pointer (in C++ or COM for C++) or a reference (in
other languages) to the underlying object.
UniqueObjectID to obtain a pointer (in C++ or COM for C++) or a reference (in
other languages) to the underlying object.
The CIL Session object provides access to the object collections via several
methods, including GetObjectFromObjectID. GetObjectFromObjectID takes as a
parameter the string UniqueObjectID of the desired object, and returns a pointer
to the object. Since this mechanism is generic, and does not contain specific
information about the object type retrieved, the pointer (or reference) returned is
a pointer or reference to the base class: a CCtiosObject* in C++, an Object in
Visual Basic, an IDispatch* in COM for C++, or CtiOsObject in .NET and Java.
methods, including GetObjectFromObjectID. GetObjectFromObjectID takes as a
parameter the string UniqueObjectID of the desired object, and returns a pointer
to the object. Since this mechanism is generic, and does not contain specific
information about the object type retrieved, the pointer (or reference) returned is
a pointer or reference to the base class: a CCtiosObject* in C++, an Object in
Visual Basic, an IDispatch* in COM for C++, or CtiOsObject in .NET and Java.