Call Processing State Synchronization

Call Processing State Synchronization

Last updated: January 16, 2009

Call Processing State Query

The CALL:STATus[:STATe][:VOICe]? query returns the current call processing state (see Call Connection State ).

For the lab application only, the CALL:STATus[:STATe]:DATA? query returns the current data connection state (see Data Connection State ).

Description

Connected/Idle Query

This query will determine if a call is connected or disconnected by returning an integer value. The value indicates if the call state is idle or connected, not if any call state change has occurred.

Query returns one of the following:

  • 0 = idle
  • 1 = connected

If the call is in the setup request, proceeding, alerting, or disconnecting state, this command will not return a value until the call status proceeds to either connected or idle.

 
OUTPUT 714;"CALL:CONNECTED:STATE?"

Base Station Originated Call - Using the Connected/Idle Query

The following example illustrates the use of the connected/idle query for a base station originated call. This code originates a call, then waits for the connected/idle query to return a result.

Note that this code does not include the CALL:CONNECTED:TIME (timeout timer) or the CALL:CONNECTED:ARM (change detector arm) commands. These commands are unnecessary since the change detector is armed automatically by the CALL:ORIGINATE command, and the timeout timer value is never applicable since a base station originated call guarantees a state change.

 
10    OUTPUT 714;"CALL:ORIGINATE" ! Begin the BS originated call.
20    OUTPUT 714;"CALL:CONNECTED:STATE?" ! The connect/idle query.
30    ENTER 714;Call_connected ! Program will hang here until state
40                             ! change or protocol timer expires.
50    !************************************************************
60    ! If mobile is not set to auto-answer, answer the call.
70    !************************************************************
80    IF NOT Call_connected THEN
90      DISP "CALL NOT CONNECTED."
100   ELSE
110     DISP "CALL IS CONNECTED."
120   END IF
130   END

Call State Change Detector

This feature provides a method for holding off the Connected/Idle Query results until a change in call processing states is detected. Arming the call state change detector is useful only for mobile station originated calls or disconnects only. It is armed automatically when call processing functions originating from the test set are requested.

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

  • the call processing state has changed to either connected or idle

    or...

  • the attempt to connect or disconnect a call has failed, and one of the test set's Fixed Timers has timed out

    or...

  • no call processing state changes occurred within the time period specified by the Call State Change Detector Timeout .

The following command arms the call state change detector:

 
OUTPUT 714;"CALL:CONNECTED:ARM[:IMMEDIATE]" 

Mobile Station Originated Call - Arming the Change Detector

The following example illustrates the use of the call state change detector along with the connected/idle query to synchronize a controlling application with a call processing state change during a mobile station originated call.

When the CALL:CONNECTED:ARM command is received by the test set, the detector becomes armed and configures the test set to hold off on returning a result for the CALL:CONNECTED:STATE? query until the detector is disarmed by one of the three events described above.

 
10    OUTPUT 714;"CALL:CONNECTED:TIMEOUT 10S" ! Sets the time out
20                                            ! time to 10 seconds.
30    OUTPUT 714;"CALL:CONNECTED:ARM" ! Arm the change detector.
40    DISP "Make a mobile station orginated call. Continue when done."
50    PAUSE
60    OUTPUT 714;"CALL:CONNECTED:STATE?" ! The connected/idle query.
70    ENTER 714;Call_connected
80    IF Call_connected=1 THEN
90      DISP "Call is connected."
100     WAIT 2
110   ELSE
120     DISP "Call is not connected."
130     WAIT 2
140   END IF
150   END

Call State Change Detector Timeout

If a state change does not occur, the user needs 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 connected/idle query will return a 1 for connected or a 0 for idle. The timeout timer is user settable, but the user setting is only applied during mobile station originated call processing operations. For base station originated call processing operations, the timeout timer is automatically set to 60 seconds by the test set.

Related Topics


CALL:CONNected:TIMeout

CALL:CONNected:ARM[:IMMediate]

CALL:STATus[:STATe][:VOICe]?

Call Processing Status