Created by: Dale Gantous on 08-03-2013 03:27:59 PM When creating a peripheral monitor on a device, how can one determine the ConnectionDeviceID (and ConnectionDeviceIDType) that refers to the device being monitored? According to the documentation, the ConnectionDeviceID is not necessarily the same as the DeviceID. We need to know which ConnectionDeviceID refers to the monitored device (as opposed to other devices involved in the call) in order to make sense of all the call messages being monitored for the particular device. I was hoping one of the SNAPSHOT_ or QUERY_ calls would give us this information, but I don't see it. Thanks for any help...
Subject: RE: New Message from Dale Gantous in CTI Server Protocol (GED-188) - CTI Se Replied by: David Lender on 11-03-2013 09:41:58 AM You can specify the ConnectionDeviceID in the MONITOR_START_REQ. I know of no way to determine which connectiondeviceid refers to the monitored device.
Subject: RE: Determing ConnectionDeviceID for Monitored Device Replied by: Dale Gantous on 11-03-2013 09:56:48 AM You only specify a ConnectionDeviceID if you start a monitor for a call. If you want to monitor a device, you specify a DeviceID. It would be highly useful to know which ConnectionDeviceIDs in call events refer to the device being monitored (as opposed to the other devices involved in the call). This is what I'm trying to figure out. Any ideas?
Subject: RE: New Message from Dale Gantous in CTI Server Protocol (GED-188) - CTI Se Replied by: David Lender on 11-03-2013 10:40:58 AM I refer you to the CTI Server Protocol guide section on Call Identification which states A valid CTI Server application can make no assumption about the content or format of a ConnectionDeviceID.
CTI Server uses the CSTA method of identifying calls. A numeric ConnectionCallID identifies a call; each connection of a device to that call is identified by a ConnectionDeviceID string and an enumerated ConnectionDeviceIDType value (see Figure 3-3). All call related messages identify the ConnectionCallID as well as the ConnectionDeviceIDType and ConnectionDeviceID of the call connection that is the subject of the event.
A ConnectionDeviceID uniquely identifies a call connection. However, it cannot directly identify the connected device; use other event message fields for that purpose. In some cases, the ConnectionDeviceID may simply be the ID of the connected device, the connected deviceID with additional identifying data included, or a string that does not contain the deviceID at all. A valid CTI Server application can make no assumption about the content or format of a ConnectionDeviceID. Occasionally, both the ConnectionDeviceID and the numeric ConnectionCallID are required in order to properly identify the subject call. This occurs when the ACD uses the ConnectionCallID value from an ACD call as the ConnectionCallID value for any related consultative calls. This poses two particularly significant requirements for applications: they must be able to keep track of two calls with the same numeric ConnectionCallID value, and they must be able to decide which of the two calls is being referenced by any given call event message. These requirements are relatively easy to implement by keeping track of the ConnectionDeviceIDs associated with each call. The call that has a ConnectionDeviceID that matches the ConnectionDeviceID provided in the call event message is the call that is the subject of the event. The only difficult case is determining which call is the subject when a new call connection is created. For this case, the following rule applies: When more than one call with the same ConnectionCallID value exists, the connection being created by a CALL_ESTABLISHED_ EVENT shall apply to the call that does not yet have a destination connection established