pynetdicom.pdu_primitives.A_ASSOCIATE

class pynetdicom.pdu_primitives.A_ASSOCIATE

An A-ASSOCIATE primitive.

The establishment of an association between two AEs shall be performed through ACSE A-ASSOCIATE request, indication, response and confirmation primitives.

The initiator of the service is called the Requestor and the user that receives the request is the Acceptor.

The A-ASSOCIATE primitive is used by the DUL provider to send/receive information about the association. It gets converted to A-ASSOCIATE-RQ, -AC, -RJ PDUs that are sent to the peer DUL provider and gets deconverted from -RQ, -AC, -RJ PDUs received from the peer.

It may be better to simply extend this with methods for containing the -rq, -ac, -rj possibilities rather than creating a new AssociationInformation class, but it would require maintaining the instance across the request-accept/reject path

  • -rq = no Result value
  • -ac = Result of 0x00
  • -rj = Result != 0x00
Parameter Request Indication Response Confirmation
app context name M M(=) M M(=)
calling ae title M M(=) M M(=)
called ae title M M(=) M M(=)
user info M M(=) M M(=)
result     M M(=)
source       M
diagnostic     U C(=)
calling pres add M M(=)    
called pres add M M(=)    
pres contxt list M M(=)    
pres list result     M M(=)
mode UF MF(=)    
resp ae title     MF MF(=)
resp pres add     MF MF(=)
pres/sess req UF UF(=) UF UF(=)
U - User option
UF - User option, fixed value
C - Conditional (on user option)
M - Mandatory
MF - Mandatory, fixed value
NU - Not used
(=) - shall have same value as request or response

The Requestor sends a request primitive to the local DICOM UL provider => peer UL => indication primitive to Acceptor.

Acceptor sends response primitive to peer UL => local UL => confirmation primitive to Requestor

The DICOM UL providers communicate with UL users using service primitives The DICOM UL providers communicate with each other using PDUs over TCP/IP

Service Procedure

  1. An AE (DICOM UL service user) that desires the establish an association issues an A-ASSOCIATE request primitive to the DICOM UL service provider. The Requestor shall not issue any primitives except the A-ABORT request primitive until it receives an A-ASSOCIATE confirmation primitive.
  2. The DICOM UL service provider issues an A-ASSOCIATE indication primitive to the called AE
  3. The called AE shall accept or reject the association by sending an A-ASSOCIATE response primitive with an appropriate Result parameter. The DICOM UL service provider shall issue an A-ASSOCIATE confirmation primitive having the same Result parameter. The Result Source parameter shall be assigned “UL service-user”
  4. If the Acceptor accepts the association, it is established and is available for use. DIMSE messages can now be exchanged.
  5. If the Acceptor rejects the association, it shall not be established and is not available for use
  6. If the DICOM UL service provider is not capable of supporting the requested association it shall return an A-ASSOCIATE confirmation primitive to the Requestor with an appropriate Result parameter (rejected). The Result Source parameter shall be assigned either UL service provider (ACSE) or UL service provider (Presentation). The indication primitive shall not be issued. The association shall not be established.
  7. Either Requestor or Acceptor may disrupt the Service Procedure by issuing an A-ABORT request primitive. The remote AE receives an A-ABORT indication primitive. The association shall not be established
mode

Fixed value of “normal”

Type:str
application_context_name

The application context name proposed by the requestor. Acceptor returns either the same or a different name. Returned name specifies the application context used for the Association. See PS3.8 Annex A. The application context name shall be a valid UID or UID string and for version 3 of the DICOM Standard should be ‘1.2.840.10008.3.1.1.1’

Type:pydicom.uid.UID, bytes or str
calling_ae_title

Identifies the Requestor of the A-ASSOCIATE service. Must be a valid AE

Type:str or bytes
called_ae_title

Identifies the intended Acceptor of the A-ASSOCIATE service. Must be a valid AE

Type:str or bytes
responding_ae_title

Identifies the AE that contains the actual acceptor of the A-ASSOCIATE service. Shall always contain the same value as the Called AE Title of the A-ASSOCIATE indication

Type:str or bytes
user_information

Used by Requestor and Acceptor to include AE user information. See PS3.8 Annex D and PS3.7 Annex D.3

Type:list
result

Provided either by the Acceptor of the A-ASSOCIATE request, the UL service provider (ACSE related) or the UL service provider (Presentation related). Indicates the result of the A-ASSOCIATE service. Allowed values are:

  • 0: accepted
  • 1: rejected (permanent)
  • 2: rejected (transient)
Type:int
result_source

Identifies the creating source of the Result and Diagnostic parameters Allowed values are:

  • 0: UL service-user
  • 1: UL service-provider (ACSE related function)
  • 2: UL service-provider (presentation related function)
Type:int
diagnostic

If the result parameter is 0 “rejected (permanent)” or 1 “rejected (transient)” then this supplies diagnostic information about the result. If result_source is 0 “UL service-user” then allowed values are:

  • 0: no reason given
  • 1: application context name not supported
  • 2: calling AE title not recognised
  • 3: called AE title not recognised

If result_source is 1 “UL service-provider (ACSE related function)” then allowed values are:

  • 0: no reason given
  • 1: no common UL version

If result_source is 2 “UL service-provider (presentation related function)” then allowed values are:

  • 0: no reason given
  • 1: temporary congestion
  • 2: local limit exceeded
  • 3: called presentation address unknown
  • 4: presentation protocol version not supported
  • 5: no presentation service access point available
Type:int
calling_presentation_address

TCP/IP address of the Requestor

Type:str
called_presentation_address

TCP/IP address of the intended Acceptor

Type:str
responding_presentation_address

Shall always contain the same value as the Called Presentation Address

Type:str
presentation_context_definition_list

List of one or more presentation contexts, with each item containing a presentation context ID, an Abstract Syntax and a list of one or more Transfer Syntax Names. Sent by the Requestor during request/indication

Type:list
presentation_context_definition_results_list

Used in response/confirmation to indicate acceptance or rejection of each presentation context definition. List of result values, with a one-to-one correspondence between each of the presentation contexts proposed in the Presentation Context Definition List parameter. The result values may be sent in any order and may be different than the order proposed. Only one Transfer Syntax per presentation context shall be agreed to

Type:list
presentation_requirements

Fixed value of “Presentation Kernel”

Type:str
session_requirements

Fixed value of “” (empty string)

Type:str

References

  • DICOM Standard, Part 8, Section 7.1.1
__init__()

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__() Initialize self.

Attributes

application_context_name Return the Application Context Name parameter.
called_ae_title Return the Called AE Title parameter.
called_presentation_address Return the Called Presentation Address parameter.
calling_ae_title Return the Calling AE Title parameter.
calling_presentation_address Return the Calling Presentation Address parameter.
diagnostic Return the Diagnostic parameter.
implementation_class_uid Return the Implementation Class UID.
maximum_length_received Get the Maximum Length Received.
mode Return the Mode parameter.
presentation_context_definition_list Get the Presentation Context Definition List.
presentation_context_definition_results_list Get the Presentation Context Definition Results List.
presentation_requirements Get the Presentation Kernel.
reason_str Return the rejection reason as str.
responding_ae_title Return the Responding AE Title parameter.
responding_presentation_address Get the Responding Presentation Address parameter.
result Return te Result parameter.
result_source Return the Result Source parameter.
result_str Return the result as str.
session_requirements Get the Session Requirements.
source_str Return the reject source as str.
user_information Return the User Information parameter.
application_context_name

Return the Application Context Name parameter.

called_ae_title

Return the Called AE Title parameter.

called_presentation_address

Return the Called Presentation Address parameter.

calling_ae_title

Return the Calling AE Title parameter.

calling_presentation_address

Return the Calling Presentation Address parameter.

diagnostic

Return the Diagnostic parameter.

implementation_class_uid

Return the Implementation Class UID.

maximum_length_received

Get the Maximum Length Received.

mode

Return the Mode parameter.

presentation_context_definition_list

Get the Presentation Context Definition List.

presentation_context_definition_results_list

Get the Presentation Context Definition Results List.

presentation_requirements

Get the Presentation Kernel.

reason_str

Return the rejection reason as str.

responding_ae_title

Return the Responding AE Title parameter.

responding_presentation_address

Get the Responding Presentation Address parameter.

result

Return te Result parameter.

result_source

Return the Result Source parameter.

result_str

Return the result as str.

session_requirements

Get the Session Requirements.

source_str

Return the reject source as str.

user_information

Return the User Information parameter.