findscu probolem
Moderator: Moderator Team
-
- Posts: 13
- Joined: Wed, 2010-01-13, 08:38
findscu probolem
I have some problem in findscu, as you can see follow,
C-FIND-RSP is refused, can anybody tell me why.
jdicom: #1:ECHOSCU >> A-ASSOCIATE-RQ PDU
jdicom: #1:ECHOSCU << A-ASSOCIATE-AC PDU
jdicom: #1:ECHOSCU >> C-FIND-RQ Verification SOP Class
jdicom: #1:ECHOSCU >> Dataset
jdicom: #1:ECHOSCU << C-FIND-RSP , status #0122H[Refused: SOP class not supported]
jdicom: #1:ECHOSCU >> A-RELEASE-RQ PDU
jdicom: #1:ECHOSCU << A-RELEASE-RP PDU
jdicom: #1:ECHOSCU closing socket
by the way, I use the abstractSyntax UID_FINDStudyRootQueryRetrieveInformationModel.
Hoping for your response~
TKS..
-
- DCMTK Developer
- Posts: 2051
- Joined: Fri, 2004-11-05, 13:47
- Location: Oldenburg, Germany
- Contact:
In the A-ASSOCIATE-RQ PDU you must negotiate which SOP Classes you want to use. So be sure you negotiate the FINDStudyRootQueryRetrieveInformationModel there in order to be able to send a C-FIND-RQ later on.
What I don't understand: You want to do C-FIND on Study Root, but:
- something is written about ECHOSCU -- an echo scu i would expect to support only verification sop class, not anything you can use for C-FIND.
- something is written about jdicom: are you send the C-FIND to jdicom or what is your setup? Who should send what to whom using which programs?
- "C-FIND-RQ Verification SOP Class" is not existing, either you send a C-FIND-RQ or you send an C-ECHO-RQ (using the Verificatoin SOP Class), but the combination does not mean anything special.
Best regards,
Michael
What I don't understand: You want to do C-FIND on Study Root, but:
- something is written about ECHOSCU -- an echo scu i would expect to support only verification sop class, not anything you can use for C-FIND.
- something is written about jdicom: are you send the C-FIND to jdicom or what is your setup? Who should send what to whom using which programs?
- "C-FIND-RQ Verification SOP Class" is not existing, either you send a C-FIND-RQ or you send an C-ECHO-RQ (using the Verificatoin SOP Class), but the combination does not mean anything special.
Best regards,
Michael
-
- Posts: 13
- Joined: Wed, 2010-01-13, 08:38
Thanks
the first problem has already solved.
the sever log is here:
Waiting for invocations from clients...
jdicom: #2:ECHOSCU >> A-ASSOCIATE-RQ PDU
jdicom: #2:ECHOSCU << A-ASSOCIATE-AC PDU
jdicom: #2:ECHOSCU >> C-FIND-RQ Study Root Query/Retrieve Information Model - FIND SOP Class
jdicom: #2:ECHOSCU >> Dataset
jdicom: #2:ECHOSCU << C-FIND-RSP Study Root Query/Retrieve Information Model - FIND SOP Class, status #0000H[Success]
jdicom: #2:ECHOSCU >> A-RELEASE-RQ PDU
jdicom: #2:ECHOSCU << A-RELEASE-RP PDU
jdicom: #2:ECHOSCU closing socket
But when I changed the Calling Titles :ECHOSCU to FINDSCU.
it comes out:
Waiting for invocations from clients...
jdicom: #1:FINDSCU >> A-ASSOCIATE-RQ PDU
jdicom: #1:FINDSCU << A-ASSOCIATE-RJ PDU
jdicom: #1:FINDSCU closing socket
i am confusing.the source code as follow:
T_ASC_Network *net;
ASC_initializeNetwork(NET_REQUESTOR, 0, 1000 /* timeout */, &net);
T_ASC_Parameters *params; // parameters of association request
ASC_createAssociationParameters(¶ms, ASC_DEFAULTMAXPDU);
// set calling and called AE titles
ASC_setAPTitles(params, "FINDSCU", "ANY-SCP", NULL);
OFCondition cond;
cond = ASC_setTransportLayerType(params, false);
if(cond.bad())
{
AfxMessageBox(CString("Security policy setup failed!"));
}
// the DICOM server accepts connections at server.nowhere.com port 104
ASC_setPresentationAddresse(params, "localhost", "10.128.53.10:4006");
const char* ts[3] = { UID_BigEndianExplicitTransferSyntax,UID_LittleEndianExplicitTransferSyntax,UID_LittleEndianImplicitTransferSyntax};
if(ASC_addPresentationContext(params, 1, UID_FINDStudyRootQueryRetrieveInformationModel, ts, 3).bad())
{
AfxMessageBox(CString("ASC_addPresentationContext failed!"));
}
T_ASC_Association *assoc;
OFCondition cond1 = ASC_requestAssociation(net, params, &assoc);
if(cond1.bad())
{
AfxMessageBox(CString("Connect failed!"));
}
can somebody point out what was wrong .
Thanks a lot.
the first problem has already solved.
the sever log is here:
Waiting for invocations from clients...
jdicom: #2:ECHOSCU >> A-ASSOCIATE-RQ PDU
jdicom: #2:ECHOSCU << A-ASSOCIATE-AC PDU
jdicom: #2:ECHOSCU >> C-FIND-RQ Study Root Query/Retrieve Information Model - FIND SOP Class
jdicom: #2:ECHOSCU >> Dataset
jdicom: #2:ECHOSCU << C-FIND-RSP Study Root Query/Retrieve Information Model - FIND SOP Class, status #0000H[Success]
jdicom: #2:ECHOSCU >> A-RELEASE-RQ PDU
jdicom: #2:ECHOSCU << A-RELEASE-RP PDU
jdicom: #2:ECHOSCU closing socket
But when I changed the Calling Titles :ECHOSCU to FINDSCU.
it comes out:
Waiting for invocations from clients...
jdicom: #1:FINDSCU >> A-ASSOCIATE-RQ PDU
jdicom: #1:FINDSCU << A-ASSOCIATE-RJ PDU
jdicom: #1:FINDSCU closing socket
i am confusing.the source code as follow:
T_ASC_Network *net;
ASC_initializeNetwork(NET_REQUESTOR, 0, 1000 /* timeout */, &net);
T_ASC_Parameters *params; // parameters of association request
ASC_createAssociationParameters(¶ms, ASC_DEFAULTMAXPDU);
// set calling and called AE titles
ASC_setAPTitles(params, "FINDSCU", "ANY-SCP", NULL);
OFCondition cond;
cond = ASC_setTransportLayerType(params, false);
if(cond.bad())
{
AfxMessageBox(CString("Security policy setup failed!"));
}
// the DICOM server accepts connections at server.nowhere.com port 104
ASC_setPresentationAddresse(params, "localhost", "10.128.53.10:4006");
const char* ts[3] = { UID_BigEndianExplicitTransferSyntax,UID_LittleEndianExplicitTransferSyntax,UID_LittleEndianImplicitTransferSyntax};
if(ASC_addPresentationContext(params, 1, UID_FINDStudyRootQueryRetrieveInformationModel, ts, 3).bad())
{
AfxMessageBox(CString("ASC_addPresentationContext failed!"));
}
T_ASC_Association *assoc;
OFCondition cond1 = ASC_requestAssociation(net, params, &assoc);
if(cond1.bad())
{
AfxMessageBox(CString("Connect failed!"));
}
can somebody point out what was wrong .
Thanks a lot.
-
- Posts: 13
- Joined: Wed, 2010-01-13, 08:38
-
- DCMTK Developer
- Posts: 2051
- Joined: Fri, 2004-11-05, 13:47
- Location: Oldenburg, Germany
- Contact:
-
- Posts: 13
- Joined: Wed, 2010-01-13, 08:38
I have already solved this problem .Michael Onken wrote:Hi,
Often the server is configured to accept only known AE titles, i.e. if you want to use a specific Called AE Title (and Calling AE Title) when connecting with your client, it might be necessary to pre-configure it's AE titles at the server.
Best regards,
Michael
Thanks a lot.
Who is online
Users browsing this forum: Ahrefs [Bot], Bing [Bot], Google [Bot] and 1 guest