TAPI BUILD VERIFICATION TEST SPECIFICATION. Test Spec written by Aaron Ridenour a-aaronr Test Scripts written by Ron Rohr a-rrohr July 11, 1996 ******************** Test Description *************************** This Test has been implemented with Visual Test 4.0a. There are 4 files associated with this test. TAPI_BVT.MST - Main test script. TAPI_BVT.INC - Contains all TAPI_BVT procedures called from the main script. TAPI_API.INC - Contains all Const and Type definitions used in the test. TAPILOG.INC - Contains all file output procedures. ******************** Prerequisites ****************************** 1) TAPI Browser 2.0 (tb20.exe) must be in the System32 windows subdirectory. 2) The Test PC must have a modem connected and installed. 3) Unimdm.tsp service provider must be in the System32 windows subdirectory. ******************* Begin Test Discriptions ********************* *********************************************************************************** **** Test Case - 4 lineOpen and lineClose with all privileges *********************************************************************************** STEPS: // open line with no privileges 1 - Run TB 2 - on the toolbar, press [LAp+] 3 - click the [Parms] checkbox on, on the toolbar 4 - on the toolbar, press [Line+] 5 - In the dialog box, select [dwPrivileges] 6 - Choose [NONE] in the [Bit flags] listbox 7 - Press OK RESULTS: 1 - Should get a "lineOpen returned SUCCESS" in the results window. 2 - Line should be listed as DialOut STEPS: // open line as monitor 8 - Press [Line-] 9 - Press OK on the dialog 10 - on the toolbar, press [LAp-] 11 - Press OK on the dialog 12 - Press [LAp+] 13 - Press OK on the dialog 14 - on the toolbar, press [Line+] 15 - In the dialog box, select [dwPrivileges] 16 - Choose [MONITOR] in the [Bit flags] listbox 17 - Press OK RESULTS: 3 - Should get a "lineOpen returned SUCCESS" in the results window. 4 - Line should be listed as Monitor STEPS: // open line as owner 18 - Press [Line-] 19 - Press OK on the dialog 20 - on the toolbar, press [LAp-] 21 - Press OK on the dialog 22 - Press [LAp+] 23 - Press OK on the dialog 24 - on the toolbar, press [Line+] 25 - In the dialog box, select [dwPrivileges] 26 - Choose [OWNER] in the [Bit flags] listbox 27 - Press OK RESULTS: 5 - Should get a "lineOpen returned SUCCESS" in the results window. 6 - Line should be listed as DialInOut STEPS: 28 - On toolbar press [Line-] 29 - In dialog box press [OK] 30 - On toolbar press [LAp-] 31 - In dialog box press [OK] 32- Close TAPI Browser *********************************************************************************** **** Test Case - 5 lineNegotiateAPIVersion / 1.4 *********************************************************************************** STEPS: // default call should get 1.4 version # returned 1 - Run TB 2 - turn off the [Parms] checkbox 3 - Choose [LAp+] 4 - turn on the [Parms] checkbox 5 - dblclick [lineNegotiateAPIVersion] 6 - Press OK RESULTS: 1 - should get the following in the results window lineNegotiateAPIVersion returned SUCCESS APIVersion=x10004 extID.ID0=x0, .ID1=x0, .ID2=x0, .ID3=x0, STEPS: //ensure if LOW is > high ver #, this fails. 7 - dblclick [lineNegotiateAPIVersion] 8 - click [dwAPILowVersion] 9 - enter 00030000 10 - Press OK RESULTS: 2 - should get the following in the results window lineNegotiateAPIVersion returned LINEERR_INCOMPATIBLEAPIVERSION STEPS: //ensure if HIGH is both < high ver # and > low ver# we get a match 11 - dblclick [lineNegotiateAPIVersion] 12 - click [dwAPIHighVersion] 13 - enter 00010003 14 - Press OK RESULTS: 3 - should get the following in the results window lineNegotiateAPIVersion returned SUCCESS APIVersion=x10003 extID.ID0=x0, .ID1=x0, .ID2=x0, .ID3=x0, STEPS: 15 - On toolbar click on [LAp-] 16 - Close TB *********************************************************************************** **** Test Case - 8 lineGetDevCaps *********************************************************************************** STEPS: // Verify lineGetDevCaps return for valid device ID 1 - Run TB 2 - On toolbar press [LAp+] button 3 - In function listbox double-click on lineGetDevCaps RESULTS: 1 - "lineGetDevCaps returned SUCCESS" should be displayed. For further verification, see example below. STEPS: //Verify lineGetDevCaps return for invalid device ID 4 - On toolbar check Params box 5 - In function listbox double-click on lineGetDevCaps 6 - On dialog box select dwDeviceID 7 - Set Value to ffffffff 8 - Press [OK] RESULT: "lineGetDevCaps returned LINEERR_BADDEVICEID" should be displayed STEPS: 9 - On toolbar press [LAp-] button 10 - Close TB ********************************* Example of lineGetDevCaps return: ********************************* lineGetDevCaps returned SUCCESS LINEDEVCAPS dwTotalSize=x1000 dwNeededSize=x180 dwUsedSize=x180 dwProviderInfoSize=x3e dwProviderInfoOffset=xf0 646e6957 2073776f 656c6554 6e6f6870 Windows Telephon 65532079 63697672 72502065 6469766f y Service Provid 66207265 5520726f 6576696e 6c617372 er for Universal 646f4d20 44206d65 65766972 xxxx0072 Modem Driver. dwPermanentLineID=x18368 dwLineNameSize=x17 dwLineNameOffset=x12e 61726150 6c656c6c 62616320 6f20656c Parallel cable o 504c206e xx003154 xxxxxxxx xxxxxxxx n LPT1. dwStringFormat=x1, ASCII dwAddressModes=x1, ADDRESSID dwNumAddresses=x1 dwBearerModes=x48, DATA PASSTHROUGH dwMaxRate=x1c200 dwMediaModes=x10, DATAMODEM dwDevCapFlags=x60, CLOSEDROP DIALBILLING dwMaxNumActiveCalls=x1 dwRingModes=x1 dwLineStates=x14406ce, RINGING CONNECTED DISCONNECTED INSERVICE OUTOFSERVICE OPEN CLOSE REINIT TRANSLATECHANGE REMOVED dwDevSpecificSize=x3b dwDevSpecificOffset=x145 00000001 00000008 74737953 435c6d65 ........System\C 65727275 6f43746e 6f72746e 7465536c urrentControlSet 7265535c 65636976 6c435c73 5c737361 \Services\Class\ 65646f4d 30305c6d xx003130 xxxxxxxx Modem\0001. dwLineFeatures=x8, MAKECALL Note: For this example, a Creative Labs Phoneblaster and Unimodem service provider were employed. The LINEDEVCAPS return should be compared to installed modem and service provider to verify correctness of lineGetDevCaps API. *********************************************************************************** **** Test Case - 9 lineMakeCall - privileges = none, monitor, owner *********************************************************************************** STEPS: // Call with privilege=NONE 1 - Run TAPI Browser 2 - On toolbar, press [LAp+] button 3 - On toolbar, check Params box 4 - On toolbar, press [Line+] 5 - In lineOpen dialog box, select dwPrivileges 6 - Under bit flags, select NONE 7 - On toolbar, press [Call+] 8 - On lineMakeCall Dialog box press [OK] RESULT: 1) The call should PROCEEDING, with the following text returned: lineMakecall returned x1 received LINE_REPLY : hDev=x0, cbInst=x0 p1=x1, p2=x0, p3=x0 received LINE_CALLSTATE : hDev=x_______, cbInst=x0 p1=x8, DIALTONE p2=x20, UNAVAIL p3=x0, received LINE_CALLSTATE : hDev=x_______, cbInst=x0 p1=x10, DIALING p2=x0, p3=x0, received LINE_CALLSTATE : hDev=x_______, cbInst=x0 p1=x200 PROCEEDING p2=x0, p3=x0, [Note: x_______ is the Call handle] STEPS: // Call with privilege=MONITOR 9 - On toolbar, press [Call-] button 10 - In dialog box, press [OK] 11 - On toolbar press [Line-] 12 - In dialog box press [OK] 13 - On toolbar, press [Line+] 14 - In lineOpen dialog box, select dwPrivileges 15 - Under bit flags, select MONITOR 16 - On toolbar, press [Call+] 17 - On lineMakeCall Dialog box press [OK] RESULT: 2 - The call should PROCEEDING (with similar text as described above). STEPS: // Call with privilege=MONITOR 18 - On toolbar, press [Call-] button 19 - In dialog box, press [OK] 20 - On toolbar press [Line-] 21 - In dialog box press [OK] 22 - On toolbar, press [Line+] 23 - In lineOpen dialog box, select dwPrivileges 24 - Under bit flags, select OWNER 25 - On toolbar, press [Call+] 26 - On lineMakeCall Dialog box press [OK] RESULT: 3 - The call should PROCEEDING (with similar text as described above). 27 - On toolbar, uncheck the Params box 28 - On toolbar, press [Call-] 29 - On toolbar press [Line-] 30 - On toolbar press [LAp-] 31 - Close TAPI Browser *********************************************************************************** **** Test Case - 10 lineMakeCall - line unavalable *********************************************************************************** STEPS: // Ensure proper return for call attempted on line already in use 1 - Run TB 2 - On toolbar press [LAp+] 3 - On toolbar press [Line+] 4 - On toolbar press [Call+] Note: Ensure call is active for steps 5 through 7 5 - On toolbar press [LAp+] 6 - On toolbar press [Line+] 7 - On toolbar press [Call+] RESULTS: 1 - "lineMakeCall returned LINEERR_CALLUNAVAIL" should be returned STEPS: 8 - Click on bottom Line handle 9 - On toolbar press [Line-] 10 - Click on bottom LineApp handle 11 - On toolbar press [LAp-] 12 - On toolbar press [Call-] 13 - On toolbar press [Line-] 14 - On toolbar press [LAp-] 15 - Close TB *********************************************************************************** **** Test Case - 13 lineDrop - with active call *********************************************************************************** STEPS: // Verify successful line drop after initiating call 1 - Run TAPI Browser 2 - On toolbar press [LAp+] button 3 - On toolbar press [Line+] button 4 - On toolbar press [Call+] button 5 - Wait for call state to be proceeding or connected 6 - In function listbox double-click on lineDrop RESULTS: 1 - Return should LINE_CALLSTATE as IDLE received LINE_CALLSTATE : hDev=x_______, cbInst=x0 p1=x1, IDLE p2=x0, p3=x0, STEPS: 7 - On toolbar press [Call-] button 8 - On toolbar press [Line-] button 9 - On toolbar press [LAp-] button 10 - Close TAPI Browser *********************************************************************************** **** Test Case - 14 lineDeallocate - w/ active call *********************************************************************************** STEPS: // Verify successful line deallocation 1 - Run TAPI Browser 2 - On toolbar press [LAp+] button 3 - On toolbar press [Line+] button 4 - On toolbar press [Call+] button 5 - Wait for call state to be proceeding or connected 6 - In function listbox double-click on lineDrop 7 - In function listbox double-click on lineDeallocateCall RESULTS: 1 - "lineDeallocateCall returned SUCCESS" should be displayed STEPS: 8 - On toolbar press [Line-] button 9 - On toolbar press [LAp-] button 10 - Close TAPI Browser *********************************************************************************** **** Test Case - 15 lineShutDown - with active call *********************************************************************************** STEPS: // Verify successful line drop after initiating call 1 - Run TAPI Browser 2 - On toolbar press [LAp+] button 3 - On toolbar press [Line+] button 4 - On toolbar press [Call+] button 5 - In function listbox double-click on lineShutdown RESULTS: 1 - "lineShutdown returned SUCCESS" should be displayed STEPS: 6 - Close TAPI Browser *********************************************************************************** **** Test Case - 16 lineClose - with active call *********************************************************************************** STEPS: // Verify successful line close after initiating call 1 - Run TAPI Browser 2 - On toolbar press [LAp+] button 3 - On toolbar press [Line+] button 4 - On toolbar press [Call+] button 5 - On toolbar press [Line-] button RESULTS: 1 - "lineClose returned SUCCESS" should be displayed STEPS: 6 - On toolbar press [LAp-] 7 - Close TAPI Browser *********************************************************************************** **** Test Case - 21 lineSetCurrentLocation - with valid and invalid Location IDs *********************************************************************************** Note: For the first segment of this test to be run successfully, a valid location must exist. Specifically for Step 6 (below) a location must be entered into the Dialing Properties on the My Location tab. If this entry is not the first location entered into Dialing Proprties (lineTranslateDialog / telephon.cpl), then the value in Step 6 must be changed accordingly. STEPS: // Verify return for VALID location 1 - Run TB 2 - On toolbar press [LAp+] button 3 - Activate Params box 4 - In function listbox double-click on lineSetCurrentLocation 5 - In dialog box select [dwLocation] 6 - Set Value to 00000001 7 - Press [OK] button RESULTS: 1 - "lineSetCurrentLocation returned SUCCESS" should be displayed 2 - LINE_LINEDAVSTATE REINIT should be issued STEPS: // Verify return for INVALID location 8 - In function listbox double-click on lineSetCurrentLocation 9 - In dialog box select [dwLocation] 10 - Set Value to ffffffff 11 - Press [OK] button RESULTS: 3 - "lineSetCurrentLocation returned LINEERR_INVALLOCATION" should be displayed STEPS: 12 - On toolbar press [LAp-] button 13 - In dialog box press [OK] 14 - Close TB *********************************************************************************** **** Test Case - 22 lineGetCountry *********************************************************************************** STEPS: // Verify entire country list can be returned 1 - Run TB 2 - On toolbar check Params box 3 - In function listbox double-click lineGetCountry 4 - In dialog box select dwCountryID parameter 5 - Set value to 00000000 6 - Press [OK] button RESULT: 1 - "lineGetCountry returned SUCCESS" should be displayed Note: LINECOUNTRYLIST will not display all countries in the list; this is due to the TAPI Browser buffer size. The dwNeededSize will indicate a large value (i.e., 3e45) which exceeds the dwTotalSize (i.e., the buffer, which is 1000). STEPS: //Verify country list can be accessed 7 - In function listbox double-click lineGetCountry 8 - In dialog box select dwCountryID parameter 9 - Set value to 00000001 10 - Press [OK] button RESULT: 2 - "lineGetCountry returned SUCCESS" should be displayed along with to follow return: LINECOUNTRYLIST dwTotalSize=x1000 dwNeededSize=x6b dwUsedSize=x6b dwNumCountries=x1 dwCountryListSize=x2c dwCountryListOffset=x18 LINECOUNTRYENTRY[0] dwCountryID=x1 dwCountryCode=x1 dwNextCountryID=x65 dwCountryNameSize=x19 dwCountryNameOffset=x52 74696e55 53206465 65746174 666f2073 United States of 656d4120 61636972 xxxxxx00 xxxxxxxx America. dwSameAreaRuleSize=x2 dwSameAreaRuleOffset=x50 xxxx0047 xxxxxxxx xxxxxxxx xxxxxxxx G. dwLongDistanceRuleSize=x5 dwLongDistanceRuleOffset=x4b 47463120 xxxxxx00 xxxxxxxx xxxxxxxx 1FG. dwInternationalRuleSize=x7 dwInternationalRuleOffset=x44 45313130 xx004746 xxxxxxxx xxxxxxxx 011EFG. STEPS: //Verify correct return for invalid country ID 11 - In function listbox double-click lineGetCountry 12 - In dialog box select dwCountryID parameter 13 - Set value to ffffffff 14 - Press [OK] button RESULT: 3 - "lineGetCountry returned LINEERR_INVALCOUNTRYCODE" should be displayed STEPS: 15 - Close TB *********************************************************************************** **** Test Case - 26 lineGetTranslateCaps - determine SUCCESS and validity of *********************************************************************************** Note: For this test to be run successfully, valid locations should exist. Specifically, a location must be entered into the Dialing Properties on the My Location tab; credit card usage should be defined as well. STEPS: // Verify lineGetTranslateCaps retrieves all locations & cards data 1 - Run TAPI Browser 2 - In function listbox double-click on lineGetTranslateCaps RESULT: 1 - "lineGetTranslateCaps returned SUCCESS" should be displayed. For further detail, see example below. STEPS: 3 - Close TAPI Browser *************************************** Example of lineGetTranslateCaps return: *************************************** lineGetTranslateCaps returned SUCCESS LINETRANSLATECAPS dwTotalSize=x1000 dwNeededSize=x35d dwUsedSize=xa5d dwNumLocations=x2 dwLocationListSize=x88 dwLocationListOffset=x2c dwNumCards=x4 dwCardListSize=xd0 dwCardListOffset=xb4 dwCurrentPreferredCardID=x4 LINELOCATIONENTRY[0] dwLocationNameSize=xa dwLocationNameOffset=x4d4 4f20794d 63696666 xxxx0065 xxxxxxxx My Office. dwCountryCode=x1 dwCityCodeSize=x4 dwCityCodeOffset=x4e4 00363032 xxxxxxxx xxxxxxxx xxxxxxxx 206. dwPreferredCardID=x4 dwLocalAccessCodeSize=x3 dwLocalAccessCodeOffset=x4de xx002c39 xxxxxxxx xxxxxxxx xxxxxxxx 9,. dwLongDistanceAccessCodeSize=x3 dwLongDistanceAccessCodeOffset=x4e1 xx002c39 xxxxxxxx xxxxxxxx xxxxxxxx 9,. dwTollPrefixListSize=x1 dwTollPrefixListOffset=x4e8 xxxxxx00 xxxxxxxx xxxxxxxx xxxxxxxx . dwCountryID=x1 dwCancelCallWaitingSize=x5 dwCancelCallWaitingOffset=x4e9 2c30372a xxxxxx00 xxxxxxxx xxxxxxxx *70,. LINELOCATIONENTRY[1] dwPermanentLocationID=x1 dwLocationNameSize=xe dwLocationNameOffset=x4ee 646e6f4c 4f206e6f 63696666 xxxx0065 London Office. dwCountryCode=x2c dwCityCodeSize=x4 dwCityCodeOffset=x500 00313730 xxxxxxxx xxxxxxxx xxxxxxxx 071. dwLocalAccessCodeSize=x2 dwLocalAccessCodeOffset=x4fc xxxx0038 xxxxxxxx xxxxxxxx xxxxxxxx 8. dwLongDistanceAccessCodeSize=x2 dwLongDistanceAccessCodeOffset=x4fe xxxx0038 xxxxxxxx xxxxxxxx xxxxxxxx 8. dwTollPrefixListSize=x1 dwTollPrefixListOffset=x504 xxxxxx00 xxxxxxxx xxxxxxxx xxxxxxxx . dwCountryID=x2c dwCancelCallWaitingSize=x5 dwCancelCallWaitingOffset=x505 2c233037 xxxxxx00 xxxxxxxx xxxxxxxx 70#,. LINECARDENTRY[0] dwCardNameSize=x13 dwCardNameOffset=x50a 656e6f4e 69442820 74636572 61694420 None (Direct Dia xx00296c xxxxxxxx xxxxxxxx xxxxxxxx l). dwSameAreaRuleSize=x1 dwSameAreaRuleOffset=x51d xxxxxx00 xxxxxxxx xxxxxxxx xxxxxxxx . dwLongDistanceRuleSize=x1 dwLongDistanceRuleOffset=x51e xxxxxx00 xxxxxxxx xxxxxxxx xxxxxxxx . dwInternationalRuleSize=x1 dwInternationalRuleOffset=x51f xxxxxx00 xxxxxxxx xxxxxxxx xxxxxxxx . dwOptions=x1, PREDEFINED LINECARDENTRY[1] dwPermanentCardID=x1 dwCardNameSize=x1c dwCardNameOffset=x520 54265441 72694420 20746365 6c616944 AT&T Direct Dial 61697620 41303120 00315454 xxxxxxxx via 10ATT1. dwSameAreaRuleSize=x2 dwSameAreaRuleOffset=x53c xxxx0047 xxxxxxxx xxxxxxxx xxxxxxxx G. dwLongDistanceRuleSize=x9 dwLongDistanceRuleOffset=x53e 38323031 47463138 xxxxxx00 xxxxxxxx 102881FG. dwInternationalRuleSize=xc dwInternationalRuleOffset=x547 38323031 31313038 00474645 xxxxxxxx 10288011EFG. dwOptions=x1, PREDEFINED LINECARDENTRY[2] dwPermanentCardID=x2 dwCardNameSize=x10 dwCardNameOffset=x553 54265441 61697620 41303120 00305454 AT&T via 10ATT0. dwSameAreaRuleSize=x2 dwSameAreaRuleOffset=x563 xxxx0047 xxxxxxxx xxxxxxxx xxxxxxxx G. dwLongDistanceRuleSize=xc dwLongDistanceRuleOffset=x565 38323031 47463038 00485424 xxxxxxxx 102880FG$TH. dwInternationalRuleSize=xe dwInternationalRuleOffset=x571 38323031 45313038 54244746 xxxx0048 1028801EFG$TH. dwOptions=x1, PREDEFINED LINECARDENTRY[3] dwPermanentCardID=x4 dwCardNameSize=x1b dwCardNameOffset=x57f 2049434d 65726944 44207463 206c6169 MCI Direct Dial 20616976 32323031 xx003132 xxxxxxxx via 102221. dwSameAreaRuleSize=x2 dwSameAreaRuleOffset=x59a xxxx0047 xxxxxxxx xxxxxxxx xxxxxxxx G. dwLongDistanceRuleSize=x9 dwLongDistanceRuleOffset=x59c 32323031 47463132 xxxxxx00 xxxxxxxx 102221FG. dwInternationalRuleSize=xc dwInternationalRuleOffset=x5a5 32323031 31313032 00474645 xxxxxxxx 10222011EFG. dwOptions=x1, PREDEFINED This return should be checked against the data entered into Dialing Properties. In this example, there were two locations and four credit cards entered in Dialing Properties. > dwNumLocations=x2, so LINELOCATIONENTRY is given for values 0 and 1 > dwNumCards=x4, so LINECARDENTRY is given for values 0 through 3 > dwCurrentPreferredCardID=x4 which correctly references the MCI card under LINECARDENTRY[3] *********************************************************************************** **** Test Case - 27 lineTranslateAddress - valid and invalid addresses *********************************************************************************** STEPS: // Test for valid address 1 - Run TAPI Browser 2 - On toolbar press [LAp+] button 3 - Click Param box 4 - In function listbox double-click on lineTranslateAddress 5 - In dialog box select dwTranslateOptions 6 - Under Value click on "select none" 7 - In dialog box select lpszAddressln 8 - Set value to a valid canonical number [i.e., "+1 (555) 555-5555"] 9 - Press [OK] button Results: 1 - "lineTranslateAddress returned SUCCESS" should be displayed STEPS: // Test for invalid address 11 - In function listbox double-click on lineTranslateAddress 12 - In dialog box select dwTranslateOptions 13 - Under Value click on "select none" 14 - In dialog box select lpszAddressln 15 - Set value to a valid dialable format number [i.e., "206 555-5555"] 16 - Press [OK] button RESULTS: 2 - "lineTranslateAddress returned SUCCESS" should be displayed STEPS: // Test for invalid address 17 - In function listbox double-click on lineTranslateAddress 18 - In dialog box select dwTranslateOptions 19 - Under Value click on "select none" 20 - In dialog box select lpszAddressln 21 - Set value to "Invalid string pointer" 22 - Press [OK] button RESULTS: 3 - "lineTranslateAddress returned LINEERR_INVALPOINTER" should be displayed STEPS: 23 - On toolsbar press [LAp-] button 24 - In dialog box press [OK] 25 - Close TAPI Browser *********************************************************************************** **** Test Case - 28 lineTranslateAddress - valid and invalid credit cards *********************************************************************************** Note: To test the return for a valid credit card, at least one credit card must be defined in Dialing Properties. STEPS: // Check return for valid credit card ID 1 - Run TAPI Browser 2 - On toolbar press [LAp+] button 3 - Check Param box 4 - In function listbox double-click on lineTranslateAddress 5 - In dialog box select dwCard 6 - Set value to a valid dwLocationID (generally 00000001 should be valid) 7 - Press [OK] button RESULTS: 1 - "lineTranslateAddress returned SUCCESS" should be displayed STEPS: // Check return for invalid credit card ID 8 - In function listbox double-click on lineTranslateAddress 9 - In dialog box select dwCard 10 - Set value to ffffffff 11 - Press [OK] button RESULTS: 2 - "lineTranslateAddress returned LINEERR_INVALCARD" should be displayed STEPS: 12 - On toolbar press [LAp-] button 13 - In dialog box press [OK] button 14 - Close TAPI Browser *********************************************************************************** **** Test Case - 29 lineTranslateAddress - valid and invalid translate options *********************************************************************************** Note: Card override translation option is tested under TCM case ID 28. STEPS: // No translate options 1 - Run TAPI Browser 2 - On toolbar press [LAp+] button 3 - Check Params box 4 - In function listbox double-click on lineTranslateAddress 5 - In dialog box click on dwTranslateOptions 6 - Change value to "select none" 7 - Press [OK] button RESULTS: 1 - "lineTranslateAddress returned SUCCESS" should be displayed STEPS: // Cancel call waiting 8 - In function listbox double-click on lineTranslateAddress 9 - In dialog box click on dwTranslateOptions 10 - Click on CARDOVERRIDE (to turn off the default) 11 - Click on CANCELCALLWAITING 12 - Press [OK] button RESULTS: 2 - "lineTranslateAddress returned SUCCESS" should be displayed STEPS: // Force local call 13 - In function listbox double-click on lineTranslateAddress 14 - In dialog box click on dwTranslateOptions 15 - Click on CARDOVERRIDE (to turn off the default) 16 - Click on FORCELOCAL 17 - Press [OK] button RESULTS: 3 - "lineTranslateAddress returned SUCCESS" should be displayed STEPS: // Force long distance call 18 - In function listbox double-click on lineTranslateAddress 19 - In dialog box click on dwTranslateOptions 20 - Click on CARDOVERRIDE (to turn off the default) 21 - Click on FORCELD 22 - Press [OK] button RESULTS: 4 - "lineTranslateAddress returned SUCCESS" should be displayed STEPS: // Invalid paramters-- conflict local and long distance 23 - In function listbox double-click on lineTranslateAddress 24 - In dialog box click on dwTranslateOptions 25 - Click on CARDOVERRIDE (to turn off the default) 26 - Click on FORCELOCAL 27 - Click on FORCELD 28 - Press [OK] button RESULTS: 5 - "lineTranslateAddress returned LINEERR_INVALPARAM" should be displayed STEPS: 29 - On toolbar press [LAp-] button 30 - In dialog box press [OK] 31 - Close TAPI Browser *********************************************************************************** **** Test Case - 31 lineConfigDialog *********************************************************************************** STEPS: // Verify dialog pop-up 1 - Run TAPI Browser 2 - On toolbar press [LAp+] button 3 - In function listbox double-click on lineConfigDialog RESULTS: 1 - Pop-up dialog box for configuring installed modem STEPS: // Close dialog box 4 - On dialog box press [OK] button RESULTS: 2 - "lineConfigDialog returned SUCCESS" should be displayed STEPS: 6 - On toolbar press [LAp-] button 7 - Close TAPI Browser *********************************************************************************** **** Test Case - 32 lineTranslateDialog *********************************************************************************** STEPS: // Verify dialog pop-up 1 - Run TAPI Browser 2 - In function listbox double-click on lineConfigDialog RESULTS: 1 - Pop-up dialog box labeled Dialing Properties STEPS: // Close dialog box 3 - On dialog box press [OK] button RESULTS: 2 - "lineTranslateDialog returned SUCCESS" should be displayed STEPS: 5 - In function listbox double-click on lineConfigDialog 6 - On Dialing Properties dialog box, check (or uncheck) Dial as Long Distance box 7 - On Dialing Properties press [OK] button RESULTS: 3 - "lineTranslateDialog returned SUCCESS" should be displayed, as well as "received LINE_LINEDEVSTATE" with param1 returning "REINIT" STEPS: 8 - Close TAPI Browser *********************************************************************************** **** Test Case - 80 lineDial *********************************************************************************** lineInitialize lineOpen lineMakeCall with lpszDestAddr set to NULL lineDial with lpszDestAddr set to a phone number to call. Result: Talk/Drop dialog should appear, and call should ring through to the number you entered. lineDrop lineClose lineShutdown *********************************************************************************** **** Test Case - 81 lineGetID - comm & comm/datamodem *********************************************************************************** lineInitialize lineOpen as Owner lineGetID with lpszDeviceClass set to 'comm' Result: The data after dwStringOffset should be the name of the modem lineGetID with lpszDeviceClass set to 'ndis' Result: The data after dwStringOffset should be set to com. lineGetID with lpszDeviceClass set to 'comm/datamodem' Result: The data after dwStringOffset should be a numeric value (8 digits) followed by the name of the modem. The numeric value is a handle to the comm port. It's usually 00000000 or a low number. At the bottom of the TB API list, CloseHandle is listed. Call CloseHandle with hObject set to the numeric value returned in lineGetID with 'comm/datamodem'. Result: Handle is closed. The handle should be identified as the same numeric value entered into hObject. lineClose lineShutdown *********************************************************************************** **** Test Case - 83 lineReply & lineCallState *********************************************************************************** STEPS: // Check LINE_REPLY is correct for instance of multiple apps running 1 - Run TAPI Browser 2 - On toolbar press [LAp+] 3 - On toolbar press [LAp+] 4 - On toolbar press [LAp-] 5 - On toolbar press [Line+] 6 - On toolbar press [Call+] RESULTS: 1 - TB20 should display the following: lineMakecall returned x1 received LINE_REPLY : hDev=x0, cbInst=x0 p1=x1, p2=x0, p3=x0 received LINE_CALLSTATE : hDev=x_______, cbInst=x0 p1=x8, DIALTONE p2=x20, UNAVAIL p3=x0, received LINE_CALLSTATE : hDev=x_______, cbInst=x0 p1=x10, DIALING p2=x0, p3=x0, received LINE_CALLSTATE : hDev=x_______, cbInst=x0 p1=x200 PROCEEDING p2=x0, p3=x0, [Note: The absence of the LINE_REPLY or LINE_CALLSTATE indicates failure of the test case even if the call otherwise succeeds.] STEPS: 7 - On toolbar press [Call-] 8 - On toolbar press [Line-] 9 - On toolbar press [LAp-] 10 - Close TAPI Browser *********************************************************************************** **** Test Case - 175 lineNegotiateAPIVersion / 2.0 *********************************************************************************** STEPS: // default call should get 2.0 version # returned 1 - Run TB 2 - turn off the [Parms] checkbox 3 - Double Click lineInitializeEx 4 - dblclick [lineNegotiateAPIVersion] RESULTS: 1 - should get the following in the results window lineNegotiateAPIVersion returned SUCCESS APIVersion=x20000 extID.ID0=x0, .ID1=x0, .ID2=x0, .ID3=x0, STEPS: //ensure if LOW is > high ver #, this fails. 5 - turn on the [Parms] checkbox 6 - dblclick [lineNegotiateAPIVersion] 7 - click [dwAPILowVersion] 8 - enter 00030000 9 - Press OK RESULTS: 2 - should get the following in the results window lineNegotiateAPIVersion returned LINEERR_INCOMPATIBLEAPIVERSION STEPS: //ensure if HIGH is both < high ver # and > low ver# we get a match 10 - dblclick [lineNegotiateAPIVersion] 11 - click [dwAPIHighVersion] 12 - enter 00010003 13 - Press OK RESULTS: 3 - should get the following in the results window lineNegotiateAPIVersion returned SUCCESS APIVersion=x10003 extID.ID0=x0, .ID1=x0, .ID2=x0, .ID3=x0, STEPS: 14 - On toolbar click on [LAp-] 15 - Close TB *********************************************************************************** **** Test Case - 176 lineGetMessage *********************************************************************************** Note: 1) lineGetMessages must be proceeded with a lineInitializeEx call with it's lineInitializeExParam.Option = USEEVENT. 2) lineGetMessage is called after making a TAPI API call that will generate messages such as lineMakeCall. STEPS: 1 - Run TAPI Browser 2 - click the [Parms] checkbox on, on the toolbar 3 - Double Click lineInitializeEx 4 - In the dialog box, select [->dwOptions] 5 - Choose [USEEVENT] in the [Bit flags] listbox 6 - Press OK 7 - Double Click lineOpen 8 - Press OK 9 - Double Click lineMakeCall 10 - Press OK RESULTS: 1 - "lineMakeCall should return a positive request ID in the results window (i.e."lineMakeCall returned xN" where n is a positive integer). This Must not be followed by any TAPI messages. STEPS: 11 - Double Click lineGetMessage 12 - Press OK RESULTS: 2 - lineGetMessage should return success and the first queued TAPI message in the results window. This is usually LINE_REPLY. STEPS: 13 - click the [Parms] checkbox off, on the toolbar 14 - Double click lineDrop 15 - Double click lineDeallocateCall 16 - Double click lineClose 17 - Double click lineShutdown 18 - Exit TAPI Browser *********************************************************************************** **** Test Case - 177 lineGetStatusMessage *********************************************************************************** STEPS: 1 - Run TAPI Browser 2 - Double Click lineInitializeEx 3 - Double Click lineOpen 4 - Double Click lineGetStatusMessage RESULTS: 1 - lineGetStatusMessage returns success in the results window. STEPS: 5 - Double Click lineClose 6 - Double Click lineShutdown 7 - Exit TAPI Browser *********************************************************************************** **** Test Case - 178 lineGetNumRings & lineSetNumRings *********************************************************************************** STEPS: 1 - Run TAPI Browser 2 - Double Click lineInitialize 3 - Double Click lineOpen 4 - Double Click lineGetNumRings RESULTS: 1 - lineGetNumRings should return Success 2 - num rings = xffffffff. STEPS: 5 - click the [Parms] checkbox on, on the toolbar 6 - Double Click lineSetNumRings 7 - In the dialog box, select [dwNumRings] 8 - Enter 9 in the Value: Editbox 9 - Press OK RESULTS: 3 - lineSetNumRings should return Success. STEPS: 10 - click the [Parms] checkbox off, on the toolbar 11 - Double Click lineGetNumRings RESULTS: 4 - lineGetNumRings should return Success. 5 - num rings = x9. STEPS: 12 - Double Click lineClose 13 - Double Click lineShutdown 14 - Exit TAPI Browser ************************* End Of TAPI_BVT Test ************************************