WAP Wireless Telephony Application Interface Test Specification


ISSUE : wtai12ts_001010

Copyright © 1999-2002 Wireless Application Forum. Ltd. All Rights Reserved.


Preface

This document contains the test specification for the WAP June 2000 release of the:

WAP WTA Interface Specification
version WAP-170-WTAI-20000707-a.pdf
WAP WTAI GSM addendum
version WAP-171-WTAIGSM-20000707-a.pdf
WAP WTAI IS136 addendum
version WAP-172-WTAIIS136-20000707-a.pdf

The specification is organized such that there is a section for each section of the WTA Interface specifications in which assertions can be found. For each assertion in the WAP WTA Interface specifications, a corresponding entry in this test specification contains the following elements

For each assertion in the specifications, a corresponding entry in this test specification contains the following elements:

ID: The name by which the test is known
Class: An assertion Class as defined in IEEE Std 1003.3. These types are:
A A mandatory, testable assertion.
B A mandatory, but untestable assertion.
C An optional, testable assertion.
D An optional, but untestable assertion.
Scope: If an assertion is type C or D, this entry describes the option that needs to be supported in order to activate the test.
Text: The text of the assertion and a reference to the source specification from which the assertion is derived.
Note: Any supplementary information associated with the assertion. For example it may suggest a strategy for the test implementation of the assertion or it may propose rationale as to why a test is classified as untestable.

This specification uses the following conventions for convenience:


Table of Contents

6 WTA Interface
6.1 WTAI Function Libraries
6.2 WTAI API Delimiters
6.3 WTA URL Scheme
6.4 WTAI Notational Conventions
6.5 Telephone Numbers
7 Compliance Requirements 8 Public WTAI
8.1 WTA Events
8.2 WMLScript Functions
8.2.1 WTAPublic.makeCall
8.2.2 WTAPublic.sendDTMF
8.2.3 WTAPublic.addPBEntry

8.3 URI Functions
8.3.1 wtai://wp/mc
8.3.2 wtai://wp/sd
8.3.3 wtai://wp/ap

9 Network Common WTAI - Voice Calls
9.1 WTA Events
9.1.1 wtaev-cc/ic
9.1.2 wtaev-cc/cl
9.1.3 wtaev-cc/co
9.1.4 wtaev-cc/oc
9.1.5 wtaev-cc/cc
9.1.6 wtaev-cc/dtmf

9.2 WMScript Functions
9.2.1 WTAVoiceCall.setup
9.2.2 WTAVoiceCall.accept
9.2.3 WTAVoiceCall.release
9.2.4 WTAVoiceCall.sendDTMF
9.2.5 WTAVoiceCall.callStatus
9.2.6 WTAVoiceCall.list

10 Network Common WTAI - Network Messages
10.1 WTA Events
10.1.1 wtaev-nt/st
10.1.2 wtaev-nt/it

10.2 WMLScript Functions
10.2.1 WTANetText.send
10.2.2 WTANetText.list
10.2.3 WTANetText.remove
10.2.4 WTANetText.getFieldValue
10.2.5 WTANetText.markAsRead

11 Network Common WTAI - Phonebook
11.1 WTA Events
11.2 WMLScriptFunctions
11.2.1 WTAPhoneBook.write
11.2.2 WTAPhoneBook.search
11.2.3 WTAPhoneBook.remove
11.2.4 WTAPhoneBook.getFieldValue
11.2.5 WTAPhoneBook.change

12 Network Common WTAI - Call Logs
12.1 WTA Events
12.2 WMLScript Functions
12.2.1 WTACallLog.dialled
12.2.2 WTACallLog.missed
12.2.3 WTACallLog.received
12.2.4 WTACallLog.getFieldValue

13 Network Common WTAI - Miscellaneous
13.1 WTA Events
13.1.1 wtaev-ms/ns

13.2 WMLScript Functions
13.2.1 WTAMisc.setIndicator
13.2.2 WTAMisc.endContext
13.2.3 WTAMisc.getProtection
13.2.4 WTAMisc.setProtection

13.3 wtai://ms/ec
ANSI-136-5 ANSI 136 Specification Library
ANSI-136-5.1 WTA Events
ANSI-136-5.1.1 wtaev-ansi136/ia
ANSI-136-5.1.2 wtaev-ansi136/if

ANSI-136-5.2 WMLScript Functions
ANSI-136-5.2.1 WTAANSI136.sendFlash
ANSI-136-5.2.2 WTAANSI136.sendAlert

GSM-6 Special Behaviour of Network-Common WTAI
GSM-6.1 WTA Events
GSM-6.1.1 wtaev-cc/cl
GSM-6.1.2 wtaev-cc/co

GSM-6.2 WMLScript Functions
GSM-6.2.1 WTAVoiceCall.release

GSM-7 Network Specific WTAI-GSM
GSM-7.1 WTA Events
GSM-7.1.1 wtaev-gsm/ch
GSM-7.1.2 wtaev-gsm/ca
GSM-7.1.3 wtaev-gsm/ru

GSM-7.2 WMLScript Functions
GSM-7.2.1 WTAGSM.hold
GSM-7.2.2 WTAGSM.retrieve
GSM-7.2.3 WTAGSM.transfer
GSM-7.2.4 WTAGSM.deflect
GSM-7.2.5 WTAGSM.multiparty
GSM-7.2.6 WTAGSM.separate
GSM-7.2.7 WTAGSM.sendussd
GSM-7.2.8 WTAGSM.netinfo

6 WTA Interface

There are no testable assertions in this section.

6.1 WTAI Function Libraries

There are no testable assertions in this section.

6.2 WTAI API Delimiters

There are no testable assertions in this section.

6.3 WTA URL Scheme

There are no testable assertions in this section.

6.4 WTAI Notational Conventions

There are no testable assertions in this section.

6.5 Telephone Numbers

There are no testable assertions in this section.

7 Compliance Requirements

There are no testable assertions in this section.

8 Public WTAI

8.1 WTA Events

There are no testable assertions in this section.

8.2 WMLScript Functions

There are no testable assertions in this section.

8.2.1 WTAPublic.makeCall

ID: wtai/public/wmlscript/makecall/1
Class: A
Text: When the MAKECALL function is called from WMLScript the user agent must display the number to the user and the user must explicitly acknowledge the operation. [WAP Wireless Telephony Application Interface SIN section 8.2.1]
Note: Call the MAKECALL function from WMLScript and make sure the number to be called is shown to the user and that the user has to acknowledge the operation.

ID: wtai/public/wmlscript/makecall/2
Class: A
Text: When the MAKECALL function is called from WMLScript the number specified must be the number called. [WAP Wireless Telephony Application Interface SIN section 8.2.1]
Note: Call the MAKECALL function from WMLScript with a predefined number and make sure that that number is the one that is rung. This will require the user entering a valid phone number of another phone in the setup of the test session. Can only be a manual test as no call handle id is returned.

ID: wtai/public/wmlscript/makecall/3
Class: A
Text: When the MAKECALL function is called from WMLScript it must return an empty string if sucessful [WAP Wireless Telephony Application Interface SIN section 8.2.1]
Note: Call the MAKECALL function with a predefined number and make sure that that number is the one that is rung and the function returns an empty string. This will require the user entering a valid phone number in the setup of the test session.

ID: wtai/public/wmlscript/makecall/4
Class: A
Text: When the MAKECALL function is called from WMLScript it must return the negative integer -105 if the called party is busy [WAP Wireless Telephony Application Interface SIN section 8.2.1]
Note: Take the destination phone off the hook and then call the MAKECALL function from WMLScript on the test user agent to phone the 'off the hook' phone. Make sure that the negative integer -105 is returned. Changed w.r.t WTA meeting

ID: wtai/public/wmlscript/makecall/5
Class: A
Text: When the MAKECALL function is called from WMLScript it must return the negative integer -106 if the network is not available [WAP Wireless Telephony Application Interface SIN section 8.2.1]
Note: Put the phone in an isolated booth, or somewhere where the network can not be found. Call the MAKECALL function to call a known number. Make sure that the negative integer -106 is returned. Added w.r.t WTA meeting

ID: wtai/public/wmlscript/makecall/6
Class: A
Text: When the MAKECALL function is called from WMLScript it must return the negative integer -107 if the called party did not answer. [WAP Wireless Telephony Application Interface SIN section 8.2.1]
Note: Create a deck that call the MAKECALL function to call a known number. Don't answer the called phone. Make sure that the negative integer -107 is returned. Added w.r.t WTA meeting

ID: wtai/public/wmlscript/makecall/7
Class: B
Text: When the MAKECALL function is called from WMLScript it must return the negative integer -1 if there is an unspecified error [WAP Wireless Telephony Application Interface SIN section 8.2.1]
Note: Can't test for an 'unspecified error' as it could be anything. Added w.r.t WTA meeting

ID: wtai/public/wmlscript/makecall/8
Class: A
Text: When the MAKECALL function is called from WMLScript it must return invalid if the function fails. [WAP Wireless Telephony Application Interface SIN section 8.2.1]
Note: Call the MAKECALL function from WMLScript with a predefined number and an incorrect number of parameters. Make sure that the function returns invalid. This will require the user entering a valid phone number in the setup of the test session.

ID: wtai/public/wmlscript/makecall/9
Class: A
Text: When the MAKECALL function is called from WMLScript it must return invalid if the phone number is not as defined in section 6.5 [WAP Wireless Telephony Application Interface SIN section 8.2.1]
Note: Call the MAKECALL function from WMLScript with an invalid number. Make sure that the function returns invalid.

8.2.2 WTAPublic.sendDTMF

ID: wtai/public/wmlscript/senddtmf/1
Class: A
Text: When the public SENDDTMF function is called through WMLScript it must send the DTMF to the number specified. [WAP Wireless Telephony Application Interface SIN section 8.2.2]
Note: Setup a call using makeCall. Use the public SENDDTMF function correctly through WMLScript and make sure the specified DTMF sequence is transmitted to the destination phone. This will require the tester to have access to a device that can receive and interpret DTMF sequences. Changed w.r.t WTA meeting

ID: wtai/public/wmlscript/senddtmf/2
Class: A
Text: When the public SENDDTMF function is called through WMLScript it must return an empty string if sucessfull. [WAP Wireless Telephony Application Interface SIN section 8.2.2]
Note: Call the public SENDDTMF function correctly through WMLScript and make sure an empty string is returned.

ID: wtai/public/wmlscript/senddtmf/3
Class: A
Text: When the public SENDDTMF function is called through WMLScript it must return the integer value -108 when there is no active voice connection to send the DTMF. [WAP Wireless Telephony Application Interface SIN section 8.2.2]
Note: Call the public SENDDTMF function from WMLScript where there is no active voice connection. Make sure the negative integer -108 is returned. Changed w.r.t WTA meeting

ID: wtai/public/wmlscript/senddtmf/4
Class: B
Text: When the public SENDDTMF function is called through WMLScript it must return the integer value -1 when there is an unspecified error. DTMF. [WAP Wireless Telephony Application Interface SIN section 8.2.2]
Note: Can't test for an 'unspecified error' as it could be anything. Added w.r.t WTA meeting

ID: wtai/public/wmlscript/senddtmf/5
Class: A
Text: When the public SENDDTMF function is called through WMLScript it must return invalid if it fails. [WAP Wireless Telephony Application Interface SIN section 8.2.2]
Note: Call the public SENDDTMF function from WMLScript with the wrong number of parameters and make sure that invalid is returned.

ID: wtai/public/wmlscript/senddtmf/6
Class: A
Text: When the public SENDDTMF function is called through WMLScript and the dtmf parameter is not a dialstring as defined in section 6.5 the function must return invalid. [WAP Wireless Telephony Application Interface SIN section 8.2.2]
Note: Call the Spublic SENDDTMF function from WMLScript with a dialstring not as defined in section 6.5. Make sure that the function returns invalid.

ID: wtai/public/wmlscript/senddtmf/7
Class: A
Text: When the public SENDDTMF function is called through WMLScript and the dtmf parameter includes a pause the pause should cause a one second pause in the DTMF sent. [WAP Wireless Telephony Application Interface SIN section 8.2.2]
Note: Call the public SENDDTMF function from WMLScript with a dialstring including a pause. Make sure that the received DTMF has the pause. This will require the tester to have access to a device that can receive and interpret DTMF sequences. Added w.r.t WTA meeting

ID: wtai/public/wmlscript/senddtmf/8
Class: A
Text: When the public SENDDTMF function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 8.2.2]
Note: Create a deck that uses the SETUP function to call a known number. Then use the public SENDDTMF function to send DTMF to that number. When the user 'clicks' the link to send the DTMF they must be asked for permission to send it. Grant single access permission and make sure the DTMF is sent then end the call. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/public/wmlscript/senddtmf/9
Class: A
Text: When the user gives context permission to the public SENDDTMF function the user must only be asked for permission each time the public SENDDTMF function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 8.2.2]
Note: Create a deck that uses the SETUP function to call a known number that can accept DTMF. Then use the public SENDDTMF function to send DTMF to that number. When the user 'clicks' the link to send the DTMF they must be asked for permission to send it. Grant context permission and make sure the DTMF is sent then end the call. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

8.2.3 WTAPublic.addPBEntry

ID: wtai/public/wmlscript/addphone/1
Class: A
Text: When a new name and number is to be added to the phonebook through WMLScript they must be displayed to the user when obtaining permission. And the user must confirm all changes made [WAP Wireless Telephony Application Interface SIN section 8.2.3]
Note: Create a new entry to be added to the phonebook through WMLScript. Make sure that it is displayed to the user and the user has to give permission for that entry to be added to the phonebook.

ID: wtai/public/wmlscript/addphone/2
Class: A
Text: When the add phonebook entry function is called from WMLScript it must return invalid if it fails. [WAP Wireless Telephony Application Interface SIN section 8.2.3]
Note: Call the add phonebook entry function from WMLScript with the wrong number of parameters. Make sure that it returns invalid.

ID: wtai/public/wmlscript/addphone/3
Class: A
Text: When the add phonebook entry function is called through WMLScript it must return the negative integer -100 if the name parameter is unacceptable or too long. [WAP Wireless Telephony Application Interface SIN section 8.2.3]
Note: Call the add phonebook entry function from WMLScript and insert new information with a name that is too long. Make sure that -100 is returned. Can ask in the setup of the test session what the max length is. Added w.r.t WTA meeting

ID: wtai/public/wmlscript/addphone/4
Class: A
Text: When the add phonebook entry function is called through WMLScript it must return the negative integer -101 if the number parameter is not a valid phone number [WAP Wireless Telephony Application Interface SIN section 8.2.3]
Note: Call the add phonebook entry function from WMLScript and insert new information with a number that contains characters. Make sure that -101 is returned. Added w.r.t WTA meeting

ID: wtai/public/wmlscript/addphone/5
Class: A
Text: When the add phonebook entry function is called through WMLScript it must return the negative integer -102 if the number parameter is too long. [WAP Wireless Telephony Application Interface SIN section 8.2.3]
Note: Call the add phonebook entry function from WMLScript and insert new information with a number that is too long. Make sure that -102 is returned. Can ask in the setup of the test session what the max length is. Added w.r.t WTA meeting

ID: wtai/public/wmlscript/addphone/6
Class: B
Text: When the add phonebook entry function is called through WMLScript it must return the negative integer -103 if the phonebook entry entry can not be written [WAP Wireless Telephony Application Interface SIN section 8.2.3]
Note: Can't test as there is not one way for the reason an entry could not be written

ID: wtai/public/wmlscript/addphone/7
Class: A
Text: When the add phonebook entry function is called through WMLScript it must return the negative integer -104 if the phonebook is full [WAP Wireless Telephony Application Interface SIN section 8.2.3]
Note: Call the add phonebook entry function from WMLScript and insert new information in a loop untill the phonebook is full. Make sure that -104 is returned when the phonebook is full. Can ask in the setup of the test session How many entries can be added. This test may not be feasable as user permission will be needed for each entry which may take a very long time. Added w.r.t WTA meeting

ID: wtai/public/wmlscript/addphone/8
Class: B
Text: When the add phonebook entry function is called through WMLScript it must return the negative integer -1 if there is an unspecified error [WAP Wireless Telephony Application Interface SIN section 8.2.3]
Note: Can't test for an 'unspecified error' as it could be anything.

ID: wtai/public/wmlscript/addphone/9
Class: A
Text: When a new entry is entered from WMLScript the user agent must store the entered values as specified when calling the function. [WAP Wireless Telephony Application Interface SIN section 8.2.3]
Note: Call the add phonebook entry function from WMLScript and insert new information. Check the phonebook to make sure the entry has been entered correctly. Changed w.r.t WTA meeting

ID: wtai/public/wmlscript/addphone/10
Class: A
Text: When the add phonebook entry function is called from WMLScript it must return an empty string if sucessful. [WAP Wireless Telephony Application Interface SIN section 8.2.3]
Note: Call the add phonebook entry function from WMLScript and insert new information. Make sure that an empty string is returned.

8.3 URI Functions

There are no testable assertions in this section.

8.3.1 wtai://wp/mc

ID: wtai/public/uri/makecall/1
Class: A
Text: When the make call function is called from a uri the user agent must display the number to the user. [WAP Wireless Telephony Application Interface SIN section 8.3.1]
Note: Call the make call function from a uri and make sure the number to be called is shown to the user.

ID: wtai/public/uri/makecall/2
Class: A
Text: When the make call function is called from a uri the user must explicitly acknowledge the operation. [WAP Wireless Telephony Application Interface SIN section 8.3.1]
Note: Call the make call function from a uri and make sure the user has to explicitly acknowledge the operation.

ID: wtai/public/uri/makecall/3
Class: A
Text: When the make call function is called from a uri the number specified must be the number called. [WAP Wireless Telephony Application Interface SIN section 8.3.1]
Note: Call the make call function from a uri with a predefined number and make sure that number is the one that is rung. This will require the user entering a valid phone number in the setup of the test session.

ID: wtai/public/uri/makecall/4
Class: A
Text: When the make call function is called from a uri it must return an empty string if sucessful. [WAP Wireless Telephony Application Interface SIN section 8.3.1]
Note: Call the make call function from a uri with a predefined number and make sure that that number is the one that is rung and the function returns an empty string. This will require the user entering a valid phone number in the setup of the test session.

ID: wtai/public/uri/makecall/5
Class: A
Text: When the make call function is called from a uri it must return the string "-105" when the called party is busy. [WAP Wireless Telephony Application Interface SIN section 8.3.1]
Note: Take the known phone off the hook and then call the make call function from a uri on the test user agent to phone the 'off the hook' phone. Make sure that the string "-105" is returned. Added w.r.t WTA meeting

ID: wtai/public/uri/makecall/6
Class: A
Text: When the make call function is called from a uri it must return the string "-106" when the network is not available [WAP Wireless Telephony Application Interface SIN section 8.3.1]
Note: Put the phone in an isolated booth, or somewhere where the network can not be found. Call the make call function from a uri to call a known number. Make sure that the string "-106" is returned. Added w.r.t WTA meeting

ID: wtai/public/uri/makecall/7
Class: A
Text: When the make call function is called from a uri it must return the string "-107" when the called party did not answer. [WAP Wireless Telephony Application Interface SIN section 8.3.1]
Note: Create a deck that calls the make call function from a uri to call a known number. Don't answer the called phone. Make sure that the string "-107" is returned. Added w.r.t WTA meeting

ID: wtai/public/uri/makecall/8
Class: B
Text: When the make call function is called from a uri it must return the string "-1" when there is an unspecified error [WAP Wireless Telephony Application Interface SIN section 8.3.1]
Note: Can't test for an 'unspecified error' as it could be anything. Added w.r.t WTA meeting

ID: wtai/public/uri/makecall/9
Class: A
Text: When the make call function is called from a uri it must return an invocation error ("-200") if the phone number is not as defined in section 6.5 [WAP Wireless Telephony Application Interface SIN section 8.3.1]
Note: Call the make call function from a uri with an invalid number. Make sure that the function returns the string "-200"

ID: wtai/public/uri/makecall/10
Class: A
Text: When the make call function is called from a uri and the user does not give permission, "-200" must be returned [WAP Wireless Telephony Application Interface SIN section 8.3.1]
Note: Call the make call function from a uri and don't give permission to it. Make sure that "-200" is returned. Added w.r.t WTA meeting

8.3.2 wtai://wp/sd

ID: wtai/public/uri/senddtmf/1
Class: A
Text: When the SENDDTMF function is called from a uri it must send the DTMF to the number specified. [WAP Wireless Telephony Application Interface SIN section 8.3.2]
Note: Setup a call using makeCall. Use the sendDTMF function correctly through a uri and make sure the specified DTMF sequence is transmitted to the destination phone. This will require the tester to have access to a device that can receive and interpret DTMF sequences. Changed w.r.t WTA meeting

ID: wtai/public/uri/senddtmf/2
Class: A
Text: When the send dtmf function is called from a uri it must return the string "-108" when the DTMF could not be sent because of no active voice connection [WAP Wireless Telephony Application Interface SIN section 8.3.2]
Note: Call the send dtmf function from a uri when there is no active voice connection. Make sure that the string "-108" is returned. Changed w.r.t WTA meeting

ID: wtai/public/uri/senddtmf/3
Class: A
Text: When the send dtmf function is called from a uri and the dtmf parameter is not a dialstring as defined in section 6.5, the string "-200" must be returned [WAP Wireless Telephony Application Interface SIN section 8.3.2]
Note: Call the send dtmf function from a uri with a dialstring not as defined in section 6.5. Make sure that the function returns the string "-200" Changed w.r.t WTA meeting

ID: wtai/public/uri/senddtmf/4
Class: A
Text: When the send dtmf function is called from a uri it must return an empty string if sucessful. [WAP Wireless Telephony Application Interface SIN section 8.3.2]
Note: Call the send dtmf function correctly from a uri and make sure an empty string is returned.

ID: wtai/public/uri/senddtmf/5
Class: A
Text: When the send dtmf function is called from a uri and user permission is not granted the DTMF should not be sent, and "-200" should be returned. [WAP Wireless Telephony Application Interface SIN section 8.3.2]
Note: Create a call that can accept DTMF. Then call the send dtmf function correctly from a uri. Refuse permission and make sure that the DTMF is not sent and "-200" is returned. Added w.r.t WTA meeting

ID: wtai/public/uri/senddtmf/6
Class: A
Text: When the SENDDTMF function is called from a uri it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 8.3.2]
Note: Create a deck that uses the SETUP function to call a known number. Then use the SENDDTMF function to send DTMF to that number. When the user 'clicks' the link to send the DTMF they must be asked for permission to send it. Grant single access permission and make sure the DTMF is sent then end the call. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/public/uri/senddtmf/7
Class: A
Text: When the user gives context permission to the SENDDTMF function through a uri the user must only be asked for permission each time the SENDDTMF function is called in a new context from a uri. [WAP Wireless Telephony Application Interface SIN section 8.3.2]
Note: Create a deck that uses the SETUP function to call a known number that can accept DTMF. Then use the SENDDTMF function from a uri to send DTMF to that number. When the user 'clicks' the link to send the DTMF they must be asked for permission to send it. Grant context permission and make sure the DTMF is sent then end the call. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

8.3.3 wtai://wp/ap

ID: wtai/public/uri/addphone/1
Class: A
Text: When a new name and number is to be added to the phonebook via a uri they must be displayed to the user and the user must have the option to confirm all changes made to the phonebook. [WAP Wireless Telephony Application Interface SIN section 8.3.3]
Note: Create a new entry to be added to the phonebook from a uri. Make sure that it is displayed to the user and the user has to confirm their entry.

ID: wtai/public/uri/addphone/2
Class: A
Text: When a new name and number is to be added to the phonebook via a uri and the user does not grant permission to do so, an invocation error ("-200") must be returned [WAP Wireless Telephony Application Interface SIN section 8.3.3]
Note: Create a new entry to be added to the phonebook from a uri. Don't grant permission to add the entry. Make sure that the entry is not added to the address book and that the string "-200" is returned. Added w.r.t WTA meeting

ID: wtai/public/uri/addphone/3
Class: A
Text: When the add phonebook entry function is called through a uri it must return the string "-100" if the name parameter is unacceptable or too long. [WAP Wireless Telephony Application Interface SIN section 8.3.3]
Note: Call the add phonebook entry function from a uri and insert new information with a name that is too long. Make sure that "-100" is returned. Can ask in the setup of the test session what the max length is. Added w.r.t WTA meeting

ID: wtai/public/uri/addphone/4
Class: A
Text: When the add phonebook entry function is called through a uri it must return the string "-101" if the number parameter is not a valid phone number [WAP Wireless Telephony Application Interface SIN section 8.3.3]
Note: Call the add phonebook entry function from a uri and insert new information with a number that contains alpha characters. Make sure that "-101" is returned. Added w.r.t WTA meeting

ID: wtai/public/uri/addphone/5
Class: A
Text: When the add phonebook entry function is called through a uri it must return the string "-102" if the number parameter is too long. [WAP Wireless Telephony Application Interface SIN section 8.3.3]
Note: Call the add phonebook entry function from a uri and insert new information with a number that is too long. Make sure that "-102" is returned. Can ask in the setup of the test session what the max length is. Added w.r.t WTA meeting

ID: wtai/public/uri/addphone/6
Class: B
Text: When the add phonebook entry function is called through a uri it must return the string "-103" if the phonebook entry entry can not be written [WAP Wireless Telephony Application Interface SIN section 8.3.3]
Note: Can't test as there is not one way for the reason an entry could not be written. Added w.r.t WTA meeting

ID: wtai/public/uri/addphone/7
Class: A
Text: When the add phonebook entry function is called through a uri it must return the string "-104" if the phonebook is full [WAP Wireless Telephony Application Interface SIN section 8.3.3]
Note: Call the add phonebook entry function from a uri and insert new information in a loop untill the phonebook is full. Make sure that "-104" is returned when the phonebook is full. Can ask in the setup of the test session How many entries can be added. This test may not be feasable as user permission will be needed for each entry which may take a very long time. Added w.r.t WTA meeting

ID: wtai/public/uri/addphone/8
Class: B
Text: When the add phonebook entry function is called through a uri it must return the string "-1" if there is an unspecified error [WAP Wireless Telephony Application Interface SIN section 8.3.3]
Note: Can't test for an 'unspecified error' as it could be anything.

ID: wtai/public/uri/addphone/9
Class: A
Text: When a new entry is entered via a uri the user agent must store the entry with the parameters sent in the uri. [WAP Wireless Telephony Application Interface SIN section 8.3.3]
Note: Call the add phonebook entry function from a uri and insert new information. Check the phonebook to make sure the entry has been entered correctly.

ID: wtai/public/uri/addphone/10
Class: A
Text: When the add phonebook entry function is called from a uri it must return an empty string if sucessful. [WAP Wireless Telephony Application Interface SIN section 8.3.3]
Note: Call the add phonebook entry function correctly from a uri and insert new information. Make sure that an empty string is returned.

9 Network Common WTAI - Voice Calls

There are no testable assertions in this section.

9.1 WTA Events

ID: wtai/voice/events/1
Class: A
Text: When an incomming call occurs, events on the user agent must occur in the following order. Incomming call, Call connected [WAP Wireless Telephony Application Interface SIN section 9.1 & 5.2.1]
Note: Create global bindings for the wtaev-cc/ic and wtaev-cc/co events that will show a card or set a variable if it occurs. Use another phone to call the test device. Make sure that the card for the incomming call event is shown/variable set. Answer the call and make sure that the card for the call connected event is shown or variable set. Added w.r.t Doc-review

ID: wtai/voice/events/2
Class: A
Text: When an outgoing call occurs, events on the user agent must occur in the following order. Outgoing call, call alerting, call connected. [WAP Wireless Telephony Application Interface SIN section 9.1 & 5.2.1]
Note: Create global bindings for the wtaev-cc/oc, wtaev-cc/cc and wtaev-cc/co events that will show a card or set a variable if it occurs. Then call another known phone. Make sure that the card for the outgoing call event is shown/variable set. Then that the card for the call allerting event is shown/variable set. Answer the call and make sure that the card for the call connected event is shown or variable set. Added w.r.t Doc-review

9.1.1 wtaev-cc/ic

ID: wtai/voice/events/ic/1
Class: A
Text: When an incomming voice call reaches the user agent an incomming call event must occur. [WAP Wireless Telephony Application Interface SIN section 9.1.1]
Note: Create a temporary binding to the wtaev-cc/ic event that will show a card or set a variable if it occurs. Call the device and make sure that the card is shown or variable set. Added w.r.t WTA meeting

ID: wtai/voice/events/ic/2
Class: A
Text: When the incomming call event occurs it must return the callhandle of the incomming call as its first parameter. [WAP Wireless Telephony Application Interface SIN section 9.1.1]
Note: Create a temporary binding to the wtaev-cc/ic event that will show a card with the callhandle ($1). Call the device, then terminate that call handle to make sure that the correct handle was returned. Make sure that the calling party is disconnected. Added w.r.t WTA meeting

ID: wtai/voice/events/ic/3
Class: A
Text: When the incomming call event occurs it must return the calling party's phone number as its second parameter. [WAP Wireless Telephony Application Interface SIN section 9.1.1]
Note: Create a temporary binding to the wtaev-cc/ic event that will show a card with the calling party's number ($2). Call the device from a known number and make sure that the number shown is the number of the calling party. Added w.r.t WTA meeting

ID: wtai/voice/events/ic/4
Class: A
Text: When the incomming call event occurs and the calling party's phone number can't be determined an empty string must be returned as its second parameter [WAP Wireless Telephony Application Interface SIN section 9.1.1]
Note: Create a temporary binding to the wtaev-cc/ic event that will show a card with the calling party's number. Call the device from a phone that withholds its number. Make sure that an empty string is returned. Added w.r.t WTA meeting

9.1.2 wtaev-cc/cl

ID: wtai/voice/events/cl/1
Class: A
Text: When a voice call has been cleared a call cleared event must occur. [WAP Wireless Telephony Application Interface SIN section 9.1.2]
Note: Create a temporary binding to the wtaev-cc/cl event that will show a card or set a variable if it occurs. Call a number from the device and then end the call. make sure that the card is shown or the variable has been set. Added w.r.t WTA meeting

ID: wtai/voice/events/cl/2
Class: A
Text: When the call cleared event occurs it must return the callhandle of the cleared call as its first parameter. [WAP Wireless Telephony Application Interface SIN section 9.1.2]
Note: Create a temporary binding to the wtaev-cc/cl event that will show a card with the callhandle ($1). Call the device, get the call handle, then terminate that call. Make sure that the correct handle is returned. Added w.r.t WTA meeting

ID: wtai/voice/events/cl/3
Class: A
Text: When the call cleared event occurs it must return "0" as its second parameter if the call was terminated normally. [WAP Wireless Telephony Application Interface SIN section 9.1.2]
Note: Create a temporary binding to the wtaev-cc/cl event that will return the result of the event ($2). Call the device, then terminate that call normally. Make sure that "0" was returned. Added w.r.t WTA meeting

ID: wtai/voice/events/cl/4
Class: B
Text: When the call cleared event occurs it must return "1" as its second parameter if the event occured for an unspecified reason. [WAP Wireless Telephony Application Interface SIN section 9.1.2]
Note: Can't test for an unspecified reason. Added w.r.t WTA meeting

ID: wtai/voice/events/cl/5
Class: B
Text: When the call cleared event occurs it must return "2" as its second parameter if the event occured for a network specific reason. [WAP Wireless Telephony Application Interface SIN section 9.1.2]
Note: Can't test for a network specific reason reason. Added w.r.t WTA meeting

ID: wtai/voice/events/cl/6
Class: A
Text: When the call cleared event occurs it must return "3" as its second parameter if the event occured because the voice call was dropped. [WAP Wireless Telephony Application Interface SIN section 9.1.2]
Note: Create a temporary binding to the wtaev-cc/cl event that will return the result of the event ($2). Call the device, then put it in a place where it can't find the network (shielded box). Make sure that the call is dropped and that "3" was returned. Added w.r.t WTA meeting

ID: wtai/voice/events/cl/7
Class: A
Text: When the call cleared event occurs it must return "4" as its second parameter if the called party was busy. [WAP Wireless Telephony Application Interface SIN section 9.1.2]
Note: Create a temporary binding to the wtaev-cc/cl event that will return the result of the event ($2). Take the phone to be called off the hook. Call the off the hook phone using the SETUP function. Make sure that "4" was returned. Added w.r.t WTA meeting

ID: wtai/voice/events/cl/8
Class: A
Text: When the call cleared event occurs it must return "5" as its second parameter if the network is not available. [WAP Wireless Telephony Application Interface SIN section 9.1.2]
Note: Create a temporary binding to the wtaev-cc/cl event that will return the result of the event ($2). Put the phone in a place it where it can't find the network (shielded box). Call a known phone number using SETUP. Make sure that "5" was returned. Added w.r.t WTA meeting

ID: wtai/voice/events/cl/9
Class: A
Text: When the call cleared event occurs it must return "6" as its second parameter if the called party did not answer. [WAP Wireless Telephony Application Interface SIN section 9.1.2]
Note: Create a temporary binding to the wtaev-cc/cl event that will return the result of the event ($2). Call a known phone number using SETUP. Don't answer that call. Make sure that "6" was returned. Added w.r.t WTA meeting

9.1.3 wtaev-cc/co

ID: wtai/voice/events/co/1
Class: A
Text: When a voice call has been connected a call connected event must occur. [WAP Wireless Telephony Application Interface SIN section 9.1.3]
Note: Create a temporary binding to the wtaev-cc/co event that will show a card or set a variable if it occurs. Call the device and make sure that the call is connected. Then make sure that the card is shown or variable set. Added w.r.t WTA meeting

ID: wtai/voice/events/co/2
Class: A
Text: When the call connected event occurs it must return the callhandle of the connected call as its first parameter. [WAP Wireless Telephony Application Interface SIN section 9.1.3]
Note: Create a temporary binding to the wtaev-cc/co event that will show a card with the callhandle ($1). Call the device and make sure that the call has been connected, then terminate that call handle to make sure that the correct handle was returned. Make sure that the calling party is disconnected. Added w.r.t WTA meeting

ID: wtai/voice/events/co/3
Class: A
Text: When the call connected event occurs it must return the far end party's phone number as its second parameter. [WAP Wireless Telephony Application Interface SIN section 9.1.3]
Note: Create a temporary binding to the wtaev-cc/co event that will show a card with the far end party's number ($2). Call a known phone number and make sure that the number shown is the number of the far end party. Added w.r.t WTA meeting

ID: wtai/voice/events/co/4
Class: B
Text: When the call connected event occurs and the far end party's phone number can't be determined an empty string must be returned as its second parameter [WAP Wireless Telephony Application Interface SIN section 9.1.3]
Note: There is no way that you can make sure that the called party's phone number can't be determined. Added w.r.t WTA meeting

9.1.4 wtaev-cc/oc

ID: wtai/voice/events/oc/1
Class: A
Text: When an outgoing voice call is being set up an outgoing call event must occur. [WAP Wireless Telephony Application Interface SIN section 9.1.4]
Note: Create a temporary binding to the wtaev-cc/oc event that will show a card or set a variable if it occurs. Call a known number using SETUP and make sure that the card is shown or variable set. Added w.r.t WTA meeting

ID: wtai/voice/events/oc/2
Class: A
Text: When the outgoing call event occurs it must return the callhandle of the outgoing call as its first parameter. [WAP Wireless Telephony Application Interface SIN section 9.1.4]
Note: Create a temporary binding to the wtaev-cc/oc event that will show a card with the callhandle ($1). Call a known phone number and the callhandle should be shown. Then terminate that call handle to make sure that the correct handle was returned. Make sure that the called party is disconnected. Added w.r.t WTA meeting

ID: wtai/voice/events/oc/3
Class: A
Text: When the outgoing call event occurs it must return the called party's phone number as its second parameter. [WAP Wireless Telephony Application Interface SIN section 9.1.4]
Note: Create a temporary binding to the wtaev-cc/oc event that will show a card with the called party's number ($2). Call a known phone number number and make sure that the number shown is the number of the called party. Added w.r.t WTA meeting

9.1.5 wtaev-cc/cc

ID: wtai/voice/events/cc/1
Class: A
Text: When an outgoing voice call is ringing at the called party, a call alerting event must occur [WAP Wireless Telephony Application Interface SIN section 9.1.5]
Note: Create a temporary binding to the wtaev-cc/cc event that will show a card or set a variable if it occurs. Call a known number using SETUP and make sure that the called party is ringing and that the card is shown or variable set. Added w.r.t WTA meeting

ID: wtai/voice/events/cc/2
Class: A
Text: When the call alerting event occurs it must return the callhandle of the outcoing call as its first parameter. [WAP Wireless Telephony Application Interface SIN section 9.1.5]
Note: Create a temporary binding to the wtaev-cc/cc event that will show a card with the callhandle ($1). Call a known phone number and make sure that the called phone is ringing. The callhandle should be shown. Then terminate that call handle to make sure that the correct handle was returned. Make sure that the called party is disconnected. Added w.r.t WTA meeting

9.1.6 wtaev-cc/dtmf

ID: wtai/voice/events/dtmf/1
Class: A
Text: When a dtmf sequence reaches the user agent a dtmf sent event must occur. [WAP Wireless Telephony Application Interface SIN section 9.1.6]
Note: Create a temporary binding to the wtaev-cc/dtmf event that will show a card or set a variable if it occurs. Call the device send a dtmf sequence to it and make sure that the card is shown or variable set. Added w.r.t WTA meeting

ID: wtai/voice/events/dtmf/2
Class: A
Text: When the dtmf sent event occurs it must return the callhandle of the call the dtmf is being sent through as its first parameter. [WAP Wireless Telephony Application Interface SIN section 9.1.6]
Note: Create a temporary binding to the wtaev-cc/dtmf event that will show a card with the callhandle ($1). Call the device and send a dtmf sequence, get the call handle, then terminate that call handle to make sure that the correct handle was returned. Make sure that the call sending the dtmf is disconnected. Added w.r.t WTA meeting

ID: wtai/voice/events/dtmf/3
Class: A
Text: When the dtmf sent event occurs it must return the sent dtmf sequence as its second parameter [WAP Wireless Telephony Application Interface SIN section 9.1.6]
Note: Create a temporary binding to the wtaev-cc/dtmf event that will show a card with the sent dtmf sequence ($2). Call the device and send a dtmf sequence. Make sure that the card is shown with the correct dtmf sequence. Added w.r.t WTA meeting

9.2 WMScript Functions

There are no testable assertions in this section.

9.2.1 WTAVoiceCall.setup

ID: wtai/voice/wmlscript/setup/1
Class: A
Text: When the setup call function is called it must initiate a mobile-originated call [WAP Wireless Telephony Application Interface SIN section 9.2.1]
Note: Create a call and make sure that it is set up.

ID: wtai/voice/wmlscript/setup/2
Class: A
Text: When the MODE of the setup call function is set to "true" the operating system will keep the call even when the current context has terminated. [WAP Wireless Telephony Application Interface SIN section 9.2.1]
Note: Create a call with the MODE set to "true". Then end the current context. The call must not be dropped. This will have to be done through the standard MMI as all information is lost when the context has been terminated. Changed w.r.t WTA meeting

ID: wtai/voice/wmlscript/setup/3
Class: A
Text: When the MODE of the setup call function is set to "false" the operating system will release the call if the context should be terminated. [WAP Wireless Telephony Application Interface SIN section 9.2.1]
Note: Create a call with the MODE set to "false". Then end the current context. The call must then be dropped. This could be made automatic by creating the call. Getting the call handle using LIST. Ending the context. Then seeing if the handle is still there using LIST again. This would rely on the LIST function working correctly though.

ID: wtai/voice/wmlscript/setup/4
Class: A
Text: When the setup call function is called it must return invalid when unsucessful. [WAP Wireless Telephony Application Interface SIN section 9.2.1]
Note: Create a call with incorrect parameters and make sure the returned value is invalid

ID: wtai/voice/wmlscript/setup/5
Class: A
Text: When the setup call function is called it must return the handle of the new call when sucessful. [WAP Wireless Telephony Application Interface SIN section 9.2.1]
Note: Create a call and make sure the returned value is not negative or invalid. Then use the CALLSTATUS function to make sure that the handle given is in the 'in call' state. Changed w.r.t WTA meeting

ID: wtai/voice/wmlscript/setup/6
Class: A
Text: When the NUMBER parameter of the SETUP function is not a phone number as defined in [FORMAT] it must return invalid [WAP Wireless Telephony Application Interface SIN section 9.2.1]
Note: Create a call with a phone number in an invalid format. Make sure invalid is returned.

ID: wtai/voice/wmlscript/setup/7
Class: A
Text: When the SETUP function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 9.2.1]
Note: Create a deck that uses the SETUP function to call a known number. When the user 'clicks' the link to SETUP the call they must be asked for permission to send it. Grant single access permission and make sure the call is setup. End the call. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/voice/wmlscript/setup/8
Class: A
Text: When the user gives context permission to the SETUP function the user must only be asked for permission each time the SETUP function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 9.2.1]
Note: Create a deck that uses the SETUP function to call a known number. When the user 'clicks' the link to setup the call they must be asked for permission to send it. Grant context permission and make sure the call is setup, then end the call. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/voice/wmlscript/setup/9
Class: A
Text: When the user gives blanket permission to the SETUP function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 9.2.1]
Note: Depending on the device, set blanket permission for the SETUP function. Then Create a deck that uses the SETUP function to call a known number. When the user 'clicks' the link to make the call they must not be asked for permission to make the call. Make sure the number is rung then end the call. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

9.2.2 WTAVoiceCall.accept

ID: wtai/voice/wmlscript/accept/1
Class: A
Text: When the ACCEPT call function is called it must accept the voice call that is waiting to be answered. [WAP Wireless Telephony Application Interface SIN section 9.2.2]
Note: Phone the test device from another phone. This could be done automatically using another WTA user agent. Call the ACCEPT function wit hthe test user agent and make sure that the waiting voice call is answered.

ID: wtai/voice/wmlscript/accept/2
Class: A
Text: When the MODE of the accept call function is set to "true" the operating system will keep the call even when the current context has terminated. [WAP Wireless Telephony Application Interface SIN section 9.2.2]
Note: Accept a call with the MODE set to "true". Then end the current context. The call must not be dropped. Use MMI to check that the call is still active. Changed w.r.t WTA meeting

ID: wtai/voice/wmlscript/accept/3
Class: A
Text: When the MODE of the accept call function is set to "false" the operating system will release the call if the context should be terminated. [WAP Wireless Telephony Application Interface SIN section 9.2.2]
Note: Accept a call with the MODE set to false. Then end the current context. The call must then be dropped. Use the MMI to make sure that the call has been dropped. Changed w.r.t WTA meeting

ID: wtai/voice/wmlscript/accept/4
Class: A
Text: When the accept call function is called it must return invalid when unsucessful. [WAP Wireless Telephony Application Interface SIN section 9.2.2]
Note: Accept a call with incorrect parameters and make sure the returned value is invalid

ID: wtai/voice/wmlscript/accept/5
Class: A
Text: When the accept call function is called it must return an empty string when sucessful. [WAP Wireless Telephony Application Interface SIN section 9.2.2]
Note: Accept a call and make sure the returned value is an empty string.

ID: wtai/voice/wmlscript/accept/6
Class: A
Text: When the ACCEPT call function is called and the callhandle parameter does not refer to an existing voice call, it must return invalid. [WAP Wireless Telephony Application Interface SIN section 9.2.2]
Note: Call the ACCEPT function with an invalid callhandle. Make sure that invalid is returned.

ID: wtai/voice/wmlscript/accept/7
Class: A
Text: When the ACCEPT function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 9.2.2]
Note: Create a deck that uses the ACCEPT function to accept a call. When the user 'clicks' the link to ACCEPT the call they must be asked for permission to accept it. Grant single access permission and make sure the call is accepted. End the call. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/voice/wmlscript/accept/8
Class: A
Text: When the user gives context permission to the ACCEPT function the user must only be asked for permission each time the ACCEPT function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 9.2.2]
Note: Create a deck that uses the ACCEPT function to accept a call. When the user 'clicks' the link to setup the call they must be asked for permission to accept it. Grant context permission and make sure the call is accepted, then end the call. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/voice/wmlscript/accept/9
Class: A
Text: When the user gives blanket permission to the ACCEPT function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 9.2.2]
Note: Depending on the device, set blanket permission for the ACCEPT function. Then Create a deck that uses the ACCEPT function accept call When the user 'clicks' the link to accept the call they must not be asked for permission to accept it. Make sure the call is accepted then end the call. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

9.2.3 WTAVoiceCall.release

ID: wtai/voice/wmlscript/release/1
Class: A
Text: When the release call function is called it must release the call acording to the callhandle parameter. [WAP Wireless Telephony Application Interface SIN section 9.2.3]
Note: Create a call to a known phone. Then end the call using the release call function. Make sure that the call cleared event occurs and that the returned handle is that of the call just cleared. Changed w.r.t WTA meeting

ID: wtai/voice/wmlscript/release/2
Class: A
Text: When the release call function is called it must return invalid when unsucessful. [WAP Wireless Telephony Application Interface SIN section 9.2.3]
Note: Create a call to the user agent. Could be done automatically using another WTA user agent. Accept the call. Release a call with incorrect parameters and make sure invalid is returned. Also make sure that the call has not been cleared. Could use call status to check that call is still active. Changed w.r.t WTA meeting

ID: wtai/voice/wmlscript/release/3
Class: A
Text: When the release call function is called it must return an empty string when sucessful. [WAP Wireless Telephony Application Interface SIN section 9.2.3]
Note: Create a call to the test user agent. Could be done automatically using another WTA user agent. Accept the call. Then release the call and make sure the returned value is an empty string. Also check that the call has ended using the call status function (6 or 'invalid'). Changed w.r.t WTA meeting

ID: wtai/voice/wmlscript/release/4
Class: A
Text: When the release call function is called and the callhandle parameter does not refer to a voice call that can be released, invalid must be returned [WAP Wireless Telephony Application Interface SIN section 9.2.3]
Note: Call the RELEASE function with an invalid callhandle. Make sure invalid is returned.

ID: wtai/voice/wmlscript/release/5
Class: A
Text: When the RELEASE function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 9.2.3]
Note: Create a deck that uses the RELEASE function to release a known call. When the user 'clicks' the link to release the call they must be asked for permission to release it. Grant single access permission and make sure the call is released. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/voice/wmlscript/release/6
Class: A
Text: When the user gives context permission to the RELEASE function the user must only be asked for permission each time the RELEASE function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 9.2.3]
Note: Create a deck that uses the RELEASE function to release a known call. When the user 'clicks' the link to release the call they must be asked for permission to release it. Grant context permission and make sure the call is released. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/voice/wmlscript/release/7
Class: A
Text: When the user gives blanket permission to the RELEASE function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 9.2.3]
Note: Depending on the device, set blanket permission for the RELEASE function. Then Create a deck that uses the RELEASE function to release a call. When the user 'clicks' the link to rllease the call they must not be asked for permission to release it. Make sure call is released. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

9.2.4 WTAVoiceCall.sendDTMF

ID: wtai/voice/wmlscript/senddtmf/1
Class: A
Text: When the SENDDTMF function is called, the call with the specified callhandle must receive the DTMF. [WAP Wireless Telephony Application Interface SIN section 9.2.4]
Note: Setup a call and then send a DTMF to that call. Make sure that call received the DTMF. This will require the tester to have access to a device that can receive DTMF. This number will have to be a parameter at the setup of the session

ID: wtai/voice/wmlscript/senddtmf/2
Class: A
Text: When the send DTMF tones function is called it must return invalid when unsucessful [WAP Wireless Telephony Application Interface SIN section 9.2.4]
Note: Send a DTMF with incorrect parameters (include an '&') and make sure the returned value is invalid. This will require the tester to have access to a device that can receive DTMF. This number will have to be a parameter at the setup of the session

ID: wtai/voice/wmlscript/senddtmf/3
Class: A
Text: When the callhandle parameter does not refer to a voice call through which DTMF may be sent, invalid must be returned [WAP Wireless Telephony Application Interface SIN section 9.2.4]
Note: Send a DTMF with an invalid callhandle. Make sure invalid is returned.

ID: wtai/voice/wmlscript/senddtmf/4
Class: A
Text: When the send DTMF tones function is called it must return an empty string when sucessful. [WAP Wireless Telephony Application Interface SIN section 9.2.4]
Note: Send a DTMF and make sure the returned value is an empty string. This will require the tester to have access to a device that can receive DTMF. This number will have to be a parameter at the setup of the session

ID: wtai/voice/wmlscript/senddtmf/5
Class: A
Text: When the SENDDTMF function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 9.2.4]
Note: Create a deck that uses the SETUP function to call a known number. Then use the SENDDTMF function to send DTMF to that number. When the user 'clicks' the link to send the DTMF they must be asked for permission to send it. Grant single access permission and make sure the DTMF is sent then end the call. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/voice/wmlscript/senddtmf/6
Class: A
Text: When the user gives context permission to the SENDDTMF function the user must only be asked for permission each time the SENDDTMF function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 9.2.4]
Note: Create a deck that uses the SETUP function to call a known number that can accept DTMF. Then use the SENDDTMF function to send DTMF to that number. When the user 'clicks' the link to send the DTMF they must be asked for permission to send it. Grant context permission and make sure the DTMF is sent then end the call. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/voice/wmlscript/senddtmf/7
Class: A
Text: When the user gives blanket permission to the SENDDTMF function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 9.2.4]
Note: Depending on the device, set blanket permission for the SENDDTMF function. Then create a deck that uses the SETUP function to call a known number that can accept DTMF. Then use the SENDDTMF function to send dtmf to that number. When the user 'clicks' the link to send the dtmf they must not be asked for permission to send it. Make sure the dtmf is sent. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

ID: wtai/voice/wmlscript/senddtmf/8
Class: A
Text: When the SENDDTMF function is called through WMLScript and the dtmf parameter includes a pause the pause should cause a one second pause in the DTMF sent. [WAP Wireless Telephony Application Interface SIN section 9.2.4]
Note: Call the SENDDTMF function from WMLScript with a dialstring including a pause. Make sure that the received DTMF has the pause. This will require the tester to have access to a device that can receive and interpret DTMF sequences. Added w.r.t WTA meeting

9.2.5 WTAVoiceCall.callStatus

ID: wtai/voice/wmlscript/status/1
Class: A
Text: When the requested field of a call status is NUMBER then the number of the other party must be returned. [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Create a call to the user agent. Could be done automatically with another WTA user agent. Then request the NUMBER of the call from the test user agent with the the CALLSTATUS function. Make sure the correct number is returned.

ID: wtai/voice/wmlscript/status/2
Class: A
Text: When the callhandle parameter does not refer to a voice call for which information is available, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Call the CALLSTATUS function with a non-existent callhandle. Make sure that invalid is returned. To make sure that the handle is non-existent you could use the LIST function to get all current handles. Changed w.r.t WTA meeting

ID: wtai/voice/wmlscript/status/3
Class: A
Text: When the requested field of a call status is MODE then the mode of the call must be returned as "true" when the mode the call was established in was keep. [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Create a call with the mode set to keep, from the user agent to a second phone. This could be left ringing. Then request the MODE of the call. Make sure that "true" is returned. Could be done automatically if we rely on other functions (LIST, SETUP, ACCEPT)

ID: wtai/voice/wmlscript/status/4
Class: A
Text: When the requested field of a call status is MODE then the mode of the call must be returned as "false" when the mode the call was established in was drop. [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Create a call with the mode set to drop, from the user agent to a second phone. This could be left ringing. Then request the MODE of the call. Make sure that "false" is returned. Could be done automatically if we rely on other functions (LIST, SETUP, ACCEPT)

ID: wtai/voice/wmlscript/status/5
Class: A
Text: When the CALLSTATUS function fails, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Call the CALLSTATUS function with an incorrect number of parameters. Make sure that invalid is returned.

ID: wtai/voice/wmlscript/status/6
Class: B
Text: When the requested field of a call status is STATUS, and the status of the call is "call pending", the integer '1' must be returned [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Can't test as the call pending state would be very short in time and could change to "initiating call" at any time.

ID: wtai/voice/wmlscript/status/7
Class: B
Text: When the requested field of a call status is STATUS, and the status of the call is "initiating call", the integer '2' must be returned [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Can't test as the "initiating call" state would only last for a short time and could change to "waiting for ringing" at any time.

ID: wtai/voice/wmlscript/status/8
Class: B
Text: When the requested field of a call status is STATUS, and the status of the call is "waiting for ringing", the integer '3' must be returned [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Can't test as the "waiting for ringing" state would only last for a short time and could change to "waiting for answer" at any time.

ID: wtai/voice/wmlscript/status/9
Class: A
Text: When the requested field of a call status is STATUS, and the status of the call is "waiting for answer", the integer '4' must be returned [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Create a call to another phone. Could be done automatically. Leave the called phone ringing. Then request the STATUS of the call. Make sure that the integer '4' is returned.

ID: wtai/voice/wmlscript/status/10
Class: A
Text: When the requested field of a call status is STATUS, and the status of the call is "in call", the integer '5' must be returned [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Create a call to another phone and answer that call. Could be done automatically with another WTA user agent. Then request the STATUS of the call. Make sure that the integer '5' is returned.

ID: wtai/voice/wmlscript/status/11
Class: B
Text: When the requested field of a call status is STATUS, and the status of the call is "end", the integer '6' must be returned [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Can't test as the end state may only last a very short while before the call handle is ended.

ID: wtai/voice/wmlscript/status/12
Class: C
Scope: "The device is able to return the duration of a voice call"
Text: When the requested field of a call status is "duration", an integer containing the duration of the call in seconds must be returned [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Create a call with to a known number. Then request an the "duration" field for that call. Make sure that an integer approximately that of the call length is returned. Added w.r.t WTA meeting

ID: wtai/voice/wmlscript/status/13
Class: C
Scope: "The device is able to return the name of the other party in a voice call"
Text: When the requested field of a call status is "name" a string containing the name of the other party, or the number field must be returned [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Create a call with to a known number. Then request an the "name" field for that call. Make sure that the name of the called number, or the number itsself is returned. Added w.r.t WTA meeting

ID: wtai/voice/wmlscript/status/14
Class: A
Text: When the requested field of a call status is unrecognised an empty string must be returned. [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Create a call with a known id. Then request an unrecognised field. Make sure that an empty string is returned.

ID: wtai/voice/wmlscript/status/15
Class: A
Text: When the CALLSTATUS function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Create a call to the user agent. Then request the NUMBER of the call from the test user agent with the the CALLSTATUS function in a deck. When the user 'clicks' the link for the call status they must be asked for permission to run it. Grant single access permission and make sure the information is returned. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/voice/wmlscript/status/16
Class: A
Text: When the user gives context permission to the CALLSTATUS function the user must only be asked for permission each time the CALLSTATUS function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 9.2.5]
Note: Create a call to the user agent. Then request the NUMBER of the call from the test user agent with the the CALLSTATUS function in a deck. When the user 'clicks' the link to get the status they must be asked for permission to run it. Grant context permission and make sure that the information is returned. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/voice/wmlscript/status/17
Class: A
Text: When the user gives blanket permission to the CALLSTATUS function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 9.2.1]
Note: Depending on the device, set blanket permission for the CALLSTATUS function. Create a call to the user agent. Then request the NUMBER of the call from the test user agent with the the CALLSTATUS function from a deck. Make When the user 'clicks' the link to get the call status they must not be asked for permission to run it. Make sure the information is returned for the call. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

9.2.6 WTAVoiceCall.list

ID: wtai/voice/wmlscript/list/1
Class: B
Text: When the returnfirst attribute of the list call function is specified as "true" the handle of the oldest call must be returned. [WAP Wireless Telephony Application Interface SIN section 9.2.6]
Note: Can't be tested as the call handles are not persistent unless put on hold, and not all networks can put calls on hold. Changed w.r.t WTA meeting

ID: wtai/voice/wmlscript/list/2
Class: A
Text: When the returnfirst attribute of the LIST function is specified as "true" and there are no existing calls, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 9.2.6]
Note: Make sure the user agent has no existing calls. Then call the LIST function with the returnfirst attribute set to "true". Make sure that invalid is returned.

ID: wtai/voice/wmlscript/list/3
Class: B
Text: When the returnfirst attribute of the LIST function is specified as "false" the return value must be the callhandle of the next oldest call following the previousley returned one. [WAP Wireless Telephony Application Interface SIN section 9.2.6]
Note: Can't be tested as the call handles are not persistent unless put on hold, and not all networks can put calls on hold. Changed w.r.t WTA meeting

ID: wtai/voice/wmlscript/list/4
Class: A
Text: When the returnfirst attribute of the LIST function is specified as "false" and there are no calls younger than the previousley returned one, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 9.2.6]
Note: Make sure the user agent has no existing calls. Then call the LIST function with the returnfirst attribute set to "false". Make sure that invalid is returned.

ID: wtai/voice/wmlscript/list/5
Class: A
Text: When the LIST function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 9.2.6]
Note: Create a deck that uses the SETUP function to call a known number. Answer that call. Then create a deck to return the calls handle using the LIST function. When the user 'clicks' the link to get the handle they must be asked for permission to run it. Grant single access permission and make sure the information is returned. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/voice/wmlscript/list/6
Class: A
Text: When the user gives context permission to the LIST function the user must only be asked for permission each time the LIST function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 9.2.6]
Note: Create a deck that uses the SETUP function to call a known number. Answer that call. Then create a deck to return the calls handle using the LIST function. When the user 'clicks' the link to retuen the handle they must be asked for permission to run it. Grant context permission and make sure the handle is returned. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/voice/wmlscript/list/7
Class: A
Text: When the user gives blanket permission to the LIST function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 9.2.6]
Note: Depending on the device, set blanket permission for the LIST function. Create a deck that uses the SETUP function to call a known number. Answer that call. Then create a deck to return the calls handle using the LIST function. When the user 'clicks' the link to make the call they must not be asked for permission to run the call. Make sure the handle is returned Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

10 Network Common WTAI - Network Messages

10.1 WTA Events

There are no testable assertions in this section.

10.1.1 wtaev-nt/st

ID: wtai/network/events/st/1
Class: A
Text: When the status of a network message changes a messagesendstatus event must occur [WAP Wireless Telephony Application Interface SIN section 10.1.1]
Note: Create a temporary binding to the wtaev-nt/st event that will show a card or set a variable if it occurs. Sent a network message to a device and make sure that the card is shown or variable set. Added w.r.t WTA meeting

ID: wtai/network/events/st/2
Class: A
Text: When the messagesendstatus event occurs it must return the call handle for the outgoing message as its first parameter. [WAP Wireless Telephony Application Interface SIN section 10.1.1]
Note: Create a temporary binding to the wtaev-nt/st event that will return the call handle ($1) when it occurs. Sent a network message to a device and make sure that the call handle is returned. Can only check that returned value is a positive integer. Added w.r.t WTA meeting

ID: wtai/network/events/st/3
Class: A
Text: When the messagesendstatus event occurs it must return "0" as its second parameter if the message has been sent. [WAP Wireless Telephony Application Interface SIN section 10.1.1]
Note: Create a temporary binding to the wtaev-nt/st event that will return the result when the event occurs. Send a network message to another device and make sure that is was received. Then make sure that the returned result value ($2) was "0". Added w.r.t WTA meeting

ID: wtai/network/events/st/4
Class: B
Text: When the messagesendstatus event occurs it must return "1" as its second parameter if the message has been abandoned for an unspecified reason. [WAP Wireless Telephony Application Interface SIN section 10.1.1]
Note: Can't check for an 'unspecified' reason. Added w.r.t WTA meeting

ID: wtai/network/events/st/5
Class: A
Text: When the messagesendstatus event occurs it must return "2" as its second parameter if the message has been abandoned because the network is not available. [WAP Wireless Telephony Application Interface SIN section 10.1.1]
Note: Create a temporary binding to the wtaev-nt/st event that will return the result of the event ($2). Put the phone in a place it where it can't find the network (shielded box). Sent a network message to another device. Make sure that "2" was returned. Added w.r.t WTA meeting

ID: wtai/network/events/st/6
Class: B
Text: When the messagesendstatus event occurs it must return "3" as its second parameter if the message has been abandoned because of insufficient resources [WAP Wireless Telephony Application Interface SIN section 10.1.1]
Note: Can't test as it is not known what insufficient resources will be.

10.1.2 wtaev-nt/it

ID: wtai/network/events/it/1
Class: A
Text: When there is an incoming network message an incoming message event must occur [WAP Wireless Telephony Application Interface SIN section 10.1.2]
Note: Create a temporary binding to the wtaev-nt/it event that will show a card or set a variable if it occurs. Sent a network message to the device and make sure that the card is shown or variable set. Added w.r.t WTA meeting

ID: wtai/network/events/it/2
Class: A
Text: When the incommingmessage event occurs it must return the call handle of the incomming message as its first parameter. [WAP Wireless Telephony Application Interface SIN section 10.1.2]
Note: Create a temporary binding to the wtaev-nt/it event that will return the call handle ($1) when it occurs. Sent a network message to the device and make sure that the call handle is returned. Can only check that returned value is a positive integer. Added w.r.t WTA meeting

ID: wtai/network/events/it/3
Class: A
Text: When the incomingmessage event occurs it must return the address of the originator of the message, or an empty string as the second parameter if this is not available [WAP Wireless Telephony Application Interface SIN section 10.1.2]
Note: Create a temporary binding to the wtaev-nt/it event that will return the sender ($2) when the event occurs. Send a network message to the device and make sure that is was received. Then make sure that either the address of the originator of the message, or an empty string is shown. Added w.r.t WTA meeting

10.2 WMLScript Functions

There are no testable assertions in this section.

10.2.1 WTANetText.send

ID: wtai/network/wmlscript/send/1
Class: A
Text: When the SEND function is called it must send the stated text to the device with the address supplied to the function. [WAP Wireless Telephony Application Interface SIN section 10.2.1]
Note: Create a network message and send it to a known device that accepts network messages. This will require another WTA device to communicate with.

ID: wtai/network/wmlscript/send/2
Class: A
Text: When the SEND function is called it must return the message handle when sucessful. [WAP Wireless Telephony Application Interface SIN section 10.2.1]
Note: Create a network message and send it to a known device that accepts network messages. Make sure that a positive integer is returned. This will require another WTA device to communicate with.

ID: wtai/network/wmlscript/send/3
Class: A
Text: When the SEND function is called it must return invalid when it fails. [WAP Wireless Telephony Application Interface SIN section 10.2.1]
Note: Call the SEND function with invalid parameters and send it to a known device that accepts network messages. Make sure that invalid is returned. This will require another user agent to communicate with.

ID: wtai/network/wmlscript/send/4
Class: A
Text: When the SEND function is called it must return -100 when the text parameter is too long [WAP Wireless Telephony Application Interface SIN section 10.2.1]
Note: Call the SEND function with a message larger than the allowed value. This will require the max length of the message to be set up when the tests are set up.

ID: wtai/network/wmlscript/send/5
Class: B
Text: When the SEND function is called it must return -1 when there is an unspecified error. [WAP Wireless Telephony Application Interface SIN section 10.2.1]
Note: Can't test as it is not known what an unspecified error will be.

ID: wtai/network/wmlscript/send/6
Class: A
Text: When the SEND function enters the 'end' state a MessageSendStatus event occurs. [WAP Wireless Telephony Application Interface SIN section 10.2.1]
Note: Create a message using the SEND function to another WTA device. Once the message has been sent make sure that the MessageSendStatus event occurs. This can be seen by capturing the event and binding a task to it. i.e. set variable to pass. This only checks that the event occurs however, not that it happens when the 'end' state occurs. Changed w.r.t WTA meeting

ID: wtai/network/wmlscript/send/7
Class: A
Text: When the SEND function is called and the address parameter is not a phone number as defined in [FORMAT], invalid is returned. [WAP Wireless Telephony Application Interface SIN section 10.2.1]
Note: Call the SEND function with the address in an invalid format. Make sure that invalid is returned.

ID: wtai/network/wmlscript/send/8
Class: B
Text: When the SEND function is called and the text parameter contains an unacceptable character, invalid is returned [WAP Wireless Telephony Application Interface SIN section 10.2.1]
Note: There is no reference to what an 'unacceptable' character is.

ID: wtai/network/wmlscript/send/9
Class: A
Text: When the SEND function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 10.2.1]
Note: Create a deck that uses the SEND function to send a network message When the user 'clicks' the link to SEND the message they must be asked for permission to send it. Grant single access permission and make sure the message is sent. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/network/wmlscript/send/10
Class: A
Text: When the user gives context permission to the SEND function the user must only be asked for permission each time the SEND function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 10.2.1]
Note: Create a deck that uses the SEND function to send a network message When the user 'clicks' the link to send the message they must be asked for permission to send it. Grant context permission and make sure the message is sent. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/network/wmlscript/send/11
Class: A
Text: When the user gives blanket permission to the SEND function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 10.2.1]
Note: Depending on the device, set blanket permission for the SEND function. Then Create a deck that uses the SEND function to send a network message. When the user 'clicks' the link to send the message they must not be asked for permission to send it. Make sure the message is sent. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

10.2.2 WTANetText.list

ID: wtai/network/wmlscript/list/1
Class: A
Text: When the returnfirst parameter of the LIST function is "true", the handle of the oldest network message is returned. [WAP Wireless Telephony Application Interface SIN section 10.2.2]
Note: Use another WTA device to send 3 network messages to the test user agent. Then call the LIST function with the returnfirst parameter as true. Make sure the handle of the oldest message is returned. Will need to use GETFIELDVALUE to see if correct message.

ID: wtai/network/wmlscript/list/2
Class: A
Text: When the returnfirst parameter of the LIST function is "true", and there are no existing messages, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 10.2.2]
Note: Remove all network messages from the user agent. Then call the LIST function with the returnfirst parameter as "true". Make sure invalid is returned.

ID: wtai/network/wmlscript/list/3
Class: A
Text: When the returnfirst parameter of the LIST function is "false", the handle of the next oldest network message after the previously returned one is returned. [WAP Wireless Telephony Application Interface SIN section 10.2.2]
Note: Use another WTA device to send 3 network messages to the test user agent. Then call the LIST function with the returnfirst parameter as "true". Then call the function again with the returnfirst parameter as "false". Make sure the handle of the second message is returned. Will need to use GETFIELDVALUE to see if correct message.

ID: wtai/network/wmlscript/list/4
Class: A
Text: When the returnfirst parameter of the LIST function is "false", and there are no messages older than the previously returned one, invalid is returned. [WAP Wireless Telephony Application Interface SIN section 10.2.2]
Note: Use another WTA device to send 2 network messages to the test user agent. Then call the LIST function with the returnfirst parameter as "true". Then call the function twice more with the returnfirst parameter as "false". Make sure that invalid is returned the third time.

ID: wtai/network/wmlscript/list/5
Class: A
Text: When the messagetype parameter of the LIST function is "0" all messages must be returned. [WAP Wireless Telephony Application Interface SIN section 10.2.2]
Note: Use another WTA device to send 3 network messages to the test user agent. Use mark as read to mark one of them as read. Then call the LIST function with the messagetype parameter set to "0" 3 times to list all messages. The first time with returnfirst as "true", then with "false". Make sure all are listed. Will need to use the GETFIELDVALUE function to make sure correct messages are returned. Changed w.r.t WTA meeting

ID: wtai/network/wmlscript/list/6
Class: A
Text: When the messagetype parameter of the LIST function is "1" only unread messages must be returned in the list. [WAP Wireless Telephony Application Interface SIN section 10.2.2]
Note: Use another WTA device to send 3 network messages to the test user agent. Then read the second message. Then call the LIST function with the messagetype parameter set to "1" 3 times to list all unread messages. Make sure only the unread messages are listed. Will need to use the GETFIELDVALUE function to make sure correct messages are returned.

ID: wtai/network/wmlscript/list/7
Class: A
Text: When the messagetype parameter of the LIST function is "2" only read messages must be returned in the list. [WAP Wireless Telephony Application Interface SIN section 10.2.2]
Note: Create 3 network messages on the user agent. Then read the first and third messages. Then call the LIST function with the messagetype parameter set to "2" 3 times to list all read messages. Make sure only the read messages are listed. Will need to use the GETFIELDVALUE function to make sure correct messages are returned.

ID: wtai/network/wmlscript/list/8
Class: A
Text: When the messagetype parameter of the LIST function is "3" only unsent messages must be returned in the list. [WAP Wireless Telephony Application Interface SIN section 10.2.2]
Note: Firstly sent 2 network messages to a known device. Make sure that they have been sent. Then put the phone in a place where it can't see the network (shielded booth). Then try and send a network message to another device. Make sure that the message is not sent. Then call the LIST function with the messagetype parameter set to "3" 3 times to list all messages. The first time with returnfirst as "true", then with "false". Make sure only the unsent message is listed. Will need to use the GETFIELDVALUE function to make sure correct messages are returned. Changed w.r.t WTA meeting

ID: wtai/network/wmlscript/list/9
Class: A
Text: When the returnfirst parameter of the LIST function is "false" the messagetype parameter is ignored and the previous search is continued. [WAP Wireless Telephony Application Interface SIN section 10.2.2]
Note: Create 3 network messages on the user agent. Read the second message. Then call the LIST function with the returnfirst parameter set to "true" and the messagetype parameter set to "1". Then call again with the returnfirst parameter set to "false" and the messagetype parameter set to "2". Make sure that only the first and last messages are returned. Will need to use the GETFIELDVALUE function to check correct messages are returned.

ID: wtai/network/wmlscript/list/10
Class: A
Text: When the LIST function fails, invalid must be returned [WAP Wireless Telephony Application Interface SIN section 10.2.2]
Note: Call the LIST function with an incorrect number of parameters. Make sure invalid is returned.

ID: wtai/network/wmlscript/list/11
Class: A
Text: When the LIST function is called with an incorrect messagetype parameter invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 10.2.2]
Note: Call the LIST function with an incorrect messagetype parameter make sure invalid is returned.

ID: wtai/network/wmlscript/list/12
Class: A
Text: When the LIST function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 10.2.2]
Note: Use another WTA device to send a network message to the test user agent. Then create a deck that will call the LIST function with the returnfirst parameter as true and the message type parameter as 0. When the user 'clicks' the link to LIST the information they must be asked for permission to run it. Grant single access permission and make sure the handle of the message is returned. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/network/wmlscript/list/13
Class: A
Text: When the user gives context permission to the LIST function the user must only be asked for permission each time the LIST function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 10.2.2]
Note: Use another WTA device to send a network message to the test user agent. Then create a deck that will call the LIST function with the returnfirst parameter as true and the message type parameter as 0. When the user 'clicks' the link to get the information they must be asked for permission to run it. Grant context permission and make sure the information is returned. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/network/wmlscript/list/14
Class: A
Text: When the user gives blanket permission to the LIST function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 10.2.2]
Note: Depending on the device, set blanket permission for the LIST function. Use another WTA device to send a network message to the test user agent. Then create a deck that will call the LIST function with the returnfirst parameter as true and the message type parameter as 0. When the user 'clicks' the link to return the information they must not be asked for permission to run it. Make sure the message is sent. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

10.2.3 WTANetText.remove

ID: wtai/network/wmlscript/remove/1
Class: A
Text: When the REMOVE function is called it must remove the network message with the stated msghandle [WAP Wireless Telephony Application Interface SIN section 10.2.3]
Note: Send a network message to the user agent from another WTA device. Call the REMOVE function on the test user agent and make sure that the message is removed. Will first require getting the message handle on the user agent. Then use the LIST function to see if the handle is still there. Changed w.r.t WTA meeting

ID: wtai/network/wmlscript/remove/2
Class: A
Text: When the REMOVE function is called with a stated msghandle and that msghandle does not exist, the function must return invalid [WAP Wireless Telephony Application Interface SIN section 10.3.3]
Note: Send a message to the device. Use the incomming message event to get the handle. Then use the REMOVE function to remove it. Then try and remove it again using the same message handle and the REMOVE function and make sure that invalid is returned. Changed w.r.t WTA meeting

ID: wtai/network/wmlscript/remove/3
Class: A
Text: When the REMOVE function is called it must return invalid when it fails. [WAP Wireless Telephony Application Interface SIN section 10.3.3]
Note: Call the REMOVE function with an invalid number of parameters and make sure that invalid is returned.

ID: wtai/network/wmlscript/remove/4
Class: A
Text: When the REMOVE function is sucessful it must return an empty string [WAP Wireless Telephony Application Interface SIN section 10.3.3]
Note: Call the REMOVE function correctly and remove a message. Make sure an empty string is returned.

ID: wtai/network/wmlscript/remove/5
Class: B
Text: When the REMOVE function is unsucessful because it cant remove a message it must return -101. [WAP Wireless Telephony Application Interface SIN section 10.3.3]
Note: There is no way to make sure that a message can't be removed.

ID: wtai/network/wmlscript/remove/6
Class: B
Text: When the REMOVE function is unsucessful for an unspecified reason it must return -1. [WAP Wireless Telephony Application Interface SIN section 10.3.3]
Note: There is no way to make the user agent create an 'unspecified' error.

ID: wtai/network/wmlscript/remove/7
Class: A
Text: When the REMOVE function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 10.2.3]
Note: Send a network message to the user agent from another WTA device. Get its call handle using the incomming call event. Then create a deck that calls the REMOVE function on the test user agent with that handle. When the user 'clicks' the link to remove the message they must be asked for permission to remove it. Grant single access permission and make sure the message is removed. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/network/wmlscript/remove/8
Class: A
Text: When the user gives context permission to the REMOVE function the user must only be asked for permission each time the REMOVE function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 10.2.3]
Note: Send a network message to the user agent from another WTA device. Get its call handle using the incomming call event. Then create a deck that calls the REMOVE function on the test user agent with that handle. When the user 'clicks' the link to remove the message they must be asked for permission to remove it. Grant context permission and make sure the message is removed. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/network/wmlscript/remove/9
Class: A
Text: When the user gives blanket permission to the REMOVE function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 10.2.3]
Note: Depending on the device, set blanket permission for the REMOVE function. Send a network message to the user agent from another WTA device. Get its call handle using the incomming call event. Then create a deck that calls the REMOVE function on the test user agent with that handle. When the user 'clicks' the link to remove the message they must not be asked for permission to remove it. Make sure the message is removed. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

10.2.4 WTANetText.getFieldValue

ID: wtai/network/wmlscript/getfield/1
Class: A
Text: When the GETFIELDVALUE function is called with a known message handle and the field parameter set to "text", the text of the message with the specified handle must be returned. [WAP Wireless Telephony Application Interface SIN section 10.2.4]
Note: Send a network message to the user agent. Then call the GETFIELDVALUE function on the user agent with the handle of that message and the field parameter set to "text". make sure that the text of the message is returned.

ID: wtai/network/wmlscript/getfield/2
Class: A
Text: When the GETFIELDVALUE function is called with a known message handle and the field parameter set to "tstamp", the timestamp of the message with the specified handle must be returned. [WAP Wireless Telephony Application Interface SIN section 10.2.4]
Note: Send a network message to the user agent. Then call the GETFIELDVALUE function on the user agent with the handle of that message and the field parameter set to "tstamp". Make sure that the time stamp of the message is returned.

ID: wtai/network/wmlscript/getfield/3
Class: A
Text: When the GETFIELDVALUE function is called with a known message handle and the field parameter set to "address", the originating address of the message with the specified handle must be returned. [WAP Wireless Telephony Application Interface SIN section 10.2.4]
Note: Send a network message to the user agent. Then call the GETFIELDVALUE function on the user agent with the handle of that message and the field parameter set to "address". Make sure that the originating address of the message is returned.

ID: wtai/network/wmlscript/getfield/4
Class: A
Text: When the GETFIELDVALUE function is called with a known message handle and the field parameter set to "status", the status of the message with the specified handle must be returned. [WAP Wireless Telephony Application Interface SIN section 10.2.4]
Note: Send a network message to the user agent from another WTA device. Then call the GETFIELDVALUE function on the user agent with the handle of that message and the field parameter set to "status". Make sure that the status of the message is returned.

ID: wtai/network/wmlscript/getfield/5
Class: A
Text: When the GETFIELDVALUE function is called with a known message handle and the field parameter set to "read", the value "false" must be returned if the message has not been read, and "true" if it has. [WAP Wireless Telephony Application Interface SIN section 10.2.4]
Note: Send a network message to the user agent from another WTA device. Don't read it. Then call the GETFIELDVALUE function on the user agent with the handle of that message and the field parameter set to "read". Make sure that the value "false" is returned. Then use the MARKASREAD function to mark that message as read. Then call the GETFIELDVALUE function again with the same handle. Make sure that "true" is returned. Changed w.r.t WTA meeting

ID: wtai/network/wmlscript/getfield/6
Class: D
Scope: "The device is able to return the offset time for network messages"
Text: When the GETFIELDVALUE function is called with a known message handle and the field parameter set to "tstamp_off", an integer indicating the offset of the "tstamp" field from UTC in minutes must be returned [WAP Wireless Telephony Application Interface SIN section 10.2.4]
Note: Can't test as you can't get the time differences for the devices. Added w.r.t WTA meeting

ID: wtai/network/wmlscript/getfield/7
Class: D
Scope: "The device is able to keep the data and time for a network message"
Text: When the GETFIELDVALUE function is called with a known message handle and the field parameter set to "tstamp_device", a string indicating the date and time of the message must be returned as determined by the device in ISO8601 format [WAP Wireless Telephony Application Interface SIN section 10.2.4]
Note: Can't test as you can't tell what the date and time determined by the device is. Added w.r.t WTA meeting

ID: wtai/network/wmlscript/getfield/8
Class: A
Text: When the GETFIELDVALUE function is called with a known message handle and the field parameter is unrecognised, am empty string is returned [WAP Wireless Telephony Application Interface SIN section 10.2.4]
Note: Send a network message to the user agent. Then call the GETFIELDVALUE function on the user agent with the handle of that message and the field parameter set to an unrecognised value. Make sure that an empty string is returned.

ID: wtai/network/wmlscript/getfield/9
Class: A
Text: When the GETFIELDVALUE function is called and the msghandle is not a valid msghandle, invalid is returned. [WAP Wireless Telephony Application Interface SIN section 10.2.4]
Note: Send a network message to the user agent. Then call the GETFIELDVALUE function on the user agent with the msghandle parameter as an invalid msghandle. Make sure that invalid is returned.

ID: wtai/network/wmlscript/getfield/10
Class: A
Text: When the GETFIELDVALUE function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 10.2.4]
Note: Send a network message to the user agent. Then create a deck that will call the GETFIELDVALUE function on the user agent with the handle of that message (got from the incommingmessage event) and the field parameter set to "text". When the user 'clicks' the link to get the information they must be asked for permission to run it. Grant single access permission and make sure the network message text is shown. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/network/wmlscript/getfield/11
Class: A
Text: When the user gives context permission to the GETFIELDVALUE function the user must only be asked for permission each time the GETFIELDVALUE function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 10.2.4]
Note: Send a network message to the user agent. Then create a deck that will call the GETFIELDVALUE function on the user agent with the handle of that message (got from the incommingmessage event) and the field parameter set to "text". When the user 'clicks' the link to get the information they must be asked for permission to run it. Grant context permission and make sure the network text is displayed. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/network/wmlscript/getfield/12
Class: A
Text: When the user gives blanket permission to the GETFIELDVALUE function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 10.2.4]
Note: Depending on the device, set blanket permission for the GETFIELDVALUE function. Then send a network message to the user agent. Then create a deck that will call the GETFIELDVALUE function on the user agent with the handle of that message (got from the incommingmessage event) and the field parameter set to "text". When the user 'clicks' the link to get the information they must not be asked for permission to run it. Make sure the network message text is displayed. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

10.2.5 WTANetText.markAsRead

ID: wtai/network/wmlscript/markasread/1
Class: A
Text: When the MARKASREAD function is called, the message with the stated msghandle must be marked as read. [WAP Wireless Telephony Application Interface SIN section 10.2.5]
Note: Send a network message to the user agent from another WTA device. Then call the MARKASREAD function with the messages msghandle. Make sure that the message has been marked as read. Can be done using the LIST function.

ID: wtai/network/wmlscript/markasread/2
Class: A
Text: When the MARKASREAD function is called it must return an empty string if successful. [WAP Wireless Telephony Application Interface SIN section 10.2.5]
Note: Send a network message to the user agent. Then call the MARKASREAD function with the messages msghandle. Make sure that an empty string is returned

ID: wtai/network/wmlscript/markasread/3
Class: A
Text: When the MARKASREAD function is called it must return invalid if it fails [WAP Wireless Telephony Application Interface SIN section 10.2.5]
Note: Call the MARKASREAD function with incorrect parameters. Make sure that invalid is returned.

ID: wtai/network/wmlscript/markasread/4
Class: A
Text: When the MARKASREAD function is called and the msghandle is not a valid msghandle, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 10.2.5]
Note: Call the MARKASREAD function with a nonexistent msghandle. Make sure that invalid is returned.

ID: wtai/network/wmlscript/markasread/5
Class: A
Text: When the MARKASREAD function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 10.2.5]
Note: Send a network message to the user agent from another WTA device. Then create a deck to call the MARKASREAD function with the messages msghandle. When the user 'clicks' the link to mark the call as read they must be asked for permission to run it. Grant single access permission and make sure the massage has been marked as read (Can be done using the LIST function). Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/network/wmlscript/markasread/6
Class: A
Text: When the user gives context permission to the MARKASREAD function the user must only be asked for permission each time the MARKASREAD function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 10.2.5]
Note: Send a network message to the user agent from another WTA device. Then create a deck that calls the MARKASREAD function with the messages msghandle. When the user 'clicks' the link to mark the message as read they must be asked for permission to run it. Grant context permission and make sure the message is marked as read (Can be done using the LIST function). Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/network/wmlscript/markasread/7
Class: A
Text: When the user gives blanket permission to the MARKASREAD function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 10.2.5]
Note: Depending on the device, set blanket permission for the MARKASREAD function. Send a network message to the user agent from another WTA device. Then create a deck to call the MARKASREAD function with the messages msghandle. When the user 'clicks' the link to mark the message as read they must not be asked for permission to run it. Make sure the message is marked as read (Can be done using the LIST function). Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

11 Network Common WTAI - Phonebook

There are no testable assertions in this section.

11.1 WTA Events

There are no testable assertions in this section.

11.2 WMLScriptFunctions

There are no testable assertions in this section.

11.2.1 WTAPhoneBook.write

ID: wtai/phonebook/wmlscript/write/1
Class: A
Text: When the WRITE function is called it must write an entry in the user agents phonebook using the given parameters. [WAP Wireless Telephony Application Interface SIN section 11.2.1]
Note: Create a call to the WRITE function to write a known entry to the phone book. use the GETFIELDVALUE function to make sure that the entry has been entered correctly. This relies on the GETFIELDVALUE function working ok.

ID: wtai/phonebook/wmlscript/write/2
Class: A
Text: When the WRITE function is called and the index value specified is already used, the existing entry is overwritten. [WAP Wireless Telephony Application Interface SIN section 11.2.1]
Note: Create a call to the WRITE function to write a known entry to it with a known index value. Get the user to make sure that the entry has been entered. Then write another entry to the phonebook with the same index value. Call the GETFIELDVALUE function to make sure that the original entry has been over written by the second. Relies on the GETFIELDVALUE function working ok.

ID: wtai/phonebook/wmlscript/write/3
Class: A
Text: When the WRITE function is called and the index value is "0", the entry is written to a location that is currently empty with no other entries being overwritten. [WAP Wireless Telephony Application Interface SIN section 11.2.1]
Note: WRITE three known entries to the phonebook. Then call the WRITE function with known values and the index value as "0". Use the GETFIELDVALUE function to check there are now 4 entries. Relies on the GETFIELDVALUE function working ok.

ID: wtai/phonebook/wmlscript/write/4
Class: A
Text: When the WRITE function is called it must return invalid when it fails [WAP Wireless Telephony Application Interface SIN section 8.4.1]
Note: Create a call to the WRITE function with an incorrect number of parameters. Make sure that invalid is returned and nothing is written to the phonebook. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/write/5
Class: A
Text: When the WRITE function is called it must return the index value where the entry was created if sucessful. [WAP Wireless Telephony Application Interface SIN section 11.2.1]
Note: Create a call to the WRITE function with a known index value. Make sure that value is returned by the function.

ID: wtai/phonebook/wmlscript/write/6
Class: B
Text: When the WRITE function is called it must return the value -100 when the name parameter contains unacceptable characters [WAP Wireless Telephony Application Interface SIN section 11.2.1]
Note: Can't test as 'unacceptable' characteres are not defined. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/write/7
Class: A
Text: When the WRITE function is called it must return the value -100 when the name parameter is too long. [WAP Wireless Telephony Application Interface SIN section 11.2.1]
Note: Try and create an entry in the phone book with a name parameter that is too long for the WRITE function. Make sure that -100 is returned. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/write/8
Class: A
Text: When the WRITE function is called it must return the value -101 when the number parameter does not contain a phone number. [WAP Wireless Telephony Application Interface SIN section 11.2.1]
Note: Call the WRITE function with the number parameterin an incorrect format. Make sure -101 is returned and nothing is written to the phonebook. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/write/9
Class: A
Text: When the WRITE function is called it must return the value -102 when the number parameter is too long. [WAP Wireless Telephony Application Interface SIN section 11.2.1]
Note: Call the WRITE function with the number parameter too long. Make sure that -102 is returned and nothing is entered in the phone book. This will require the max length of the number to be entered in the setup of the test session. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/write/10
Class: B
Text: When the WRITE function is called it must return the value -103 when the entry could not be written. [WAP Wireless Telephony Application Interface SIN section 11.2.1]
Note: There is no way to make sure that the entry could not be written.

ID: wtai/phonebook/wmlscript/write/11
Class: A
Text: When the WRITE function is called it must return the value -104 when the phone book is full. [WAP Wireless Telephony Application Interface SIN section 11.2.1]
Note: Call the WRITE function WMLScript and insert new information in a loop untill the phonebook is full. Make sure that -104 is returned when the phonebook is full. Can ask in the setup of the test session how many entries can be added. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/write/12
Class: B
Text: When the WRITE function is called it must return the value -1 when there is an unspecified error. [WAP Wireless Telephony Application Interface SIN section 11.2.1]
Note: There is no way to test for an 'unspecified' error.

ID: wtai/phonebook/wmlscript/write/13
Class: A
Text: When the WRITE function is called and the index parameter is unacceptable, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 11.2.1]
Note: Try to create a phone book entry with the index as "-1". Make sure that invalid is returned and nothing is written to the phonebook. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/write/14
Class: A
Text: When the WRITE function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 11.2.1]
Note: Create a deck that uses the WRITE function to write a known entry to the phonebook. When the user 'clicks' the link to write the entry they must be asked for permission to write it. Grant single access permission and make sure the entry is written. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/write/15
Class: A
Text: When the user gives context permission to the WRITE function the user must only be asked for permission each time the WRITE function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 11.2.1]
Note: Create a deck that uses the WRITE function to write a known entry to the phonebook. When the user 'clicks' the link to write the entry they must be asked for permission to write it. Grant context permission and make sure the entry has been written. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/write/16
Class: A
Text: When the user gives blanket permission to the WRITE function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 11.2.1]
Note: Depending on the device, set blanket permission for the WRITE function. Then Create a deck that uses the WRITE function add an entry to the phonebook. When the user 'clicks' the link to add the entry they must not be asked for permission to add it. Make sure the entry has been added. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

11.2.2 WTAPhoneBook.search

ID: wtai/phonebook/wmlscript/search/1
Class: A
Text: When the SEARCH function is called it must return the correct phonebook index coresponding to the value of the field and value parameters. [WAP Wireless Telephony Application Interface SIN section 11.2.2]
Note: Write a phone entry with a unique phone number or name. The write function will return an index of the stored record. Use the search function to locate the phone record based on the unique field value. Compare the index returned from the search function with the index returned from the original write function. The indexes should match. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/search/2
Class: A
Text: When the SEARCH function is called it must search in a case insensitive manner. [WAP Wireless Telephony Application Interface SIN section 11.2.2]
Note: Create an entry in the user agents phonebook with a mixed case name parameter. Then call the SEARCH function with the name parameter in lower case . Make sure that the entry is returned.

ID: wtai/phonebook/wmlscript/search/3
Class: A
Text: When the SEARCH function is called it must search for all entries containing the given string. [WAP Wireless Telephony Application Interface SIN section 11.2.2]
Note: Create 3 entries in the user agents phonebook with the WRITE function keeping the handle of the entries that should be returned. Then call the SEARCH function with the name parameter as a substring of two of the previousley input phone book entrys (the ones the handle is known). Make sure that the index of that entry is returned. call search again with no parameters and make sure the next index is returned. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/search/4
Class: A
Text: When the SEARCH function is called and the value parameter is an empty string, the search is initialised to return the index of all non-empty phone book entries that have a string for the value of the specified field. [WAP Wireless Telephony Application Interface SIN section 11.2.2]
Note: Create 3 entries in the phone book with values for the name field. Then create another entry with the name field empty. Then call the SEARCH function with the field as 'name' and an empty value string. Continue the search. Make sure that only the entries with a non empty 'name' field are returned. Changed w.r.t doc-review.

ID: wtai/phonebook/wmlscript/search/5
Class: A
Text: When the SEARCH function is called with an empty string for the field and value parameters, it must continue with the current search. [WAP Wireless Telephony Application Interface SIN section 11.2.2]
Note: Create 3 entries in the phone book with similar values. Call the SEARCH function with the required search criteria. Then call the function again with no criteria. The next entry must be shown.

ID: wtai/phonebook/wmlscript/search/6
Class: A
Text: When the SEARCH function finds a match it must return the index of the entry. [WAP Wireless Telephony Application Interface SIN section 11.2.2]
Note: Create 4 entries in the phone book with known values using the WRITE function. Then call the SEARCH function to return a known entry index. Make sure the index of the entry is returned. Make sure that this is the same as the one that was created with the searched values.

ID: wtai/phonebook/wmlscript/search/7
Class: A
Text: When the SEARCH function finds no matching entry in the phone book, invalid must be returned [WAP Wireless Telephony Application Interface SIN section 11.2.2]
Note: Create 3 entries in the phone book with known values using the WRITE function. Then call the SEARCH function with parameters that will not return any entries. Make sure that invalid is returned. Changed w.r.t doc-review

ID: wtai/phonebook/wmlscript/search/8
Class: A
Text: When the SEARCH function fails it must return invalid. [WAP Wireless Telephony Application Interface SIN section 11.2.2]
Note: Call the SEARCH function with incorrect parameters. Make sure that invalid is returned.

ID: wtai/phonebook/wmlscript/search/9
Class: A
Text: When the SEARCH function is called and the field parameter is empty but the value parameter is not, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 11.2.2]
Note: Call the SEARCH function with the described parameters. Make sure that invalid is returned.

ID: wtai/phonebook/wmlscript/search/10
Class: A
Text: When the SEARCH function is called and the field parameter is not recognised, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 11.2.2]
Note: Call the SEARCH function with an unknown field name. Make sure that invalid is returned.

ID: wtai/phonebook/wmlscript/search/11
Class: A
Text: When the SEARCH function is called to continue a search without the search criteria firstly being set, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 11.2.2]
Note: Call the SEARCH function with no parameters without firstly setting the search criteria. Make sure that invalid is returned.

ID: wtai/phonebook/wmlscript/search/12
Class: A
Text: When the SEARCH function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 11.2.2]
Note: Write a phone entry with a unique phone number or name. The write function will return an index of the stored record. Use the SEARCH function in a deck to locate the phone record based on the unique field value. When the user 'clicks' the link to search for the entry they must be asked for permission to search. Grant single access permission and make sure the handle returned is the same one as when the entry was added. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/search/13
Class: A
Text: When the user gives context permission to the SETUP function the user must only be asked for permission each time the SETUP function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 11.2.2]
Note: Write a phone entry with a unique phone number or name. The write function will return an index of the stored record. Use the SEARCH function in a deck to locate the phone record based on the unique field value. When the user 'clicks' the link to search for the entry they must be asked for permission to run it. Grant context permission and make sure the handle returned is the same one as when the entry was added. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/search/14
Class: A
Text: When the user gives blanket permission to the SEARCH function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 11.2.2]
Note: Depending on the device, set blanket permission for the SEARCH function. Write a phone entry with a unique phone number or name. The write function will return an index of the stored record. Use the SEARCH function in a deck to locate the phone record based on the unique field value. When the user 'clicks' the link to search the phonebook they must not be asked for permission to do so. Make sure the handle returned is the same one as when the entry was added. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

11.2.3 WTAPhoneBook.remove

ID: wtai/phonebook/wmlscript/remove/1
Class: A
Text: When the REMOVE function is called it must remove the correct phonebook entry coresponding to the index of the phonebook entry. [WAP Wireless Telephony Application Interface SIN section 11.2.3]
Note: Create an entry in the user agents phonebook with a known index. Then call the REMOVE function with the index of that message. Make sure that entry is removed. Can use the GETFIELDVALUE or SEARCH to make sure it has been removed. Relies on other functions working ok though.

ID: wtai/phonebook/wmlscript/remove/2
Class: A
Text: When the REMOVE function is called it must return an empty string when sucessful. [WAP Wireless Telephony Application Interface SIN section 11.2.3]
Note: Create an entry in the user agents phonebook with a known index. Then call the REMOVE function with the index of that message. Make sure that the returned value is an empty string.

ID: wtai/phonebook/wmlscript/remove/3
Class: A
Text: When the REMOVE function is called it must return invalid when it fails [WAP Wireless Telephony Application Interface SIN section 11.2.3]
Note: Call the REMOVE function with an invalid number of parameters. Make sure that invalid is returned and no entries are removed. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/remove/4
Class: B
Text: When the REMOVE function is called it must return the value -105 when a phone book entry can't be removed. [WAP Wireless Telephony Application Interface SIN section 11.2.3]
Note: Can't test as there is no way to make sure an entry can't be removed

ID: wtai/phonebook/wmlscript/remove/5
Class: B
Text: When the REMOVE function is called it must return the value -1 when there is an unspecified error. [WAP Wireless Telephony Application Interface SIN section 11.2.3]
Note: Can't test as there is no way to test an unspecified error.

ID: wtai/phonebook/wmlscript/remove/6
Class: A
Text: When the REMOVE function is called and the index parameter is unacceptable, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 11.2.3]
Note: Call the REMOVE function with the index parameter as "-1". Make sure that invalid is returned and no entries are removed. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/remove/7
Class: A
Text: When the REMOVE function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 11.2.3]
Note: Create an entry in the user agents phonebook with a known index. Then create a deck that calls the REMOVE function with the index of that message. When the user 'clicks' the link to remove the entry they must be asked for permission to remove it. Grant single access permission and make sure the entry is removed. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/remove/8
Class: A
Text: When the user gives context permission to the REMOVE function the user must only be asked for permission each time the REMOVE function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 11.2.3]
Note: Create an entry in the user agents phonebook with a known index. Then create a deck that calls the REMOVE function with the index of that message. When the user 'clicks' the link to remove the entry they must be asked for permission to remove it. Grant context permission and make sure the entry is removed. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/remove/9
Class: A
Text: When the user gives blanket permission to the REMOVE function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 11.2.3]
Note: Depending on the device, set blanket permission for the REMOVE function. Create an entry in the user agents phonebook with a known index. Then create a deck that calls the REMOVE function with the index of that message. When the user 'clicks' the link to remove the entry they must not be asked for permission to remove it. Make sure the entry has been removed. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

11.2.4 WTAPhoneBook.getFieldValue

ID: wtai/phonebook/wmlscript/getfield/1
Class: A
Text: When the GETFIELDVALUE function is called and the field value is "number" , the value of the number in the phone book entry for the given index must be returned [WAP Wireless Telephony Application Interface SIN section 11.2.4]
Note: Create 3 entries in the user agents phone book. Call the GETFIELDVALUE with the field set to "number" and the index set to a known phone book entry. Make sure the number of the entry is returned.

ID: wtai/phonebook/wmlscript/getfield/2
Class: A
Text: When the GETFIELDVALUE function is called and the field value is "name" , the value of the name in the phone book entry for the given index must be returned [WAP Wireless Telephony Application Interface SIN section 11.2.4]
Note: Create 3 entries in the user agents phone book. Call the GETFIELDVALUE with the field set to "name" and the index set to a known phone book entry. Make sure the name of the entry is returned.

ID: wtai/phonebook/wmlscript/getfield/3
Class: A
Text: When the GETFIELDVALUE function is called and the field value is unrecognised, an empty string must be returned. [WAP Wireless Telephony Application Interface SIN section 11.2.4]
Note: Create 3 entries in the user agents phone book. Call the GETFIELDVALUE with the field set to an unrecognised value and the index set to a known phone book entry. Make sure an empty string is returned.

ID: wtai/phonebook/wmlscript/getfield/4
Class: A
Text: When the GETFIELDVALUE function is called and the index value is unacceptable, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 11.2.4]
Note: Create an entry in the user agents phone book. Call the GETFIELDVALUE with the index parameter set to "-1". Make sure that invalid is returned.

ID: wtai/phonebook/wmlscript/getfield/5
Class: A
Text: When the GETFIELDVALUE function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 11.2.4]
Note: Create an entry in the user agents phone book with a known number and index value. Create a deck to call the GETFIELDVALUE with the field set to "number" and the index set to that when the entry was created. When the user 'clicks' the link to get the information they must be asked for permission to run it. Grant single access permission and make sure the number of the entry is returned. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/getfield/6
Class: A
Text: When the user gives context permission to the GETFIELDVALUE function the user must only be asked for permission each time the GETFIELDVALUE function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 11.2.4]
Note: Create an entry in the user agents phone book with a known number and index value. Create a deck to call the GETFIELDVALUE with the field set to "number" and the index set to that when the entry was created. When the user 'clicks' the link to get the information they must be asked for permission to run it. Grant context permission and make sure the correct phone number is returned. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/getfield/7
Class: A
Text: When the user gives blanket permission to the GETFIELDVALUE function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 11.2.4]
Note: Depending on the device, set blanket permission for the SETFIELDVALUE function. Create an entry in the user agents phone book with a known number and index value. Create a deck to call the GETFIELDVALUE with the field set to "number" and the index set to that when the entry was created. When the user 'clicks' the link to get the information they must not be asked for permission to run it. Make sure the correct number is returned. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

11.2.5 WTAPhoneBook.change

ID: wtai/phonebook/wmlscript/change/1
Class: A
Text: When the CHANGE function is called with the field parameter set to "name" it must write a change to the "name" field of the correct phonebook entry coresponding to the value of the index parameter. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Create an entry in the user agents phonebook with a known index. Then call the CHANGE function with the field parameter set to "name" and the index set to that of the phonebook entry. Make sure that only the "name" field has been changed.

ID: wtai/phonebook/wmlscript/change/2
Class: A
Text: When the CHANGE function is called with the field parameter set to "number" it must write a change to the "number" field of correct phonebook entry coresponding to the value of the index parameter. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Create an entry in the user agents phonebook with a known index. Then call the CHANGE function with the field parameter set to "number" and the indexset to that of the phonebook entry. Make sure that only the "number" field has been changed.

ID: wtai/phonebook/wmlscript/change/3
Class: A
Text: When the CHANGE function is called it must return an empty string when sucessful. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Create an entry in the user agents phonebook with a known index. Then call the CHANGE function with correct parameters. Make sure that an empty string is returned

ID: wtai/phonebook/wmlscript/change/4
Class: A
Text: When the CHANGE function is called it must return invalid if it fails. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Call the change phonebook entry function with an incorrect number of parameters. Make sure that invalid is returned and that no entries are changed. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/change/5
Class: B
Text: When the CHANGE function is called it must return a value of -100 when the field parameter is "name" and newvalue contains an unacceptable character. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Can't test as an 'unacceptable' characteris not defined. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/change/6
Class: A
Text: When the CHANGE function is called it must return a value of -100 when the field parameter is "name" and newvalue is too long. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Get the user to enter the max length of the name field in the setup of the test session. Then try and enter a name in the phonebook that is greater than that length using the CHANGE function. Make sure that -100 is returned. Changed w.r.t doc-review

ID: wtai/phonebook/wmlscript/change/7
Class: A
Text: When the CHANGE function is called it must return a value of -101 when the field parameter is "number" and newvalue is not a phone number. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Create a phone book entry on the user agent. Then call the CHANGE function with the field parameter set to "number" and newvalue as an invalid number format. Make sure -101 is returned and no entries are changed. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/change/8
Class: B
Text: When the CHANGE function is called it must return a value of -102 when the field parameter is "number" and newvalue is too long. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Can't tell how long 'too long' will be.

ID: wtai/phonebook/wmlscript/change/9
Class: B
Text: When the CHANGE function is called it must return a value of -103 when the phone book entry could not be changed. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Can't create a known situation when the entry can't be changed.

ID: wtai/phonebook/wmlscript/change/10
Class: B
Text: When the CHANGE function is called it must return a value of -104 when the phone book is full. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: You don't know how many entries the phone book can take. If it is just changing an entry then the number of entries doesn't change anyway.

ID: wtai/phonebook/wmlscript/change/11
Class: A
Text: When the CHANGE function is called it must return a value of -106 when the field parameter is unsupported. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Create a phone book entry on the user agent. Call the CHANGE function with an unsupported field parameter. Make sure that -106 is returned and no entries are changed. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/change/12
Class: B
Text: When the CHANGE function is called it must return a value of -107 when the field parameter is not "name" or "number and newvalue is unacceptable [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Can't test as 'unacceptable' characters are not defined. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/change/13
Class: B
Text: When the CHANGE function is called it must return a value of -107 when the field parameter is not "name" or "number and newvalue is too long. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Can't tell how long 'too long' is. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/change/14
Class: B
Text: When the CHANGE function is called it must return a value of -1 when there is an unspecified error. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: You can't test for an unspecified error.

ID: wtai/phonebook/wmlscript/change/15
Class: A
Text: When the CHANGE function is called and the index value is unacceptable, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Try and change a field with the index parameter as "-1". Make sure that invalid is returned and no entries are changed. Changed w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/change/16
Class: A
Text: When the CHANGE function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Create an entry in the user agents phonebook with a known index. Create a deck to call the CHANGE function with the field parameter set to "name" and the index set to that of the message and the new value to a new known value. When the user 'clicks' the link to change the entry they must be asked for permission to change it. Grant single access permission and make sure entry has been changed. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/change/17
Class: A
Text: When the user gives context permission to the CHANGE function the user must only be asked for permission each time the CHANGE function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Create an entry in the user agents phonebook with a known index. Create a deck to call the CHANGE function with the field parameter set to "name" and the index set to that of the message and the new value to a new known value. When the user 'clicks' the link to change the entry they must be asked for permission to change it. Grant context permission and make sure the entry has changed. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/phonebook/wmlscript/change/18
Class: A
Text: When the user gives blanket permission to the CHANGE function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 11.2.5]
Note: Depending on the device, set blanket permission for the CHANGE function. Create an entry in the user agents phonebook with a known index. Create a deck to call the CHANGE function with the field parameter set to "name" and the index set to that of the message and the new value to a new known value. When the user 'clicks' the link to change the entry they must not be asked for permission to change it. Make sure the entry has changed. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

12 Network Common WTAI - Call Logs

There are no testable assertions in this section.

12.1 WTA Events

There are no testable assertions in this section.

12.2 WMLScript Functions

There are no testable assertions in this section.

12.2.1 WTACallLog.dialled

ID: wtai/logs/wmlscript/dialled/1
Class: A
Text: When the DIALLED function is called with the returnfirst parameter set to "true", the call handle of the most recent dialled call log entry must be returned. [WAP Wireless Telephony Application Interface SIN section 12.2.1]
Note: Dial a known phone number. Then call the DIALLED function with the returnfirst parameter set to "true". Make sure the handle of the last call is returned. This will require another phone to call, and the use of the GETFIELDVALUE function.

ID: wtai/logs/wmlscript/dialled/2
Class: B
Text: When the DIALLED function is called with the returnfirst parameter set to "true" and there are no dialled call logs to return, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 12.2.1]
Note: There is no way to make sure that there are no dialled logs on the device as this is implementation dependant. You could use the devices MMI, but this might not be possible on ALL devices. Changed w.r.t WTA meeting

ID: wtai/logs/wmlscript/dialled/3
Class: A
Text: When the DIALLED function is called with the returnfirst parameter set to "false", the call handle of the next most recent dialled call log entry following the previously returned one must be returned. [WAP Wireless Telephony Application Interface SIN section 12.2.1]
Note: Dial 2 different known phone number. Then call the DIALLED function with the returnfirst parameter set to "true". Then call it again with the returnfirst parameter set to "false". Make sure the handle of the second call is returned. This will require 2 other phones numbers to call, and the use of the GETFIELDVALUE function.

ID: wtai/logs/wmlscript/dialled/4
Class: A
Text: When the DIALLED function is called with the returnfirst parameter set to "false" and there are no more dialled calls logs to return, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 12.2.1]
Note: Loop through the dialled call log 1000 times or untill invalid is returned using the DIALLED function. If invalid is not returned then the test is a fail. Changed w.r.t WTA meeting

ID: wtai/logs/wmlscript/dialled/5
Class: A
Text: When the DIALLED function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 12.2.1]
Note: Dial a known phone number, then hang up. Then create a deck to call the DIALLED function with the returnfirst parameter set to "true". When the user 'clicks the link to get the information they must be asked for permission to run it. Grant single access permission and make sure the last dialled number is shown. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/logs/wmlscript/dialled/6
Class: A
Text: When the user gives context permission to the DIALLED function the user must only be asked for permission each time the DIALLED function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 12.2.1]
Note: Dial a known phone number, then hang up. Then create a deck to call the DIALLED function with the returnfirst parameter set to "true". When the user 'clicks the link to get the information they must be asked for permission to run it. Grant context permission and make sure the last dialled number is shown. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/logs/wmlscript/dialled/7
Class: A
Text: When the user gives blanket permission to the DIALLED function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 12.2.1]
Note: Depending on the device, set blanket permission for the DIALLED function. Dial a known phone number, then hang up. Then create a deck to call the DIALLED function with the returnfirst parameter set to "true". When the user 'clicks the link to get the information they must not be asked for permission to run it. Make sure the last number dialled is displayed. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

12.2.2 WTACallLog.missed

ID: wtai/logs/wmlscript/missed/1
Class: A
Text: When the MISSED function is called with the returnfirst parameter set to "true", the call handle of the most recent missed call log entry must be returned. [WAP Wireless Telephony Application Interface SIN section 12.2.2]
Note: Dial the test user agent from another phone and hang up. Then call the MISSED function from the test user agent with the returnfirst parameter set to "true". Make sure the handle of the last call is returned. This will require another phone to call from, and the use of the GETFIELDVALUE function.

ID: wtai/logs/wmlscript/missed/2
Class: B
Text: When the MISSED function is called with the returnfirst parameter set to "true" and there are no missed call logs to return, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 12.2.2]
Note: How can you make sure that the call log has no entries in it? Is there an implementation independant way to clear the call logs?

ID: wtai/logs/wmlscript/missed/3
Class: A
Text: When the MISSED function is called with the returnfirst parameter set to "false", the call handle of the next most recent missed call log entry following the previously returned one must be returned. [WAP Wireless Telephony Application Interface SIN section 12.2.3]
Note: Call the test user agent from 2 different known phone numbers. Then call the MISSED function with the returnfirst parameter set to "true". Then call it again with the returnfirst parameter set to "false". Make sure the handle of the second call is returned. This will require 2 other phones to call from and the use of the GETFIELDVALUE function.

ID: wtai/logs/wmlscript/missed/4
Class: A
Text: When the MISSED function is called with the returnfirst parameter set to "false" and there are no more missed call logs to return, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 12.2.2]
Note: Ring the device from 2 different phones and don't answer them. Then call the MISSED function with the returnfirst parameter set to "true". Then in a loop of 1000 or untill invalid is returned call the MISSED function with the returnfirst parameter set to "false". If invalid is returned it passes, if it loops 1000 times it fails. This presumes that there will be no more than 1000 missed calls in the log. Changed w.r.t WTA meeting

ID: wtai/logs/wmlscript/missed/5
Class: A
Text: When the MISSED function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 12.2.2]
Note: Dial the test user agent from another phone and hang up. Then create a deck to call the MISSED function from the test user agent with the returnfirst parameter set to "true". When the user 'clicks' the link to get the information they must be asked for permission to get it. Grant single access permission and make sure the missed number is displayed. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/logs/wmlscript/missed/6
Class: A
Text: When the user gives context permission to the MISSED function the user must only be asked for permission each time the MISSED function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 12.2.2]
Note: Dial the test user agent from another phone and hang up. Then create a deck to call the MISSED function from the test user agent with the returnfirst parameter set to "true". When the user 'clicks' the link to get the information they must be asked for permission to get it. Grant context permission and make sure the number is displayed. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/logs/wmlscript/missed/7
Class: A
Text: When the user gives blanket permission to the MISSED function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 12.2.2]
Note: Depending on the device, set blanket permission for the DIALLED function. Dial the test user agent from another phone and hang up. Then create a deck to call the MISSED function from the test user agent with the returnfirst parameter set to "true". When the user 'clicks' the link to get the information they must not be asked for permission to get it. Make sure the last dialled number is shown. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

12.2.3 WTACallLog.received

ID: wtai/logs/wmlscript/received/1
Class: A
Text: When the RECEIVED function is called with the returnfirst parameter set to "true", the call handle of the most recent received call log entry must be returned. [WAP Wireless Telephony Application Interface SIN section 12.2.3]
Note: Dial the test user agent from another known phone. Make the test user agent answer the call (Use incomming call event). Then call the RECEIVED function from the test user agent with the returnfirst parameter set to "true". Make sure the handle of the last received call is returned. This will require another phone to call from, and the use of the GETFIELDVALUE function.

ID: wtai/logs/wmlscript/received/2
Class: B
Text: When the RECEIVED function is called with the returnfirst parameter set to "true" and there are no received call logs to return, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 12.2.3]
Note: How can you make sure that the call log has no entries in it? Is there an implementation independant way to clear the call logs?

ID: wtai/logs/wmlscript/received/3
Class: A
Text: When the RECEIVED function is called with the returnfirst parameter set to "false", the call handle of the next most recent received call log entry following the previously returned one must be returned. [WAP Wireless Telephony Application Interface SIN section 12.2.3]
Note: Call the test user agent from 2 known phone numbers. Then call the RECEIVED function with the returnfirst parameter set to "true". Then call it again with the returnfirst parameter set to "false". Make sure the handle of the second call is returned. This will require 2 other phones to call from, and the use of the GETFIELDVALUE function.

ID: wtai/logs/wmlscript/received/4
Class: A
Text: When the RECEIVED function is called with the returnfirst parameter set to "false" and there are no more received call logs to return, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 12.2.3]
Note: Ring the device from 2 different phones and answer them. Then call the RECEIVED function with the returnfirst parameter set to "true". Then in a loop of 1000 or untill invalid is returned call the RECEIVED function with the returnfirst parameter set to "false". If invalid is returned it passes, if it loops 1000 times it fails. This presumes that there will be no more than 1000 received calls in the log. Changed w.r.t WTA meeting

ID: wtai/logs/wmlscript/received/5
Class: A
Text: When the RECEIVED function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 12.2.3]
Note: Dial the test user agent from another known phone. Make the test user agent answer the call (Use incomming call event). Then create a deck to call the RECEIVED function from the test user agent with the returnfirst parameter set to "true". When the user 'clicks' the link to show the information they must be asked for permission to get it. Grant single access permission and make sure the number of the last received is displayed. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/logs/wmlscript/received/6
Class: A
Text: When the user gives context permission to the RECEIVED function the user must only be asked for permission each time the RECEIVED function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 12.2.3]
Note: Dial the test user agent from another known phone. Make the test user agent answer the call (Use incomming call event). Then create a deck to call the RECEIVED function from the test user agent with the returnfirst parameter set to "true". When the user 'clicks' the link to show the information they must be asked for permission to get it. Grant context permission and make sure the last received number is shown. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/logs/wmlscript/received/7
Class: A
Text: When the user gives blanket permission to the RECEIVED function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 12.2.3]
Note: Depending on the device, set blanket permission for the RECEIVED function. Dial the test user agent from another known phone. Make the test user agent answer the call (Use incomming call event). Then create a deck to call the RECEIVED function from the test user agent with the returnfirst parameter set to "true". When the user 'clicks' the link to show the information they must not be asked for permission to get it. Make sure the last received number is displayed. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

12.2.4 WTACallLog.getFieldValue

ID: wtai/logs/wmlscript/getfield/1
Class: A
Text: When the GETFIELDVALUE function is called with the field parameter set to "number" and the loghandle parameter set to a known loghandle, the value of the number stored must be returned. [WAP Wireless Telephony Application Interface SIN section 12.2.4]
Note: Create an entry in the call log. Then call the GETFIELDVALUE function to return the number of that call. This will require the use of another known phone and one of the previous call functions.

ID: wtai/logs/wmlscript/getfield/2
Class: A
Text: When the GETFIELDVALUE function is called with the field parameter set to an unrecognised value, an empty string must be returned. [WAP Wireless Telephony Application Interface SIN section 12.2.4]
Note: Create an entry in the call log. Then call the GETFIELDVALUE function with the loghandle of that call and an unknown field value. Make sure that an empty string is returned.

ID: wtai/logs/wmlscript/getfield/3
Class: A
Text: When the GETFIELDVALUE function is called and the loghandle value is not a handle for which information is available, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 12.2.4]
Note: Call the GETFIELDVALUE function with a log handle that does not exist. Make sure that invalid is returned.

ID: wtai/logs/wmlscript/getfield/4
Class: A
Text: When the GETFIELDVALUE function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 12.2.4]
Note: Create an entry in the call log by calling the phone. Then create a deck to call the GETFIELDVALUE function to return the number of that call. When the user 'clicks' the link to get the information they must be asked for permission to get it. Grant single access permission and make sure the number of the call is returned. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/logs/wmlscript/getfield/5
Class: A
Text: When the user gives context permission to the GETFIELDVALUE function the user must only be asked for permission each time the GETFIELDVALUE function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 12.2.4]
Note: Create an entry in the call log by calling the phone. Then create a deck to call the GETFIELDVALUE function to return the number of that call. When the user 'clicks' the link to get the information they must be asked for permission to get it. Grant context permission and make sure the number is displayed. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/logs/wmlscript/getfield/6
Class: A
Text: When the user gives blanket permission to the GETFIELDVALUE function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 12.2.4]
Note: Depending on the device, set blanket permission for the GETFIELDVALUE function. Create an entry in the call log by calling the phone. Then create a deck to call the GETFIELDVALUE function to return the number of that call. When the user 'clicks' the link to get the information they must not be asked for permission to get it. Make sure the number is returned. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

13 Network Common WTAI - Miscellaneous

There are no testable assertions in this section.

13.1 WTA Events

There are no testable assertions in this section.

13.1.1 wtaev-ms/ns

ID: wtai/misc/events/ns/1
Class: A
Text: When one or more of the network status parameters has changed a network status event must occur [WAP Wireless Telephony Application Interface SIN section 13.1.1]
Note: Create a call to another phone, in a deck that has a local binding to the wtaev-ms/ns event. The local binding shows a card/sets a variable. Answer the call. Then put the phone in a place where the network can't be found (shielded booth). The card should be shown, or variable set. Added w.r.t WTA meeting

ID: wtai/misc/events/ns/2
Class: A
Text: When the network status event occurs, it must return "0" as its first parameter if the device is not in service. [WAP Wireless Telephony Application Interface SIN section 13.1.1]
Note: Create a call to another phone, in a deck that has a local binding to the wtaev-ms/ns event. The local binding shows the inservice parameter ($1). Answer the call. Then put the phone in a place where the network can't be found (shielded booth). The returned value on the card should be "0". Added w.r.t WTA meeting

ID: wtai/misc/events/ns/3
Class: B
Text: When the network status event occurs, it must return "1" as its first parameter if the device is in service. [WAP Wireless Telephony Application Interface SIN section 13.1.1]
Note: Can't test this as it is impractical to make a situation where the device goes from not in service, to in service. Added w.r.t WTA meeting

ID: wtai/misc/events/ns/4
Class: B
Text: When the network status event occurs, it must return the identifier for the network that is serving the device as its second parameter if the device is in service. [WAP Wireless Telephony Application Interface SIN section 13.1.1]
Note: Can't test this as you can't make a situation where the device goes from not in service, to in service, or make sure that the device changes networks. Added w.r.t WTA meeting

ID: wtai/misc/events/ns/5
Class: B
Text: When the network status event occurs, it must return "0" as its third parameter if the device is not in service and no explanation is given [WAP Wireless Telephony Application Interface SIN section 13.1.1]
Note: Can't test this as you can't make sure that no explanation will be given. Added w.r.t WTA meeting

ID: wtai/misc/events/ns/6
Class: A
Text: When the network status event occurs, it must return "1" as its third parameter if the device is not in service because no networks were found [WAP Wireless Telephony Application Interface SIN section 13.1.1]
Note: Create a call to another phone, in a deck that has a local binding to the wtaev-ms/ns event. The local binding shows the explanation parameter ($3). Answer the call. Then put the phone in a place where the network can't be found (shielded booth). The returned value on the card should be "1". Added w.r.t WTA meeting

ID: wtai/misc/events/ns/7
Class: B
Text: When the network status event occurs, it must return "2" as its third parameter if the device is not in service because only forbidden networks were found [WAP Wireless Telephony Application Interface SIN section 13.1.1]
Note: Can't test as you cant make sure that only forbidden networks can be found. Added w.r.t WTA meeting

13.2 WMLScript Functions

There are no testable assertions in this section.

13.2.1 WTAMisc.setIndicator

ID: wtai/misc/wmlscript/setindicator/1
Class: A
Text: When the SETINDICATOR function is called and the type parameter is 0 and newstate parameter is a positive value, the user agent must indicate that an incoming voice call is available to be answered. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with the type parameter set to 0 and the newstate parameter set to 1. Make sure that the device indicates that an incomming voice call is available to be answered. Changed w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/2
Class: A
Text: When the SETINDICATOR function is called and the type and newstate parameters are both set to 0 the user agent must NOT indicate that an incoming voice call is available to be answered. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with the type parameter set to 0 and the newstate parameter set to 1. Make sure that the device indicates that an incomming voice call is available to be answered. Then call the SETINDICATOR function with the type parameter set to 0 and the newstate parameter set to 0. Make sure that the device no longer indicates that an incomming voice call is available to be answered. Changed w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/3
Class: A
Text: When the SETINDICATOR function is called and the type parameter is 1 and newstate parameter is a positive value, the user agent must indicate that an incoming data call is available to be answered. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with the type parameter set to 1 and the newstate parameter set to 1. Make sure that the device indicates that an incomming data call is available to be answered. Changed w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/4
Class: A
Text: When the SETINDICATOR function is called and the type parameter is 1 and newstate parameter is 0, the user agent must NOT indicate that an incoming data call is available to be answered. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with the type parameter set to 1 and the newstate parameter set to 1. Make sure that the device indicates that an incomming data call is available to be answered. Then call the SETINDICATOR function with the type parameter set to 1 and the newstate parameter set to 0. Make sure that the device no longer indicates that an incomming data call is available to be answered. Changed w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/5
Class: A
Text: When the SETINDICATOR function is called and the type parameter is 2 and newstate parameter is a positive value, the user agent must indicate that an incoming fax call is available to be answered. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with the type parameter set to 2 and the newstate parameter set to 1. Make sure that the device indicates that an incomming fax call is available to be answered. Changed w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/6
Class: A
Text: When the SETINDICATOR function is called and the type parameter is 2 and newstate parameter is 0, the user agent must NOT indicate that an incoming fax call is available to be answered. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with the type parameter set to 2 and the newstate parameter set to 1. Make sure that the device indicates that an incomming fax call is available to be answered. Then call the SETINDICATOR function with the type parameter set to 2 and the newstate parameter set to 0. Make sure that the device no longer indicates that an incomming fax call is available to be answered. Changed w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/7
Class: A
Text: When the SETINDICATOR function is called and the type parameter is 3 and newstate parameter is a positive value, the user agent must indicate that a second call is on hold. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with the type parameter set to 3 and the newstate parameter set to 1. Make sure that the device indicates that a second call is on hold. Changed w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/8
Class: A
Text: When the SETINDICATOR function is called and the type parameter is 3 and newstate parameter is 0, the user agent must NOT indicate that there is a call on hold [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with the type parameter set to 3 and the newstate parameter set to 1. Make sure that the device indicates that a second call is on hold. Then call the SETINDICATOR function with the type parameter set to 3 and the newstate parameter set to 0. Make sure that the device no longer indicates that a second call is on hold. Changed w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/9
Class: A
Text: When the SETINDICATOR function is called and the type parameter is 4, the newstate indicator value indicates how many text messages are available. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with the type parameter set to 4 and the newstate parameter set to 5. Make sure that the device indicates that there are 5 text messages available. Added w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/10
Class: A
Text: When the SETINDICATOR function is called and the type parameter is 5, the newstate indicator value indicates how many voice mail messages are available. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with the type parameter set to 5 and the newstate parameter set to 5. Make sure that the device indicates that there are 5 voice mail messages available. Added w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/11
Class: A
Text: When the SETINDICATOR function is called and the type parameter is 6, the newstate indicator value indicates how many fax messages are available. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with the type parameter set to 6 and the newstate parameter set to 5. Make sure that the device indicates that there are 5 fax messages available. Added w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/12
Class: A
Text: When the SETINDICATOR function is called and the type parameter is 7, the newstate indicator value indicates how many email messages are available. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with the type parameter set to 7 and the newstate parameter set to 5. Make sure that the device indicates that there are 5 email messages available. Added w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/13
Class: A
Text: When the SETINDICATOR function is called it must return an empty string when sucessful. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with correct parameters. Make sure that an empty string is returned and the indicator is set. Changed w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/14
Class: A
Text: When the SETINDICATOR function is called it must return invalid when it fails. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with the wrong number of parameters. Make sure that invalid is returned and the indicator is not set. Changed w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/15
Class: A
Text: When the SETINDICATOR function is called and the type parameter is not a supported logical indicator, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with an unknown type parameter. Make sure that invalid is returned and no indicators are set. Changed w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/16
Class: A
Text: When the SETINDICATOR function is called and the newstate parameter is not a valid one, invalid must be returned. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Call the SETINDICATOR function with an unknown or incorrect newstate parameter value. Make sure that invalid is returned and no indicators are set Changed w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/17
Class: A
Text: When the SETINDICATOR function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Create a deck to call the SETINDICATOR function with the type parameter set to 0 and the newstate parameter set to 1. When the user 'clicks' the link to SET the indicator they must be asked for permission to set it. Grant single access permission and make sure the indicator is set. Then unset the indicator. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/18
Class: A
Text: When the user gives context permission to the SETINDICATOR function the user must only be asked for permission each time the SETINDICATOR function is called in a new context. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Create a deck to call the SETINDICATOR function with the type parameter set to 0 and the newstate parameter set to 1. When the user 'clicks' the link to SET the indicator they must be asked for permission to set it. Grant context permission and make sure the indicator is set. Then unset the indicator. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/misc/wmlscript/setindicator/19
Class: A
Text: When the user gives blanket permission to the SETINDICATOR function the user must not be asked again for permission to that function. [WAP Wireless Telephony Application Interface SIN section 13.2.1]
Note: Depending on the device, set blanket permission for the SETINDICATOR function. Create a deck to call the SETINDICATOR function with the type parameter set to 0 and the newstate parameter set to 1. When the user 'clicks' the link to SET the indicator they must not be asked for permission to set it. Make sure the indicator is set. Then unset the indicator. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

13.2.2 WTAMisc.endContext

ID: wtai/misc/wmlscript/endcontext/1
Class: A
Text: When the ENDCONTEXT function is called from WMLScript the current context of the user agent is terminated. [WAP Wireless Telephony Application Interface SIN section 13.2.2]
Note: Create a deck with some text on it. Then call the ENDCONTEXT function from WMLScript. The device should revert back to the state before the deck was loaded. Changed w.r.t WTA meeting

ID: wtai/misc/wmlscript/endcontext/2
Class: B
Text: When the ENDCONTEXT function is called from WMLScript it must return an empty string. [WAP Wireless Telephony Application Interface SIN section 13.2.2]
Note: Can't test as the string could be set, but then the context is terminated so reference to it is lost. Changed w.r.t WTA meeting

13.2.3 WTAMisc.getProtection

ID: wtai/misc/wmlscript/getprotection/1
Class: A
Text: When the GETPROTECTION function is called it must return "true" if the current context is protected. [WAP Wireless Telephony Application Interface SIN section 13.2.3]
Note: Protect the context. Then call the GETPROTECTION function. Make sure "true" is returned.

ID: wtai/misc/wmlscript/getprotection/2
Class: A
Text: When the GETPROTECTION function is called it must return "false" if the current context is uprotected. [WAP Wireless Telephony Application Interface SIN section 13.2.3]
Note: Unprotect the context. Then call the GETPROTECTION function. Make sure "false" is returned.

13.2.4 WTAMisc.setProtection

ID: wtai/misc/wmlscript/setprotection/1
Class: A
Text: When the SETPROTECTION function is called with the mode parameter as "true" the current context must be protected. [WAP Wireless Telephony Application Interface SIN section 13.2.4]
Note: Protect the context. Then call the GETPROTECTION function. Make sure "true" is returned.

ID: wtai/misc/wmlscript/setprotection/2
Class: A
Text: When the SETPROTECTION function is called with the mode parameter set to "false" the current context must not be protected. [WAP Wireless Telephony Application Interface SIN section 13.2.3]
Note: Unprotect the context. Then call the GETPROTECTION function. Make sure "false" is returned.

ID: wtai/misc/wmlscript/setprotection/3
Class: A
Text: When the SETPROTECTION function is called with the mode parameter as "true", services in that context must not be interupted. [WAP Wireless Telephony Application Interface SIN section 13.2.4]
Note: Create two channels for different events. Start the first service and then protect the context. Then try and start the second service. It should not be started. Changed w.r.t WTA meeting

ID: wtai/misc/wmlscript/setprotection/4
Class: A
Text: When the SETPROTECTION function is called with the mode parameter as "false", services in that context must be interupted [WAP Wireless Telephony Application Interface SIN section 13.2.4]
Note: Create two channels for different events. Start the first service and then unprotect the context. Then try and start the second service. It should be started. Changed w.r.t WTA meeting

13.3 wtai://ms/ec

ID: wtai/misc/uri/endcontext/1
Class: A
Text: When the WTAI://MS/EC function is called from a uri the current context of the user agent is terminated. [WAP Wireless Telephony Application Interface SIN section 13.3.1]
Note: Create a deck with some text on it. Then call the ENDCONTEXT function from a uri. The device should revert back to the state before the deck was loaded. Changed w.r.t WTA meeting

ANSI-136-5 ANSI 136 Specification Library

There are no testable assertions in this section.

ANSI-136-5.1 WTA Events

There are no testable assertions in this section.

ANSI-136-5.1.1 wtaev-ansi136/ia

ID: wtai/ansi136/events/ia/1
Class: C
Scope: "ANSI 136 networks are supported"
Text: When an incomming alert has been received, an incomming alert event must occur. [WAP WTAI IS-136 section 5.1.1]
Note: Create a temporary binding to the wtaev-ansi136/ia event that will show a card or set a variable if it occurs. Setup a call on the device that can accept alerts. Then send an alert sequence to it and make sure that the card is shown or the variable is set. Added w.r.t WTA meeting

ID: wtai/ansi136/events/ia/2
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the incomming alert event occurs it must return the callhandle of voice call that received the alert as its first parameter. [WAP WTAI IS-136 section 5.1.1]
Note: Create a temporary binding to the wtaev-ansi136/ia event that will show a card with the callhandle ($1). Call the device, and send an alert to it, get the call handle, then terminate that call to make sure that the correct handle was returned. Make sure that the call sending the alert has been disconnected. Added w.r.t WTA meeting

ID: wtai/ansi136/events/ia/3
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the incomming alert event occurs it must return the alert sequence as its second parameter. [WAP WTAI IS-136 section 5.1.1]
Note: Create a temporary binding to the wtaev-ansi136/ia event that will show a card with the alert sequence ($2). Call the device, and send an alert to it. Make sure that the card is shown with the correct alert sequence on it. Added w.r.t WTA meeting

ANSI-136-5.1.2 wtaev-ansi136/if

ID: wtai/ansi136/events/if/1
Class: C
Scope: "ANSI 136 networks are supported"
Text: When an incomming flash has been received, an incomming flash event must occur. [WAP WTAI IS-136 section 5.1.2]
Note: Create a temporary binding to the wtaev-ansi136/if event that will show a card or set a variable if it occurs. Setup a call on the device that can accept flash. Then send a flash sequence to it and make sure that the card is shown or the variable is set. Added w.r.t WTA meeting

ID: wtai/ansi136/events/if/2
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the incomming flash event occurs it must return the callhandle of voice call that received the flash as its first parameter. [WAP WTAI IS-136 section 5.1.2]
Note: Create a temporary binding to the wtaev-ansi136/if event that will show a card with the callhandle ($1). Call the device, and send a flash to it, get the call handle, then terminate that call to make sure that the correct handle was returned. Make sure that the call sending the flash has been disconnected. Added w.r.t WTA meeting

ID: wtai/ansi136/events/if/3
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the incomming flash event occurs it must return the flash sequence as its second parameter. [WAP WTAI IS-136 section 5.1.2]
Note: Create a temporary binding to the wtaev-ansi136/if event that will show a card with the flash sequence ($2). Call the device, and send a flash to it. Make sure that the card is shown with the correct flash sequence on it. Added w.r.t WTA meeting

ANSI-136-5.2 WMLScript Functions

There are no testable assertions in this section.

ANSI-136-5.2.1 WTAANSI136.sendFlash

ID: wtai/ansi136/wmlscript/sendflash/1
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the SENDFLASH function is called it must send the flash code sequence in the flashsequence attribute through the voice call specified in the callhandle attributr. [WAP WTAI IS-136 section 5.2.1]
Note: Create a channel for the incomming flash event on another device that is able to accept a flash. Then call that device. Then call the SENDFLASH function with that calls callhandle and a flash sequence. Make sure that the event happened on the other device and that the flash sequence was the same as was sent. Changed w.r.t WTA meeting

ID: wtai/ansi136/wmlscript/sendflash/2
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the SENDFLASH function is called it must return an empty string when sucessful. [WAP WTAI IS-136 section 5.2.1]
Note: Create a channel for the incomming flash event on another device that is able to accept a flash. Then call that device. Then call the SENDFLASH function with that calls callhandle and a flash sequence. Make sure that the event happened on the other device and that an empty string was returned. Changed w.r.t WTA meeting

ID: wtai/ansi136/wmlscript/sendflash/3
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the SENDFLASH function is called it must return invalid when it fails [WAP WTAI IS-136 section 5.2.1]
Note: Call the SENDFLASH function with an incorrect number of parameters. Make sure that invalid is returned.

ID: wtai/ansi136/wmlscript/sendflash/4
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the SENDFLASH function is called and the callhandle parameter does not refer to an existing ANSI 136 voice call through which a flash code can be sent, invalid must be returned. [WAP WTAI IS-136 section 5.2.1]
Note: Call the SENDFLASH function with a callhandle that does not exist. Make sure that invalid is returned.

ID: wtai/ansi136/wmlscript/sendflash/5
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the SENDFLASH function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP WTAI IS-136 section 5.2.1]
Note: Create a channel for the incomming flash event on another device that is able to accept a flash. Then call that device. Then create a deck to call the SENDFLASH function with that calls callhandle and a flash sequence. When the user 'clicks' the link to send the flash they must be asked for permission to send it. Grant single access permission and make sure the flash is sent. End the call. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/ansi136/wmlscript/sendflash/6
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the user gives context permission to the SENDFLASH function the user must only be asked for permission each time the SENDFLASH function is called in a new context. [WAP WTAI IS-136 section 5.2.1]
Note: Create a channel for the incomming flash event on another device that is able to accept a flash. Then call that device. Then create a deck to call the SENDFLASH function with that calls callhandle and a flash sequence. When the user 'clicks' the link to send the flash they must be asked for permission to send it. Grant context permission and make sure the flash is sent, then end the call. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/ansi136/wmlscript/sendflash/7
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the user gives blanket permission to the SENDFLASH function the user must not be asked again for permission to that function. [WAP WTAI IS-136 section 5.2.1]
Note: Depending on the device, set blanket permission for the SENDFLASH function. Create a channel for the incomming alert event on another device that is able to accept a flash. Then call that device. Then create a deck to call the SENDFLASH function with that calls callhandle and a flash sequence. When the user 'clicks' the link to send the flash they must not be asked for permission to send it. Make sure the flash was sent, then end the call. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

ANSI-136-5.2.2 WTAANSI136.sendAlert

ID: wtai/ansi136/wmlscript/sendalert/1
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the SENDALERT function is called it must send the alert code sequence in the alertsequence attribute through the call specified by the callhandle attribute. [WAP WTAI IS-136 section 5.2.2]
Note: Create a channel for the incomming alert event on another device that is able to accept an alert. Then call that device. Then call the SENDALERT function with that calls callhandle and an alert sequence. Make sure that the event happened on the other device and that the alert sequence was the same as was sent. Changed w.r.t WTA meeting

ID: wtai/ansi136/wmlscript/sendalert/2
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the SENDALERT function is called it must return an empty string when sucessful. [WAP WTAI IS-136 section 5.2.2]
Note: Create a channel for the incomming alert event on another device that is able to accept an alert. Then call that device. Then call the SENDALERT function with that calls callhandle and an alert sequence. Make sure that the event happened on the other device and that an empty string was returned. Changed w.r.t WTA meeting

ID: wtai/ansi136/wmlscript/sendalert/3
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the SENDALERT function is called it must return invalid when it fails [WAP WTAI IS-136 section 5.2.2]
Note: Call the SENDALERT function with an incorrect number of parameters. Make sure that invalid is returned.

ID: wtai/ansi136/wmlscript/sendalert/4
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the SENDALERT function is called and the callhandle parameter does not refer to an existing ANSI 136 voice call through which an alert code can be sent, invalid must be returned. [WAP WTAI IS-136 section 5.2.2]
Note: Call the SENDALERT function with a callhandle that does not exist. Make sure that invalid is returned.

ID: wtai/ansi136/wmlscript/sendalert/5
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the SENDALERT function is called it must ask for permission each time it is called when the user permission has been set to single action permission. [WAP WTAI IS-136 section 5.2.2]
Note: Create a channel for the incomming alert event on another device that is able to accept an alert. Then call that device. Then create a deck to call the SENDALERT function with that calls callhandle and an alert sequence. When the user 'clicks' the link to send the alert they must be asked for permission to send it. Grant single access permission and make sure the alert is sent. End the call. Repeat this again and make sure that permission was asked again. Added w.r.t WTA meeting

ID: wtai/ansi136/wmlscript/sendalert/6
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the user gives context permission to the SENDALERT function the user must only be asked for permission each time the SENDALERT function is called in a new context. [WAP WTAI IS-136 section 5.2.2]
Note: Create a channel for the incomming alert event on another device that is able to accept an alert. Then call that device. Then create a deck to call the SENDALERT function with that calls callhandle and an alert sequence. When the user 'clicks' the link to send the alert they must be asked for permission to send it. Grant context permission and make sure the alert is sent, then end the call. Repeat this again and make sure that permission was not asked for again. Then in a new context repeat the test. Permission must only be asked for the first time the link is 'clicked'. Added w.r.t WTA meeting

ID: wtai/ansi136/wmlscript/sendalert/7
Class: C
Scope: "ANSI 136 networks are supported"
Text: When the user gives blanket permission to the SENDALERT function the user must not be asked again for permission to that function. [WAP WTAI IS-136 section 5.2.2]
Note: Depending on the device, set blanket permission for the SENDALERT function. Create a channel for the incomming alert event on another device that is able to accept an alert. Then call that device. Then create a deck to call the SENDALERT function with that calls callhandle and an alert sequence. When the user 'clicks' the link to send the alert they must not be asked for permission to send it. Make sure the alert was sent, then end the call. Then in a new context repeat the test making sure permission was not asked for again. Added w.r.t WTA meeting

GSM-6 Special Behaviour of Network-Common WTAI

There are no testable assertions in this section.

GSM-6.1 WTA Events

There are no testable assertions in this section.

GSM-6.1.1 wtaev-cc/cl

ID: wtai/gsm/common/events/cl/1
Class: C
Scope: "Network supports GSM technology"
Text: When a multiparty call has ended, a call cleared event must occur. [WAP WTAI GSM section 6.1.1]
Note: Create a temporary binding to the wtaev-cc/cl event that will show a card or set a variable if it occurs. Create a multiparty call by calling another gsm phone and holding the call. Then call another different gsm phone. Call the MULTIPARTY function so that a multiparty call is setup. Make sure the multiparty call is setup by using the call connected event. Then end the call using the SEPERATE function. Make sure that the card was shown or variable set. Added w.r.t WTA meeting

ID: wtai/gsm/common/events/cl/2
Class: C
Scope: "Network supports GSM technology"
Text: When a call cleared event occurs, it must return the callhandle of the gsm multiparty call that has been ended as its first parameter. [WAP WTAI GSM section 6.1.1]
Note: Create a temporary binding to the wtaev-cc/cl event that will show a the call handle if it occurs. Create a multiparty call by calling another gsm phone and holding the call. Then call another different gsm phone. Call the MULTIPARTY function so that a multiparty call is setup. Make sure the multiparty call is setup and get the handle of the call by using the call connected event. Then end the call using the SEPERATE function. Make sure that the card was shown with the call handle found when the call was setup. Added w.r.t WTA meeting

ID: wtai/gsm/common/events/cl/3
Class: C
Scope: "Network supports GSM technology"
Text: When a call cleared event occurs, it must return "100" if the gsm multiparty call has ended normally. [WAP WTAI GSM section 6.1.1]
Note: Create a temporary binding to the wtaev-cc/cl event that will show a card if it occurs. Create a multiparty call by calling another gsm phone and holding the call. Then call another different gsm phone. Call the MULTIPARTY function so that a multiparty call is setup. Make sure the multiparty call is setup and get the handle of the call by using the call connected event. Then end the call using the SEPERATE function. Make sure that the card was shown and "100" was returned. Added w.r.t WTA meeting

ID: wtai/gsm/common/events/cl/4
Class: D
Scope: "Network supports GSM technology"
Text: When a call cleared event occurs, it must return "101" if the gsm multiparty call has ended for an unspecified reason. [WAP WTAI GSM section 6.1.1]
Note: Can't test for an 'unspecified' reason.

GSM-6.1.2 wtaev-cc/co

ID: wtai/gsm/common/events/co/1
Class: C
Scope: "Network supports GSM technology"
Text: When a multiparty call has been setup, a call connected event must occur. [WAP WTAI GSM section 6.1.2]
Note: Create a temporary binding to the wtaev-cc/co event that will show a card or set a variable if it occurs. Create a multiparty call by calling another gsm phone and holding the call. Then call another different gsm phone. Call the MULTIPARTY function so that a multiparty call is setup. Make sure that the card was shown or variable set. Added w.r.t WTA meeting

ID: wtai/gsm/common/events/co/2
Class: C
Scope: "Network supports GSM technology"
Text: When a call connected event occurs, it must return the callhandle of the multiparty call as its first parameter. [WAP WTAI GSM section 6.1.2]
Note: Create a temporary binding to the wtaev-cc/co event that will return the callhandle of the multiparty call. Create a multiparty call by calling another gsm phone and holding the call. Then call another different gsm phone. Call the MULTIPARTY function so that a multiparty call is setup. Then end the call with that call handle. Make sure that the multiparty call is ended. Added w.r.t WTA meeting

ID: wtai/gsm/common/events/co/3
Class: C
Scope: "Network supports GSM technology"
Text: When a call connected event occurs, it must return an empty string when multiparty call as its second parameter [WAP WTAI GSM section 6.1.2]
Note: Create a temporary binding to the wtaev-cc/co event that will return the second parameter ($2). Create a multiparty call by calling another gsm phone and holding the call. Then call another different gsm phone. Call the MULTIPARTY function so that a multiparty call is setup. Make sure that an empty string is returned. Added w.r.t WTA meeting

GSM-6.2 WMLScript Functions

There are no testable assertions in this section.

GSM-6.2.1 WTAVoiceCall.release

ID: wtai/gsm/common/wmlscript/release/1
Class: C
Scope: "Network supports GSM technology"
Text: When the RELEASE function is called with the call handle of a gsm multiparty call, the multiparty call must be released. [WAP WTAI GSM section 6.2.1]
Note: Create a multiparty call by calling another gsm phone and holding the call. Then call another different gsm phone. Call the MULTIPARTY function so that a multiparty call is setup. Then call the RELEASE function with the handle of that multiparty call. Make sure that the multiparty call has been released using the call cleared event.. Added w.r.t WTA meeting

GSM-7 Network Specific WTAI-GSM

There are no testable assertions in this section.

GSM-7.1 WTA Events

There are no testable assertions in this section.

GSM-7.1.1 wtaev-gsm/ch

ID: wtai/gsm/events/ch/1
Class: C
Scope: "Network supports GSM technology"
Text: When a gsm call has been put on hold a call held event must occur. [WAP WTAI GSM section 7.1.1]
Note: Create a temporary binding to the wtaev-gsm/ch event that will show a card or set a variable if it occurs. Call the device and make sure that the call is connected. Then call the HOLD function with that calls callhandle to put it on hold. Make sure that the card is shown or variable set. Added w.r.t WTA meeting

ID: wtai/gsm/events/ch/2
Class: C
Scope: "Network supports GSM technology"
Text: When the call held event occurs it must return the callhandle of the held call as its first parameter. [WAP WTAI GSM section 7.1.1]
Note: Create a temporary binding to the wtaev-gsm/ch event that will show a card with the callhandle ($1). Call the device and make sure that the call has been connected, then hold the call with the HOLD function. Make sure that the call is held and the callhandle is returned Added w.r.t WTA meeting

GSM-7.1.2 wtaev-gsm/ca

ID: wtai/gsm/events/ca/1
Class: C
Scope: "Network supports GSM technology"
Text: When a gsm call has been made active a call active event must occur. [WAP WTAI GSM section 7.1.2]
Note: Create a temporary binding to the wtaev-gsm/ca event that will show a card or set a variable if it occurs. Call the device and make sure that the call is connected. Then call the HOLD function with that calls callhandle to put it on hold. Then call the RETRIEVE function to make it active again. Make sure that the card is shown or variable set. Added w.r.t WTA meeting

ID: wtai/gsm/events/ca/2
Class: C
Scope: "Network supports GSM technology"
Text: When the call active event occurs it must return the callhandle of the active call as its first parameter. [WAP WTAI GSM section 7.1.2]
Note: Create a temporary binding to the wtaev-gsm/ca event that will show a card with the callhandle ($1). Call the device and make sure that the call has been connected, then hold the call with the HOLD function. Then call the RELEASE function to make the call active again. Make sure that the call is released and the callhandle is returned. Added w.r.t WTA meeting

GSM-7.1.3 wtaev-gsm/ru

ID: wtai/gsm/events/ru/1
Class: C
Scope: "Network supports GSM technology"
Text: When a USSD mesage has been received, a USSD received event must occur. [WAP WTAI GSM section 7.1.3]
Note: Create a temporary binding to the wtaev-gsm/ru event that will show a card or set a variable if it occurs. Send a USSD message to the device and make sure that the card is shown or variable set. Added w.r.t WTA meeting

ID: wtai/gsm/events/ru/2
Class: C
Scope: "Network supports GSM technology"
Text: When the USSD received event occurs it must return the message of the USSD as its first parameter. [WAP WTAI GSM section 7.1.3]
Note: Create a temporary binding to the wtaev-gsm/ru event that will show the USSD message ($1). Send a USSD message to the device and make sure that the card is shown with the sent message. Added w.r.t WTA meeting

ID: wtai/gsm/events/ru/3
Class: C
Scope: "Network supports GSM technology"
Text: When the USSD received event occurs it must return the codingscheme of the USSD as its second parameter. [WAP WTAI GSM section 7.1.3]
Note: Create a temporary binding to the wtaev-gsm/ru event that will show the coding scheme of the USSD ($2). Send a USSD message to the device with a known coding scheme and make sure that the card is shown with the correct coding scheme. Added w.r.t WTA meeting

ID: wtai/gsm/events/ru/4
Class: C
Scope: "Network supports GSM technology"
Text: When the USSD received event occurs it must return the type of the USSD as its third parameter. [WAP WTAI GSM section 7.1.3]
Note: Create a temporary binding to the wtaev-gsm/ru event that will show the type of the USSD ($3). Send a USSD message to the device with a known type and make sure that the card is shown with the correct type. Added w.r.t WTA meeting

ID: wtai/gsm/events/ru/5
Class: C
Scope: "Network supports GSM technology"
Text: When the USSD received event occurs it must return the transaction id of the USSD as its fourth parameter. [WAP WTAI GSM section 7.1.3]
Note: Create a temporary binding to the wtaev-gsm/ru event that will show the transaction id of the USSD ($4). Send a USSD message to the device with a known transaction id and make sure that the card is shown with the correct id. Added w.r.t WTA meeting

GSM-7.2 WMLScript Functions

There are no testable assertions in this section.

GSM-7.2.1 WTAGSM.hold

ID: wtai/gsm/wmlscript/hold/1
Class: C
Scope: "Network supports GSM technology"
Text: When the HOLD function is called, the call with the stated call handle must be put on hold. [WAP WTAI GSM section 7.2.1]
Note: Create a call with a known handle. Then call the HOLD function. Make sure that the call is put on hold by making sure that a call held event occured on both of the phones. Changed w.r.t WTA meeting

ID: wtai/gsm/wmlscript/hold/2
Class: C
Scope: "Network supports GSM technology"
Text: When the HOLD function is called it must return an empty string when sucessful. [WAP WTAI GSM section 7.2.1]
Note: Create a call with a known handle. Then call the HOLD function. Make sure that an empty string is returned.

ID: wtai/gsm/wmlscript/hold/3
Class: C
Scope: "Network supports GSM technology"
Text: When the HOLD function is called it must return invalid when the function fails [WAP WTAI GSM section 7.2.1]
Note: Call the HOLD function with an invalid number of parameters. Make sure that invalid is returned and the the call is not put on hold. Changed w.r.t WTA meeting

ID: wtai/gsm/wmlscript/hold/4
Class: C
Scope: "Network supports GSM technology"
Text: When a call is put on hold a CALLHELD event must occur on the user agent [WAP WTAI GSM section 7.2.1]
Note: Create a call to another known phone number. Create a call with the SETUP call function. HOLD the call. Then bind the CALLHELD event to a user detectable event. i.e. Set variable and check for its existence.

ID: wtai/gsm/wmlscript/hold/5
Class: C
Scope: "Network supports GSM technology"
Text: When the callhandle parameter does not refer to a GSM that can be put on hold, invalid must be returned. [WAP WTAI GSM section 7.2.1]
Note: Create a call and then hold it using the HOLD function. Then try and hold it again using the HOLD function. Make sure that invalid is returned. Changed w.r.t WTA meeting

GSM-7.2.2 WTAGSM.retrieve

ID: wtai/gsm/wmlscript/retrieve/1
Class: C
Scope: "Network supports GSM technology"
Text: When the RETRIEVE function is called, the call with the stated call handle must be retrieved from hold. [WAP WTAI GSM section 7.2.2]
Note: Create a call with a known handle to another phone. Then call the HOLD function. Make sure that the call is put on hold. Then call the RETRIEVE function to retrieve that call. Make sure that the call is retrieved on both phoned.

ID: wtai/gsm/wmlscript/retrieve/2
Class: C
Scope: "Network supports GSM technology"
Text: When the RETRIEVE function is called it must return an empty string when sucessful. [WAP WTAI GSM section 7.2.2]
Note: Create a call with a known handle. Then call the HOLD function, and then the RETRIEVE function. Make sure an empty string is returned.

ID: wtai/gsm/wmlscript/retrieve/3
Class: C
Scope: "Network supports GSM technology"
Text: When the RETRIEVE function is called it must return invalid when the function fails [WAP WTAI GSM section 7.2.2]
Note: Call the RETRIEVE function with an invalid number of parameters.Make sure that invalid is returned

ID: wtai/gsm/wmlscript/retrieve/4
Class: C
Scope: "Network supports GSM technology"
Text: When a call is retrieved from hold, a CALLACTIVE event must occur on the user agent [WAP WTAI GSM section 7.2.2]
Note: Create a call to another phone using the SETUP call function. HOLD that call. Then RETRIEVE it. Bind the CALLACTIVE event to set a variable on both devices. Make sure that both the variables are set. Changed w.r.t WTA meeting

ID: wtai/gsm/wmlscript/retrieve/5
Class: C
Scope: "Network supports GSM technology"
Text: When the callhandle parameter does not refer to a GSM that can be retrieved, invalid must be returned. [WAP WTAI GSM section 7.2.2]
Note: Create a call on the device. Then call the RETRIEVE function with the callhandle of the active call. Make sure that invalid is returned. Changed w.r.t WTA meeting

GSM-7.2.3 WTAGSM.transfer

ID: wtai/gsm/wmlscript/transfer/1
Class: C
Scope: "Network supports GSM technology"
Text: When the TRANSFER function is called with two call handles (b and c) and the user agent is in the 'call active' or 'call held' state with one call, and any other state than 'end' with another call, the call is transfered to b and c [WAP WTAI GSM section 7.2.3]
Note: Have the user agent in 2 calls. Call the TRANSFER function with the 2 calls call handles. Make sure that the 2 calls are connected. Also make sure that the calls are disconnected from the first device using the call cleared event. Requires 3 GSM phones. Changed w.r.t WTA meeting

ID: wtai/gsm/wmlscript/transfer/2
Class: C
Scope: "Network supports GSM technology"
Text: When the TRANSFER function is called it must return an empty string when sucessful. [WAP WTAI GSM section 7.2.3]
Note: Have the user agent in 2 calls. Call the TRANSFER function with the 2 calls call handles. Make sure that an empty string is returned.

ID: wtai/gsm/wmlscript/transfer/3
Class: C
Scope: "Network supports GSM technology"
Text: When the TRANSFER function is called it must return invalid when it fails [WAP WTAI GSM section 7.2.3]
Note: call the TRANSFER function with an invalid number of parameters. Make sure that invalid is returned.

ID: wtai/gsm/wmlscript/transfer/4
Class: C
Scope: "Network supports GSM technology"
Text: When the TRANSFER function is called with two call handles (a and b) and the user agent is in the 'call active' or 'call held' state with one call, and any other state than 'end' with another call, the call is disconnected from the test user agent. [WAP WTAI GSM section 7.2.3]
Note: Have the user agent in 2 calls. Call the TRANSFER function with the 2 calls call handles. Make sure that the test user agent is disconnected. Requires 3 GSM phones

ID: wtai/gsm/wmlscript/transfer/5
Class: C
Scope: "Network supports GSM technology"
Text: When the TRANSFER function is called sucessfully it must produce a CALLCLEARED event for each of the calls transfered when they are no longer available to the WTA agent [WAP WTAI GSM section 7.2.3]
Note: Setup calls to 2 other gsm phones in a deck that has a binding for the call cleared event. TRANSFER the calls and make sure that the binding is executed for each call. Changed w.r.t WTA meeting

ID: wtai/gsm/wmlscript/transfer/6
Class: C
Scope: "Network supports GSM technology"
Text: When the TRANSFER function is called and either of the parameters do not refer to a GSM callhandle that can be transfered, invalid is returned [WAP WTAI GSM section 7.2.3]
Note: Call the TRANSFER function with one of the parameters as an invalid call handle. Make sure invalid is returned.

GSM-7.2.4 WTAGSM.deflect

ID: wtai/gsm/wmlscript/deflect/1
Class: C
Scope: "Network supports GSM technology"
Text: When the DEFLECT function is called, the user agent must redirect the call identified by the callhandle parameter to the number specified by the number parameter without being answered first. [WAP WTAI GSM section 7.2.4]
Note: Setup a channel on the device for the incomming call event that uses the DEFLECT function to redirect the call to another phone. Call the user agent from another phone. Make sure the call is redirected to the other known phone without being answered first and that it dosen't create a callhandle on the test user agent. Changed w.r.t WTA meeting

ID: wtai/gsm/wmlscript/deflect/2
Class: C
Scope: "Network supports GSM technology"
Text: When the DEFLECT function is called, it must return an empty string when sucessful. [WAP WTAI GSM section 7.2.4]
Note: Call the user agent from another phone. Then call the DEFLECT function with the callhandle of the incomming call, and the number of another known phone. Make sure that an empty string is returned.

ID: wtai/gsm/wmlscript/deflect/3
Class: C
Scope: "Network supports GSM technology"
Text: When the DEFLECT function is called, it must return invalid when it fails [WAP WTAI GSM section 7.2.4]
Note: Call the DEFLECT function with an invalid number of parameters. Make sure that invalid is returned.

ID: wtai/gsm/wmlscript/deflect/4
Class: C
Scope: "Network supports GSM technology"
Text: When the DEFLECT function is called and the number parameter is not a phone number as defined in [FORMAT], invalid must be returned. [WAP WTAI GSM section 7.2.4]
Note: Call the DEFLECT function with a phone number in an invalid format. Make sure that invalid is returned.

ID: wtai/gsm/wmlscript/deflect/5
Class: C
Scope: "Network supports GSM technology"
Text: When the DEFLECT function is called and the callhandle does not refer to a GSM voice call that can be deflected, invalid must be returned. [WAP WTAI GSM section 7.2.4]
Note: Create a call and then call the DEFLECT function with that calls callhandle. Make sure that invalid is returned. Changed w.r.t WTA meeting

GSM-7.2.5 WTAGSM.multiparty

ID: wtai/gsm/wmlscript/multiparty/1
Class: C
Scope: "Network supports GSM technology"
Text: When the phone has one GSM call on hold and another active GSM call and the MULTIPARTY function is called, a GSM multiparty call is created. [WAP WTAI GSM section 7.2.5]
Note: Create the conditions above and make sure that the multiparty call is set up and the other user agents are no longer on hold. Changed w.r.t WTA meeting

ID: wtai/gsm/wmlscript/multiparty/2
Class: C
Scope: "Network supports GSM technology"
Text: When it is not possible to create or add to the multiparty call, invalid must be returned. [WAP WTAI GSM section 7.2.5]
Note: Try to create a multiparty call when there is not one active and one held call. Make sure that invalid is returned.

ID: wtai/gsm/wmlscript/multiparty/3
Class: C
Scope: "Network supports GSM technology"
Text: When a multipart call is on hold and a GSM voice call is active, then the active GSM voice call is added to the existing multiparty and makes the multiparty call active [WAP WTAI GSM section 7.2.5]
Note: Create the conditions above. Make sure that active voice call is added to the multiparty.

ID: wtai/gsm/wmlscript/multiparty/4
Class: C
Scope: "Network supports GSM technology"
Text: When a multipart call is on hold and a GSM voice call is active, then the active GSM voice call is added to the existing multiparty and makes the multiparty call active. The previously assigned call handle must be kept [WAP WTAI GSM section 7.2.5]
Note: Create the conditions above. Make sure that the multiparty still has the same call handle.

ID: wtai/gsm/wmlscript/multiparty/5
Class: C
Scope: "Network supports GSM technology"
Text: When a multipart call is active and a GSM voice call is on hold, then the held GSM voice call is added to the existing multiparty and keeps the multiparty call active [WAP WTAI GSM section 7.2.5]
Note: Create the conditions above. Make sure that active voice call is added to the multiparty and the held party gets a call active event. Changed w.r.t WTA meeting

ID: wtai/gsm/wmlscript/multiparty/6
Class: C
Scope: "Network supports GSM technology"
Text: When a multipart call is active and a GSM voice call is on hold, then the held GSM voice call is added to the existing multiparty and keeps the multiparty call active . The previously assigned call handle must be kept. [WAP WTAI GSM section 7.2.5]
Note: Create the conditions above. Make sure that the previously assigned call handle has been kept.

ID: wtai/gsm/wmlscript/multiparty/7
Class: C
Scope: "Network supports GSM technology"
Text: When the MULTIPARTY function is sucessully invoked and a multiparty call is created, a CALLCONNECTED event must occur for the new multiparty call. [WAP WTAI GSM section 7.2.5]
Note: Create a MULTIPARTY call and make sure the a CALLCONNECTED event is created on the test user agent. This can be done by binding the event to set a variable that can be checked for.

ID: wtai/gsm/wmlscript/multiparty/8
Class: C
Scope: "Network supports GSM technology"
Text: When the MULTIPARTY function is called it must return invalid when it fails. [WAP WTAI GSM section 7.2.5]
Note: Create a MULTIPARTY call with an incorrect number of parameters. Make sure that invalid is returned.

ID: wtai/gsm/wmlscript/multiparty/9
Class: C
Scope: "Network supports GSM technology"
Text: When the MULTIPARTY function is sucessully invoked, a CALLACTIVE event must occur for the previously held call [WAP WTAI GSM section 7.2.5]
Note: Create a MULTIPARTY call and make sure the user agent on hold creates a CALLACTIVE event. This can be done by binding the event to set a variable that can be checked for.

GSM-7.2.6 WTAGSM.separate

ID: wtai/gsm/wmlscript/separate/1
Class: C
Scope: "Network supports GSM technology"
Text: When the SEPARATE function is invoked, the specified GSM voice call is separated from the GSM multiparty call and a private communication is set up between the local GSM device and the specified party. [WAP WTAI GSM section 7.2.6]
Note: Create a multiparty call with 3 phones. Then call the SEPARATE function with the call handle of that call that a private communication is required with. Make sure that a private call is established and that the other partys call is ended. Changed w.r.t WTA meeting

ID: wtai/gsm/wmlscript/separate/2
Class: C
Scope: "Network supports GSM technology"
Text: When the SEPARATE function is called it must return an empty string when successful [WAP WTAI GSM section 7.2.6]
Note: Create a multiparty call. Then call the SEPARATE function with the call handle of that call that a private communication is required with. Make sure that the call is separated, the separated party is put on hold and an empty string is returned.

ID: wtai/gsm/wmlscript/separate/3
Class: C
Scope: "Network supports GSM technology"
Text: When the SEPARATE function is called it must return invalid if it fails [WAP WTAI GSM section 7.2.6]
Note: Call another gsm phone. Call the SEPARATE function with that calls callhandle. Make sure that invalid is returned. Changed w.r.t WTA meeting

ID: wtai/gsm/wmlscript/separate/4
Class: C
Scope: "Network supports GSM technology"
Text: When the GSM multiparty is put on hold as a result of the SEPARATE function call, a CALLHELD event occurs for the GSM multiparty call [WAP WTAI GSM section 7.2.6]
Note: Create a multiparty call with 4 phones and then call the SEPARATE function. Make sure that the separated party recieves a CALLHELD event. Can do this by binding the event to set a variable to check for.

ID: wtai/gsm/wmlscript/separate/5
Class: C
Scope: "Network supports GSM technology"
Text: When the GSM multiparty is cleared as a result of the SEPARATE function call, a CALLCLEARED event occurs for the GSM multiparty call [WAP WTAI GSM section 7.2.6]
Note: Create a multiparty call with 3 phones and then call the SEPARATE function. Make sure that the separated party recieves a CALLCLEARED event. Can do this by binding the event to set a variable to check for.

ID: wtai/gsm/wmlscript/separate/6
Class: C
Scope: "Network supports GSM technology"
Text: When the SEPARATE function is called and the callhandle attribute value does not refer to a GSM voice call that can be retrieved from the GSM multiparty call, invalid must be returned. [WAP WTAI GSM section 7.2.6]
Note: Call the SEPARATE function with the callhandle not being an existing handle. Make sure that invalid is returned.

GSM-7.2.7 WTAGSM.sendussd

ID: wtai/gsm/wmlscript/sendussd/1
Class: C
Scope: "Network supports GSM technology"
Text: When the SENDUSSD function is called and the codingscheme parameter contains an unacceptable value, invalid is returned. [WAP WTAI GSM section 7.2.7]
Note: Call the SENDUSSD function with in invalid codingscheme parameter. Make sure that invalid is returned.

ID: wtai/gsm/wmlscript/sendussd/2
Class: C
Scope: "Network supports GSM technology"
Text: When the SENDUSSD function is called and the type parameter contains an unacceptable value, invalid is returned. [WAP WTAI GSM section 7.2.7]
Note: Call the SENDUSSD function with in invalid type parameter. Make sure that invalid is returned.

ID: wtai/gsm/wmlscript/sendussd/3
Class: C
Scope: "Network supports GSM technology"
Text: When the SENDUSSD function is called and the type parameter is "1" and the transactionid parameter contains an unacceptable value, invalid is returned. [WAP WTAI GSM section 7.2.7]
Note: Call the SENDUSSD function with the parameters as above. Make sure that invalid is returned.

ID: wtai/gsm/wmlscript/sendussd/4
Class: C
Scope: "Network supports GSM technology"
Text: When the SENDUSSD function is called and the type parameter is "2" and the transactionid parameter contains an unacceptable value, invalid is returned. [WAP WTAI GSM section 7.2.7]
Note: Call the SENDUSSD function with the parameters as above. Make sure that invalid is returned.

ID: wtai/gsm/wmlscript/sendussd/5
Class: D
Scope: "Network supports GSM technology"
Text: When the device can't deliver the USSD message because a USSD dialogue is in progress, -100 must be returned [WAP WTAI GSM section 7.2.7]
Note: Can't trap when a USSD dialogue is in progress. Added w.r.t WTA meeting

ID: wtai/gsm/wmlscript/sendussd/6
Class: C
Scope: "Network supports GSM technology"
Text: When the device can't deliver the USSD message because illegal or too many characters are used, -101 must be returned [WAP WTAI GSM section 7.2.7]
Note: Try and send a USSD with illegal characters. Make sure that -101 is returned. Added w.r.t WTA meeting meeting

ID: wtai/gsm/wmlscript/sendussd/7
Class: C
Scope: "Network supports GSM technology"
Text: When the device can't deliver the USSD message because the network is not available, -106 must be returned [WAP WTAI GSM section 7.2.7]
Note: Put the device in a place where the network can't be found (shielded box). Call the SENDUSSD function correctly. Make sure that -106 is returned. Changed w.r.t WTA meeting delivered

ID: wtai/gsm/wmlscript/sendussd/8
Class: C
Scope: "Network supports GSM technology"
Text: When the SENDUSSD function is called, it must return the transaction id of the USSD message when sucessful. [WAP WTAI GSM section 7.2.7]
Note: call the SENDUSSD function sucessfully with the type parameter as "1". Make sure that the stated transaction id is returned.

ID: wtai/gsm/wmlscript/sendussd/9
Class: C
Scope: "Network supports GSM technology"
Text: When the SENDUSSD function is called, it must return invalid when it fails [WAP WTAI GSM section 7.2.7]
Note: Call the SENDUSSD function with an incorrect number of parameters. Make sure that invalid is returned.

GSM-7.2.8 WTAGSM.netinfo

ID: wtai/gsm/wmlscript/netinfo/1
Class: D
Scope: "Network supports GSM technology"
Text: When the NETINFO function is called and the type parameter is "0", no network mearurement results are returned. [WAP WTAI GSM section 7.2.8]
Note: Can't tell what will be returned.

ID: wtai/gsm/wmlscript/netinfo/2
Class: C
Scope: "Network supports GSM technology"
Text: When the NETINFO function is called and the type parameter is "1", network measurement results for the six 'best' surrounding cells are returned [WAP WTAI GSM section 7.2.8]
Note: Can only make sure that 6 results are returned, not that they are the best.

ID: wtai/gsm/wmlscript/netinfo/3
Class: C
Scope: "Network supports GSM technology"
Text: When the NETINFO function is called and the type parameter is "2", network measurement results for all possible surrounding cells are returned [WAP WTAI GSM section 7.2.8]
Note: Can only check to make sure some results are returned as it can't be known what all the cells are.

ID: wtai/gsm/wmlscript/netinfo/4
Class: C
Scope: "Network supports GSM technology"
Text: When the NETINFO function is called and the type parameter is not one of the allowed values, invalid is returned [WAP WTAI GSM section 7.2.8]
Note: Call the NETINFO function with the type parameter having a value of "9". Make sure that invalid is returned.

ID: wtai/gsm/wmlscript/netinfo/5
Class: D
Scope: "Network supports GSM technology"
Text: When the NETINFO function is called and the network information is not available, an empty string is returned. [WAP WTAI GSM section 7.2.8]
Note: There is no way to make sure that network information is not available.


Valid HTML 4.0!