Loopstart is a CAS R1 variant.

Loopstart is an asymmetrical variant where a user and network sides must be face to face.

Current page describes the Loop start user side variant, see the following page for documentation about Loop start network side variant.

You can find general documentation about CASR1 scripts in Toolpack in the following page:CASr1_scripting.


In the Loopstart variant, FAX side is sending CAS bit A, used to indicate if user's phone is "on hook" or "off hook", while it receives CAS bit B from network side to indicate when it's required to make the user's phone ring.

Initial CAS bits values:

  • Bit A (from user) is 1 ("on hook")
  • Bit B (from network) is 1 ("ringer off")

Summary of the Loopstart call flow:

  • Call establishment:
    • User calling:
      • User side set CAS bit A to 1, indicating that the phone is "off hook"
      • User side wait for a dial tone
      • User side dials the DNIS (called number)
      • User should hear ring tone, then remote party
    • Network calling:
      • User side detects bit B changes to 0, and makes the phone ring
      • User side detects bit B toggles, and makes the phone ringer "on" and "off" accordingly
      • User side set CAS bit A to 1, indicating that the phone is "off hook"
  • Call termination (user side only, network has no way to terminate the call):
    • User side set CAS bit A to 0, indicating that user's phone is "on hook"

Note: There is no way, in Loopstart variant, for network side to report when the call is answered, or terminated. The caller considers the call answered when the ring tone ends and when someone starts talking. The caller considers the call terminated when the conversation is over, or when it no more hears the remote party.


Choosing tone type

With CAS R1, DNIS (called number) can be sent using either DTMF or MFR1 tones.

To specify the type of tones to use, use the following constant:


Transmission of DNIS

Optionnally, a suffix and/or prefix may be added to the DNIS (called number) that Toolpack sent:

	DNIS = {
		prefix = "",
		suffix = "",

Note that prefix and suffix are rarely used in this variant.

Also note that reception of DNIS does not need to be configured in this user-side variant, because a call from network to user does not provide any DNIS, and thus user side never has to detect a DNIS.

Detailed information about the Loop start user side script and state machines

For more detailed information about how this script is implemented (various states, and options), please refer to the "loopstart_user.lua" script provided with Toolpack.