The Unimodem Diagnostic Command Specification is provided by Microsoft to enable modems to exhibit consistent behavior during data session diagnostics. The latest specification revision of this command can be found on the Microsoft Web site.
Command Syntax:
AT#UD
#UD is an action command. It does not take parameters.
Although this command is intended for use after call termination, codes are defined so that a modem can respond before the call is placed, and during a call for live monitoring purposes.
Command Response:
In response to this command, the modem reports information about the modem. Each information text line is formatted as follows, including one or more key=value pairs:
DIAG <token key = value [[key = value] [key = value]] …>
Where, token is a unique 32-bit hex number 2A4D3263
key is a hex number, described in column 1 of Table 1.
value is a string defined by column 2 in Table 1.
NOTE:
Unless otherwise noted, all values are hexadecimal numbers.
Key |
Value |
Definition |
0 |
2 digits |
Diagnostic Command Specification revision number |
1 |
See Table 2 |
Call Setup Result code |
2 |
See Table 3 |
Multi-media mode |
3 |
See Table 4 |
DTE-DCE interface mode |
4 |
String |
V.8 CM octet string, same format as V.25ter Annex A, in quotes |
5 |
String |
V.8 JM octet string, same format as V.25ter Annex A, in quotes |
6F |
|
Reserved for call negotiation reports |
10 |
0-2F |
Received signal power level, in –dBm (0-43) |
11 |
0-1F |
Transmit signal power level, in –dBm (e.g. 0-17) |
12 |
0-64 |
Estimated noise level, in –dBm (e.g. 10-90) |
13 |
0-FF |
Normalized Mean Squared error, 100 (0x64) = minimum inter-symbol distance |
14 |
0-3F |
Near echo loss, in units of dB |
15 |
0-3F |
Far echo loss, in units of dB |
16 |
0-3F |
Far echo delay, in units of ms |
17 |
0-FFF |
Round Trip delay, in units of ms |
18 |
See Table 5 |
V.34 INFO bit map |
19-1F |
|
Reserved for modulation setup and training reports |
20 |
See Table 6 |
Transmit Carrier Negotiation Result |
21 |
See Table 6 |
Receive Carrier Negotiation Result |
22 |
0-1F40 |
Transmit Carrier symbol rate (0-8000) in symbol/s |
23 |
0-1F40 |
Receive Carrier symbol rate (0-8000) in symbol/s |
24 |
0-FA0 |
Transmit Carrier frequency (0-4000) in Hz |
25 |
0-FA0 |
Receive Carrier frequency (0-4000) in Hz |
26 |
0-FA00 |
Initial transmit carrier data rate (0-64000) in bit/s |
27 |
0-FA00 |
Initial receive carrier data rate (0-64000) in bit/s |
28-2F |
|
Reserved |
30 |
0-FF |
Temporary carrier loss event count |
31 |
0-FF |
Carrier Rate re-negotiation event count |
32 |
0-FF |
Carrier Retrains requested |
33 |
0-FF |
Carrier Retrain requests granted |
34 |
0-FA00 |
Final transmit carrier data rate in bit/s |
35 |
0-FA00 |
Final receive carrier data rate in bit/s |
36-3F |
|
Reserved |
40 |
See Table 7 |
Protocol Negotiation Result |
41 |
0-400 |
Error Control frame size in bytes |
42 |
0-FF |
Error control link timeouts in transmission |
43 |
0-FF |
Error control link NAKs received |
44 |
See Table 8 |
Compression Negotiation Result |
45 |
0-800 |
Compression dictionary size in bytes |
46-4F |
|
Reserved |
50 |
0-2 |
Transmit flow control: 0 = off; 1 = DC1/DC3; 2 = V.24 ckt 106/133 |
51 |
0-2 |
Receive flow control: 0 = off; 1 = DC1/DC3; 2 = V.24 ckt 106/133 |
52 |
0-FFFFFFFF |
Transmit characters sent from DTE |
53 |
0-FFFFFFFF |
Received characters sent to DTE |
54 |
0-FFFF |
Transmit characters lost (data overrun errors from DTE) |
55 |
0-FFFF |
Received characters lost (data overrun errors to DTE) |
56 |
0-FFFFFFFF |
Transmit I- Frame count, if error control protocol running |
57 |
0-FFFFFFFF |
Received I-Frame count, if error control protocol running |
58 |
0-FFFF |
Transmit I-Frame error count, if error control protocol running |
59 |
0-FFFF |
Received I- Frame error count, if error control protocol running |
5A-5F |
|
Reserved |
60 |
See Table 9 |
Termination Cause |
62-7F |
|
Reserved for future versions of this specification |
80-FF |
|
Reserved for manufacturer proprietary keys |
Table 1 - AT#UD Last Call Status Report Format
Code |
Definition |
0 |
No previous call (modem log has been cleared since any previous calls) |
1 |
No dial tone detected |
2 |
Reorder signal detected, network busy |
3 |
Busy signal detected |
4 |
No recognized signal detected (e.g. no signal, or nothing recognizable) |
5 |
Voice detected * if this is a voice modem (e.g. V.253) operating in voice mode (e.g. +FCLASS=8.0) |
6 |
Text telephone signal detected (see V.18) |
7 |
Data Answering signal detected (e.g. V.25 ANS, V.8 ANSam) |
8 |
Data Calling signal detected (e.g. V.25 CT, V.8 CI) |
9 | Fax Answering signal detected (e.g. T.30 CED, DIS) |
A |
Fax Calling signal detected (e.g. T.30 CNG) |
B |
V.8bis signal detected |
C-F |
Reserved |
Table 2 - Call Setup Result Codes
Code |
Definition |
0 |
Data Only |
1 |
FAX Only |
2 |
Voice Only * if voice mode supported (e.g. V.253, IS-101) |
3 |
VoiceView™ |
4 |
ASVD, V.61 |
5 |
ASVD, “V.34Q” |
6 |
DSVD, Multi-Tech |
7 |
DSVD, 1.2 |
8 |
DSVD, V.70 |
9 |
Video-telephony, H.324 |
A |
Other V.80 call |
B-F |
Reserved |
Table 3 – Multimedia modes
Code |
Definition |
0 |
Async data |
1 |
V.80 transparent synchronous mode |
2 |
V.80 framed synchronous mode |
3-F |
Reserved |
Table 4 – DTE-DCE modes
Bits |
Source bits |
Definition |
31-30 |
INFO0 bit 20; 0 |
|
20-29 |
INFOc bits 79-88 |
|
16-19 |
INFOc bits 26-29 or 35-38 or 44-47 or 53-56- or 62-65 or 71-74 |
Pre-emphasis field, selected by the symbol rate chosen |
12-15 |
INFOa bits 26-29 |
|
10-11 |
MP bit 50; 0 |
|
0-9 |
INFOa bits 40-49 |
|
Table 5 – V.34 INFO bit report (applicable only to V.34 or V.90/V.92 calls)
Value |
Description |
0 |
V.17 (G3 Fax call) |
1 |
V.21 |
2 |
V.22 |
3 |
V.22bis |
4 |
V.23 Constant Carrier (1200/75) |
5 |
V.23 Switched Carrier (half duplex) |
6 |
V.26bis |
7 |
V.26ter |
8 |
V.27ter (G3 Fax call) |
9 |
V.29 HD (G3 Fax call) |
A |
V.32 (difficult to distinguish from V.32bis) |
B |
V.32bis |
C |
V.34 |
D |
V.34 HD (G3 Fax call) |
E |
V.90 Issue 1 (asymmetric) |
F |
V.90 Issue 2 (symmetric) |
E-7F |
Reserved (V.58) |
80 |
X2™ |
81 |
K56FLEX™ |
82 |
V.FC |
83 |
V.32terbo |
84 |
Bell 212A (if modem supports B212A) |
85 |
Bell 103 (if modem supports B103) |
80-FF |
Reserved for mfgs |
Table 6 – gstnModulationSchemeActive from 3.7.2/V.58
Value |
Description |
0 |
Disable/none |
1 |
V.42 LAPM |
2 |
V.42 Alterative protocol (MNP™) |
3-7F |
Reserved (V.58) |
80 |
MNP10™ |
81 |
ECP™ Enhanced Cellular Protocol |
82 |
ETC™ Enhanced Throughput Cellular |
82-FF |
Reserved for mfgs |
Table 7 – errorControl Active from 3.5.2/V.58
Value |
Description |
0 |
None |
1 |
V.42bis |
2-7F |
Reserved (V.58) |
80 |
MNP5™ |
81-FF |
Reserved for mfgs |
Table 8 – compressionActive from 3.2.2/V.58
Indicates that the DCE has gone on hook and that the previously existing network connection has been cleared. These values are hex.
Value |
Description |
Notes |
0 |
CauseUnidentified |
Call setup issues |
1 |
No Previous call |
Not in V.58 |
2 |
Call is still in progress |
Not in V.58 |
3 |
Call Waiting signal detected |
Not in V.58, only if modem can detect it |
4 |
Delayed |
Same as value 2A, CallAttemptsLimitExceeded |
A |
NMSinitiatedDialCall |
-- Network Management System |
B |
NMSinitiatedLeasedLineRestoral |
|
C |
NMSinitiatedRedial |
|
D |
NMSinitiatedDialDisconnect |
|
14 |
PowerLoss |
DCE |
15 |
EquipmentFailure |
|
16 |
FrontPanelDisconnectRequested |
If there is a front panel with this control |
17 |
FrontPanelLeasedLineRestoral |
|
18 |
AutomaticLeasedLineRestoral |
|
19 |
InactivityTimerExpired |
|
1E |
cct116RestoralRequest |
DTE Interface |
1F |
cct108isOffInhibitsDial |
|
20 |
cct108turnedOff |
This is hangup with &D2 |
28 |
NoNumberProvided |
Prohibited by some national regulations |
29 |
BlacklistedNumber |
|
2A |
CallAttemptsLimitExceeded |
Same as “Delayed”, see ETS 300 001 |
2B |
ExtensionPhoneOffHook |
If extension detection supported |
2C |
CallSetupFailTimerExpired |
e.g. S7 timeout |
2D |
IncomingCallDetected |
If incoming call while sending dial command. |
2E |
LoopCurrentInterrupted |
|
2F |
NoDialTone |
|
30 |
VoiceDetected |
|
31 |
ReorderTone |
|
32 |
SitTone |
|
33 |
EngagedTone |
|
34 |
LongSpaceDisconnect |
And if modem program to abort on long space |
3C |
CarrierLost |
Signal Converter |
3D |
TrainingFailed |
|
3E |
NoModulationinCommon |
|
3F |
RetrainFailed |
|
40 |
RetrainAttemptCountExceeded |
|
41 |
GstnCleardownReceived |
|
42 |
FaxDetected |
|
46 |
InTestMode |
Test |
47 |
IntrusiveSelfTestInitiated |
|
50 |
AnyKeyAbort |
Call Control |
51 |
DteHangupCommand |
If ATH was used to terminate the previous call. |
52 |
DteResetCommand |
If ATZ was used to terminate the previous call. |
5A |
FrameReject |
Error Control |
5B |
NoErrorControlEstablished |
Error control was required |
5C |
ProtocolViolation |
|
5D |
n400exceeded |
|
5E |
NegotiationFailed |
|
5F |
DisconnectFrameReceived |
|
60 |
SabmeFrameReceived |
|
64 |
LossOfSynchronization |
Data Compression |
Table 9 – callCleared codes from 3.6.4/V.58-1994
Example Modem Response and Usage
Modem response lin |
Description |
DIAG <2A4D3263 0=10 |
This is version 1.0 |
DIAG <2A4D3263 1=06 2=0 3=0> |
Data Answer signal detected; Data only; Character async |
DIAG <2A4D3263 5=”C14513902A” 6=”A145” |
V.8 Call Menu indicates:
V.8 Joint Menu selects:
|
DIAG <2A4D3263 10=1F 11=0C 12=52> |
Receive level = -31dbm; transmit level = -12dbm; noise level = -82dbm |
DIAG <2A4D3263 14=03 15=05 16=10> |
Far end echo delay in milliseconds; Far end echo loss in dB; Near end echo loss = 16 dB |
DIAG <2A4D3263 20=C 22=780 24=0C80 26=79E0 > |
Transmitter: V.34 training completed; V.34 carrier frequency = 1920; V.34 symbol rate = 3200; initial transmit rate is 31200 bit/s |
DIAG <2A4D3263 21=D 25=1F40 27=DAC0 > |
Receiver: V.90 training completed; V.90 symbol rate = 8000; initial receive rate is 56000 bit/s |
DIAG <2A4D3263 30=00 31=03 32=01 33=01> |
No carrier loss events, 3 carrier rate renegotiations attempted; 1 carrier retrain requested; 1 carrier retrain granted |
DIAG <2A4D3263 34=7080 35=CB20> |
Final transmit rate is 28800 bit/s; final receive rate is 52000 bit/s |
DIAG <2A4D3263 40=1 41=100> |
LAPM negotiation completed; frame size = 256 |
DIAG <2A4D3263 42=0 43=0> |
No error control timeout or link NAKs |
DIAG <2A4D3263 44=1 45=400> |
V.42bis data compression used; dictionary size = 1024 |
DIAG <2A4D3263 50=2 51=2> |
Hardware transmit and receive flow control |
DIAG <2A4D3263 52=343CC 54=0> |
213964 DTE characters transmitted, w/o underrun |
DIAG <2A4D3263 53=7230E6 55=47> |
7483622 DTE characters received, 71 characters lost due to receive data overrun |
DIAG <2A4D3263 56=29D 58=0001> |
597 (decimal) frames transmitted, with 1 frame error |
DIAG <2A4D3263 58=2A4B 59=0004> |
10827 (decimal) frames received, with 4 frame errors |
DIAG <2A4D3263 60=51> |
Local PC initiated hangup |
Table 10 - Completed Data Call, with some errors and rate retrain during the call