Once a DICOM Network Connection has been established, a DICOM Associate Connection must be established before DICOM messages and data can be transferred between two AEs.
The AE acting as an SCP must have a DICOM Associate object and the AE acting as an SCU must have a DICOM Associate object. Steps for establishing a DICOM Associate connection are given below for both the SCU and the SCP.
Establishing a DICOM Associate Connection (SCU)
- Create the DICOM Associate object by instantiating the DicomAssociate class.
- Initialize the newly created DICOM Associate object by calling DicomAssociate.Default, or set the object using the following class members:
DicomAssociate.ApplicationContextName
DicomAssociate.SetPresentationContextID
DicomAssociate.SetAsynchronousOperations
DicomAssociate.ImplementationVersionName
DicomAssociate.SetUserInformation
DicomAssociate.SetExtendedData
- To connect to an SCP, call DicomNet.SendAssociateRequest. This will generate a call to DicomNet.OnReceiveAssociateRequest on the SCP to let the SCP know an associate connection request has been received.
- The SCP may accept or reject the request and respond by calling DicomNet.SendAssociateAccept or DicomNet.SendAssociateReject. This will generate a call to DicomNet.OnReceiveAssociateAccept or DicomNet.OnReceiveAssociateReject. If DicomNet.OnReceiveAssociateAccept is called, the DICOM Associate Connection has been established.
Establishing a DICOM Associate Connection (SCP)
- When an SCU requests a DICOM Associate connection, the SCU calls DicomNet.SendAssociateRequest. This generates a call to DicomNet.OnReceiveAssociateRequest on the SCP.
- When the DicomNet.OnReceiveAssociateRequest method is called, create the DICOM Associate object by instantiating the DicomAssociate class.
- Reset the newly created DICOM Associate object to an Associate Accept by calling DicomAssociate.Reset, or set the object using the class members given above.
- The DICOM Associate connection request can be accepted or rejected. To accept the Associate connection request, call DicomNet.SendAssociateAccept. This will generate a call to DicomNet.OnReceiveAssociateAccept on the SCU. At this time the DICOM Associate connection has been established. To reject the Associate connection request, call DicomNet.SendAssociateReject. This will generate a call to DicomNet.OnReceiveAssociateReject on the SCU.