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

Consumption Reporting - Support for mediaEndpointAddress #54

Closed
dsilhavy opened this issue Sep 29, 2023 · 11 comments
Closed

Consumption Reporting - Support for mediaEndpointAddress #54

dsilhavy opened this issue Sep 29, 2023 · 11 comments
Labels
Milestone

Comments

@dsilhavy
Copy link
Contributor

Feature description

As part of the ConsumptionReportingUnit type as defined in 26.512 Table 11.3.3.2 the mediaEndpointAddress property stores the IP address and port number of the endpoint used to access the media consumed.

The EndpointAddress type for this property is defined in 6.4.3.9

Related issues

It is to be clarified which endpoint is to be used, see 5G-MAG/Standards#91

@rjb1000
Copy link

rjb1000 commented Sep 29, 2023

Having discussed this internally and read the text a few more times, I have come around to the presumption that the client end of the connection was the original intent of specification author (i.e., as assumed and implemented by @shilinding). But we should seek confirmation from SA4 experts so that we can clarify the specification to remove the ambiguity.

Unfortunately, the original contributor of the consumption reporting feature is no longer participating in 3GPP, so we will have to rely on collective memory.

@dsilhavy
Copy link
Contributor Author

Having discussed this internally and read the text a few more times, I have come around to the presumption that the client end of the connection was the original intent of specification author (i.e., as assumed and implemented by @shilinding). But we should seek confirmation from SA4 experts so that we can clarify the specification to remove the ambiguity.

Unfortunately, the original contributor of the consumption reporting feature is no longer participating in 3GPP, so we will have to rely on collective memory.

To me it makes more sense to use the address of the AS here. Manifests might define multiple CDN endpoints. A client can switch between different CDNs without changing the mediaConsumed (Representation@id). What would be the reason to report the client endpoint?

@rjb1000
Copy link

rjb1000 commented Sep 29, 2023

Maybe there's an argument to amend the specification to report both ends of the M4 connection in the consumption report.

Let's discuss with the SA4 experts.

@davidjwbbc
Copy link

I think the argument for it being the UE address is to match it up with the Media Access reports from the AS which will log the HTTP access against the client IP address. Actually there's a good argument for both endpoint addresses being in the consumption report.

@rjb1000
Copy link

rjb1000 commented Sep 29, 2023

I think the argument for it being the UE address is to match it up with the Media Access reports from the AS which will log the HTTP access against the client IP address.

Given that media access log reporting by the 5GMS AS was tacked on afterwards (Rel-17), that's a bit of a post hoc rationalisation. But it is still a valid observation, I think, and a good argument nevertheless.

@dsilhavy
Copy link
Contributor Author

According to 26512 v17.6.0

  • Section 6.4.3.9 defines the EndpointAddress type. The definition contains a domainName and a mandatory portNumber.
  • Section 11.3.3.2: The mediaEndpointAddress of the ConsumptionReportingUnit type has the data type EndpointAddress

To me, it is not clear how domainName and portNumber shall be populated if ipv4Addr and ipv6Addr are the IP addresses of the client.

@dsilhavy
Copy link
Contributor Author

One additional comment here: mediaEndpointAddress is part of the ConsumptionReportingUnit. If we are sending the client IP here then there should be no need to add this to each entry of the consumptionReportingUnits array. Instead, it would be sufficient to include this information in the ConsumptionReport together with the reportingClientId.

@rjb1000
Copy link

rjb1000 commented Oct 26, 2023

According to 26512 v17.6.0

  • Section 6.4.3.9 defines the EndpointAddress type. The definition contains a domainName and a mandatory portNumber.
  • Section 11.3.3.2: The mediaEndpointAddress of the ConsumptionReportingUnit type has the data type EndpointAddress

To me, it is not clear how domainName and portNumber shall be populated if ipv4Addr and ipv6Addr are the IP addresses of the client.

I have added this question about client domain name to 5G-MAG/Standards#91.

@rjb1000
Copy link

rjb1000 commented Oct 26, 2023

One additional comment here: mediaEndpointAddress is part of the ConsumptionReportingUnit. If we are sending the client IP here then there should be no need to add this to each entry of the consumptionReportingUnits array. Instead, it would be sufficient to include this information in the ConsumptionReport together with the reportingClientId.

This is one of the things that made me wonder whether the server endpoint address was actually intended.

However, I also realised that the client IP address would vary if the UE changes access network (e.g. from 5G to Wi-Fi), so the data modelling probably is right on this score, at least.

@dsilhavy
Copy link
Contributor Author

dsilhavy commented Nov 7, 2023

This discussion is related to the discussion in #56:

The mediaEndpointAddress should be "present only if access reporting is enabled in the Consumption Reporting Configuration."

26.512 4.7.4 states that a consumption report should be triggered :

"Upon determining an access network change (e.g., unicast to eMBMS, or vice versa), if the clientConsumptionReportingConfiguration.accessReporting property is set to True."

In my opinion this is an indicator that mediaEndpointAddress should be the server address and not the client address. Otherwise there is no way for the consumer of the consumption reports to detect if a switch between 5GBC and 5GUC has happened (assuming the server endpoint changes when the switch happens).

@dsilhavy
Copy link
Contributor Author

This has been addressed as part of #65. We now have two fields for the endpoint addresses, one for the client, one for the server. For details please refer to 5G-MAG/Standards#91

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

3 participants