3.1.1.1 Phone Call Status State Model
The phone call status server state subsystem specifies the phone call status and the transitions between the different phone call states that can either be read or changed by the Voice Mail Settings Web Service Protocol operations. The state transitions represent Voice Mail Settings Web Service Protocol operation actions or actions taken by subsystems that affect the phone call status state machine.
The following Voice Mail Settings Web Service Protocol operations can cause phone call state changes:
PlayOnPhone
PlayOnPhone2
PlayOnPhoneGreeting
Disconnect
DisconnectPhoneCall
The following Voice Mail Settings Web Service Protocol operations can read phone call state:
GetPhoneCallInformation
GetCallInfo
The following figure shows the Phone Call Status subsystem abstract data model for a phone call initiated by the Voice Mail Settings Web Service Protocol.
Figure 2: Phone Call Status subsystem abstract data model
The Phone Call Status subsystem abstract data model has the following states:
Start: The state of the phone call status subsystem before a phone call is initiated by either the PlayOnPhone, PlayOnPhone2, or PlayOnPhoneGreeting operations. This is equivalent to the Idle state, as specified in sections 3.1.4.3.4.1 and 3.1.4.4.4.2.
Connecting: The phone call status state represents a successful attempt to initiate a phone call. The Connecting state can be initiated by either the PlayOnPhone operation, as specified in section 3.1.4.8, PlayOnPhone2 operation, as specified in section 3.1.4.7, or PlayOnPhoneGreeting operation, as specified in section 3.1.4.9. The Connecting state can also be achieved by a phone call that has successfully completed reading a message and has then been used to try to access a contact via the phone call through a voice access subsystem.
Connected: The state of the phone call status subsystem after a call to play an item or greeting on the phone has been connected.
Disconnected: The state of the phone call status subsystem after a phone playing an item or greeting has been physically disconnected, the Disconnect operation has been called for the phone call, or the DisconnectPhoneCall operation has been called for the phone call.
Stop: The state of the phone call status subsystem after a phone call has ended. This is equivalent to the Idle state specified by the UMCallState simple type, as specified in section 3.1.4.3.4.1, and the PhoneCallStateType simple type, as specified in section 3.1.4.4.4.2. The Idle state cannot be read from the Voice Mail Settings Web Service Protocol as no phone call identifiers are associated with the Idle state. The Idle state can be achieved by transferring a call through the voice access subsystem to a contact, by the communication system ending the phone call, or by timing out a Disconnected phone call.
The Phone Call Status subsystem abstract data model has the following transitions:
PlayOnPhone_request: Represents a successful PlayOnPhone operation request message to play an item on a phone.
PlayOnPhone2_request: Represents a successful PlayOnPhone2 operation request message to play an item on a phone.
PlayOnPhoneGreeting_request: Represents a successful PlayOnPhoneGreeting operation request message to play a greeting on a phone.
GetPhoneCallInformation_request: Represents a successful GetPhoneCallInformation operation request message to get the status of a phone call.
GetCallInfo_request: Represents a successful GetCallInfo operation request message to get the status of a phone call.
Call_connected: Represents the transition from a Connecting state initiated by a PlayOnPhone, PlayOnPhone2, or PlayOnPhoneGreeting operation to the Connected state by the recipient answering the call.
Voice_access_attempt_connect: Represents the phone call transition after an item has been played on phone and then an attempt at using the voice access subsystem to connect the phone call to a contact.
Transfer_from_Voice_Access: Represents a phone call to a contact that has been successfully connected by the voice access subsystem. The phone call status subsystem is no longer accessible for the phone call after the Transfer_from_Voice_Access transition.
Phone_hangup: Represents a transition to the Disconnected state caused by a physical disconnection of a phone call.
Disconnect_request: Represents a transition to the Disconnected state caused by a successful Disconnect operation request.
DisconnectPhoneCall_request: Represents a transition to the Disconnected state caused by a successful DisconnectPhoneCall operation request.
Comm_sys_bye: Represents a transition to the Idle state caused by the communication system ending a phone call.
Call_timeout: Represents a transition to the Idle state caused by the Call_Timeout timer, as specified in section 3.1.2.