DCMTK movescu error: response suceed but no file received

1.6k Views Asked by At

I am new in DICOM and DCMTK. I was trying to retrieve dcm files from a private PACS server(172.18.1.1) with movescu command in Windows platform. The incoming and outgoing message were normal but no data was received in the specified directory.The command is as following:

movescu.exe -d -S -aec GEPACS -aet TEST1  -od c:\windows\dcmtk\dcm 172.18.1.1 4100 -k QueryRetrieveLevel=STUDY -k StudyInstanceUID=1.2.840.113619.186.351258914078.20100708160459594.417

The output message is as follow:

>D: $dcmtk: movescu v3.6.3 2018-02-05 $
>D:
>D: Request Parameters:
>D: ====================== BEGIN A-ASSOCIATE-RQ =====================
>D: Our Implementation Class UI>D:      1.2.276.0.7230010.3.0.3.6.3
>D: Our Implementation Version Name:   OFFIS_DCMTK_363
>D: Their Implementation Class UI>D:
>D: Their Implementation Version Name:
>D: Application Context Name:    1.2.840.10008.3.1.1.1
>D: Calling Application Name:    TEST1
>D: Called Application Name:     GEPACS
>D: Responding Application Name: GEPACS
>D: Our Max PDU Receive Size:    16384
>D: Their Max PDU Receive Size:  0
>D: Presentation Contexts:
>D:   Context I>D:        1 (Proposed)
>D:     Abstract Syntax: =FINDStudyRootQueryRetrieveInformationModel
>D:     Proposed SCP/SCU Role: Default
>D:     Proposed Transfer Syntax(es):
>D:       =LittleEndianExplicit
>D:       =BigEndianExplicit
>D:       =LittleEndianImplicit
>D:   Context I>D:        3 (Proposed)
>D:     Abstract Syntax: =MOVEStudyRootQueryRetrieveInformationModel
>D:     Proposed SCP/SCU Role: Default
>D:     Proposed Transfer Syntax(es):
>D:       =LittleEndianExplicit
>D:       =BigEndianExplicit
>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 ======================
>I: Requesting Association
>D: setting network send timeout to 60 seconds
>D: setting network receive timeout to 60 seconds
>D: Constructing Associate RQ PDU
>D: PDU Type: Associate Accept, PDU Length: 208 + 6 bytes PDU header
>D:   02  00  00  00  00  d0  00  01  00  00  47  45  50  41  43  53
>D:   20  20  20  20  20  20  20  20  20  20  41  45  5f  41  52  43
>D:   48  31  20  20  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  21  00  00  1b  01  00  00  00  40  00  00  13  31
>D:   2e  32  2e  38  34  30  2e  31  30  30  30  38  2e  31  2e  32
>D:   2e  31  21  00  00  1b  03  00  00  00  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  50  00  00  31  51  00  00  04  00  00  70  00  52  00  00
>D:   13  31  2e  32  2e  38  34  30  2e  31  31  33  36  31  39  2e
>D:   36  2e  39  34  55  00  00  0e  43  45  4e  54  52  49  43  49
>D:   54  59  5f  34  2e  30
>D: Parsing an A-ASSOCIATE PDU
>D: Association Parameters Negotiate>D:
>D: ====================== BEGIN A-ASSOCIATE-AC =====================
>D: Our Implementation Class UI>D:      1.2.276.0.7230010.3.0.3.6.3
>D: Our Implementation Version Name:   OFFIS_DCMTK_363
>D: Their Implementation Class UI>D:    1.2.840.113619.6.94
>D: Their Implementation Version Name: CENTRICITY_4.0
>D: Application Context Name:    1.2.840.10008.3.1.1.1
>D: Calling Application Name:    TEST1
>D: Called Application Nae:     GEPACS
>D: Responding Application Name: GEPACS
>D: Our Max PDU Receive Size:    16384
>D: Their Max PDU Receive Size:  28672
>D: Presentation Contexts:
>D:   Context I>D:        1 (Accepted)
>D:     Abstract Syntax: =FINDStudyRootQueryRetrieveInformationModel
>D:     Proposed SCP/SCU Role: Default
>D:     Accepted SCP/SCU Role: Default
>D:     Accepted Transfer Syntax: =LittleEndianExplicit
>D:   Context I>D:        3 (Accepted)
>D:     Abstract Syntax: =MOVEStudyRootQueryRetrieveInformationModel
>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 ======================
>I: Association Accepted (Max Send PDV: 28660)
>I: Sending Move Request
>D: ===================== OUTGOING DIMSE MESSAGE ====================
>D: Message Type                  : C-MOVE RQ
>D: Presentation Context ID       : 3
>D: Message ID                    : 1
>D: Affected SOP Class UID        : MOVEStudyRootQueryRetrieveInformationModel
>D: Data Set                      : present
>D: Priority                      : medium
>D: Move Destination              : TEST1
>D: ======================= END DIMSE MESSAGE =======================
>I: Request Identifiers:
>I:
>I: # Dicom-Data-Set
>I: # Used TransferSyntax: Little Endian Explicit
>I: (0008,0052) CS [STUDY]                                  #   6, 1 QueryRetrieveLevel
>I: (0020,000d) UI [1.2.840.113619.186.351258914078.20100708160459594.417] #  54, 1 StudyInstanceUID
>I:
>D: DcmDataset::read() TransferSyntax="Little Endian Implicit"
>I: Received Final Move Response
>D: ===================== INCOMING DIMSE MESSAGE ====================
>D: Message Type                  : C-MOVE RSP
>D: Message ID Being Responded To : 1
>D: Affected SOP Class UID        : MOVEStudyRootQueryRetrieveInformationModel
>D: Remaining Suboperations       : none
>D: Completed Suboperations       : 6
>D: Failed Suboperations          : 0
>D: Warning Suboperations         : 0
>D: Data Set                      : none
>D: DIMSE Status                  : 0x0000: Success
>D: ======================= END DIMSE MESSAGE =======================
>I: Releasing Association

And also I tried to add --port 104 or -aem TEST1, but failed either.

2

There are 2 best solutions below

3
On

The default "move destination" (option -aem) of movescu is "MOVESCU". Does your PACS know anything about this AE title? It seems that the 6 DICOM SOP Instances ("Completed Suboperations: 6") were sent successfully to this AE (Application Entity). The output directory (option -od) is only used when movescu also acts as a Storage SCP, i.e. if option --port (or +P) is used.

And also I tried to add --port 104 or -aem TEST1, but failed either.

Did you configure your PACS to map the AE title "TEST1" to the IP address of the system movescu is running on and to port 104?

8
On

It seems that the C-MOVE operation is successful:

>I: Received Final Move Response
>D: ===================== INCOMING DIMSE MESSAGE ====================
>D: Message Type                  : C-MOVE RSP
>D: Message ID Being Responded To : 1
>D: Affected SOP Class UID        : MOVEStudyRootQueryRetrieveInformationModel
>D: Remaining Suboperations       : none
>D: Completed Suboperations       : 6
>D: Failed Suboperations          : 0
>D: Warning Suboperations         : 0
>D: Data Set                      : none
>D: DIMSE Status                  : 0x0000: Success
>D: ======================= END DIMSE MESSAGE =======================

According to the message from the server, 6 Sub-Operations were successsfully completed (i.e. 6 images were moved to the move destination), and the Status is "Success". Thus, I would suspect that the AET "TEST1" maps to a different system, not yours.

As J. Riesmeier suggested, you should check the IP and Port configuration for "TEST1" in the PACS.