1echoscu(1)                        OFFIS DCMTK                       echoscu(1)
2
3
4

NAME

6       echoscu - DICOM verification (C-ECHO) SCU
7
8

SYNOPSIS

10       echoscu [options] peer port
11

DESCRIPTION

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

PARAMETERS

19       peer  hostname of DICOM peer
20
21       port  tcp/ip port number of peer
22

OPTIONS

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

NOTES

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

LOGGING

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

COMMAND LINE

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

EXIT CODES

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

ENVIRONMENT

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)
Impressum