BARS programming course
- Call Flow -
General
BARS is invoked by dialing an access code (AC1). A station user in a Meridian 1 system with one trunk group experiences no difference between dialing a trunk group access code and dialing the BARS access code. In both cases the access code will normally be "9". In the BARS case, the access code points to a translation table. This table has every digit combination (or at least the first several digits) the user can dial. If no match is found, the call is blocked.
If a match is found, the system then performed a Supplementary Digit Restriction Registration (SDRR) check on the next several digits. The SDRR stores digits in several tables for different purposes. The DENY list are digit patterns to be restricted. If a match is found, the call is denied. The LDDD list is for numbers that are to be routed directly to the attendant. The LDID list is for internal DID numbers and will be routed directly to a station. The last table is an ALLOW list and is used as an exception to something in one of the other tables. It will always be at least one digit longer than the entry it is attempting to override.
The final function of the translation table is to direct the call to a route list. The route list is a sequence of trunk groups or "routes" in the desired order that can be used to process the call. At this point, the system makes several availability checks. It checks for time of day restrictions, the "Free Calling Area Screening (FCAS)" table, user permissions, and trunk availability. If all of these checks are passed, the system selects a trunk from the route and seizes it. Otherwise, it checks the next entry in the route list and repeats all of these tests again. Since each of the parameters can be changed for each entry of the route list, it is quite likely that any required collection of conditions can be accommodated and a caller could step quite a way down a list before finding an available trunk.
Once a trunk has been seized, digits are sent. With BARS, the digits sent are not necessarily the same digits that were dialed by the user. BARS will always drop the access code. It can be programmed to drop additional leading digits and it can insert new leading digits. On an ISDN call, it can also change the call type flag.
The final step is audio cut through and the station user can hear any supervisory tones (Ring Back, Busy, Reorder, or Pronouncement Reorder) and can use the trunk if the called party answers.
Detailed Sequence of Operation
1 - BARS Access code
The user dials the Basic Alternate Route Selection (BARS) access code followed by the number to be called. The Meridian attempts to check the Network Translation Table and the Network Restrictions Table. If either table does not exist, the call is intercepted to "NINV". NINV exists only to cover the possibility of a call entering BARS between the time the BARS access code is programmed and the above tables are created on a working system.
2 - Network Translations
Once this check has been made, the system checks for a match in the Network Translation Table. If no match is found, the call is intercepted to "NITR". If a match is found, the system looks at the "NPA", "SPN", "HNPA", or "NXX" flag associated with the entry to determine the expected number of digits. NPA and HNPA expect seven more digits. NXX expects four more digits. SPN is clueless and just keeps collecting digits until the the Network Interdigit Timer (NIT) expires.
3 - Supplemental Digit Restriction Recognition (SDRR)
The system then subjects these additional digits to the scrutiny of the SDRR tests. First, it checks for a match in its "DENY", "LDDD", and "LDID" lists in that order. If a match is found, it repeats the tests looking for a longer match. It also starts checking the "ALOW" (Nortel's spelling) table for an exception.
- If no match is made, or a match is made in the ALOW list, the call is passed to the next stage of processing.
- If a match is made in the DENY list, the call goes to the NRES intercept treatment.
- If a match is made in the LDDD list, the call is intercepted to the attendant.
- If a match is made in the LDID list, it is a DID number of one of the customer's own stations. If DMI= 0, it deletes all but the last four digits and routs the call internally. If DMI= 1 through 255, digit manipulation is applied and the result is routed as an internal call.
The last step of the SDRR check is ITED. If the number is defined and the call is originating from a trunk in a TIE route, then the ITEI index is checked against the ITEG RTNO. If the call is originating on that tie route, the call goes to NRES intercept. Notice that this call is blocked for all callers over the identified trunk route, there is no provision for exceptions by caller or outgoing route. Therefore, all of the following must happen for this feature to be activated.
First, the dialed digit string has to be found in the translation table as an NPA, NXX, or a SPN.
The next digits dialed must be found in the ITEG table. Since initial entries deny service, allowed exceptions can be programmed.
The call must originate over one of the indicated tie trunk routes (RTNO). The ITEI index ties the translation table entry to the ITEG table entries. One index can therefore control several tie trunk routes, and different tie trunk routes can have different forbidden numbers.
4 - Automatic Least Cost Routing
This is the stage in which a trunk is selected. It is also by far the most complex of the six steps Nortel divides the BARS process. This stage is entered with a route list block number that was assigned in the Network Translations stage. The route list is checked starting with entry zero, and advancing as far as may be required to complete the call. Once a usable entry with an available trunk is found, checking stops and nothing programmed in any higher numbered entry has any effect upon call processing.
Within each entry the system:
- Checks the time of day (TOD) the entry is usable and compares it to the current TOD. If the TOD is not within an allowed period, the system stops checking and moves to the next entry.
- The system next compares the Facility Restriction Level (FRL) of the caller with the FRL of the entry. If the caller's FRL is less than the FRL in the route list entry, the system steps to the next entry.
- If an NPA was dialed, Free Calling Area Screening (FCAS) takes place if programmed. If the next 3 digits in the dialed digit string are not in a DENY list pointed to by the NPA, the system continues to check this entry. Otherwise, the system steps to the next entry in the list.
The route is now checked for an idle trunk.
If Off Hook Queuing (OHQ) is not allowed, it checks for Call Back Queuing (CBQ). In both cases the system first checks to determine that at least one entry in the ISET is allowed. If one exists, a timer is started and an alerting tone is given to the user. If a trunk becomes available before the timer expires, the call completes on that trunk.
If not, the Extended Set (ESET) entries, if any, are checked. If an eligible idle trunk is found, the call completes. If not then in the case of OHQ the call intercepts to NBLK. OHQ is a one-try feature. A user can wait up to 60 seconds for a trunk. After that the caller has to hang up and start all over again to place the call.
In the case of CBQ, the expiration of the timer does not terminate the call. If Ring Again (RGA) is active, the ESET is searched. If an available and eligible trunk is found, then Expensive Route Warning Tone (ERWT) is checked and applied if required. Call processing then proceeds to the next step.
If RGA is not active, it checks option flag "ROUT". The flag in its default state starts the CBQ on the ISET. If "ROUT= A" instead, then the ESET is checked and if an eligible trunk is found, ERWT is checked. If ERWT is required and the user activates RGA, the CBQ is set up. If ERWT is not required or if the user does nothing, the system moves on to the next step.
The user is then queued onto all eligible entries in the ISET. The RADT timer is now started as it was for the OHQ. When it expires the system checks the ESET. If an eligible entry is found in the ESET but no idle trunk, the call queues onto both the ISET and the ESET trunks. Otherwise, the call remains queued on the ISET only.
5 - Digit Manipulation
Once an idle trunk has been found, the system seizes it and performs digit manipulation. This consists of first deleting a specified number of digits (not counting the access code which has already been removed), and then prefixing a specified string of digits to what is left. The system can also change the call type at this time. Call type is an ISDN function and has no effect on analog trunks. Digit deletion and insertion affects all trunk types. The modified call setup information is then sent out over the trunk.
6 - Audio Cut-through
The final step is audio cut-through. At this point, the caller hears whatever is on the other end of the trunk and can be heard by the far end. This effectively completes the call set-up phase. The call is now in the Talking State and is maintained like this until one of the parties initiates the disconnect sequence.