camaraproject / QualityOnDemand

Repository to describe, develop, document and test the QualityOnDemand API family
https://wiki.camaraproject.org/x/zwOeAQ
Apache License 2.0
41 stars 59 forks source link

Updated method for identifying devices by IPv4 address #139

Closed eric-murray closed 1 year ago

eric-murray commented 1 year ago

What type of PR is this?

What this PR does / why we need it:

This PR introduces the new schema DeviceIpv4Addr, which is used for the ipv4Address property of the Device object. The DeviceIpv4Addr object allows the device to be identified by a combination of its public IPv4 address (publicAddress) and at least one of either its public port (publicPort) or private (device local) IPv4 address (privateAddress).

This modified schema is required to support the scenario where it is desired to identify the device by its private (local) IPv4 address, as this alone is generally insufficient to identify the device, and the public (NATed) IPv4 address must also be provided.

Which issue(s) this PR fixes:

Fixes #34 : Resolving ueAddr ambiguity when it is the UE private address

Special notes for reviewers:

Changelog input

Updated qod-api.yaml
- Schema objects DeviceIpv4Addr and SingleIpv4Addr defined
- Device property ipv4Address now of type DeviceIpv4Addr
- Updated error message definitions
- Minor format changes

Updated documentation QoD_API.md
emil-cheung commented 1 year ago

@hdamker , please help to arrange a community voting for:

Observed IP address/Local IP address vs. Public IP address/Private IP address

eric-murray commented 1 year ago

@emil-cheung I had put some suggestions in the issue, but we can refine them here. Do you still want assigned to be considered as was proposed here? If not, then I think we have the following options:

Vote 1: DeviceIpv4Addr object properties

Option 1 : publicAddress, privateAddress & publicPort Option 2: observedAddress, localAddress & observedPort

Vote 2: Rename of devicePorts property of CreateSession object

Option 1 : deviceLocalPorts Option 2 : deviceSourcePorts

emil-cheung commented 1 year ago

@emil-cheung I had put some suggestions in the issue, but we can refine them here. Do you still want assigned to be considered as was proposed here? If not, then I think we have the following options:

Vote 1: DeviceIpv4Addr object properties

Option 1 : publicAddress, privateAddress & publicPort Option 2: observedAddress, localAddress & observedPort

Vote 2: Rename of devicePorts property of CreateSession object

Option 1 : deviceLocalPorts Option 2 : deviceSourcePorts

Yes, we prefer 'local' instead of 'assigned'.

hdamker commented 1 year ago

@eric-murray As already written in the issues:

Votes are created and open until next Thursday, May 4th, 12:00 UTC:

  1. Vote: DeviceIpv4Addr object properties (from PR #139)
  2. Vote: Rename of devicePorts property of CreateSession object
eric-murray commented 1 year ago

Ready for final review now

jlurien commented 1 year ago

@hdamker I see that there will be a a lot of conflicts between this PR and the pending one I have to incorporate and update doc within spec, so I will wait to have this merged. If done in the next days I will submit mine before next meeting.

hdamker commented 1 year ago

Seems that we are good to go ... 3+ final reviews and 4 days no new comments.