Reverse Role Negotiation

In the vast majority of Associations, the Association is initiated by the SCU with the SCP responding, but DICOM does allow Reverse Role Negotiation whereby the initiator can request to be regarded as the SCP. In practise, this is only used as part of the Storage Commitment service.

An oddity of reverse role negotiation (like Extended Negotiation) is that it is agreed per SOP Class not Per Presentation Context, so an agreement to reverse the roles applies to all presentation contexts using that SOP Class.

Use in DicomObjects

As an SCU

This is only possible when using a DicomConnection(COM Version) or DicomAssociation(.NET Version) and is controlled by changing the RequesterSCURole & RequesterSCPRole properties. By Default, RequesterSCURole is true and RequesterSCPRole is false. Note that whilst these appear to be properties of a presentation context (DicomContext), they are in fact shared by all presentation contexts with the same SOP Class. Following negotiation (SetDestination in COM or Open in .NET) these properties contain the values which were accepted by the accepting application.

As an SCP

Check the values of the RequesterSCURole & RequesterSCPRole properties of the offered presentation contexts, and if necessary change to false to indicate your capabilities.

Allowed Values

One or other of RequesterSCURole or RequesterSCPRole must be true for any usable presentation context, and of course the acceptor may only accept what is offered. In addition, it would not generally be advisable to have both accepted, so that only really leaves 3 possibilities: