CAS R1 LOOPSTART NETWORK
Line 3: | Line 3: | ||
Loopstart is an asymmetrical variant where a FXS (or "user") and FXO (or "network") sides must be face to face. | Loopstart is an asymmetrical variant where a FXS (or "user") and FXO (or "network") sides must be face to face. | ||
− | Current page describes the Loopstart FXO variant, see the following page for documentation about [[CAS_R1_LOOPSTART_FXS|Loopstart FXS] variant. | + | Current page describes the Loopstart FXO variant, see the following page for documentation about [[CAS_R1_LOOPSTART_FXS|Loopstart FXS]] variant. |
You can find general documentation about CASR1 scripts in Toolpack in the following page:[[CASr1_scripting]]. | You can find general documentation about CASR1 scripts in Toolpack in the following page:[[CASr1_scripting]]. |
Revision as of 11:03, 8 August 2013
Loopstart is a CAS R1 variant.
Loopstart is an asymmetrical variant where a FXS (or "user") and FXO (or "network") sides must be face to face.
Current page describes the Loopstart FXO variant, see the following page for documentation about Loopstart FXS variant.
You can find general documentation about CASR1 scripts in Toolpack in the following page:CASr1_scripting.
Contents |
Overview
In the Loopstart variant, FXO side is sending CAS bit B, used to make the user's phone ring, while it receives CAS bit A from user side to report user's phone as "on hook" or "off hook".
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:
- FXO side detects bit A changes to 1, indicating that user's phone is "off hook"
- FXO side sends a dial tone
- FXO side collects the digits entered by the user
- FXO side stops the dial tone (upon first digit)
- FXO side proceed with the call
- Network calling:
- FXO side changes bit B to 0 ("ringer on") to make user's phone ring
- FXO side toggles bit B from 0 to 1 (0 for 2 seconds, 1 for 4 seconds)
- FXO side detects bit A changes to 1, indicating that user's phone is "off hook"
- FXO side changes bit B back to 1
- User calling:
- Call termination (user side only, network has no way to terminate the call):
- FXO side detects bit A changes 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.
Configuration
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:
TONE_USE_DTMF = 1
Detection of DNIS
Configuration of reception of DNIS is controlled by the following variables:
DNIS = { prefix = "*", suffix = "#", expected_digits = 0, inter_digit_timeout = 5000, },
Note that prefix and suffix are rarely used in this variant, as most of the time the user side is not a telephony equipment, but rather a user that manually presses the digits on it's phone. In that case, the prefix will simply be ignored by the CASR1 stack, and the suffix will simply not be reached, causing the "inter_digit_timeout" to trigger and confirm that DNIS complete.
When FXO side makes outgoing call toward the user, DNIS is not sent at all, and thus prefix/suffix don't apply to transmission of DNIS in this variant.
Please read detailed information about configuration of ANI/DNIS reception and transmission using the variables above:
Detailed information about the Loopstart FXS script and state machines
For more detailed information about how this script is implemented (various states, and options), please refer to the "loopstart_fxo.lua" script provided with Toolpack.