def AE_1(dul):
    """Association establishment action AE-1.

    *Event*

    Service user issued A-ASSOCIATE (request) to the service provider

    *Action*

    Issue TRANSPORT CONNECT request primitive to the transport service.

    *State/Event Triggers*

    - Sta1 + Evt1

    Parameters
    ----------
    dul : dul.DULServiceProvider
        The DICOM Upper Layer Service instance for the local AE

    Returns
    -------
    str
        ``'Sta4'``, the next state of the state machine.
    """
    # Issue TRANSPORT CONNECT request primitive to local transport service
    # This is our "TRANSPORT CONNECT" primitive - it attempts to connect
    #   to the peer, emitting either Evt2 or Evt17
    dul.socket.connect(dul.primitive.called_presentation_address)

    return 'Sta4'