Discussion:
strange TAPI problem when using terminal server
(too old to reply)
Klaus Darilion
2008-10-17 15:39:28 UTC
Permalink
Hi experts!

I have a really strange TAPI problem. On a Windows2003 R2 server a TAPI
service provider is installed which offers 20 lines.

User1 logs on via a terminal session and configures dialer.exe to use
line 1.

User2 logs on via a terminal session and configures dialer.exe to use
line 2.

If those users make phone calls using dialer.exe, everything works fine.
User1 uses line 1 and User2 uses line 2.

Now the User1 starts Lotus Notes. There is a Visual Basic script in
Lotus Notes which allows to dial contacts. The VB script triggers the
call by calling tapiRequestMakeCall(...) (should be handled by the
default dialer application). Now the strange thing is, that sometimes
the call of User1 is performed on line 1, sometimes on line 2. I even
once saw, that while dialing via Lotus Notes in User1's session, the
(currently running) dialer.exe in User2's session popped up and
performed the phone call of User1.

Thus, I suspect there is a bug in TAPI when it tries to locate the
default dialer application - as it does not restrict it on a per user
basis, but uses any dialer application.

Has anybody seen this problem too? Is there a fix or workaround for this
problem?

Thanks
Klaus
Matthias Moetje [MVP]
2008-10-17 22:29:20 UTC
Permalink
Klaus,

unfortunately TAPI is not Terminal Server aware.

Usually when you are using different lines, there's no problem,
but the Windows Phone Dialer has registers for incoming
calls on all lines and there is no way to change that.
So you should really use a different dialer application.

I guess tapiRequestMakeCall is also not a reliable way,
as you have experienced. Maybe you can find a different
dialer with some automation interface or create your own
dialer...


Best regards,

Matthias Moetje
-------------------------------------
TAPI WIKI: http://www.tapi.info
-------------------------------------
TERASENS GmbH
Augustenstraße 24
80333 Munich, GERMANY
-------------------------------------
e-mail: moetje at terasens dot com
www: www.terasens.com
-------------------------------------
Post by Klaus Darilion
Hi experts!
I have a really strange TAPI problem. On a Windows2003 R2 server a TAPI
service provider is installed which offers 20 lines.
User1 logs on via a terminal session and configures dialer.exe to use line
1.
User2 logs on via a terminal session and configures dialer.exe to use line
2.
If those users make phone calls using dialer.exe, everything works fine.
User1 uses line 1 and User2 uses line 2.
Now the User1 starts Lotus Notes. There is a Visual Basic script in Lotus
Notes which allows to dial contacts. The VB script triggers the call by
calling tapiRequestMakeCall(...) (should be handled by the default dialer
application). Now the strange thing is, that sometimes the call of User1
is performed on line 1, sometimes on line 2. I even once saw, that while
dialing via Lotus Notes in User1's session, the (currently running)
dialer.exe in User2's session popped up and performed the phone call of
User1.
Thus, I suspect there is a bug in TAPI when it tries to locate the default
dialer application - as it does not restrict it on a per user basis, but
uses any dialer application.
Has anybody seen this problem too? Is there a fix or workaround for this
problem?
Thanks
Klaus
Klaus Darilion
2008-10-18 08:54:18 UTC
Permalink
On Oct 18, 12:29 am, "Matthias Moetje [MVP]"
Post by Matthias Moetje [MVP]
Klaus,
unfortunately TAPI is not Terminal Server aware.
Usually when you are using different lines, there's no problem,
but the Windows Phone Dialer has registers for incoming
calls on all lines and there is no way to change that.
So you should really use a different dialer application.
I guess tapiRequestMakeCall is also not a reliable way,
as you have experienced. Maybe you can find a different
dialer with some automation interface or create your own
dialer...
Hi Matthias!

Thanks for the answer.

Can somebody recommend me dialer application - it think the easiest
interface would be if the dialer application accepts the phone number
as command line parameter and closes automatically when the call is
over.

regards
Klaus
Post by Matthias Moetje [MVP]
Best regards,
Matthias Moetje
-------------------------------------
TAPI WIKI:http://www.tapi.info
-------------------------------------
TERASENS GmbH
Augustenstraße 24
80333 Munich, GERMANY
-------------------------------------
e-mail: moetje at terasens dot com
www: www.terasens.com
-------------------------------------
Post by Klaus Darilion
Hi experts!
I have a really strange TAPI problem. On a Windows2003 R2 server a TAPI
service provider is installed which offers 20 lines.
User1 logs on via a terminal session and configures dialer.exe to use line
1.
User2 logs on via a terminal session and configures dialer.exe to use line
2.
If those users make phone calls using dialer.exe, everything works fine.
User1 uses line 1 and User2 uses line 2.
Now the User1 starts Lotus Notes. There is a Visual Basic script in Lotus
Notes which allows to dial contacts. The VB script triggers the call by
calling tapiRequestMakeCall(...) (should be handled by the default dialer
application). Now the strange thing is, that sometimes the call of User1
is performed on line 1, sometimes on line 2. I even once saw, that while
dialing via Lotus Notes in User1's session, the (currently running)
dialer.exe in User2's session popped up and performed the phone call of
User1.
Thus, I suspect there is a bug in TAPI when it tries to locate the default
dialer application - as it does not restrict it on a per user basis, but
uses any dialer application.
Has anybody seen this problem too? Is there a fix or workaround for this
problem?
Thanks
Klaus
Andreas Marschall [MVP TAPI]
2008-10-18 12:40:20 UTC
Permalink
Post by Klaus Darilion
I have a really strange TAPI problem. On a Windows2003 R2 server a TAPI
service provider is installed which offers 20 lines.
User1 logs on via a terminal session and configures dialer.exe to use
line 1.
User2 logs on via a terminal session and configures dialer.exe to use
line 2.
If those users make phone calls using dialer.exe, everything works fine.
User1 uses line 1 and User2 uses line 2.
Now the User1 starts Lotus Notes. There is a Visual Basic script in
Lotus Notes which allows to dial contacts. The VB script triggers the
call by calling tapiRequestMakeCall(...) (should be handled by the
default dialer application). Now the strange thing is, that sometimes
the call of User1 is performed on line 1, sometimes on line 2. I even
once saw, that while dialing via Lotus Notes in User1's session, the
(currently running) dialer.exe in User2's session popped up and
performed the phone call of User1.
Klaus,
did you enable 'Telephony Server' chekcbox in TAPIMGMT.msc,
and did you assigne each user the line(s) to use?
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK / Visual C++
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.
Klaus Darilion
2008-10-23 04:53:53 UTC
Permalink
Post by Matthias Moetje [MVP]
Post by Klaus Darilion
I have a really strange TAPI problem. On a Windows2003 R2 server a TAPI
service provider is installed which offers 20 lines.
User1 logs on via a terminal session and configures dialer.exe to use
line 1.
User2 logs on via a terminal session and configures dialer.exe to use
line 2.
If those users make phone calls using dialer.exe, everything works fine.
User1 uses line 1 and User2 uses line 2.
Now the User1 starts Lotus Notes. There is a Visual Basic script in
Lotus Notes which allows to dial contacts. The VB script triggers the
call by calling tapiRequestMakeCall(...) (should be handled by the
default dialer application). Now the strange thing is, that sometimes
the call of User1 is performed on line 1, sometimes on line 2. I even
once saw, that while dialing via Lotus Notes in User1's session, the
(currently running) dialer.exe in User2's session popped up and
performed the phone call of User1.
Klaus,
did you enable 'Telephony Server' chekcbox in TAPIMGMT.msc,
and did you assigne each user the line(s) to use?
Hi Andreas!

Do I really need to enable the "telephony server"? The only help says:
"Makes the telephony service on this server available to client
computer". As my users are terminal server users I would think they are
"local" users and not client computer.

Further I could not find any description what the line assigning
actually does. Will then the tapiRequestMakeCall() directed to one of
the lines assigned to the user?

regards
klaus
Andreas Marschall [MVP TAPI]
2008-10-23 08:55:54 UTC
Permalink
Post by Klaus Darilion
Hi Andreas!
"Makes the telephony service on this server available to client
computer". As my users are terminal server users I would think they are
"local" users and not client computer.
Klaus,
yes, this is required for TS users too.
Then you can assign each user its lines separately in TAPIMGMT.msc
Post by Klaus Darilion
Further I could not find any description what the line assigning
actually does. Will then the tapiRequestMakeCall() directed to one of
the lines assigned to the user?
After the lines assignment in TAPIMGMT.msc each TS user does only see those
lines that are explicitely assigned to him and therefore can only use those.
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK / Visual C++
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.
Matthias Moetje [MVP]
2008-10-23 22:33:12 UTC
Permalink
Andreas,

does this really affect local TSPs as well, not only those that are
mapped through RemoteSP (using tcmsetup)?

Best regards,

Matthias Moetje
-------------------------------------
TAPI WIKI: http://www.tapi.info
-------------------------------------
TERASENS GmbH
Augustenstraße 24
80333 Munich, GERMANY
-------------------------------------
e-mail: moetje at terasens dot com
www: www.terasens.com
-------------------------------------
Post by Matthias Moetje [MVP]
Post by Klaus Darilion
Hi Andreas!
"Makes the telephony service on this server available to client
computer". As my users are terminal server users I would think they are
"local" users and not client computer.
Klaus,
yes, this is required for TS users too.
Then you can assign each user its lines separately in TAPIMGMT.msc
Post by Klaus Darilion
Further I could not find any description what the line assigning
actually does. Will then the tapiRequestMakeCall() directed to one of
the lines assigned to the user?
After the lines assignment in TAPIMGMT.msc each TS user does only see those
lines that are explicitely assigned to him and therefore can only use those.
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK / Visual C++
TAPI / TSP Developer and Tester
http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
http://www.i-b-a-m.de/Andreas_Marschall's_Toto_Tools.htm
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.
Andreas Marschall [MVP TAPI]
2008-10-24 14:20:25 UTC
Permalink
Post by Matthias Moetje [MVP]
Andreas,
does this really affect local TSPs as well, not only those that are
mapped through RemoteSP (using tcmsetup)?
Matthias,
yes, it does on a TS!
I'm currently testing this with TS on WS2k3R2 and WS2k8 (but it worked an W2kS
too).

BTW Remote.TSP on TS doesn't work for this because it would alsways run with
the 1st TS client account using it.
So you need to locally install the 3rd party TSP on the TS and can assign each
TS client its lines via TAPIMGMT.msc (of course you need to make this machine
a Telephony Server too).
If you want to use a cluster of TS then it is required to install a copy of
the 3rd party TSP on each TS seperately (including lines assignment).
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK / Visual C++
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.
Matthias Moetje [MVP]
2008-10-28 02:14:52 UTC
Permalink
Andreas,

this is cool, I didn't know about that!

Best regards,

Matthias Moetje
-------------------------------------
TAPI WIKI: http://www.tapi.info
-------------------------------------
TERASENS GmbH
Augustenstraße 24
80333 Munich, GERMANY
-------------------------------------
e-mail: moetje at terasens dot com
www: www.terasens.com
-------------------------------------
Post by Andreas Marschall [MVP TAPI]
Post by Matthias Moetje [MVP]
Andreas,
does this really affect local TSPs as well, not only those that are
mapped through RemoteSP (using tcmsetup)?
Matthias,
yes, it does on a TS!
I'm currently testing this with TS on WS2k3R2 and WS2k8 (but it worked an W2kS
too).
BTW Remote.TSP on TS doesn't work for this because it would alsways run with
the 1st TS client account using it.
So you need to locally install the 3rd party TSP on the TS and can assign each
TS client its lines via TAPIMGMT.msc (of course you need to make this machine
a Telephony Server too).
If you want to use a cluster of TS then it is required to install a copy of
the 3rd party TSP on each TS seperately (including lines assignment).
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK / Visual C++
TAPI / TSP Developer and Tester
http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
http://www.i-b-a-m.de/Andreas_Marschall's_Toto_Tools.htm
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.
Klaus Darilion
2008-10-28 09:12:13 UTC
Permalink
Hi Andreas!

Bad news - it does not work.

So what have I done so far:

- in tapimgmt.msc I have started the "Telephony Server" and I have
assigned line 1 to user1 and line 2 to user2.

- user1 logs on to the terminal server using remote desktop. It starts
dialer.exe. user1 can still use all lines - probably as this user has
admin privileges. user1 configures dialer.exe to use line1.

- user2 logs on to the terminal server using remote desktop. It starts
dialer.exe. user2 can still only use the line2. user2 configures
dialer.exe to use line2.

- if user1 or user2 makes a call directly in dialer.exe everything works
fine.

The problem arises when performing calls via tapiRequestMakeCall(...)
(which I do in a VB macro in Lotus Notes). For testing purposes I use
the utility dialexe [1]:

- user1 logs on and starts dialer.exe
- user2 logs on and starts dialer.exe
- user2 makes a phone call using the dialexe utility

==> Windows does not use the dialer.exe running in the terminal
session of user 2, but the currently running dialer.exe in the session
of user1 is used for the phone call.

I even made a video where you can see that Windows starts the dialer in
the wrong terminal session: http://pernau.at/kd/tapi.avi


Looks like this is a bug in tapiRequestMakeCall().

regards
Klaus


[1] http://www.iansharpe.com/art_dial.php
Post by Matthias Moetje [MVP]
Post by Klaus Darilion
I have a really strange TAPI problem. On a Windows2003 R2 server a TAPI
service provider is installed which offers 20 lines.
User1 logs on via a terminal session and configures dialer.exe to use
line 1.
User2 logs on via a terminal session and configures dialer.exe to use
line 2.
If those users make phone calls using dialer.exe, everything works fine.
User1 uses line 1 and User2 uses line 2.
Now the User1 starts Lotus Notes. There is a Visual Basic script in
Lotus Notes which allows to dial contacts. The VB script triggers the
call by calling tapiRequestMakeCall(...) (should be handled by the
default dialer application). Now the strange thing is, that sometimes
the call of User1 is performed on line 1, sometimes on line 2. I even
once saw, that while dialing via Lotus Notes in User1's session, the
(currently running) dialer.exe in User2's session popped up and
performed the phone call of User1.
Klaus,
did you enable 'Telephony Server' chekcbox in TAPIMGMT.msc,
and did you assigne each user the line(s) to use?
Loading...