I am running Orthanc Server using docker-compose file and attempting to connect to DICOM Server using TLS connection.More details here https://groups.google.com/g/orthanc-users/c/6gNCOVwTc6c. I downloaded the source code from github for dcmtk 3.6.6 (https://github.com/DCMTK/dcmtk). Followed the instruction for build and built dcmtk 3.6.6 on my debian 10 system. I added the "dcmtk-3.6.6-install/usr/local/bin/" folder to PATH using export PATH command.
After that I attempted to connect to the docker container using the command echoscu -v -aet ORTHANCA localhost 4242 +tls orthanc-a-server-key.pem orthanc-a-server-crt.pem +cf trusted-crt.pem
.
I received the following error log:
E: DcmDataDictionary: Cannot open file: /usr/local/share/dcmtk/dicom.dic
W: no data dictionary loaded, check environment variable: DCMDICTPATH
I: Requesting Association
I: Association Accepted (Max Send PDV: 16372)
I: Sending Echo Request (MsgID 1)
E: Echo Failed: 0006:0213 Data dictionary missing
E: Echo SCU Failed: 0006:0213 Data dictionary missing
I: Aborting Association
I added "dcmtk-3.6.6-install/usr/local/share/dcmtk/" to PATH and checked using echo $PATH
that its been added correctly and in that path dicom.dic file is present. Its present however I am getting the same error as above.
In the docker terminal logs I get the following messages for the same
orthanc-a-server_1 | I0123 16:14:23.498902 CommandDispatcher.cpp:332] (dicom) Association Received from AET ORTHANCA on IP 192.168.7.1
orthanc-a-server_1 | I0123 16:14:23.499024 main.cpp:318] Incoming connection from AET ORTHANCA on IP 192.168.7.1, calling AET ANY-SCP
orthanc-a-server_1 | I0123 16:14:23.499142 CommandDispatcher.cpp:663] (dicom) Association Acknowledged (Max Send PDV: 16372) to AET ORTHANCA on IP 192.168.7.1
orthanc-a-server_1 | I0123 16:14:23.499831 CommandDispatcher.cpp:917] (dicom) Finishing association with AET ORTHANCA on IP 192.168.7.1: Peer aborted Association (or never connected)
orthanc-a-server_1 | I0123 16:14:23.499917 CommandDispatcher.cpp:930] (dicom) Association Aborted with AET ORTHANCA on IP 192.168.7.1
What am I missing here or doing wrong?
Your DICOM dictionary is not found, meaning that probably something in the build/installation went wrong.
There are 2 possibilities to include the DICOM dictionary:
DCMDICTPATH
to its location (default under Posix)From the documentation:
The related information can be found in the dcmtk sources under
dcmdata/docs/datadict.txt
, there is also an online version of the file.In short, for non-Windows systems:
To compile the dictionary into the library:
--enable-builtin-dict
and--disable-external-dict
DCMTK_ENABLE_BUILTIN_DICTIONARY
To use the separate dictionary:
use the default build options and make sure that use the
install-libs
option; in this casedicom.dic
will be installed into the default location (under<datadir>
) and should be found; for this, you should call "make install" and specify the installation path during "configure" (aka as "--prefix") if neededif you want to use your own dictionary, or for some reason want to move the dictionary elsewhere, you have to set
DCMDICTPATH
to the location of that dictionary, e.g.:Update: Added instructions from comment by Jörg Riesmeier.