Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Config Parameters for Receiver Streams #116

Closed
independentid opened this issue Sep 5, 2023 · 3 comments · Fixed by #101
Closed

Config Parameters for Receiver Streams #116

independentid opened this issue Sep 5, 2023 · 3 comments · Fixed by #101

Comments

@independentid
Copy link

In scenarios where SSF endpoints can be both Transmitters and/or Receivers, the need arises to be able to indicate whether the SSSF server is creating a receiver or transmitter stream.

In order for the SSF service to tell whether it is creating a transmitter stream or a receiver need a new parameter is required.

  • [inbound] is a boolean attribute which if defined an set to true means that the stream is a receiver stream. If not asserted or false, the stream is a transmitter stream.

When creating a POLLING receiver stream, the delivery method is set to urn:ietf:rfc8936 and the endpoint_url of the transmitter polling endpoint is provided.

When creating a PUSH receiver stream, the delivery method is set to urn:ietf:rfc8935 and the endpoint_url is NOT provided. In the stream creation response, the endpoint_url and endpoint_auth are provided.

Note: AFAIK by flagging a receiver with the optional boolean attribute, this enhancement should be backwards compatible.

It may also be worth indicating minimum parameters for each creation request: PUSH (Trans vs Recv) and POLL (Trans vs. Recv). Also in practice SET PUSH requires the receiver be configured first, but in SET POLL the transmitter is configured first (because the HTTP endpoints and credentials have to be established).

@independentid
Copy link
Author

I will take a shot at updating the stream configuration parameters and the creating a stream section to cover the proposed 4 stream types:

"delivery_methods_supported": [
    "urn:ietf:rfc:8935",
    "urn:ietf:rfc:8936",
    "urn:ietf:rfc:8935:receive,
    "urn:ietf:rfc:8936:receive"],

I have a proposal that looks to be backwards compatible and have it mostly implemented now. :-)

@appsdesh
Copy link
Contributor

I think, it would make sense to look at the Receiver as a separate entity and define the configuration APIs.

At minimum, the Receiver will need to store following info -

  1. Delivery method it supports - Push or poll or both
  2. In case of a poll, the transmitter URl
  3. A well-known URL for the transmitter

Separately receiver would need to store AuthZ credentials for the transmitter

A receiver configuration should provide ability to create the config with at least these attributes.

@independentid
Copy link
Author

independentid commented Sep 18, 2023 via email

independentid added a commit that referenced this issue Sep 19, 2023
@tulshi tulshi linked a pull request Dec 14, 2023 that will close this issue
@tulshi tulshi closed this as completed Dec 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants