C++/VB - TSP maximum users

Asked By Scrumpy
20-Nov-09 08:13 AM
Hello ,

We are developing an callcenter application.
And we have build an class called"TapiManager" upon the julmar
atapi.net for communication with our Samsung office serv 100. And we
are using the Samsung openTSP driver 2007.1.24.1 on our windows2000
server.
The problem that we are having is that if there are 8 users using the
application for outbound calls the application works fine but if there
are 9 or more users tapi we are getting a "ATapi.status.CanMakeCall is
False" and it looks like the tsp is not responding to our requests.
We are also finding that the SafeHandle is closed error on one or two
computers

Details:
System.ObjectDisposedException: SafeHandle is closed
bij JulMar.Atapi.Interop.NativeMethods.lineGetLineDevStatus(HTLINE
htLine, IntPtr lpLineStatus)
bij JulMar.Atapi.TapiLine.GatherStatus()
bij JulMar.Atapi.TapiLine.Close()
bij ######.Tapi.TapiManager.Shutdown()
bij ##############################################_FormClosed
(Object sender, FormClosedEventArgs e)
bij System.Windows.Forms.Form.OnFormClosed(FormClosedEventArgs e)
bij System.Windows.Forms.Form.WmClose(Message& m)
bij System.Windows.Forms.Form.WndProc(Message& m)
bij System.Windows.Forms.Control.ControlNativeWindow.OnMessage
(Message& m)
bij System.Windows.Forms.Control.ControlNativeWindow.WndProc
(Message& m)
bij System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32
msg, IntPtr wparam, IntPtr lparam)

here is some one of the tapi log files that we create during calls.

19-11-2009 18:00:06 initialisation failed, status.CanMakeCall is False
19-11-2009 18:04:28 === = Start call =====
19-11-2009 18:04:28 TAPI Error: lineMakeCall failed [0x80000048] The
operation failed for unknown reason.
19-11-2009 18:04:33 Atapicallstate  : Ringback -
19-11-2009 18:11:03 initialisation failed,  status.CanMakeCall is
False
19-11-2009 18:11:27 === = Start call =====
19-11-2009 18:11:27 Atapicallstate  : Dialtone -
19-11-2009 18:11:27 Atapicallstate  : Connected -
19-11-2009 18:11:29 Atapicallstate  : Ringback -
19-11-2009 18:11:29 Atapicallstate  : Busy -
19-11-2009 18:11:29 Atapicallstate  : Disconnected -
19-11-2009 18:11:40 Atapicallstate  : Idle -

i translated it from dutch to english for you, so i hope i did it
right ?

Can anyone help me where this problem is located in the "tsp" or in
our code or even better what the problem is?

Thanks,
Scrumpy
System.Windows.Forms.NativeWindow.Callback
(1)
JulMar.Atapi.TapiLine.GatherStatus
(1)
System.Windows.Forms.Form.WmClose
(1)
System.Windows.Forms.Form.WndProc
(1)
JulMar.Atapi.TapiLine.Close
(1)
ATapi.status.CanMakeCall
(1)
TAPIaroundTheWorld
(1)
Tapi.TapiManager.Shutdown
(1)
  Andreas Marschall [exMVP TAPI] replied to Scrumpy
20-Nov-09 06:11 AM
Scrumpy,
what do you refer as "users"?
- Multiple instances of your TAPI app on the same PC?
- Multiple TAPI line devices user by your TAPI app on the same PC?
- Multiple PCs using MS TAPI client/server architecture (i.e. TCMsetup.exe
and RemoteSP.TSP)?
- Anything else?
Please clarify.

Anyway, to exclude your code from the scenario you may want to use JulMar's
Phone.exe or MS TAPI Browser TB20 to test the exact steps regarding TAPI
actions that you did in your app.

--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK / Visual C++ 2003-2008
TAPI / TSP Developer and Tester
My TAPI and TSPI FAQ:
http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
My Toto® Tools (a collection of free, mostly TAPI related tools):
http://www.i-b-a-m.de/Andreas_Marschall's_Toto_Tools.htm
TAPI development around the world (Frappr! map):
http://www.frappr.com/TAPIaroundTheWorld
* Please post all messages and replies to the newsgroup so all may
* benefit from the discussion.  Private mail is usually not replied to.
* This posting is provided "AS IS" with no warranties, and confers no
rights.
  Scrumpy replied to Andreas Marschall [exMVP TAPI]
20-Nov-09 08:13 AM
-4edf-8e59-c813a718c565@k4g2000yqb.googlegroups.com...
e
's
SPI_FAQ.htm
/www.i-b-a-m.de/Andreas_Marschall's_Toto_Tools.htm
IaroundTheWorld

Andreas,

with users i mean multible PCs using MS TAPI client/server
architecture (i.e. TCMsetup.exe )

and i used  JulMar's Phone.exe to reproduce the steps of our program
we also used JulMar's tcmon.exe for monitoring and it seems that there
are still calls that have the status "unknown"

we also have 12 annalog lines (for outbound calls) and 4 digital lines
(for in/out bound calls). (the digital lines seems to work better)

I hope that this helps?

Thanks,
scrumpy
  Andreas Marschall [exMVP TAPI] replied to Scrumpy
20-Nov-09 08:46 AM
Scrumpy,
does every client user use a different TAPI line device?
Is each TAPI line device only used by one client user?
I.e. how is the mapping in TAPIMGMT.msc?


Test to exclude client/server issues:
please disable Telephony Server checkbox in TAPIMGMT.msc
and try to MakeCall from multiple instances of Phone.exe with the same line
usage your client users did.
Does it work for the critical number of line devices / users?

--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK / Visual C++ 2003-2008
TAPI / TSP Developer and Tester
My TAPI and TSPI FAQ:
http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
My Toto® Tools (a collection of free, mostly TAPI related tools):
http://www.i-b-a-m.de/Andreas_Marschall's_Toto_Tools.htm
TAPI development around the world (Frappr! map):
http://www.frappr.com/TAPIaroundTheWorld
* Please post all messages and replies to the newsgroup so all may
* benefit from the discussion.  Private mail is usually not replied to.
* This posting is provided "AS IS" with no warranties, and confers no
rights.
Create New Account
help
Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) - - MDX fan Win32 DirectX Managed Discussions System UserControl.OnResize (1) System.Windows.Forms.UserControl.WndProc (1) Microsoft.DirectX.Direct3D.Device.Reset (1) System.Windows.Forms.NativeWindow.Callback (1) System.Windows.Forms.Control.UpdateBounds (1) System.Windows.Forms.Control.OnResize (1
Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) If we look into the DSOFile sourcefile Windows.Forms.Control.WmMouseUp (1) System.Windows.Forms.Button.OnMouseUp (1) FilePropDemoVB7.FilePropDemo.cmdOpen (1) System.Windows.Forms.NativeWindow.Callback (1) System.Windows.Forms.Control.WndProc (1) System.Windows.Forms.Control.OnClick (1
Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) this seems to occur when the user