<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>CTIOS Toolkit Questions</title>
  <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_category?p_l_id=&amp;mbCategoryId=1056693" />
  <subtitle />
  <id>http://developer.cisco.com/c/message_boards/find_category?p_l_id=&amp;mbCategoryId=1056693</id>
  <updated>2013-06-18T05:13:08Z</updated>
  <dc:date>2013-06-18T05:13:08Z</dc:date>
  <entry>
    <title>RE: New Message from Artem Repko in Computer Telephony Integration Object S</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16290580" />
    <author>
      <name>Artem Repko</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16290580</id>
    <updated>2013-06-18T05:12:24Z</updated>
    <published>2013-06-18T05:12:24Z</published>
    <summary type="html">[quote=GEOFFREY THOMPSON]
What, may I ask, is wrong with the individual processes per agent?[/quote]Instances need to communicate with main process (host) program. So I also need to use something like named pipes or wcf communication. It's too complicated solution for this task.</summary>
    <dc:creator>Artem Repko</dc:creator>
    <dc:date>2013-06-18T05:12:24Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Basudeb Acharyya in Computer Telephony Integration Obj</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16288634" />
    <author>
      <name>Basudeb Acharyya</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16288634</id>
    <updated>2013-06-18T03:51:08Z</updated>
    <published>2013-06-18T03:51:08Z</published>
    <summary type="html">My purpose is to also to control the agent state. As per your statement, you also tried in different thread but it didn't work. It appears to me that the problem  is because
 CTIOS Server is mixing the two CTIOS connections. The CtiOsSession is different but the ClientID is the same, it is actually the Windows Process ID.
The clientID that identifies the CTIOS connection is built on the machine name, the process ID and the thread name. The issue is that the thread name is not initialized by default, so we have to do it in the code. You have to  overrided the connect() method to set the thread name to a unique value before calling the CTIOS connect method and it works.
Before CTIOS 7.5, CTIOS server was not checking that the clientID was unique. 

Here is an example of code:

 public class CtiOsSessionWithAgentID : CtiOsSession
 {
 private string _agentID;

 public CtiOsSessionWithAgentID(string pAgentID)
 {
 _agentID = pAgentID;
 }

 new public CilError SetAgent(Agent NewAgent)
 {
 Thread.CurrentThread.Name = pAgentID;
 return base.SetAgent(NewAgent);
 }
 }

Just replace SetAgent function of CtiOsSession in order to set the thread name.

If it works for you then please send me the code for me.</summary>
    <dc:creator>Basudeb Acharyya</dc:creator>
    <dc:date>2013-06-18T03:51:08Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Artem Repko in Computer Telephony Integration Object S</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16277964" />
    <author>
      <name>GEOFFREY THOMPSON</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16277964</id>
    <updated>2013-06-17T20:37:19Z</updated>
    <published>2013-06-17T20:37:19Z</published>
    <summary type="html">X
&gt;&gt;&gt;&gt;&gt;&gt;&gt;Only one way to solve problem - to create each session in separate processes. But it's very bad solution for me.

What, may I ask, is wrong with the individual processes per agent? I had to do something similar for a home-grown Agent Greeting solution that we built years before Cisco introduced their Agent Greeting solution with CVP 8.5.

I have a single process working in monitor mode which runs continuously. I call this the Launcher.

When I detect an agent “login” I insert them into hash table and launch a process dedicated to that agent. I call this the Console.

I pass on the command line the data the Console needs to work on behalf of that particular agent. When the agent logs out, the Cosnole terminates itself, and the Launcher deletes the agent from the hash table.

I put “login” in double quotes, because there is no “login” event in ICM. When the Launcher hears an event (like Not Ready, Talking, Ready) it checks the hash table. If the agent is not there, it adds the agent and fires off the Console. Normally, this is a Not Ready event because of a login.

But it also works if the Launcher is started after the agent has logged in. Launcher does not really need the agent to log in to start Console for that agent – any state transition can kick it off. I have had over 125 Console applications running on 1 server.

Regards,
Geoff</summary>
    <dc:creator>GEOFFREY THOMPSON</dc:creator>
    <dc:date>2013-06-17T20:37:19Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Basudeb Acharyya in Computer Telephony Integration Obj</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16272989" />
    <author>
      <name>Artem Repko</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16272989</id>
    <updated>2013-06-17T18:04:44Z</updated>
    <published>2013-06-17T18:04:44Z</published>
    <summary type="html">[b][size=3]Basudeb Acharyya,

[/size][/b][size=3]I have the same [url=http://developer.cisco.com/web/ctios/forums/-/message_boards/message/15907646]task[/url], but I have no result. I've tried to use different threads for each object instance. I've even tried to use different .NET domains to isolate sessions from each other. The result is - only the last created session object receives events. Only one way to solve problem - to create each session in separate processes. But it's very bad solution for me. If you solve the problem in other way - please, tell how.[/size][size=3][/size]</summary>
    <dc:creator>Artem Repko</dc:creator>
    <dc:date>2013-06-17T18:04:44Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Basudeb Acharyya in Computer Telephony Integration Obj</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16258976" />
    <author>
      <name>David Lender</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16258976</id>
    <updated>2013-06-17T13:12:41Z</updated>
    <published>2013-06-17T13:12:41Z</published>
    <summary type="html">I believe you want to create each of your CTIOSOBJ in a separate thread but is a design question that I cannot answer.  You may wish to engage the Contact Center Custom Engineering team who can assist you with the design of a multi-threaded CTIOS Agent mode application.  You can contact that team at Custom-Application-Request@cisco.com&lt;mailto:Custom-Application-Request@cisco.com&gt;   There is a fee for this service.</summary>
    <dc:creator>David Lender</dc:creator>
    <dc:date>2013-06-17T13:12:41Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Basudeb Acharyya in Computer Telephony Integration Obj</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16219527" />
    <author>
      <name>Basudeb Acharyya</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16219527</id>
    <updated>2013-06-14T21:51:22Z</updated>
    <published>2013-06-14T21:51:22Z</published>
    <summary type="html">David Thank you for this quick reply. 
My intension is  to use the .NET CIL  in C# and create a Session and Agent for every agent connecting  to my  Standalone  C#  application(will be working as server). My plan is create an object that encapsulates the Session, Agent, and IGenericEvents in one object called the CTIOSOBJ. Then as new agents connect in, we will instantiate a new instance of CTIOSOBJ for that agent. In the constructor for the CTIOSOBJ we can create a new Session and Agent object, and set up the event listener using the reference to the newly created CTIOSOBJ as the event listener (i.e. CTIOSOBJ implements IGenericEvent interface). So all events are then handled by the CTIOSOBJ instance for that particular agent. 
[u][b]
Question:[/b][/u]
Now my question is whether we need to create  each and every CTIOSOBJ in a a separate thread for each new incoming Agent  or we can  handle it in the main thread.</summary>
    <dc:creator>Basudeb Acharyya</dc:creator>
    <dc:date>2013-06-14T21:51:22Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Basudeb Acharyya in Computer Telephony Integration Obj</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16215643" />
    <author>
      <name>David Lender</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16215643</id>
    <updated>2013-06-14T19:32:41Z</updated>
    <published>2013-06-14T19:32:41Z</published>
    <summary type="html">Agent mode is for one agent only.  You will have to create an agent mode session for each agent.</summary>
    <dc:creator>David Lender</dc:creator>
    <dc:date>2013-06-14T19:32:41Z</dc:date>
  </entry>
  <entry>
    <title>Multi Agents in a single session in agent mode</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16215624" />
    <author>
      <name>Basudeb Acharyya</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16215624</id>
    <updated>2013-06-14T19:30:48Z</updated>
    <published>2013-06-14T19:30:48Z</published>
    <summary type="html">Hello,
I  would like to know whether CTIOS(7.5) SDK, will allows us to create multiple agents in a single ctisession in agent mode. If not,then how we can handle more than one agents in a single exe in agent mode?
Please treat it as urgent</summary>
    <dc:creator>Basudeb Acharyya</dc:creator>
    <dc:date>2013-06-14T19:30:48Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Basudeb Acharyya in Computer Telephony Integration Obj</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16103500" />
    <author>
      <name>Basudeb Acharyya</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=16103500</id>
    <updated>2013-06-11T21:33:08Z</updated>
    <published>2013-06-11T21:33:08Z</published>
    <summary type="html">[quote=Shannon McCoy]All CTIOS .NET apps are multithreaded. The CTIOS CIL uses an event based asynchronous model which by its nature executes on a background thread. If you check the example code you must ensure that you switch to the UI thread when responding to an event otherwise your app will throw and exception. 

As for "thread safety" the CIL is message based and is in essence a fancy wrapper around a set of GED TCP/IP calls to the CTIOS server. As such the CIL per se does not really manage much state in that any state it does maintain is ultimately rectified by the CTIOS server. So while you may maintain a reference to a CTIOS object its really just a wrapper to hold state for essentially what is connectionless/connected model. Bottom line in just about every circumstance the CIL is thread safe.

Unless you have some sort of configuation where the CTIOS servers are non redundant (A/B side) then there is no point to trying to monitor "ALL" servers because only one will be active at time. If the A side server fails then your app should either automatically fail over to the B side ( in Agent Mode ) or you have to add some code to watch for a failure and reinitialize your connection ( in Monitor Mode ). If you try and connect to an inactive server it will simply fail you over to the active one so as I said its kind of pointless. 

To maintain muliple sessions you could have a single event processor open the session and dispatch the messages for all sessions which could get messy or you could simply create an even processor for each session and execute the event processor in its own thread, one per session and essentially have multiple silos running in parallell. You could probably even isolate them into their own App Domain if you want even more seperation and process resilency. 

It really comes down to what you are trying to achieve and your post is not descriptive enough of your end goal to make an finer detailed assesment. The bottom line is the .NET is fully capable of doing any kind of design you want and the model that the CIL uses lends itself to being used in multiple different ways without too many limitations. The key will be in understanding how to properly mulithread in .NET and using the proper design patterns to achieve your goal. This is generally a far more limiting factor than the CIL is.[/quote]
Thank you for your reply. Onething is still not clear that whether  CIL(ver 7.5) will allow us to  write an application that will do the following things:
To subscribe to all events and data for all agents for a particular CTIOS server and should also be able to control each agent state(transfer, Hold etc.).
Regards,
Basudeb</summary>
    <dc:creator>Basudeb Acharyya</dc:creator>
    <dc:date>2013-06-11T21:33:08Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from David Lender in Computer Telephony Integration Object</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15946776" />
    <author>
      <name>Artem Repko</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15946776</id>
    <updated>2013-06-06T19:48:05Z</updated>
    <published>2013-06-06T19:48:05Z</published>
    <summary type="html">I've made changes and removed all waitObjects from the code. Unfortunately, it did not help.
Resulting test project - in attach (it's simpler than ever).[quote]he thinks the code will never work and needs to be redesigned[/quote]I didn't catch that. The code is very simple. I don't know how to make it simpler. I'd glad to redisign it, but I don't know how.

Thank you for your trying to help, David.</summary>
    <dc:creator>Artem Repko</dc:creator>
    <dc:date>2013-06-06T19:48:05Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from David Lender in Computer Telephony Integration Object</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15946044" />
    <author>
      <name>David Lender</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15946044</id>
    <updated>2013-06-06T19:03:44Z</updated>
    <published>2013-06-06T19:03:44Z</published>
    <summary type="html">If eliminating the WaitObjects doesn’t fix the issue, then you should engage the consulting services of our Custom Engineering Team.  Contact them at custom-application-request@cisco.com&lt;mailto:custom-application-request@cisco.com&gt;
There is a fee for this service.  I showed your code to a member of that team and he thinks the code will never work and needs  to be redesigned.   Sorry I can’t be of more help.</summary>
    <dc:creator>David Lender</dc:creator>
    <dc:date>2013-06-06T19:03:44Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Artem Repko in Computer Telephony Integration Object S</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15944608" />
    <author>
      <name>David Lender</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15944608</id>
    <updated>2013-06-06T18:59:15Z</updated>
    <published>2013-06-06T18:59:15Z</published>
    <summary type="html">It’s not a Version issue. We’ve got CTIOS Web Services versions spanning from 7.0 to 9.1 that use the same code. So we know it’s not a version issue.

I see that you’re using a WaitObject inside of your class. I’m not sure that will work. I know there’s a big bold note in the Dev Guide (page 497) not to use a WaitObject inside of an Event Handler because it will cause event deadlocks. That may be it.  You need to rework the code to take that out, and just set a flag to indicate that Login is progress. Then in the handler for OnSetAgentModeEvent do the login.</summary>
    <dc:creator>David Lender</dc:creator>
    <dc:date>2013-06-06T18:59:15Z</dc:date>
  </entry>
  <entry>
    <title>RE: Multiple sessions: events handle only the last one</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15940429" />
    <author>
      <name>Artem Repko</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15940429</id>
    <updated>2013-06-06T17:38:35Z</updated>
    <published>2013-06-06T17:37:06Z</published>
    <summary type="html">Thank you very much for your answer!
You can see in my simple test project (attached to the first message), that I'm using the same idea as you wrote: I have a class named CtiosConnector that encapsulated CtiosSession and Agent objects. This class implements IGenericEvents interface as well.
So I'm creating for every Agent connection new instance of CtiosConnector.
Difference is that this class is not inherited from CtiOsBase, but I have no idea why is it needed.
Could you tell the version of .NET CIL you are using?</summary>
    <dc:creator>Artem Repko</dc:creator>
    <dc:date>2013-06-06T17:37:06Z</dc:date>
  </entry>
  <entry>
    <title>RE: Multiple sessions: events handle only the last one</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15929604" />
    <author>
      <name>David Lender</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15929604</id>
    <updated>2013-06-06T13:42:35Z</updated>
    <published>2013-06-06T13:39:02Z</published>
    <summary type="html">In the CTIOS Web Service available from Custom Engineering ([email=mailto:custom-application-request@cisco.com]custom-application-request@cisco.com[/email]) we are using the .NET CIL  in C# and create a Session and Agent for every agent connecting in via a web page. It works great.
 
However, what we do is create an object that encapsulates the Session, Agent, and IGenericEvents in one object called the CTIObject. Then as new agents connect in, we instantiate a new instance of CTIObject for that agent. In the constructor for the CTIObject we create a new Session and Agent object, and set up the event listener using the reference to the newly created CTIObject as the event listener (i.e. CTIObject implements IGenericEvent interface). So all events are then handled by the CTIObject instance for that particular agent.
 
We think your problem is you are attempting to reuse the same object as your event listener for all sessions, which will not work. You will need a separate instance of the IGenericEvents object for each Session and Agent, so that the listener is unique to that particular Session and Agent object. 
 
I’m attaching a sanitized version of the CTIObject that we use. Nothing propriety in it. We originally lifted it from the C# Combo Desktop Sample, and made just a few changes to get it to work in a multi-agent environment.  Feel free to use it. </summary>
    <dc:creator>David Lender</dc:creator>
    <dc:date>2013-06-06T13:39:02Z</dc:date>
  </entry>
  <entry>
    <title>Multiple sessions: events handle only the last one</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15907646" />
    <author>
      <name>Artem Repko</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15907646</id>
    <updated>2013-06-06T11:59:15Z</updated>
    <published>2013-06-05T19:55:35Z</published>
    <summary type="html">Hello,
I'm developing .NET application, that deals with CIL API 8.5.5.3 and has more than one Session object.
I have a problem with handling events: the last session created receives events, all other - no.
Here the sample code:[code]var Connector1 = new CtiosConnector();
Connector1.ConnectSession();
Connector1.LoginAgent();

var Connector2 = new CtiosConnector();
Connector2.ConnectSession();
Connector2.LoginAgent();[/code]
Some extracts from realization:
[code]class CtiosConnector : IGenericEvents, IDisposable
....
public bool ConnectSession() {
...
var session = new CtiOsSession();
session.AddEventListener(this, SubscriberList.eAllInOneList);
...
if (session.Connect(arguments) != CilError.CIL_OK) {
     return false;
}
...
ConnectorSession = session;
....

public bool LoginAgent() {
...
var agent = new Agent();
...
var waitObject = CreateWaitEventsObject(EventID.eSetAgentModeEvent);
var setAgentResult = ConnectorSession.SetAgent(agent);
/*******************************************************************************

After this command (i.e. for Connector2) all other instances (i.e. for Connector1) stop to receive any event!

*******************************************************************************/
waitObject.WaitOnMultipleEvents(Timeout);
...
loginResult = agent.Login(loginArguments);
ConnectorAgent = agent;
...

public void OnEvent(object sender, EventPublisher.EventPublisherEventArgs eventArgs) {
if (eventArgs == null) {return;}
var receivedEvent = (EventID)eventArgs.iEventID;
if (receivedEvent == EventID.eOnHeartbeat) {return;}
switch (receivedEvent) {
case EventID.eCallBeginEvent:
   Console.WriteLine("Call begin. Login = {0}", login);
// Only the second one session handles this event!
   break;
...[/code]
In the API doc said:[quote]Typically, an application has a single instance of the Session object, which is used by all other CIL objects to send and receive events. However, there are no restrictions on the number or types of Session objects one application can employ. It is possible, and sometimes desirable, to establish and manage multiple independent Sessions, for example to use multiple current event streams.If there is more than one Session object monitoring the same Agent or Call, each Session object will receive its own events.[/quote]
The test project is attached.
Please help me with this problem. 

Added 06.06.2013: By the way, I've tried to use the [b]same[/b] Agent for 2 sessions. Result is the same - only the 2nd Session receives events. It looks like some bug in CIL .NET.</summary>
    <dc:creator>Artem Repko</dc:creator>
    <dc:date>2013-06-05T19:55:35Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Gerard O'Rourke in Computer Telephony Integration Obje</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15760092" />
    <author>
      <name>David Lender</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15760092</id>
    <updated>2013-05-31T14:23:34Z</updated>
    <published>2013-05-31T14:23:34Z</published>
    <summary type="html">IVR or CVP events are not available via CTIOS filter mode app.  You will need to use CTI Server protocol for this.
Also, MinimizeEventArgs only changes the arguments that are sent with a specific event, it doesn’t change which events are sent.</summary>
    <dc:creator>David Lender</dc:creator>
    <dc:date>2013-05-31T14:23:34Z</dc:date>
  </entry>
  <entry>
    <title>Capture Call Events into CVP Server using CTI OS Monitor Client?</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15754642" />
    <author>
      <name>Gerard O&amp;#039;Rourke</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15754642</id>
    <updated>2013-05-31T08:56:14Z</updated>
    <published>2013-05-31T08:56:14Z</published>
    <summary type="html">I am able to view the below (at end) call events on the CTI logs for call events into CVP server.

I would like to be able to capture these exact same events but using a CTI OS monitor client.
Call events of interest are NOT agent related. We just need to capture the CVP TrunkGroup=100 Call Leg events as in the below log example (from CTI server)

I am unable to see any of these call events from CTI OS in the logs or using a CTI OS monior client.

Can anyone confirm if its not possible to retrieve these events using CTI OS?

 
Note: I have set the below registry value on the CTIOS server (CTIOS 9)

[HKLM\Cisco Systems\CTIOS\Server\CallObject\MinimizeEventArgs = 0].
 
[color=#1f497d][url=http://www.cisco.com/en/US/partner/docs/voice_ip_comm/cust_contact/contact_center/ctios/ctios9_0/developer/guide/UCCE_BK_C3995718_00_cti-os-developers-guide-ucce_chapter_0110.html]http://www.cisco.com/en/US/partner/docs/voice_ip_comm/cust_contact/contact_center/ctios/ctios9_0/developer/guide/UCCE_BK_C3995718_00_cti-os-developers-guide-ucce_chapter_0110.html[/url][/color]
[color=#1f497d]Regards,[/color]
[color=#1f497d]Gerry 
[/color]
[color=#1f497d]--- log from cti server showing a call created and a call terminated event for a inbound call leg to CVP CallServer ---
[/color]
[color=#1f497d]09:49:55:697 cg1A-ctisvr Trace: CALL_CREATED: CallID=5.(s) Dest= Periph=5001 Type=1(ACD_IN) ECCsize=0 Disposition=0(INVALID) 
09:49:55:697 cg1A-ctisvr Trace:               CampaignID=-1 QueryRuleID=-1 
09:49:55:697 cg1A-ctisvr Trace:               TrunkGroup=100 DNIS: ANI:12000 CED: Dialed= 
09:49:55:697 cg1A-ctisvr Trace:               UserToUser= Wrapup= CustomerPhoneNumber= CustomerAccountNumber= 
09:49:55:697 cg1A-ctisvr Trace: PV1= PV2= PV3= PV4= PV5= 
09:49:55:697 cg1A-ctisvr Trace: PV6= PV7= PV8= PV9= PV10= 
09:49:55:697 cg1A-ctisvr Trace: 
 
09:49:55:697 cg1A-ctisvr Trace: CSTA_DELIVERED - callID=5.(s) alertingDev=ID_NOT_KNOWN callingDev=(TRUNK)3276800 calledDev=(DEV)78500  localConnectionInfo(1)=CS_INITIATE cause=-1 
09:49:55:697 cg1A-ctisvr Trace:                  Line=-1 LineType=LINETYPE_UNKNOWN Service=1(-1) Incoming=1 
09:49:55:697 cg1A-ctisvr Trace:                  MultiAlert=F SkillGroup=-1(-1) TrunkNum=0 TrunkGroupNum=100 
09:49:55:889 cg1A-ctisvr Trace: 
 
09:50:03:247 cg1A-ctisvr Trace: CSTA_CALL_CLEARED - callID=5.(s)  localConnectionInfo(-1)=CS_NONE cause=1013 
09:50:03:247 cg1A-ctisvr Trace: ProcessCallClearedEvent -  peripheralID 5001 CallID 5 
09:50:03:247 cg1A-ctisvr Trace: 

-----------
 
09:50:03:247 cg1A-ctisvr Trace: CALL_DATA_UPDATE: CID=5.(s) Dest= Active=N Periph=5001 ECCsize=78 
09:50:03:247 cg1A-ctisvr Trace:  CallType=1(ACD_IN) CPDisposition=0(INVALID) TrunkGroup=100  
09:50:03:247 cg1A-ctisvr Trace:  RouterCallKey=150630 31454102 CampaignID=-1 QueryRuleID=-1 
09:50:03:247 cg1A-ctisvr Trace:  DNIS: ANI:12000 CED: Dialed=78500 
09:50:03:247 cg1A-ctisvr Trace:  UserToUser= Wrapup= 
09:50:03:247 cg1A-ctisvr Trace:  CustPhone#= CustAccount#= 
09:50:03:247 cg1A-ctisvr Trace:  PV1= PV2= PV3= PV4= PV5= 
09:50:03:247 cg1A-ctisvr Trace:  PV6= PV7= PV8=Q_BT_Support:BT_Support_Precision_Q1 PV9= PV10=welcome.wav 
09:50:03:247 cg1A-ctisvr Trace:  SrcAgentExt=(CS_NULL) DestAgentExt=(CS_NULL) 
09:50:03:248 cg1A-ctisvr Trace: 
 
09:50:03:248 cg1A-ctisvr Trace: CALL TERMINATED: CallID=5.(s) Periph=5001 

[/color]</summary>
    <dc:creator>Gerard O&amp;#039;Rourke</dc:creator>
    <dc:date>2013-05-31T08:56:14Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Shobhit Sinha in Computer Telephony Integration Object</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15648888" />
    <author>
      <name>David Lender</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15648888</id>
    <updated>2013-05-28T14:23:35Z</updated>
    <published>2013-05-28T14:23:35Z</published>
    <summary type="html">Regarding your questions:

1) Restriction of codes on CTI OS Client.
 E.g: When Agent choose Not ready state for Lunch then after 45 Minutes it goes to Ready state automatically.

There is no configuration for this.  You would have to code this in your agent desktop.

2) Only Supervisor can change the reason code not the agent.

There is no configuration for this.  You would have to code this in your agent desktop.


3) Wrap up codes for Agents.
 There are no codes.  Applications can set wrapup data which is a string.  These are not configured in UCCE.
They need to be handled by your application.</summary>
    <dc:creator>David Lender</dc:creator>
    <dc:date>2013-05-28T14:23:35Z</dc:date>
  </entry>
  <entry>
    <title>CTI OS Client Restriction Codes for Agent.</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15646149" />
    <author>
      <name>Shobhit Sinha</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15646149</id>
    <updated>2013-05-28T11:37:37Z</updated>
    <published>2013-05-28T11:35:13Z</published>
    <summary type="html"> Need configuration assistance to achieve: CVP 8.5, ICM :8.5,CUCM 8.5
  1) Restriction of codes on CTI OS Client.  E.g: When Agent choose Not ready state for Lunch then after 45 Minutes it goes to Ready state automatically. 
2) Only Supervisor can change the reason code not the agent.  
3) Wrap up codes for Agents.    (Ticket Integration)</summary>
    <dc:creator>Shobhit Sinha</dc:creator>
    <dc:date>2013-05-28T11:35:13Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Vladimir Lozano Martinez in Computer Telephony Integra</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15299952" />
    <author>
      <name>David Lender</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=15299952</id>
    <updated>2013-05-15T21:58:22Z</updated>
    <published>2013-05-15T21:58:22Z</published>
    <summary type="html">The CTIOS System Manager’s Guide has a section on configuring the call appearance grid.  It is right after the section on configuring connection profiles.</summary>
    <dc:creator>David Lender</dc:creator>
    <dc:date>2013-05-15T21:58:22Z</dc:date>
  </entry>
</feed>

