Data Connection Processing State Synchronization

Data Connection Processing State Synchronization

Last updated: December 3, 2008

Description

Data Connection Processing State Query

The CALL:STATus[:STATe]:DATA? query returns a string indicating the current data connection processing state.

There are seven possible data connection processing states.

The query returns one of the following strings:

  • "IDLE"

    Idle is returned when the mobile station is not GPRS attached or EGPRS attached.

  • "ATTG"

    Attaching is returned when the mobile station has sent an attach request. This is a transitory state (which means that the mobile station can only remain in this state until the protocol timer expires). At the end of the signalling exchange, the new state will either be Attached or Idle, depending on whether or not the attach procedure completes without error.

  • "DET"

    Detaching is returned when the attached mobile station has sent a detach request. This is a transitory state (which means that the mobile station can only remain in this state until it successfully moves to another state, or the protocol timer expires). At the end of the signalling exchange, the new state will be Idle, even if the procedure encounters an error.

  • "ATT"

    Attached is returned when the mobile station has performed a successful GPRS attach or EGPRS attach.

  • "STAR"

    Starting is returned when you have performed the "Start Data Connection" action (using CALL:FUNCtion:DATA:START ). This is a transitory state (which means that the mobile station can only remain in this state until it successfully moves to another state, or the protocol timer expires). At the end of the signalling exchange, the new state will be either Transferring, Attached or Idle, depending on whether or not the data connection is successfully established.

  • "END"

    Ending is returned when you have performed the "End Data Connection" action (using CALL:FUNCtion:DATA:STOP ). This is a transitory state (which means that the mobile station can only remain in this state until it successfully moves to another state, or the protocol timer expires). At the end of the signalling exchange, the new state will be Attached, even if the procedure encounters an error.

  • "TRAN"

    Transferring is returned when a data connection has been established.

  • "PDPAG"

    PDP Activating is returned when an activate PDP context request procedure has been initiated.

  • "PDP"

    PDP Active is returned when a PDP context has been established. The PDP Active data connection type is required for transferring IP datagrams between the MS and the test set.

  • "PDPD"

    PDP Deactivating is returned when a deactivate PDP context request procedure has been initiated.

  • "DCON"

    DCON is returned when a circuit switched data connection is active.

  • "SUSP"

    This setting is only applicable to the lab applications. SUSP is returned when the mobile station suspends GPRS operation in order to carry out circuit switched voice services rather than establishing a Dual Transfer Mode session.

The following command returns the current state of a data connection:

 
OUTPUT 714;"CALL:STATus:STATe:DATA?"
ENTER 714;Inst_state$

Attached State Query

This query determines if a data connection is in the Attached state by returning an integer value. The value indicates if the data connection state is Attached or any other non-transitory state, not if any data connection state change has occurred.

The query returns one of the following:

  • 0 = Any non-transitory state other than Attached (that is, Idle or Transferring)
  • 1 = Attached

If the data connection is in the Attaching, Detaching, Starting, or Ending state, this command does not return a value until the data connection state proceeds to Idle, Attached, or Transferring.

 
OUTPUT 714;"CALL:ATTached:STATe?"

Transferring State Query

This query determines if a data connection is in the Transferring state by returning an integer value. The value indicates if the data connection state is Transferring or any other non-transitory state, not if any data connection state change has occurred.

The query returns one of the following:

  • 0 = Any non-transitory state other than Transferring (that is, Idle or Attached)
  • 1 = Transferring

If the data connection is in the Attaching, Detaching, Starting, or Ending state, this command will not return a value until the data connection state proceeds to Idle, Attached, or Transferring.

 
OUTPUT 714;"CALL:TRANsferring:STATe?"

Data Connection State Change Detector

This method provides the advantage of indicating that a data connection state change has occurred. The change detector works in conjunction with the Attached State and Transferring State queries. Arming the CALL:DCONnected? query provides a way for the external controller to know when the data connection state change process is done.

The data connection state change detector becomes disarmed when any of the following conditions have been met:

  • the data connection processing state has changed to either Idle, Attached or Transferring from one of the transitory states

    or,

  • the attempt to establish a data connection failed and one of the test set's Fixed Timers has timed out

    or,

  • no data connection processing state changes occurred within the time period specified by the timeout timer.

The following command arms the data connection state change detector, but does not cause any data connection processing function to start:

 
OUTPUT 714;"CALL:DCONnected:ARM[:IMMEDIATE]" 
Data Connection State Change Detector Timeout

If a state change does not occur, you need a way to control how long to wait for the change detector. The change detector is disarmed by the timeout timer. After a timeout, the state query that you have initiated (Attached state query or Transferring state query will return a 1 for connected or a 0 for idle. You can set the timeout value using CALL:DCONnected:TIMeout .

Related Topics


Test System Synchronization Overview

Data Connection Processing Event Synchronization

CALL:STATus[:STATe]:DATA?