Hi
hoping someone can help me figure out this issue.
I am administering an Orthanc 1.0 server which we are using for long term storage of animal x-ray images from a DICOM x-ray imaging system called NX (i think)
the company that sold and is supporting this imaging system/computer and its software do not provide access to it.
I have provided them the application entity name "Orthanc" and the DICOM port 4242 which they can use to transfer over new images as they are taken or scanned
Now that they are copying over the newly taken or scanned xrays they need a way to import all the hundreds of DICOM images taken before this connection was established and this is where they are having an issue.
In the Orthanc logs there is a repeating error message almost occuring exactly every 2 minutes
E0508 11:44:04.726606 StoreScp.cpp:295] Store SCP Failed: DIMSE: Odd Fragment Length: 8815
E0508 11:44:04.726606 CommandDispatcher.cpp:877] DIMSE failure (aborting association): DIMSE_parseCmdObject: Missing CommandField
Could anybody on here possibly explain what might be causing this, if there is any known issue in Orthanc that might be the cause or just a configuration issue?
I did try (wild guess) changing the DICOM encoding option in the json configuration file and restarting the Orthanc service from Latin1 to Utf8 but this did not stop the repeating errors.
the tech support person for the imaging system called NX, said they can successfully import the images using the same method that that is producing this issue, into another DICOM system successfully.
i would greatly appreciate any suggestions.
Daniel
Dear Daniel,
I am administering an Orthanc 1.0 server
If you encounteer a problem, you definitely give a try to the latest version of Orthanc (currently 1.2.0).
In the Orthanc logs there is a repeating error message almost occuring exactly every 2 minutes
E0508 11:44:04.726606 StoreScp.cpp:295] Store SCP Failed: DIMSE: Odd Fragment Length: 8815
E0508 11:44:04.726606 CommandDispatcher.cpp:877] DIMSE failure (aborting association): DIMSE_parseCmdObject: Missing CommandField
Could anybody on here possibly explain what might be causing this, if there is any known issue in Orthanc that might be the cause or just a configuration issue?
You should provide a detailed log, as explained in the Orthanc Book:
http://book.orthanc-server.com/faq/log.html
Anyway, according to these two lines, Orthanc receives an ill-formatted DICOM message from the NX modality.
I did try (wild guess) changing the DICOM encoding option in the json configuration file and restarting the Orthanc service from Latin1 to Utf8 but this did not stop the repeating errors.
No, this is not a configuration problem within Orthanc, rather a bad DICOM compliance of your NX modality.
the tech support person for the imaging system called NX, said they can successfully import the images using the same method that that is producing this issue, into another DICOM system successfully.
Saying 2 modalities can speak to each other does not mean they fulfill the DICOM standard.
i would greatly appreciate any suggestions.
My advises are: First, try with Orthanc 1.2.0. Secondly, try and replace Orthanc by the basic, standard “storescp” command-line utility (from the DCMTK package): If storescp is not able to receive files from NX either, this means your tech support should report the issue to the NX development team.
Regards,
Sébastien-
Thank you for the information, i will go for the option of upgrading to version 1.2
Could you please point me in the direction of upgrading a windows server install from version 1.0 to version 1.2
Hello,
Simply uninstall Orthanc 1.0.0, download the latest Windows installer, and properly set the storage directory when asked to:http://www.orthanc-server.com/download-windows.php
Sébastien-
I have now upgraded Orthanc from version 1.0 to 1.2 successfully and NX Workstation is still unable to store these previously captured Xrays.
I have started the command line Orthanc application with logging and now this is what i see; (every 2 minutes) - i have also asked the tech support guy for NX to run this by his product support team on their end.
I0515 08:37:44.863406 CommandDispatcher.cpp:490] Association Received from AET MMVSNX01 on IP 10.0.203.16
I0515 08:37:44.864382 CommandDispatcher.cpp:688] Association Acknowledged (Max Send PDV: 65530)
E0515 08:37:44.971808 StoreScp.cpp:293] Store SCP Failed: DIMSE: Odd Fragment Length: 2339
I0515 08:37:44.972785 CommandDispatcher.cpp:891] DIMSE_parseCmdObject: Missing CommandField
E0515 08:37:44.972785 CommandDispatcher.cpp:908] DIMSE failure (aborting association): DIMSE_parseCmdObject: Missing CommandField
where can i get this "basic, standard "storescp" command-line utility" to test with? and when i do get it. how do i do this test exactly?
Storescp is part of the DCMTK toolkit: http://dicom.offis.de/dcmtk.php.en
You may probably start with something like
storescp +xa -v -d 4242
You should then get lot’s of detailed info in the storescp output.
Sorry to reopen this case. I have the same problem.
I started Orthanc with the --verbose command and I got this log:
E1005 12:47:41.818381 StoreScp.cpp:294] Store SCP Failed: DIMSE: Odd Fragment Length: 10175
I1005 12:47:41.819362 CommandDispatcher.cpp:891] DIMSE_parseCmdObject: Missing CommandField
I1005 12:47:41.819362 CommandDispatcher.cpp:908] DIMSE failure (aborting association): DIMSE_parseCmdObject: Missing CommandField
Do you know what happened?
Please do what Alain mentioned:
storescp +xa -v -d 4242
Sébastien-
Thanks Sebastien.
How can I find storescp to run on command line if I am using Orthanc command line version?
Sorry, I’m new to all of this.
Best Regards,
It is part of the DCMTK distribution:
http://dicom.offis.de/dcmtk.php.en
Download “dcmtk-3.6.2-win32-dynamic.zip”, and use “storescp” as a replacement to Orthanc.
Hello, this is dump i got:
C:\DCMTK\bin>storescp +xa -v -d 4242
D: $dcmtk: storescp v3.6.2 2017-07-14 $
D:
D: setting network send timeout to 60 seconds
D: setting network receive timeout to 60 seconds
D: PDU Type: Associate Request, PDU Length: 222 + 6 bytes PDU header
D: 01 00 00 00 00 de 00 01 00 00 41 45 54 4f 52 54
D: 48 41 4e 43 4d 4c 20 20 20 20 43 4c 49 4d 45 47
D: 2d 46 4f 52 20 20 20 20 20 20 00 00 00 00 00 00
D: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D: 00 00 00 00 00 00 00 00 00 00 10 00 00 15 31 2e
D: 32 2e 38 34 30 2e 31 30 30 30 38 2e 33 2e 31 2e
D: 31 2e 31 20 00 00 4f 01 00 00 00 30 00 00 1b 31
D: 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 35 2e 31
D: 2e 34 2e 31 2e 31 2e 31 2e 31 40 00 00 13 31 2e
D: 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e 32 2e
D: 31 40 00 00 11 31 2e 32 2e 38 34 30 2e 31 30 30
D: 30 38 2e 31 2e 32 50 00 00 2a 51 00 00 04 00 01
D: 00 06 52 00 00 0c 31 2e 33 2e 35 31 2e 30 2e 31
D: 2e 33 55 00 00 0e 41 47 46 41 20 44 54 46 31 2e
D: 30 2e 39 35
D: Parsing an A-ASSOCIATE PDU
I: Association Received
D: Parameters:
D: ====================== BEGIN A-ASSOCIATE-RQ =====================
D: Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.2
D: Our Implementation Version Name: OFFIS_DCMTK_362
D: Their Implementation Class UID: 1.3.51.0.1.3
D: Their Implementation Version Name: AGFA DTF1.0.95
D: Application Context Name: 1.2.840.10008.3.1.1.1
D: Calling Application Name: CLIMEG-FOR
D: Called Application Name: AETORTHANCML
D: Responding Application Name:
D: Our Max PDU Receive Size: 16384
D: Their Max PDU Receive Size: 65542
D: Presentation Contexts:
D: Context ID: 1 (Proposed)
D: Abstract Syntax: =DigitalXRayImageStorageForPresentation
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =LittleEndianExplicit
D: =LittleEndianImplicit
D: Requested Extended Negotiation: none
D: Accepted Extended Negotiation: none
D: Requested User Identity Negotiation: none
D: User Identity Negotiation Response: none
D: ======================= END A-ASSOCIATE-RQ ======================
D: Constructing Associate AC PDU
I: Association Acknowledged (Max Send PDV: 65530)
D: ====================== BEGIN A-ASSOCIATE-AC =====================
D: Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.2
D: Our Implementation Version Name: OFFIS_DCMTK_362
D: Their Implementation Class UID: 1.3.51.0.1.3
D: Their Implementation Version Name: AGFA DTF1.0.95
D: Application Context Name: 1.2.840.10008.3.1.1.1
D: Calling Application Name: CLIMEG-FOR
D: Called Application Name: AETORTHANCML
D: Responding Application Name: AETORTHANCML
D: Our Max PDU Receive Size: 16384
D: Their Max PDU Receive Size: 65542
D: Presentation Contexts:
D: Context ID: 1 (Accepted)
D: Abstract Syntax: =DigitalXRayImageStorageForPresentation
D: Proposed SCP/SCU Role: Default
D: Accepted SCP/SCU Role: Default
D: Accepted Transfer Syntax: =LittleEndianExplicit
D: Requested Extended Negotiation: none
D: Accepted Extended Negotiation: none
D: Requested User Identity Negotiation: none
D: User Identity Negotiation Response: none
D: ======================= END A-ASSOCIATE-AC ======================
D: DcmDataset::read() TransferSyntax=“Little Endian Implicit”
I: Received Store Request
D: ===================== INCOMING DIMSE MESSAGE ====================
D: Message Type : C-STORE RQ
D: Presentation Context ID : 1
D: Message ID : 1
D: Affected SOP Class UID : DigitalXRayImageStorageForPresentation
D: Affected SOP Instance UID : 1.3.51.0.7.852199276.29526.42049.48148.23785.62584.40899
D: Data Set : present
D: Priority : medium
D: ======================= END DIMSE MESSAGE =======================
D: DcmDataset::read() TransferSyntax=“Little Endian Explicit”
E: Store SCP Failed: 0006:020d DIMSE: Odd Fragment Length: 2525
E: DIMSE failure (aborting association): 0006:020d DIMSE: Odd Fragment Length: 2525
D: setting network send timeout to 60 seconds
D: setting network receive timeout to 60 seconds
D: PDU Type: Associate Request, PDU Length: 222 + 6 bytes PDU header
D: 01 00 00 00 00 de 00 01 00 00 41 45 54 4f 52 54
D: 48 41 4e 43 4d 4c 20 20 20 20 43 4c 49 4d 45 47
D: 2d 46 4f 52 20 20 20 20 20 20 00 00 00 00 00 00
D: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D: 00 00 00 00 00 00 00 00 00 00 10 00 00 15 31 2e
D: 32 2e 38 34 30 2e 31 30 30 30 38 2e 33 2e 31 2e
D: 31 2e 31 20 00 00 4f 01 00 00 00 30 00 00 1b 31
D: 2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 35 2e 31
D: 2e 34 2e 31 2e 31 2e 31 2e 31 40 00 00 13 31 2e
D: 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e 32 2e
D: 31 40 00 00 11 31 2e 32 2e 38 34 30 2e 31 30 30
D: 30 38 2e 31 2e 32 50 00 00 2a 51 00 00 04 00 01
D: 00 06 52 00 00 0c 31 2e 33 2e 35 31 2e 30 2e 31
D: 2e 33 55 00 00 0e 41 47 46 41 20 44 54 46 31 2e
D: 30 2e 39 35
D: Parsing an A-ASSOCIATE PDU
I: Association Received
D: Parameters:
D: ====================== BEGIN A-ASSOCIATE-RQ =====================
D: Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.2
D: Our Implementation Version Name: OFFIS_DCMTK_362
D: Their Implementation Class UID: 1.3.51.0.1.3
D: Their Implementation Version Name: AGFA DTF1.0.95
D: Application Context Name: 1.2.840.10008.3.1.1.1
D: Calling Application Name: CLIMEG-FOR
D: Called Application Name: AETORTHANCML
D: Responding Application Name:
D: Our Max PDU Receive Size: 16384
D: Their Max PDU Receive Size: 65542
D: Presentation Contexts:
D: Context ID: 1 (Proposed)
D: Abstract Syntax: =DigitalXRayImageStorageForPresentation
D: Proposed SCP/SCU Role: Default
D: Proposed Transfer Syntax(es):
D: =LittleEndianExplicit
D: =LittleEndianImplicit
D: Requested Extended Negotiation: none
D: Accepted Extended Negotiation: none
D: Requested User Identity Negotiation: none
D: User Identity Negotiation Response: none
D: ======================= END A-ASSOCIATE-RQ ======================
D: Constructing Associate AC PDU
I: Association Acknowledged (Max Send PDV: 65530)
D: ====================== BEGIN A-ASSOCIATE-AC =====================
D: Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.6.2
D: Our Implementation Version Name: OFFIS_DCMTK_362
D: Their Implementation Class UID: 1.3.51.0.1.3
D: Their Implementation Version Name: AGFA DTF1.0.95
D: Application Context Name: 1.2.840.10008.3.1.1.1
D: Calling Application Name: CLIMEG-FOR
D: Called Application Name: AETORTHANCML
D: Responding Application Name: AETORTHANCML
D: Our Max PDU Receive Size: 16384
D: Their Max PDU Receive Size: 65542
D: Presentation Contexts:
D: Context ID: 1 (Accepted)
D: Abstract Syntax: =DigitalXRayImageStorageForPresentation
D: Proposed SCP/SCU Role: Default
D: Accepted SCP/SCU Role: Default
D: Accepted Transfer Syntax: =LittleEndianExplicit
D: Requested Extended Negotiation: none
D: Accepted Extended Negotiation: none
D: Requested User Identity Negotiation: none
D: User Identity Negotiation Response: none
D: ======================= END A-ASSOCIATE-AC ======================
D: DcmDataset::read() TransferSyntax=“Little Endian Implicit”
I: Received Store Request
D: ===================== INCOMING DIMSE MESSAGE ====================
D: Message Type : C-STORE RQ
D: Presentation Context ID : 1
D: Message ID : 1
D: Affected SOP Class UID : DigitalXRayImageStorageForPresentation
D: Affected SOP Instance UID : 1.3.51.0.7.852199276.29526.42049.48148.23785.62584.40899
D: Data Set : present
D: Priority : medium
D: ======================= END DIMSE MESSAGE =======================
D: DcmDataset::read() TransferSyntax=“Little Endian Explicit”
E: Store SCP Failed: 0006:020d DIMSE: Odd Fragment Length: 2525
E: DIMSE failure (aborting association): 0006:020d DIMSE: Odd Fragment Length: 2525
Do you think that the issue is with the AGFA CR?
Thanks for everything.
Hello,
Hello, this is dump i got:
C:\DCMTK\bin>storescp +xa -v -d 4242
[…]
E: Store SCP Failed: 0006:020d DIMSE: Odd Fragment Length: 2525
E: DIMSE failure (aborting association): 0006:020d DIMSE: Odd Fragment Length: 2525
Do you think that the issue is with the AGFA CR?
This shows that the problem is not within Orthanc, but within your modality.
Please get in touch with your commercial Agfa support and ask them to explain this incompatibility with DCMTK’s storescp.
Regards,
Sébastien-
Thanks Sebastian. I will do that and let you know.
Best Regards,
Fine!
I hope they’ll give you an useful explanation to the benefit of the community.
Regards,
Sébastien-
Hey guys, just to give an update. The problem is solved now. We needed to change the Output Type of the AGFA CR do 12-bit PVAL as shown in the attached image.
I don’t know what it changes, but the problem is gone now.
Best Regards,
hello all sorry for the necro, but it happend to me to for an agfa cr system “MUSICA NX”, i am using 1.10 orthanc for ubuntu. its definitely the agfa systems fault, there was a local power outage (this being a medical establishment we had backup generator for power so the systems and network never lost power) so the agfa system could not comunicate with orthanc. it did everything else but send the dicom files. 4 hours later when mains power was restored it started working as normal, just had to restart the dicom jobs (no settings were changed)on the musica nx and now they worked as they should have from the start, so yeah weird coms on this agfa system.