Brooktrout Technology White Paper

Rev 1.3

Page 1 of 16

Troubleshooting ISDN Installations Preface This document is intended for resellers integrating the Brooktrout TR114 ISDN board. It will assume the reader is familiar with telephony, Brooktrout intelligent universal port boards and has some exposure to the ISDN environment. The document will highlight some ISDN network characteristics of importance. It will show how the board can be configured to match these differing requirements of the network. It shows the diagnostic aids provided with the board and how these can be used to help resolve ISDN problems. Finally a compilation of Frequently Asked Questions (FAQs) are provided to assist in specific cases. For reference, a table decoding ISDN disconnection cause codes has been included. An additional white paper is available to be used as a supplement to this document when installing behind PBX entitled “ISDN PBX Integration ”. This is also available from www.brooktrout.com/white/bri.htm.

F

Fast track Quick configuration and test

This Troubleshooting ISDN Installations white paper contains enough information to solve nearly all ISDN related issues, its thorough reading is recommended. In cases where you are faced with a possible configuration problem, have limited ISDN experience, and need to take the next step quickly, try the following fast track using the TR114 ISDN configuration and diagnostics diskette. This will assist in resolving your problem quickly prior to contacting Brooktrout technical support, if this becomes necessary. ⇒ Check with your PTT or PBX Engineer, the provided datalink (point-to-point or point-to-multipoint), and the number of digits you will receive as the dialled number. ⇒ Edit the configuration files to suit the environment: Btdriver.cnf: Int, I/O, DMA User.cfg: Did_digits Bri.cnf: Datalink (special configuration file) ⇒ Boot from DOS (NOT a DOS command window) ⇒ Load the drivers using ‘btdriver btdriver.cnf’ ⇒ Configure the ISDN daughtercard using ‘briconf -p bri.cnf’ (required once only) ⇒ Try and send a fax using ‘faxtest -u 0 -e -s [number] ? If this fails, and the ISDN Disconnect Cause is 80 9B, then: ⇒ Edit bri.cnf for the other datalink, reconfigure (briconf) and re-test ? If this still fails with the same error (ISDN Disconnect Cause 80 9B), then: Suspect the physical connection ? If the fax send fails with a different message, Refer to the FAQs ⇒ Try and receive a fax using ‘faxtest -u 0 -e -v -r’ ? If the fax receive fails, then note any debug_string messages on the screen, and refer to the FAQs ? If you still have problems, and no-FAQs appear to apply, then: ⇒ If running from floppy, remove TR114.s from the disk to create some space ⇒ Run ‘briconf -d c’ ⇒ Run ‘faxtest -u 0 -e -v -s [no] > debug1.txt’ (or -r if receive error) ⇒ Run ‘briconf -d e’ (creates a file called britrace.txt) ⇒ Note down all appropriate information including: Any PTT provided information Daughtercard firmware version (from btdriver btdriver.cnf) Describe the tests performed, together with results Debug files debug1.txt, britrace.txt ⇒ Send all information to [email protected] (or your usual contact)

Brooktrout Technology White Paper

Rev 1.3

Page 2 of 16

Troubleshooting ISDN Installations

Important Network Characteristics ISDN Line characteristics One ISDN interface is required for every two fax channels. A single standard basic rate line provides two channels called bearer (or B) channels, which can be used simultaneously, for both incoming and outgoing calls. Call control for both of these channels is provided over a single, shared D channel. These three channels are multiplexed together onto 4-wires providing the so called 2B+D Basic Access. These 4 wires terminate in a single RJ45 (EN 28877) connector, referred to as the S/T ISDN interface.

Datalink protocol The most important variable in an ISDN installation is the protocol used for establishing a datalink between a piece of TE (Terminal Equipment) and an NT (Network Termination). There are two types of connection, point-to-point and point-tomultipoint. The user rarely has a choice over the type of datalink. Point-to-point This datalink is intended to connect a single piece of TE (such as a TR114) to a NT. The ID which is referred to as the TEI (Terminal Endpoint Identifier), is used to identify or address all data packets and is fixed - usually to Zero. This datalink is NOT provided by the PTT in France or the UK. Point-to-multipoint This datalink is intended to connect multiple TEs to a single NT. Up to 8 devices can physically be connected to the same ISDN bus. Any of the connected TEs can be given a free B channel to place a call. Incoming calls are broadcast to all connected TEs, and often the TE is programmed to answer only calls destined to a specific number, by specifying a local address. The ID, or TEI cannot be fixed at zero (as in point-to-point), because multiple TEs need to be addressed. All TEs on the ISDN bus are expected to participate in automatic TEI procedures in order to request a TEI (or address) from the network, before a datalink can be established.

Service indicator (Bearer Capability) When placing a call, a TE presents certain characteristics of itself in order to request a certain bearer capability of the network, and to allow a receiving device to establish if it is compatible with the sender before answering the call. Two important bearer capabilities are speech and 3.1k audio. Speech specifies the lowest level of service, and is the bearer capability used by telephones. 3.1k Audio is the bearer capability recommended by the appropriate standards for fax group 2/3. 3.1k Audio ensures a higher quality of line than guaranteed by speech. Some public and private networks do not correctly handle bearer capabilities set to 3.1k Audio, and may reject the call.

Receiving DDI digits There are two ways the NT can pass the DDI digits to a TE, en-block and overlap. In the vast majority of installations the DDI number will be passed en-block, where the whole number is passed in a single group. Some networks will pass the DDI digits overlap, where the DDI digits are received fragmented in separate messages. Overlap receiving is only found under the following circumstances: • Countries where the public network can allow a user defined variable number of sub-address DDI digits, such as Germany, Austria and Italy. • When the supplemental service is DDI, and the datalink is point-to-point. • When the caller is dialling using overlap sending.

General PBX The quantity of numbers available from a PBX and the datalink protocol used, varies according to many parameters including the PBX make, model, version, configuration and country of installation. The accompanying FAQs may help in specific installations. Calling Party Number Some PBX require that the TE present a Calling Party Number for outgoing calls to enable the PBX to verify that the TE placing the call is valid. This will only be an issue on point-to-multipoint datalinks.

Brooktrout Technology White Paper

Rev 1.3

Page 3 of 16

Troubleshooting ISDN Installations ISDN Supplemental services Number provisioning In most installations it is required to have a range of numbers assigned to one or more ISDN ports in order to perform inbound routing. There are two common PTT supplied services, Multiple Subscriber Numbering (MSN) and Direct Dialling Inwards (DDI). Multiple Subscriber Numbering This service was intended to allow up to 8 devices sharing an ISDN bus to have their own directly dialled number. As such, the service is usually limited to providing 8-10 different numbers, and is specifically for the point-to-multipoint datalink. For example, if 8 numbers are assigned to a single ISDN line, using the point-to-multipoint datalink, the TR114 will answer all calls directed to any of the 8 numbers, and will pass the number to the application for routing. Direct Dialling Inwards This service is intended for all other general purpose number provisioning, such as in PBX. It provides an unlimited range of numbers, usually purchased in blocks from the PTT. It is usually only available on point-topoint datalinks, excluding France as previously mentioned. In some countries, it is possible to specify how many of the trailing digits are sent as the ‘called party number’ to the TE when a call is placed. For example in the UK or Portugal you could specify that you require the last 4 digits.

Line Hunting A service provided by many PTTs and PBX is the ability to share a pool of number across a number of ISDN ports. Calls will be routed to the first available free port. There are usually two call placement strategies, linear and cyclical. In linear line hunting all incoming calls will initially be placed to the same port, in cyclical line hunting incoming calls will be rotated across all ports in the group. Cyclical hunting is intended to balance the load across the ports, but it can make troubleshooting difficult.

Advice of Charge (AOC) It is possible to obtain the cost of a call as a supplemental service within ISDN. There are two forms of advice of charge, advice of charge during the call and advice of charge at the end of the call. Advice of charge: Charging information during the call (AOC-D) Billing information is provided by the network throughout the active phase of the call. The information is provided as sub-totals, and a final total is presented at the end of the call. Advice of charge: Charging information at the end of the call (AOC-E) Billing information is only presented as a total at the end of the call. The billing information is delivered in two types, units and currency. Units A unit value is returned, where each unit has a pre-defined value. This type of billing information has a simple structure with few options. Currency The actual cost of the call is returned, including currency identifiers and multipliers. This type has a complex structure with many options, and can vary from country to country. AOC-D is the most common form of AOC, because it is used in most PBX installations. Many PBX can also provide this AOC information to their EuroISDN ports. Unit is the most common type, since it mirrors earlier analog billing methods, and has a simpler structure than currency. The structure of currency type varies from country to country. Advice of charge Note: Although the board can interwork with all the varieties of AOC, if there is a choice available we would recommend AOCD with unit type. This is because it is more widely available, premature disconnection’s will result in a partial value, implementation does not vary widely and it requires simple application support.

Brooktrout Technology White Paper

Rev 1.3

Page 4 of 16

Troubleshooting ISDN Installations

Configuring the board Installation of the board is achieved in much the same way as the analog TR114. The board can be configured to match the differing characteristics of the ISDN environment using the general configuration file btcall.cfg and the configuration program briconf.

Configuration and diagnostics diskette Some of the ISDN parameters are programmed onto the board once only, others are sent to the board from the configuration file at run time. The configuration and diagnostics diskette can be used to set up the once-only parameters using briconf, and to obtain and check the run time parameters for the general configuration file (user.cfg/btcall.cfg). Once these run time parameters have been determined, their values can be used to configure the application program. The driver must be loaded (btdriver btdriver.cnf) prior to use of briconf.

Configuration file - btcall.cfg (user.cfg) The configuration file btcall.cfg may have a different name when supplied with some applications, for example with the DOS faxtest program, the file is called user.cfg. Within the configuration file btcall.cfg, there are three keywords of importance, country_code, did_digits and did_variable.

Country_code If the system is ISDN only then the country_code should be left set to the US default of 0010. If a system comprises of both ISDN and Analog boards, the country_code keyword in btcall.cfg should be set to match the analog board.

Did_digits did_variable One general rule that can be used, if you expect a fixed number of digits in the called party number, you should set did_digits keyword in btcall.cfg to the total number of digits you expect to receive. The exact interpretation of did_digits depend upon whether or not you are in receipt of overlap receiving. Overlap receiving If you are in receipt of overlap receiving, as you may be if you are in Germany, Austria or Italy, the did_digits keyword should be set to the total number of DDI digits you expect to receive. If the number of digits you expect to receive are variable, you should set did_digits to the maximum you could receive, and set did_variable keyword to 1. Under such variable digit conditions, the board will operate with a 5 second interdigit timeout. En-block If you are not in receipt of overlap receiving, which applies to most installations, did_digits has the following interpretation. If did_digits is set to a value less than the expected number of DDI digits, the trailing digits will be returned. For example, if the network sends 1234567 as the called party number, with did_digits set to 3, the board will return 567 to the application. In the previous example, if did_digits were set to 7, then 1234567 would be returned. It is important that did_digits should not be set to a value greater than the number of expected DDI digits with did_variable set to zero, because the board will wait 16 seconds for the number of digits specified in did_digits, then it will reject the call, issuing 80 28 (User - Invalid number format) as the cause for the disconnection to the sender. In addition a debug_data string will be reported in the debug output to log the event. The following example shows that an incoming call was received, and rejected. The incoming call had 3 digits, and did_digits had been set to expect more. Sample debug_data 11/10 13:23:45.37 11/10 13:23:45.37 Number 11/10 13:23:45.37 11/10 13:23:45.37 Number

0 intr: 0x14 DEBUG_DATA 0x0 0 Debug string: An incoming call has been detected with 3 digits in Called Party 0 intr: 0x14 DEBUG_DATA 0x0 0 Debug string: An incoming call has been detected with 0 digits in Redirecting

Brooktrout Technology White Paper

Rev 1.3

Page 5 of 16

Troubleshooting ISDN Installations BRI configuration program - Briconf The ISDN TR114 has additional ISDN firmware which interfaces the TR114 firmware to the ISDN network. This firmware remains on the board in FLASH memory even when power is removed. Configuration parameters are also stored in this FLASH memory, these parameters alter the operation of the ISDN daughtercard firmware to match the particular installation and network characteristics. Briconf is a program which can be used to enter the configuration parameters into the FLASH memory, it can also be used to initialise the daughtercard and download new daughtercard firmware. Daughtercard firmware prior to version 2.0 (Fw 2.00) cannot be configured. Briconf can be used to determine the current firmware version, and can be used to download new firmware. For example, the command ‘briconf -f tr114.s’ downloads the firmware file tr114.s. This is obviously only required once when upgrading daughtercard firmware. This program is provided with the DOS ‘ISDN configuration and diagnostics diskette’ it is available for other operating systems, and in source form from the FTP site. The NT version is called diag37nt.zip, found in ftp.brooktrout.com/isdn. The latest information on facilities and keywords are documented in the file briconf.doc provided with the briconf program. Key information is presented here. You will be required to configure the board using briconf if your network characteristics do not match the defaults of the board. By default, the ISDN TR114 is configured to operate with a point-to-point datalink using the 3.1k Audio bearer capability. The TR114 retains its configuration even when power is removed. The command: briconfig -p bri.cnf Will configure using the parameters defined in file bri.cnf

Keywords All keywords are optional. Possible keywords, their parameters and defaults are: datalink Specifies the ISDN data link. Possible values are ptp (point-to-point) or pmp (point-to-multipoint). If ptp is specified, it is possible to further specify the TEI value. Default - pmp. bearer Specifies the requested bearer capability for outgoing calls. Possible values are 31kaudio (audio31k) or speech. Default - 31kaudio. cpn Specifies the number presented as the 'calling party number' for outgoing calls. Default - None presented. local Specified a single incoming 'called party number' to which we will answer. This option CANNOT be used when performing DDI routing. (Requires daughtercard firmware 2.2 or above) Default - None specified. bchan_sel Specifies how the B channel is identified for outgoing calls. Possible values are: 0 - No channel ID provided 1 - Prefer B1, accept any 2 - Prefer B2, accept any 3 - Accept any channel Default - 3, Accept any channel

Scope It is also possible to specify the range over which a keyword applies. For example the keyword: datalink pmp Will configure all ISDN ports within a system even across multiple boards. The scope could be limited to a particular card by specifying the base address of the card in hexadecimal. For example: 240 datalink pmp 260 datalink ptp

Brooktrout Technology White Paper

Rev 1.3

Page 6 of 16

Troubleshooting ISDN Installations Would set all ports on the board with base address 240 to point-to-multipoint and all ports on the board with base address 260 to point-to-point. It is possible to specify a particular ISDN port on a particular card: 260 1 datalink pmp 260 2 datalink ptp Sets port A to point-to-multipoint and port B to point-to-point. Some parameters can be specified per fax channel (associated to a particular D-channel). For example: 260 1 1 cpn 123 260 1 2 cpn 456 Sets the TR114 channel 0 of Port A to use the Calling Party Number 123 and channel 1 of port A to use 456. Simple example: This would configure all ports and boards in a system to use the point-to-multipoint datalink, and a speech bearer capability. datalink pmp bearer speech Complex example: 240 datalink ptp 260 1 datalink ptp 0 260 2 datalink pmp bearer speech 260 2 1 cpn 123 260 2 2 cpn 456 240 1 1 bchan_sel 1 240 1 2 bchan_sel 2 240 2 1 bchan_sel 1 240 2 1 bchan_sel 2

Diagnostic aids and troubleshooting This section will describe in some detail the diagnostic aids available with the board, and how these can be used to resolve problems. The end of this section describes a possible approach to resolve these problems. EuroISDN is a complex protocol stack, troubleshooting an ISDN environment is considerably more difficult than analog. It is recommended that readers familiarise themselves with the basics of EuroISDN, and ideally have access to a simple ISDN line tester.

Diagnostics Aids There are three ISDN specific diagnostic aids: • Green D-Channel LED • Modified faxtest program • On-board protocol analyser

Green D-channel LED These provide a status indication for the call control D-channel and are important in quickly determining low level problems. The LED is initially OFF at power-up, and can only change state after board initialisation or after a call attempt. When the board is initialised it will flash mostly ON. If the LED is not flashing, the board may not have been correctly initialised. If the LED is OFF most of the time, briefly flashing ON, the board has failed to establish Layer 2. Common causes are: • Cable problems • Incorrect protocol (point-to-point vs point-to-multipoint) The status of the red LED is described in the TR114 Hardware Guide provided with the board.

Brooktrout Technology White Paper

Rev 1.3

Page 7 of 16

Troubleshooting ISDN Installations Modified faxtest program This program is shipped with every ISDN board. It is based on the normal analog test program, but has additional command line arguments and provides extra ISDN specific debug information. A complete description of faxtest is provided in the documentation supplied with the TR114. Use of this program is the first step in determining ISDN protocol issues. One vital piece of information displayed on the screen with faxtest in the enhanced mode, is the cause code. This shows the ISDN network reported cause for the disconnection. A table is included with this document to interpret this cause code.

Additional command line options -e

Sets the enhanced mode in the firmware, which allows additional ISDN specific call progress values to be presented to the application software. In the faxtest program it shows additional ISDN layer 3 messages and information elements received from the Network. -c Forces the firmware into the enhanced mode, and sets the outgoing Calling Party Number (CPN/CLI) to the value of . -b Sets the bearer capability to SPEECH for the current call.

Sample debug output in the enhanced mode: 7/30 18:23:09.60 0 intr: 0xe IDISCN 0x4 ISDN DISCONNECTED ISDN CAUSE IE: 81 90 7/30 18:23:09.61 0 cmd: 0x2a DIS_CALL_PROG 0x0

On-board protocol analyser This is the most in-depth diagnostic tool for resolving ISDN protocol issues. The briconf program is used to enable, extract and decode the ISDN layer 2 packets, and hence layer 3 messages. Example capture of ISDN trace: • Run ’briconf -d c’ to start the circular buffer • Run the modified faxtest, and the enhanced mode debug output should also be captured. For example ‘faxtest -u 0 -e -v -s [number] > debug.txt’ • Run 'briconf -d e' to stop and send the circular buffer contents to a file, in the current directory called 'britrace.txt' Since the there is difficulty in synchronising the Layer 2 output with debug or dump history outputs, we would recommend a single data capture. If a second were required, it would be best to power down the system and repeat the procedure.

Sample protocol analyser output: This is a very short extract from a typical trace. It shows the TEI being assigned (87/67) on a point-to-multipoint datalink, and the Layer 2 virtual circuit establishment. > 00 87 7f