Advanced Diagnostics - Detailed information about the Diva Diagnostic Trace
- 1 Detailed Information on what a Diva trace contains
- 2 Suggested Strategy for finding problems in a Diva Trace
- 3 Higher Level Problems
- 4 Example frames from traces
- 4.1 [1] D Channel example.
- 4.2 [2] D Channel example.
- 4.3 [3] B Channel example - X.75 data.
- 4.4 [4] B Channel example - PPP data.
- 4.5 [5] B Channel example - PPP data.
- 4.6 [6] SIG example - DISCONNECT
- 4.7 [7] SIG example - SETUP
- 4.8 [8]Â CAPIÂ Example -Â CAPI_PUT_MESSAGE
- 4.9 [9] CAPI Example -Â CAPI_GET_MESSAGE
- 4.10 [10]Â EVENTÂ Example.
- 4.11 [11]Â MDL-ERRORÂ Example
Detailed Information on what a Diva trace contains
The Dialogic Diva Diagnostics utility produces a lot of output, most of this information is only useful to a developer, but some of the more useful types of message are listed below.
Particularly the 'Cause' information is of interest. Below is an example of what this would look like in a trace. The contents of your message will almost certainly be different from this one, so just look for the word 'Cause' and take note of the two groups of letters and numbers following 'Cause' - in this case '82' and 'd8'.
9:12:44.684 - EVENT: Call failed in State 'Outgoing call proceeding' Q.931 CR8003 DISC Cause 82 d8 'Incompatible destination'
The first byte '82' contains 'location' information - where the message comes from - while the second byte 'd8' is the 'diagnostic'.
Make a note of the two 'Cause' codes (82 d8 in the above example) and enter these codes into the ISDN Diagnostic Code Analyser. The code analyser will show you where in the network the problem was reported from, describe the problem and suggest solutions.
Message type | Meaning |
LoadAdapter | This message reports that the card is installed and loaded correctly. |
SIG-EVENT | Examples: The SIG-EVENT FFFF messages indicate a low-level problem, usually to do with cabling or the Diva card not successfully communicating with the NT1 or the switch. On occasions this message can be caused by a faulty Diva card configuration. |
D-X | "D" channel messages (uninterpreted), complete with LAPD and Q.931 headers. D-X=transmitted by the Diva card; D-R=received by the Diva card. |
MDL-ERROR | These are normally low-level D-channel protocol violations detected by the Diva card. They normally indicate a serious problem with the ISDN line, your ISDN supplier's equipment or the provisioning (configuration) of the line. More information on MDL Errors. |
B-X | "B" channel messages. If the content is PPP, some decoding and interpretation is done for you. |
SIG-X | These are basically signalling ("D" channel) messages, but come from a higher layer in the Diva code, and have some interpretation of the data, e.g. call SETUPs have all the information elements decoded so that you don't have to do it manually. These are the most interesting messages if you are quickly scanning through the trace looking for a problem |
CAPI20_GET | These are the CAPI_GET_MESSAGE and CAPI_PUT_MESSAGE operations from a CAPI 2.0 application using the Diva card. Some of the values are broken-out from the CAPI message structure, and the actual CAPI message type is decoded (e.g. LISTEN_REQ, INFO_IND, DATA_B3). The first few bytes of the message (if any) are decoded on the line below. |
EVENT | These messages often amplify failed operations on the Diva card, so they are a good source of information |
L1_UP | These messages indicate that the physical layer is established (or not) between the Diva card and the NT1 (network connection). |
You can often tell a lot about the mode of failure by only looking at the SIG-X and SIG-R messages. Look out for these messages:
SIG Message | Meaning |
SETUP | This is an attempt to establish a connection, and can be sent or received by the Diva card. This message contains the Bearer Capabilities, describing the type of the call. |
CALL_PROC | CALL PROCEEDING is an indication that the network is processing the call SETUP. |
PROGRESS | These are messages from the network giving information about the call attempt that is underway |
ALERT | ALERTING means that the "phone is ringing" at the other end, i.e. the call is being offered to devices at the number you specified in the "SETUP". |
STATUS | This is sometimes sent to identify an error condition. Note down any cause codes that accompany this message. |
CONN | CONNECT means the call has been connected, i.e. the "B" channel is open and ready. |
CONN_ACK | CONNECT ACKNOWLEDGE is sent in response to the CONNECT message. |
DISC | DISCONNECT is sent to bring down an established connection, or refuse a call SETUP. Note down any cause codes that accompany this message and use the ISDN Diagnostic Code Analyser. |
REL | RELEASEÂ is used to tidy up after a disconnect. There are some cases where it is an advantage to issue a RELEASE some seconds after the DISCONNECT (e.g. when there is an announcement message on the "B" channel that the user needs to hear). |
REL_COM | RELEASE COMPLETE is the reply to RELEASE. |
Some common types of bearer capabilities (present in the SIG-X SETUP message) are:
Bearer Capabilities | Application |
88 90 | 64K unrestricted digital (i.e. a data call) |
88 90 21 BF | 56K digital |
80 90 A3 | Voice call (A-Law) |
80 90 A2 | Voice call (mu-Law) |
90 90 A3 | Fax Group 3 |
Â
Suggested Strategy for finding problems in a Diva Trace
Layer1 & Layer 2 problems
STEP 1:Â Use the Diva Trace to find the message "LoadAdapter" in the Initialisation sequence.
To capture the initialisation sequence of the Diva board follow the instructions on the page How to take a Diva trace
This LoadAdapter message reports that the Diva board is installed and loaded correctly.
Also look for the message L1_UP in the trace. If you do not see this, then the Diva board is not even talking to the network at the physical layer. Check the cable and the switch type configuration.
STEP 2: Look for SIG-EVENT FFFF messages.
This shows low-level problems with the card. Look to see if there are any D-X or D-R messages; if there are not, then the DIVA is not communicating with the NT1 or the network.
STEP 3. Quickly scan through the trace and look for "EVENT".
This may show a local or network failure of some kind.
Layer 3 Problems
STEP 4. Make sure there is a SIG-X containing "SETUP"
This indicates that a call is being made by the Diva board. If there is no SETUP, perhaps the application never tried to make a call, or perhaps there is a layer 2 problem (see above).
STEP 5. Check if a SIG-R came in containing "CONN".
If the SETUP receives a "CONN" (CONNECT) as a response, then a "B" channel was successfully connected. If the SETUP gets "DISCON" (DISCONNECT) as a response, then there is a problem with the network, or with the equipment at the far end. DISCON normally has Q.931 cause codes to tell you what the problem is.
STEP 6. If the cause of a "DISCONis not obvious, then check the SETUP message"
Make sure that the ISDN numbers are correct, and also that the Bearer Capabilities look right.
STEP 7. If the "CONN" event is received then look for "B-X" and "B-R" messages.
If you can see one or more of these, then the ISDN network and connection are OK, and you need to go on to the next stage.
Â
Higher Level Problems
If you seeÂ
B-X messages, but no B-R messages, then this means that DIVA is sending data (e.g. PPP frames), but the remote equipment is not responding. Perhaps the remote equipment is not using the same protocol on the "B" channel?
If theÂ
B-X and B-R data starts with "FF 03" then this is PPP protocol, and the next logical step is to analyse the PPP to look for negotiation problems.
For example, are both ends using the same protocol (IP, IPX, Netbeui etc), does the authentication (i.e. PAP, CHAP) succeed?
All "B" channel protocols (X.75, X.25, V.120 etc) have their own activation sequence, so at this stage you need to start analysing the B-channel data with protocol-specific tools. Needless to say, it is important to have some idea what kind of protocols the equipment at the other end of the link supports.
You can sometimes guess what the protocol is from the first frames sent and received, for example:
B-X or B-R Frame contains 01 3F or 03 3F (SABM frame)
This could be X.75 (LAPB) or it could be X.25 (which needs to activate LAPB first).B-X or B-R Frame contains 08 01 7F (SABME frame)
This could be V.120 connection. Note that sometimes other protocols are carried inside V.120 (PPP or asynch PPP for example).B-X or B-R Frame contains FF 03
This is quite likely to be PPP.B-X or B-R Frame contains 7E FF 7D 23
This is quite likely to be Asynch PPP.
Â
Example frames from traces
[1] D Channel example.
11:18:07.942 -Â D-X(008) 00 81 08 0A 08 01 06 5A
This is a frame transmitted (X) on the "D" channel. The first four bytes are actually a LAPD header (this is a LAPD "I" frame) and the next four are the Q.931 header (0x5A = RELEASE COMPLETE).
[2] D Channel example.
11:18:07.964 -Â D-R(003) 00 81 73
This frame is a received (R) LAPD frame (in this case a "UA" frame).
[3] B Channel example - X.75 data.
This frame is a received on "B" channel 1.
[4] B Channel example - PPP data.
This is a transmitted frame on "B" channel 1. Outgoing frames are truncated, if they exceed 28 bytes. As you can see, DITRACE interprets some of the data (in this case PPP), and puts a decoded version before the data buffer itself.'
[5] B Channel example - PPP data.
Here the PPP LCP header has been decoded by DITRACE, and the LCP Options are all interpreted to save you doing it by hand.
[6] SIG example - DISCONNECT
This is a common type of frame you will be looking for in the trace. It shows that a Q.931 DISCONNECT has been received (i.e. a call has disconnected) and the Cause code is interpreted and shown in English.
[7] SIG example - SETUP
This is a call SETUP frame, as decoded in a SIG-X element. This shows a call attempt being sent to the network by the DIVA card. You can see that the number being called is "2839999". The Bearer Capability field shows the type of call being selected.
[8]Â CAPIÂ Example -Â CAPI_PUT_MESSAGE
CAPI_PUT_MESSAGEÂ shows a message being sent by an application to the DIVA card's CAPI 2.0 interface. Then numbers show the application id, the message number and the PLCI/NCCI of the message, then the last thing on the line is the CAPI message type itself, in this case a LISTEN_REQ. Message-specific data (if any) is on the following line, and you can interpret this with the help of the CAPI 2.0 specification.
[9] CAPI Example -Â CAPI_GET_MESSAGE
11:18:07.657 - CAPI20_GET(015) APPL 0001 0024:00000201 INFO IND
07 80 00
Here you can see an INFO_IND message being read by the CAPI application. The data on the next line, tells what kind of information element was seen by the DIVA card (in this case 07 = Q.931 CONNECT).
[10]Â EVENTÂ Example.
16:51:07.913 - EVENT: Call failed in State 'Outgoing call proceeding'
Q.931 CR8003 DISC
Cause 81 d8 'Incompatible destination'
It pays to quickly scan through the trace for EVENT messages, since this can quite often show you the fault. Here, a DISCONNECT is being received in response to a SETUP, and the 'Incompatible destination' cause code shows that the user has made a digital call to a non-digital destination (e.g. a phone).
[11]Â MDL-ERRORÂ Example
0:0032:776 - D-R(004) 02 B7 01 03Â
0:0032:777 - D-X(004) 02 B7 01 03Â
0:0033:365 - D-R(003) 02 B7 7FÂ
0:0033:365 - MDL-ERROR(F)
0:0033:366 - D-X(003) 02 B7 73Â
0:0035:492 - D-R(003) 42 2B 7FÂ
In this example, the first two lines show normal D-channel idle activity in both directions, and then at line 3, the network resets the LAPD level by sending a SAMBE.  This unexpected reset is detected by the Diva card as an MDL error (according to the definitions for ISDN, for example in the ETSI specification). The type of the error is 'F', which means 'received SABME, Peer initiated re-establish'.Â