1echoscu(1) OFFIS DCMTK echoscu(1)
2
3
4
6 echoscu - DICOM verification (C-ECHO) SCU
7
8
10 echoscu [options] peer port
11
13 The echoscu application implements a Service Class User (SCU) for the
14 Verification SOP Class. It sends a DICOM C-ECHO message to a Service
15 Class Provider (SCP) and waits for a response. The application can be
16 used to verify basic DICOM connectivity.
17
19 peer hostname of DICOM peer
20
21 port tcp/ip port number of peer
22
24 general options
25 -h --help
26 print this help text and exit
27
28 --version
29 print version information and exit
30
31 --arguments
32 print expanded command line arguments
33
34 -q --quiet
35 quiet mode, print no warnings and errors
36
37 -v --verbose
38 verbose mode, print processing details
39
40 -d --debug
41 debug mode, print debug information
42
43 -ll --log-level [l]evel: string constant
44 (fatal, error, warn, info, debug, trace)
45 use level l for the logger
46
47 -lc --log-config [f]ilename: string
48 use config file f for the logger
49
50 network options
51 application entity titles:
52
53 -aet --aetitle [a]etitle: string
54 set my calling AE title (default: ECHOSCU)
55
56 -aec --call [a]etitle: string
57 set called AE title of peer (default: ANY-SCP)
58
59 association negotiation debugging:
60
61 -pts --propose-ts [n]umber: integer (1..38)
62 propose n transfer syntaxes
63
64 -ppc --propose-pc [n]umber: integer (1..128)
65 propose n presentation contexts
66
67 other network options:
68
69 -to --timeout [s]econds: integer (default: unlimited)
70 timeout for connection requests
71
72 -ts --socket-timeout [s]econds: integer (default: 60)
73 timeout for network socket (0 for none)
74
75 -ta --acse-timeout [s]econds: integer (default: 30)
76 timeout for ACSE messages
77
78 -td --dimse-timeout [s]econds: integer (default: unlimited)
79 timeout for DIMSE messages
80
81 -pdu --max-pdu [n]umber of bytes: integer (4096..131072)
82 set max receive pdu to n bytes (default: 16384)
83
84 --repeat [n]umber: integer
85 repeat n times
86
87 --abort
88 abort association instead of releasing it
89
90 transport layer security (TLS) options
91 transport protocol stack:
92
93 -tls --disable-tls
94 use normal TCP/IP connection (default)
95
96 +tls --enable-tls [p]rivate key file, [c]ertificate file: string
97 use authenticated secure TLS connection
98
99 +tla --anonymous-tls
100 use secure TLS connection without certificate
101
102 private key password (only with --enable-tls):
103
104 +ps --std-passwd
105 prompt user to type password on stdin (default)
106
107 +pw --use-passwd [p]assword: string
108 use specified password
109
110 -pw --null-passwd
111 use empty string as password
112
113 key and certificate file format:
114
115 -pem --pem-keys
116 read keys and certificates as PEM file (default)
117
118 -der --der-keys
119 read keys and certificates as DER file
120
121 certification authority:
122
123 +cf --add-cert-file [f]ilename: string
124 add certificate file to list of certificates
125
126 +cd --add-cert-dir [d]irectory: string
127 add certificates in d to list of certificates
128
129 +crl --add-crl-file [f]ilename: string
130 add certificate revocation list file
131 (implies --enable-crl-vfy)
132
133 +crv --enable-crl-vfy
134 enable leaf CRL verification
135
136 +cra --enable-crl-all
137 enable full chain CRL verification
138
139 security profile:
140
141 +py --profile-bcp195-nd
142 Non-downgrading BCP 195 TLS Profile (default)
143
144 +px --profile-bcp195
145 BCP 195 TLS Profile
146
147 +pz --profile-bcp195-ex
148 Extended BCP 195 TLS Profile
149
150 +pb --profile-basic
151 Basic TLS Secure Transport Connection Profile (retired)
152
153 +pa --profile-aes
154 AES TLS Secure Transport Connection Profile (retired)
155
156 +pn --profile-null
157 Authenticated unencrypted communication
158 (retired, was used in IHE ATNA)
159
160 ciphersuite:
161
162 +cc --list-ciphers
163 show list of supported TLS ciphersuites and exit
164
165 +cs --cipher [c]iphersuite name: string
166 add ciphersuite to list of negotiated suites
167
168 pseudo random generator:
169
170 +rs --seed [f]ilename: string
171 seed random generator with contents of f
172
173 +ws --write-seed
174 write back modified seed (only with --seed)
175
176 +wf --write-seed-file [f]ilename: string (only with --seed)
177 write modified seed to file f
178
179 peer authentication:
180
181 -rc --require-peer-cert
182 verify peer certificate, fail if absent (default)
183
184 -ic --ignore-peer-cert
185 don't verify peer certificate
186
187 offline certificate verification:
188
189 +vc --verify-cert [f]ilename: string
190 verify certificate against CA settings
191
192 # Load a client certificate and check whether it would be accepted
193 # when received during a TLS handshake. Print result and exit.
194
195 +rc --is-root-cert [f]ilename: string
196 check if certificate is self-signed root CA
197
198 # Load a client certificate and check whether it is a valid,
199 # self-signed root CA certificate. Print result and exit.
200
202 DICOM Conformance
203 The echoscu application supports the following SOP Classes as an SCU:
204
205 VerificationSOPClass 1.2.840.10008.1.1
206
207 Unless the --propose-ts option is used, the echoscu application will
208 only propose the transfer syntax
209
210 LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2
211
213 The level of logging output of the various command line tools and
214 underlying libraries can be specified by the user. By default, only
215 errors and warnings are written to the standard error stream. Using
216 option --verbose also informational messages like processing details
217 are reported. Option --debug can be used to get more details on the
218 internal activity, e.g. for debugging purposes. Other logging levels
219 can be selected using option --log-level. In --quiet mode only fatal
220 errors are reported. In such very severe error events, the application
221 will usually terminate. For more details on the different logging
222 levels, see documentation of module 'oflog'.
223
224 In case the logging output should be written to file (optionally with
225 logfile rotation), to syslog (Unix) or the event log (Windows) option
226 --log-config can be used. This configuration file also allows for
227 directing only certain messages to a particular output stream and for
228 filtering certain messages based on the module or application where
229 they are generated. An example configuration file is provided in
230 <etcdir>/logger.cfg.
231
233 All command line tools use the following notation for parameters:
234 square brackets enclose optional values (0-1), three trailing dots
235 indicate that multiple values are allowed (1-n), a combination of both
236 means 0 to n values.
237
238 Command line options are distinguished from parameters by a leading '+'
239 or '-' sign, respectively. Usually, order and position of command line
240 options are arbitrary (i.e. they can appear anywhere). However, if
241 options are mutually exclusive the rightmost appearance is used. This
242 behavior conforms to the standard evaluation rules of common Unix
243 shells.
244
245 In addition, one or more command files can be specified using an '@'
246 sign as a prefix to the filename (e.g. @command.txt). Such a command
247 argument is replaced by the content of the corresponding text file
248 (multiple whitespaces are treated as a single separator unless they
249 appear between two quotation marks) prior to any further evaluation.
250 Please note that a command file cannot contain another command file.
251 This simple but effective approach allows one to summarize common
252 combinations of options/parameters and avoids longish and confusing
253 command lines (an example is provided in file <datadir>/dumppat.txt).
254
256 The echoscu utility uses the following exit codes when terminating.
257 This enables the user to check for the reason why the application
258 terminated.
259
260 general
261 EXITCODE_NO_ERROR 0
262 EXITCODE_COMMANDLINE_SYNTAX_ERROR 1
263
264 input file errors
265 EXITCODE_CANNOT_READ_INPUT_FILE 20 (*)
266 EXITCODE_INVALID_INPUT_FILE 22
267
268 output file errors
269 EXITCODE_CANNOT_WRITE_OUTPUT_FILE 40 (*)
270
271 network errors
272 EXITCODE_CANNOT_INITIALIZE_NETWORK 60 (*)
273 EXITCODE_ASSOCIATION_ABORTED 70
274
275 (*) Actually, these codes are currently not used by echoscu but serve
276 as a placeholder for the corresponding group of exit codes.
277
279 The echoscu utility will attempt to load DICOM data dictionaries
280 specified in the DCMDICTPATH environment variable. By default, i.e. if
281 the DCMDICTPATH environment variable is not set, the file
282 <datadir>/dicom.dic will be loaded unless the dictionary is built into
283 the application (default for Windows).
284
285 The default behavior should be preferred and the DCMDICTPATH
286 environment variable only used when alternative data dictionaries are
287 required. The DCMDICTPATH environment variable has the same format as
288 the Unix shell PATH variable in that a colon (':') separates entries.
289 On Windows systems, a semicolon (';') is used as a separator. The data
290 dictionary code will attempt to load each file specified in the
291 DCMDICTPATH environment variable. It is an error if no data dictionary
292 can be loaded.
293
295 Copyright (C) 1994-2022 by OFFIS e.V., Escherweg 2, 26121 Oldenburg,
296 Germany.
297
298
299
300Version 3.6.7 Fri Apr 22 2022 echoscu(1)