Telephony API Client Test (Compact 7)
3/12/2014
The Telephony API (TAPI) Client Test verifies that a peripheral device supports basic TAPI functionality, particularly the ability to complete an outbound call. This test repeatedly sets up and dials a call on a TAPI-enabled device. The test does not attempt to communicate over the connection after establishing the connection. You can use this test as a build verification test (BVT). You can also use the test as a breadth test by varying command-line settings or as a stress test by setting the test to dial multiple times.
To complete a null modem connection, you must set the bearer mode to 3 and set the baud parameters in the Device Properties dialog box.
If you maximize logging verbosity, the test logs data from the LINEDEVCAPS structure for the device being tested. Verbose logging provides important information such as the name of the device and the bearer as well as the supported media modes.
You can enter Hayes AT modem commands using the Extra Settings box in the Device Properties dialog box. Type commands without the leading "AT" string. For example, to turn off the modem speaker (Hayes command "ATM0"), type M0.
Test Prerequisites
Your device must meet the following requirements before you run this test.
The following tables show the hardware requirements for the TAPI Client Test.
Requirements | Description |
---|---|
A TAPI device |
A TAPI device such as an external modem or null modem. |
A remote access server (RAS) |
Server that the test attempts to call. You can also use the TAPI Server Test as a server. For more information about the TAPI Server Test, see Telephony API Server Test. |
The following tables show the software requirements for the TAPI Client Test.
Requirements | Description |
---|---|
Tux.exe |
Test harness, required for executing the test |
Kato.dll |
Logging engine, required for logging test data |
Tapiclient.dll |
Library containing test cases |
Common library files |
Common library files located in the Netlib directory |
Important: The TAPI Client and TAPI Server tests both require a client and server to be run, as noted in the Hardware Requirements section. Additionally, these tests are best run together so the TAPI Client test is exercising the TAPI Server test.
Subtests
The table below lists the subtests included in this test.
SubTest ID | Description |
---|---|
100 |
List all TAPI device names. Lists all TAPI devices and exits without making any calls. This test fails if the TAPI client application, TAPI, or service provider are incompatible with one another. |
200 |
Voice - Data Modem. Sets the bearer mode to LINEBEARERMODE_VOICE and the media mode to LINEMEDIAMODE_DATAMODEM. This test case fails if the service provider does not support 3.1-kHz analog voice as the bearer mode and data modem as the media mode. |
201 |
Data - Data Modem. Sets the bearer mode to LINEBEARERMODE_DATA and the media mode to LINEMEDIAMODE_DATAMODEM. This test case fails if the service provider does not support data transfer as the bearer mode and data modem as the media mode. |
Setting Up the Test
The Telephony API (TAPI) Client Test requires a Windows Embedded Compact-based device with TAPI functionality and a remote access server (RAS). Setup is straightforward, and entails configuring a modem on the device and then configuring a modem on the RAS machine enabled with a user account.
Boot the Windows Embedded Compact-based device and attach and configure the modem. Run case 100 in the TAPIclient Tux suite to get the device identifier of the attached modem you wish to use. For example: s tux -o -d tapiclient -x 100. Then run the TAPIclient suite with the "-d device_identifier" switch, using the device ID found previously.
Running the Test
The TAPI Client Test executes the tux -o -d tapiclient -c "-d0 -pT9,5551212 -nl" command line on default execution. You can modify the test by editing the command line. The following table shows the command line parameters for the Telephony API Client Test.
Command line parameter | Description |
---|---|
-n number_of_calls |
Sets the number of calls to be made. The default value for number of calls is 1. |
-p phone_number |
Sets the telephone number to be dialed. The default value is set to NULL. You can specify a phone number using any one of the following formats: 1) Begin the phone number with a plus (+). This format instructs the test to read the number in canonical format - country/region code followed by area code followed by local number - and then translate the number according to TAPI dialing rules for the current location. An example of this format is -p "+1(111)111-1111". 2) Begin the phone number with a pound sign (#). This format instructs the test to set the phone number to NULL. This setting is acceptable is some scenarios, for example when testing a null modem. Begin the phone number with any character other than a plus (+) or pound sign (#). This format instructs the test to dial the number directly. You should precede a phone number to be dialed with a P for pulse or T for tone dialing plus any digits that may be required to access an outside line. An example of this format is -pT9,111-1111. |
-d device_identifier |
Specifies the device identifier of the line to be tested. You can obtain a list of device identifiers by using the -l parameter. The default value for the device identifier is 0, which corresponds to the external modem on most Windows Embedded Compact 7 run-time images. |
-td seconds |
Sets the dialing timeout, in seconds. A call disconnects if it does not complete in the specified number of seconds. The default value for dialing timeout is 30 seconds. |
-tc seconds |
Sets the connection delay in seconds. The test waits for the specified number of seconds after a call completes prior to disconnecting the call. The default value for connection delay is 10 seconds. |
-th seconds |
Sets the end call command timeout interval in seconds. The test waits for the specified number of seconds prior to discontinuing an end call attempt. The default value is 5 seconds. |
-tw seconds |
Sets the deallocation delay interval in seconds. The test waits for the specified number of seconds after a call is disconnected prior to deallocating the call handle. The default value is 1 second. |
-e |
Display the following dialog boxes, with which you can configure the device and edit the current location: Device Properties, with which you can change the baud and other parameters for the TAPI device. Dialing Properties, with which you can change the location and other parameters that affect address translation. |
-h |
Displays information about the test. |
Verifying the Test
When the test completes running, verify that "PASS" appears in the test log for all sub-tests
Troubleshooting the Test
* If a connection does not occur, make sure the modem is configured and working properly.
For additional platform specific issues, consult the CTK articles on the TechNet wiki.