Proxy retrieve requests to another Archive - dcm4che/dcm4chee-arc-light GitHub Wiki
To configure proxy retrieve requests to another archive, add new attributes on device level and on application entity level in LDAP configuration using the New Attribute function (or Ctrl+Shift++) of Apache Directory Studio
- on Device / Application Entity level : The dcmFallbackCMoveSCP attribute is created and set to QRSCP. This acts like a archive. The MOVESCU requests are forwarded to QRSCP when no study with study-uid is present on DCM4CHEE.
- on Application Entity level : The dcmOtherAETitle is set to QRSCP as it will act like a mirror of archive and achieve transparency. When client side sends requests to QRSCP, internally these requests are forwarded to the archive i.e DCM4CHEE. In this way, transparency and proxy retrieval is achieved, as client side has no knowledge that internally it is connecting to DCM4CHEE archive through QRSCP.
One may either
-
create a LDIF file (e.g.):
version: 1 dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org changetype: modify add: dcmFallbackCMoveSCP dcmFallbackCMoveSCP: QRSCP - dn: dicomAETitle=DCM4CHEE,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org changetype: modify add: dcmOtherAETitle dcmOtherAETitle: QRSCP -
and import it to the LDAP Server by using the ldapmodify command line utility.
-
or use the Add Attribute... and Add Value... function of Apache Directory Studio to add attributes on Device Level (e.g.:
dicomDeviceName=dcm4chee-arc
) or on Application Entity Level (e.g:dicomAETitle=DCM4CHEE
) of the Archive Configuration.
One may refer to Archive Device and Network AE to understand the description of attributes.
Go to the Control tab on Configuration page in archive UI and reload the configuration.
To configure cache retrieve requests, add new attribute on device / application entity level in LDAP configuration using the New Attribute function (or Ctrl+Shift++) of Apache Directory Studio
One may either
-
create a LDIF file (e.g.):
version: 1 dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org changetype: modify add: dcmFallbackCMoveSCP dcmFallbackCMoveSCP: QRSCP - dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org changetype: modify add: dcmFallbackCMoveSCPDestination dcmFallbackCMoveSCPDestination: DCM4CHEE - dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org changetype: modify add: dcmFallbackCMoveSCPRetries dcmFallbackCMoveSCPRetries: 10 - dn: dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org changetype: modify add: dcmFallbackCMoveSCPStudyOlderThan dcmFallbackCMoveSCPStudyOlderThan: 20000101 -
and import it to the LDAP Server by using the ldapmodify command line utility.
-
or use the Add Attribute... and Add Value... function of Apache Directory Studio to add attributes on Device Level (e.g.:
dicomDeviceName=dcm4chee-arc
) or on Application Entity Level (e.g:dicomAETitle=DCM4CHEE
) of the Archive Configuration.
One may refer to Archive Device to understand the description of attributes.
Go to the Control tab on Configuration page in archive UI and reload the configuration.
- storescu simulating the external object source (e.g. modality) STORESCU, from which objects are being received
- storescp simulating the external object destination (e.g. workstation) STORESCP, to which received objects are forwarded
- dcmqrscp implements a simple image archive
- movescu implements both an SCU for the Query/Retrieve Service Class and an SCP for the Storage Service Class
Remote application entities STORESCP and DCM4CHEE needs to be configured. STORESCP and DCM4CHEE acts a destination for MOVESCU requests. Refer Remote Application Entity
-
Modify the $(DCM4CHEE_HOME)/etc/dcmqrscp/ae.properties file to add below entries
STORESCP=hostname:port
DCM4CHEE=hostname:11112
Then start the dcmqrscp tool listening on 11112 as shown below
dcmqrscp -b DCMQRSCP:11112 --dicomdir /media/cdrom/DICOMDIR
Below is a snippet of the same13:07:18,499 INFO - Start TCP Listener on 0.0.0.0/0.0.0.0:11112
-
Store the images to dcmqrscp using STORESCU tool as shown below
storescu -c DCMQRSCP@hostname:11112 /image.dcm
Below is a snippet of Request - Response logs13:10:41,374 INFO - STORESCU->DCMQRSCP(1) << 1:C-STORE-RQ[pcid=7, prior=0 cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ? tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression 13:10:41,444 INFO - STORESCU->DCMQRSCP(1) >> 1:C-STORE-RSP[pcid=7, status=0H cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ? tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression
-
When the image is being received on the dcmqrscp side, the snippet of Request - Response logs on dcmqrscp side is shown below
13:10:41,391 INFO - DCMQRSCP<-STORESCU(1) >> 1:C-STORE-RQ[pcid=7, prior=0 cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ? tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression 13:10:41,443 INFO - DCMQRSCP<-STORESCU(1) << 1:C-STORE-RSP[pcid=7, status=0H cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ? tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression
-
Start storescp using STORESCP tool as shown below
storescp -b STORESCP:port`
Below is a snippet of the same13:18:59,776 INFO - Start TCP Listener on 0.0.0.0/0.0.0.0:104
-
Retrieve the image using MOVESCU tool and move it to STORESCP destination
movescu -c DCMQRSCP@hostname:11112 -m StudyInstanceUID=1.2.3.4 --dest STORESCP
Below is a snippet of Request - Response logs13:28:27,686 INFO - MOVESCU->DCMQRSCP(1) << 1:C-MOVE-RQ[pcid=1, prior=0 cuid=1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Model - MOVE tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian 13:28:27,747 INFO - MOVESCU->DCMQRSCP(1) >> 1:C-MOVE-RSP[pcid=1, completed=1, failed=0, warning=0, status=0H cuid=1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Model - MOVE tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
-
Snippet of Request - Response logs on dcmqrscp side is shown below
13:28:27,728 INFO - DCMQRSCP->STORESCP(2) << 1:C-STORE-RQ[pcid=1, prior=0 orig=MOVESCU >> 1:C-MOVE-RQ cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ? tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression 13:28:27,731 INFO - DCMQRSCP->STORESCP(2) >> 1:C-STORE-RSP[pcid=1, status=0H cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ? tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression
-
Snippet of Request - Response logs on storescp side is shown below
13:28:27,730 INFO - STORESCP<-DCMQRSCP(2) >> 1:C-STORE-RQ[pcid=1, prior=0 orig=MOVESCU >> 1:C-MOVE-RQ cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ? tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression 13:28:27,730 INFO - STORESCP<-DCMQRSCP(2) << 1:C-STORE-RSP[pcid=1, status=0H cuid=1.2.840.10008.5.1.4.1.1.1 - Computed Radiography Image Storage iuid=1.3.51.0.7.1265535119.17104.33870.32953.8838.26602.20894 - ? tsuid=1.2.840.10008.1.2.4.80 - JPEG-LS Lossless Image Compression