<?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>TAPI CTi Port Monitor</title>
  <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_thread?p_l_id=&amp;threadId=5992292" />
  <subtitle>TAPI CTi Port Monitor</subtitle>
  <id>http://developer.cisco.com/c/message_boards/find_thread?p_l_id=&amp;threadId=5992292</id>
  <updated>2013-06-19T15:40:05Z</updated>
  <dc:date>2013-06-19T15:40:05Z</dc:date>
  <entry>
    <title>RE: TAPI CTi Port Monitor</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=5995041" />
    <author>
      <name>Davide Cocchi</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=5995041</id>
    <updated>2012-07-05T17:03:08Z</updated>
    <published>2012-07-05T17:03:08Z</published>
    <summary type="html">Ok, i've found all documentation about 3rd party monitoring for CtiPorts, but the TSP returns LINEERR_OPERATIONFAILED in line reply message associated with lineDevSpecific async request. In the TSP log i've found a line with the message

*ERROR* Invalid msg type 0x00462390 

Here the log of my application and TSP

L1 17:48.39.935 - [CSmInterface::OnNewMessage] Party List Item
	Party: 401
	Type: STATION
	SubType: TAPI_WAVE
L3 17:48.39.935 - [CTapiLine::GetLineMediaModes] [401] SupportedMedia [AUTOMATEDVOICE,INTERACTIVEVOICE]
L1 17:48.39.935 - [CTapiLine::Open]
	Name: Cisco Line: [CTi-Port-401] (401)
	lineNegotiateExtVersion 0x800b0000
L1 17:48.39.937 - [CTapiLine::Open]
	Name: Cisco Line: [CTi-Port-401] (401)
[b]	lineDevSpecific RequestId = 0x000100b0 (65712)[/b]
L3 17:48.39.937 - [CTapiEnvironment::ThreadGetMessage] Event Signaled from TAPI
L3 17:48.39.937 - [CTapiRequest::AddRequest] Request [65712] Added
L5 17:48.39.937 - [CTapiEnvironment::ThreadGetMessage] Message Queued
	Type: LINE_REPLY
	dwCallbackInstance 15
	dwParam1 0x100b0
	dwParam2 0x80000048
	dwParam3 0x0
	hDevice 0
L2 17:48.39.945 - [CTapiEnvironment::ThreadProcessMessage]
	Ext: 401
	Message: LINE_REPLY
L3 17:48.39.995 - [CTapiLine::OnCommandReply] Command NOT Executed LINEERR_OPERATIONFAILED

this is TSP Log:

17:48:39.935 |--&gt;TSPI_lineDevSpecific() 
17:48:39.935 |   TSPI_lineDevSpecific() 
[b]        dwRequestID = 0x000100B0[/b]
        hdLine = 0x05FC2370
        dwAddressID = 0x00000000
        hdCall = 0x00000000
        lpParams = 0x00B659E8
        dwSize = 4
17:48:39.935 |--&gt;SelsiusTSP::TSPI_lineDevSpecific(0x05FC2370) 
17:48:39.935 |--&gt;CSelsiusTSPLineList::IsValidTapiLineHandle() 
17:48:39.935 |   CSelsiusTSPLineList::IsValidTapiLineHandle() Found mapping for line(0x05FC2370) to lineHandle(0x00000000)
17:48:39.935 |&lt;--CSelsiusTSPLineList::IsValidTapiLineHandle() 
17:48:39.935 |   SelsiusTSP::TSPI_lineDevSpecific(0x05FC2370) LineHandle=0x05FC2370,LineDir=401
17:48:39.935 |--&gt;CSelsiusTSPLine::DevSpecific() [0x00000000] 
17:48:39.935 |   CSelsiusTSPLine::DevSpecific() [0x00000000] *ERROR* Invalid msg type 0x00462390
17:48:39.935 |&lt;--CSelsiusTSPLine::DevSpecific() [0x00000000] 
17:48:39.935 |&lt;--SelsiusTSP::TSPI_lineDevSpecific(0x05FC2370) 
17:48:39.935 |   TSPI_lineDevSpecific() TSPI_lineDevSpecific returns = 0x80000048
17:48:39.935 |&lt;--TSPI_lineDevSpecific()</summary>
    <dc:creator>Davide Cocchi</dc:creator>
    <dc:date>2012-07-05T17:03:08Z</dc:date>
  </entry>
  <entry>
    <title>TAPI CTi Port Monitor</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=5992291" />
    <author>
      <name>Davide Cocchi</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=5992291</id>
    <updated>2012-07-05T11:52:41Z</updated>
    <published>2012-07-05T11:52:41Z</published>
    <summary type="html">Hello everybody,
 
i have a question about line monitoring. I have a process that works as an IVR with TSP and Cisco Wave Driver. It opens a set of Cti Ports with Privileges = LINECALLPRIVILEGE_OWNER | LINECALLPRIVILEGE_MONITOR.
 
On the other side I have another process, executing on another server, that tries to open the same device with privileges = LINECALLPRIVILEGE_MONITOR, in order to monitor the activity on the port. This process fails to open the device with the error LINEERR_ALLOCATED, but i think there's something wrong somewhere, because the line open with monitor only privileges should never fail.
 
Anyone has hits about this problem?
 
I'm testing this feature with CM System version: 8.5.1.10000-26, TSP 8.5(1.7) 64 Bit in monitor server and TSP 8.5(1.4) 32 bits + Cisco Wave Driver in IVR server. 
 
I tried to use different Application Users for TSP and same application user, but the result is always the same.
 
It works only if the 2 processes runs under the same TSP on the same machine.</summary>
    <dc:creator>Davide Cocchi</dc:creator>
    <dc:date>2012-07-05T11:52:41Z</dc:date>
  </entry>
</feed>

