Orthanc 1.4.1 & Failure of Peer transfers with ssl

Everyone,

I have two orthanc servers that are remote from each other, and I would like to be able to transfer files from each one to the other. Each system is a Centos 7.5 machine. I have self signed certificates and have them in the *pem file. I have both 4242 and 8042 ports open in the firewalls.

I have the following set in each machine’s orthanc.json configuration file :

“RemoteAccessAllowed” : true,
“SslEnabled” : true,
“SslCertificate” : “/etc/pki/tls/certs/orthanc.certificate.pem”,
“AuthenticationEnabled” : true,
“HttpsVerifyPeers” : false,
“HttpsCACertificates” : “/etc/pki/tls/certs/orthanc.certificates.pem”,

I have been able to do this easily without encryption by using orthanc explorer with the following modality :
“Center-2-Pac-” : [ “STORESCP”, “x.x.x.x”, 4242 ],

I have not been able to make a file transfer with encryption using orthanc explorer with the following peer :
“Center-2-Peer” : [ “https://x.x.x.x:8042/”, “username”, “password” ]

I have added --verbose to the command line when running Orthanc and the log entries below were retrieved.

I have studied the configuration file and the troubleshooting links, and I think I have things set up properly on both ends.

Any thoughts as to how to debug this would surely be appreciated.

Thank you very much,

Greg Ennis.

Sep 3 14:38:29 IrSg Orthanc: I0903 14:38:29.908057 MongooseServer.cpp:755] GET /app/explorer.html
Sep 3 14:38:29 IrSg Orthanc: I0903 14:38:29.987392 MongooseServer.cpp:755] GET /app/libs/jquery.mobile.min.css
Sep 3 14:38:29 IrSg Orthanc: I0903 14:38:29.992203 MongooseServer.cpp:755] GET /app/libs/jqtree.css
Sep 3 14:38:30 IrSg Orthanc: I0903 14:38:30.024258 MongooseServer.cpp:755] GET /app/libs/slimbox2/slimbox2.css
Sep 3 14:38:30 IrSg Orthanc: I0903 14:38:30.024483 MongooseServer.cpp:755] GET /app/libs/jquery.min.js
Sep 3 14:38:30 IrSg Orthanc: I0903 14:38:30.025262 MongooseServer.cpp:755] GET /app/libs/jquery.mobile.min.js
Sep 3 14:38:30 IrSg Orthanc: I0903 14:38:30.028586 MongooseServer.cpp:755] GET /app/libs/jquery-file-upload/css/style.css
Sep 3 14:38:30 IrSg Orthanc: I0903 14:38:30.029275 MongooseServer.cpp:755] GET /app/libs/jquery-file-upload/css/jquery.fileupload-ui.css
Sep 3 14:38:30 IrSg Orthanc: I0903 14:38:30.030093 MongooseServer.cpp:755] GET /app/libs/jquery.mobile.simpledialog.min.css
Sep 3 14:38:30 IrSg Orthanc: I0903 14:38:30.372784 MongooseServer.cpp:755] GET /app/libs/jqm.page.params.js
Sep 3 14:38:30 IrSg Orthanc: I0903 14:38:30.379667 MongooseServer.cpp:755] GET /app/libs/tree.jquery.js
Sep 3 14:38:30 IrSg Orthanc: I0903 14:38:30.413401 MongooseServer.cpp:755] GET /app/libs/date.js
Sep 3 14:38:30 IrSg Orthanc: I0903 14:38:30.421401 MongooseServer.cpp:755] GET /app/libs/jquery.mobile.simpledialog2.js
Sep 3 14:38:30 IrSg Orthanc: I0903 14:38:30.598079 MongooseServer.cpp:755] GET /app/libs/slimbox2.js
Sep 3 14:38:30 IrSg Orthanc: I0903 14:38:30.784028 MongooseServer.cpp:755] GET /app/libs/jquery.blockui.js
Sep 3 14:38:30 IrSg Orthanc: I0903 14:38:30.867016 MongooseServer.cpp:755] GET /app/libs/jquery-file-upload/js/vendor/jquery.ui.widget.js
Sep 3 14:38:30 IrSg Orthanc: I0903 14:38:30.930645 MongooseServer.cpp:755] GET /app/libs/jquery-file-upload/js/jquery.iframe-transport.js
Sep 3 14:38:31 IrSg Orthanc: I0903 14:38:31.010227 MongooseServer.cpp:755] GET /app/libs/jquery-file-upload/js/jquery.fileupload.js
Sep 3 14:38:31 IrSg Orthanc: I0903 14:38:31.068903 MongooseServer.cpp:755] GET /app/explorer.css
Sep 3 14:38:31 IrSg Orthanc: I0903 14:38:31.098814 MongooseServer.cpp:755] GET /app/file-upload.js
Sep 3 14:38:31 IrSg Orthanc: I0903 14:38:31.114521 MongooseServer.cpp:755] GET /app/explorer.js
Sep 3 14:38:31 IrSg Orthanc: I0903 14:38:31.220884 MongooseServer.cpp:755] GET /app/query-retrieve.js
Sep 3 14:38:31 IrSg Orthanc: I0903 14:38:31.252903 MongooseServer.cpp:755] GET /plugins/explorer.js
Sep 3 14:38:31 IrSg Orthanc: I0903 14:38:31.432002 MongooseServer.cpp:755] GET /app/libs/images/ajax-loader.gif
Sep 3 14:38:31 IrSg Orthanc: I0903 14:38:31.500341 MongooseServer.cpp:755] GET /system
Sep 3 14:38:31 IrSg Orthanc: I0903 14:38:31.539176 MongooseServer.cpp:755] GET /studies/66913a5a-b271a111-d0afed04-57137511-ff263c13
Sep 3 14:38:31 IrSg Orthanc: I0903 14:38:31.629503 MongooseServer.cpp:755] GET /patients/9fc19de2-e1be71bc-5dc1d218-9c31a3e3-8a515cb1
Sep 3 14:38:31 IrSg Orthanc: I0903 14:38:31.708239 MongooseServer.cpp:755] GET /studies/66913a5a-b271a111-d0afed04-57137511-ff263c13/series
Sep 3 14:38:31 IrSg Orthanc: I0903 14:38:31.827222 MongooseServer.cpp:755] GET /app/libs/images/icons-18-white.png
Sep 3 14:38:31 IrSg Orthanc: I0903 14:38:31.840435 MongooseServer.cpp:755] GET /studies/66913a5a-b271a111-d0afed04-57137511-ff263c13
Sep 3 14:38:31 IrSg Orthanc: I0903 14:38:31.873507 MongooseServer.cpp:755] GET /patients/9fc19de2-e1be71bc-5dc1d218-9c31a3e3-8a515cb1
Sep 3 14:38:31 IrSg Orthanc: I0903 14:38:31.952573 MongooseServer.cpp:755] GET /studies/66913a5a-b271a111-d0afed04-57137511-ff263c13/series
Sep 3 14:38:35 IrSg Orthanc: I0903 14:38:35.818399 MongooseServer.cpp:755] GET /system
Sep 3 14:38:35 IrSg Orthanc: I0903 14:38:35.854229 MongooseServer.cpp:755] GET /patients/9fc19de2-e1be71bc-5dc1d218-9c31a3e3-8a515cb1
Sep 3 14:38:35 IrSg Orthanc: I0903 14:38:35.936260 MongooseServer.cpp:755] GET /patients/9fc19de2-e1be71bc-5dc1d218-9c31a3e3-8a515cb1/studies
Sep 3 14:38:36 IrSg Orthanc: I0903 14:38:36.017472 MongooseServer.cpp:755] GET /patients/9fc19de2-e1be71bc-5dc1d218-9c31a3e3-8a515cb1/protected
Sep 3 14:38:38 IrSg Orthanc: I0903 14:38:38.674681 MongooseServer.cpp:755] GET /system
Sep 3 14:38:38 IrSg Orthanc: I0903 14:38:38.710919 MongooseServer.cpp:755] GET /patients
Sep 3 14:38:55 IrSg Orthanc: I0903 14:38:55.824515 MongooseServer.cpp:755] GET /system
Sep 3 14:38:55 IrSg Orthanc: I0903 14:38:55.860123 MongooseServer.cpp:755] GET /patients/c6c4f31d-aebb7d80-68d31b8c-6780b57b-c493429a
Sep 3 14:38:55 IrSg Orthanc: I0903 14:38:55.936785 MongooseServer.cpp:755] GET /patients/c6c4f31d-aebb7d80-68d31b8c-6780b57b-c493429a/studies
Sep 3 14:38:56 IrSg Orthanc: I0903 14:38:56.032138 MongooseServer.cpp:755] GET /patients/c6c4f31d-aebb7d80-68d31b8c-6780b57b-c493429a/protected
Sep 3 14:39:00 IrSg Orthanc: I0903 14:39:00.179359 MongooseServer.cpp:755] GET /modalities
Sep 3 14:39:00 IrSg Orthanc: I0903 14:39:00.226276 MongooseServer.cpp:755] GET /peers
Sep 3 14:39:04 IrSg Orthanc: I0903 14:39:04.784443 MongooseServer.cpp:755] POST /peers/Center2-Peer/store
Sep 3 14:39:04 IrSg Orthanc: I0903 14:39:04.785828 JobsRegistry.cpp:660] New job submitted with priority 0: 6ab1c328-bdc5-43f1-8031-96cd7462a6ec
Sep 3 14:39:04 IrSg Orthanc: I0903 14:39:04.786120 JobsEngine.cpp:144] Executing job with priority 0 in worker thread 0: 6ab1c328-bdc5-43f1-8031-96cd7462a6ec
Sep 3 14:39:04 IrSg Orthanc: I0903 14:39:04.786316 OrthancPeerStoreJob.cpp:52] Sending instance 09348c68-5b6d1143-36f6f75e-33f1881e-e1cc51c3 to peer “https://x.x.x.x:8042/
Sep 3 14:39:04 IrSg Orthanc: I0903 14:39:04.786486 FilesystemStorage.cpp:155] Reading attachment “d3480acb-6b83-446d-a1f3-718ccb4155df” of “DICOM” content type
Sep 3 14:39:51 IrSg kernel: device enp1s0 entered promiscuous mode
Sep 3 14:40:02 IrSg systemd: Started Session 261 of user root.
Sep 3 14:40:02 IrSg systemd: Starting Session 261 of user root.
Sep 3 14:40:04 IrSg Orthanc: E0903 14:40:04.804461 HttpClient.cpp:218] libCURL error: Timeout was reached
Sep 3 14:40:04 IrSg Orthanc: I0903 14:40:04.810032 JobsRegistry.cpp:470] Job has completed with failure: 6ab1c328-bdc5-43f1-8031-96cd7462a6ec

Everyone,

I think I have the problem solved by changing the client value from 10 to 360 :

“HttpTimeout” : 360,

The band width we have at the client side is compromised, and throttled by the VOIP service. I played with the other timeout values on the server and client, and changing this value made the difference. However changing this from 10 seconds to 360 seconds seems a little of a stretch to me.

Has anyone else had to modify this parameter to this extreme?

Yes, increasing this value might indeed be needed on slow connections.

Sébastien-

Yeppers, I have had to for some slow sites. It looks as though the timeout is per instance so larger individual instances such as CR you would notice the issue.

Indeed. More information on this thread:

https://groups.google.com/d/topic/orthanc-users/GtEaM_HOHJ0/discussion

I confirm that we've often seen the need to increase it often in
production. Some modalities produce larger instances than others, so
depending on the environment the need might not always surface.