Discussion:
TAPI and 64 bit operating systems
(too old to reply)
Angus
2013-05-26 09:05:27 UTC
Permalink
A have a switch which exposes a TAPI interface and for a while I have run a TAPI application on 32 bit Windows XP. I installed a 32 bit TAPI driver and I get most TAPI features including Call ID consistent across calls.

However, I recently tested the application on a Windows 7 64 bit PC. I downloaded a special installer for the TAPI driver, and it installed OK. I get TAPI functionality, eg I can make call. But I am getting weird results for the Call ID.

Example internal incoming call which gets answered then dropped I get a Call ID of:

4632475
22190
7

Above are decimal values - all for the same call!

This renders the application pretty useless. The system is an Avaya IP Office running tsp file: tspi2w_64.tsp. I am guessing that this must be a 64 bit driver. It was installed using the USER4_2 CD.

My application is 32 bit. Do I need to compile my application as 64 bit to get this to work? Anyone any ideas why I am getting this strange behaviour?
Andreas Marschall [exMVP TAPI]
2013-05-26 20:18:09 UTC
Permalink
Post by Angus
A have a switch which exposes a TAPI interface and for a while I have run a TAPI application on 32 bit Windows XP. I installed a 32 bit TAPI driver and I get most TAPI features including Call ID consistent across calls.
However, I recently tested the application on a Windows 7 64 bit PC. I downloaded a special installer for the TAPI driver, and it installed OK. I get TAPI functionality, eg I can make call. But I am getting weird results for the Call ID.
4632475
22190
7
Above are decimal values - all for the same call!
Angus,
I don't see any pattern in this, even in hex format:
0x0046AF9B
0x000056AE
0x00000007
Post by Angus
This renders the application pretty useless. The system is an Avaya IP Office running tsp file: tspi2w_64.tsp. I am guessing that this must be a 64 bit driver. It was installed using the USER4_2 CD.
Yes, without proper dwCallID it isn't possible to track call movements.
On a x64 OS a TSP has to be x64 too.
You can check the bit-width easily e.g. with Dependeny Walker: http://www.dependencywalker.com/
Just drag and drop the TSP file into the Depends windows.
For x64 components it displays a 64 right besides the icon in the tree view.
Post by Angus
My application is 32 bit. Do I need to compile my application as 64 bit to get this to work? Anyone any ideas why I am getting this strange behaviour?
In general you can use 32-bit TAPI apps on x64 OS without problem.
E.g. some years ago I ported a 32-bit TSP to x64 and tested it with some 32-bit TAPI test tools from JulMar.
There was no problem on Win7x64 displaying the correct LINECALLINFO.dwCallID with TCMon or Phone.exe.
If you can reproduce the issue with JulMar tools then the bug quite surely is located within the TSP. My guess is an issue with type casting to (DWORD).
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK
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
* Please post all messages and replies to the group 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.
Angus
2013-05-27 14:56:41 UTC
Permalink
I was forgetting, even in tapi browser get the same changing CallIDs on receiving different call events. So I think it must be a driver issue. I will see if I can download the latest driver version. I seem to need to have an account with Avaya to download latest software, otherwise I would have tried that already.
Post by Andreas Marschall [exMVP TAPI]
Post by Angus
A have a switch which exposes a TAPI interface and for a while I have run a TAPI application on 32 bit Windows XP. I installed a 32 bit TAPI driver and I get most TAPI features including Call ID consistent across calls.
However, I recently tested the application on a Windows 7 64 bit PC. I downloaded a special installer for the TAPI driver, and it installed OK. I get TAPI functionality, eg I can make call. But I am getting weird results for the Call ID.
4632475
22190
7
Above are decimal values - all for the same call!
Angus,
0x0046AF9B
0x000056AE
0x00000007
Post by Angus
This renders the application pretty useless. The system is an Avaya IP Office running tsp file: tspi2w_64.tsp. I am guessing that this must be a 64 bit driver. It was installed using the USER4_2 CD.
Yes, without proper dwCallID it isn't possible to track call movements.
On a x64 OS a TSP has to be x64 too.
You can check the bit-width easily e.g. with Dependeny Walker: http://www.dependencywalker.com/
Just drag and drop the TSP file into the Depends windows.
For x64 components it displays a 64 right besides the icon in the tree view.
Post by Angus
My application is 32 bit. Do I need to compile my application as 64 bit to get this to work? Anyone any ideas why I am getting this strange behaviour?
In general you can use 32-bit TAPI apps on x64 OS without problem.
E.g. some years ago I ported a 32-bit TSP to x64 and tested it with some 32-bit TAPI test tools from JulMar.
There was no problem on Win7x64 displaying the correct LINECALLINFO.dwCallID with TCMon or Phone.exe.
If you can reproduce the issue with JulMar tools then the bug quite surely is located within the TSP. My guess is an issue with type casting to (DWORD).
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK
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
* Please post all messages and replies to the group 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 [exMVP TAPI]
2013-05-27 19:42:00 UTC
Permalink
Post by Angus
I was forgetting, even in tapi browser get the same changing CallIDs on receiving different call events. So I think it must be a driver issue.
Angus,
Post by Angus
Post by Andreas Marschall [exMVP TAPI]
If you can reproduce the issue with JulMar tools then the bug quite surely is located within the TSP.
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK
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
* Please post all messages and replies to the group 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.
s***@gmail.com
2014-04-17 11:40:30 UTC
Permalink
Post by Andreas Marschall [exMVP TAPI]
Post by Angus
A have a switch which exposes a TAPI interface and for a while I have run a TAPI application on 32 bit Windows XP. I installed a 32 bit TAPI driver and I get most TAPI features including Call ID consistent across calls.
However, I recently tested the application on a Windows 7 64 bit PC. I downloaded a special installer for the TAPI driver, and it installed OK. I get TAPI functionality, eg I can make call. But I am getting weird results for the Call ID.
4632475
22190
7
Above are decimal values - all for the same call!
Angus,
0x0046AF9B
0x000056AE
0x00000007
Post by Angus
This renders the application pretty useless. The system is an Avaya IP Office running tsp file: tspi2w_64.tsp. I am guessing that this must be a 64 bit driver. It was installed using the USER4_2 CD.
Yes, without proper dwCallID it isn't possible to track call movements.
On a x64 OS a TSP has to be x64 too.
You can check the bit-width easily e.g. with Dependeny Walker: http://www.dependencywalker.com/
Just drag and drop the TSP file into the Depends windows.
For x64 components it displays a 64 right besides the icon in the tree view.
Post by Angus
My application is 32 bit. Do I need to compile my application as 64 bit to get this to work? Anyone any ideas why I am getting this strange behaviour?
In general you can use 32-bit TAPI apps on x64 OS without problem.
E.g. some years ago I ported a 32-bit TSP to x64 and tested it with some 32-bit TAPI test tools from JulMar.
There was no problem on Win7x64 displaying the correct LINECALLINFO.dwCallID with TCMon or Phone.exe.
If you can reproduce the issue with JulMar tools then the bug quite surely is located within the TSP. My guess is an issue with type casting to (DWORD).
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK
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
* Please post all messages and replies to the group 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.
Hi looking for someone to convert our Jalmar x32 TSP (written in C++ I beleave) we have source code of the robust x32 version just nee to converted to x64. Do you know anyone who can help

Thanks Steve ***@hybrex.co.nz

Angus
2013-05-27 14:43:17 UTC
Permalink
Hi Andreas

My code is like this:

LINECALLINFO* pCallinfo = NULL;
...
//lineGetCallInfo etc to alloc
...
DWORD CallID = pCallinfo->dwCallID;

Is that my problem? It works on other 32 bit platforms.

How to fix? cast to DWORD? memcpy sizeof(DWORD) bytes?
Post by Angus
A have a switch which exposes a TAPI interface and for a while I have run a TAPI application on 32 bit Windows XP. I installed a 32 bit TAPI driver and I get most TAPI features including Call ID consistent across calls.
However, I recently tested the application on a Windows 7 64 bit PC. I downloaded a special installer for the TAPI driver, and it installed OK. I get TAPI functionality, eg I can make call. But I am getting weird results for the Call ID.
4632475
22190
7
Above are decimal values - all for the same call!
This renders the application pretty useless. The system is an Avaya IP Office running tsp file: tspi2w_64.tsp. I am guessing that this must be a 64 bit driver. It was installed using the USER4_2 CD.
My application is 32 bit. Do I need to compile my application as 64 bit to get this to work? Anyone any ideas why I am getting this strange behaviour?
Andreas Marschall [exMVP TAPI]
2013-05-27 20:05:29 UTC
Permalink
Post by Angus
DWORD CallID = pCallinfo->dwCallID;
Is that my problem? It works on other 32 bit platforms.
No, Angus, that's correct.
TAPI.H defines it in struct LINECALLINFO as:
DWORD dwCallID;
Post by Angus
How to fix? cast to DWORD? memcpy sizeof(DWORD) bytes?
I guess there's nothing a TAPI app can do about it, if a TSP provides wrong info. A TSP bug needs to fixed is the TSP...
--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK
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
* Please post all messages and replies to the group 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.
Loading...