-
Notifications
You must be signed in to change notification settings - Fork 5
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
Feature: Add M3 interface #50
Merged
davidjwbbc
merged 7 commits into
5G-MAG:development
from
davidjwbbc:feature-add-m3-interface
Dec 6, 2022
Merged
Feature: Add M3 interface #50
davidjwbbc
merged 7 commits into
5G-MAG:development
from
davidjwbbc:feature-add-m3-interface
Dec 6, 2022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…e certificate IDs.
…osting configuration is deleted, as per TS 26.512.
rjb1000
reviewed
Dec 2, 2022
The testing procedure in the description of this PR could usefully be added to the Application Server documentation. |
…e details of configuration now that M3 is being used.
rjb1000
approved these changes
Dec 6, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the explanations, @davidjwbbc.
And thanks for the updates.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This feature adds an M3 API interface to the 5GMS Application Server.
The 5GMS Application Server no longer accepts a Content Hosting Configuration (and optional Certificates) JSON file as command line parameter. Instead this information is provided by an M3 client, i.e. the 5GMS Application Function. This requires the 5GMS Application Function to use the M3 API to configure the Application Server (see PR 5G-MAG/rt-5gms-application-function#23).
Testing with the Application Function
msaf.applicationServers
section of themsaf.yaml
file.The Application Function should then configure the Application Server using the Server Certificates and Content Hosting Configuration it has been configured with. This should be evident from log messages from the Application Server and Application Function and from the /tmp/rt_5gms_as.conf NGINX configuration.
See the 5GMS Application Function documentation for more details on configuring it with Certificates and a Content Hosting Configuration.
Testing without the Application Function
To enable debugging and testing, a simple M3 client command can be found the the
tests
subdirectory:Application Server setup and running for testing
Follow the instructions from the README for the "Install dependencies"
Then setup a test environment with an install of the application server:
To configure a simple HTTP Application Server
This should respond with a "Success!" message, and NGINX should now be running on port 8080 using the example Big Buck Bunny configuration. You can check the NGINX configuration in
/tmp/rt_5gms_as.conf
.To configure an HTTPS Application Server
This requires that the server certificate is pushed to the Application Server before the content hosting configuration is.
To generate server certificates, ensure that openssl is installed (e.g.
apt -y install openssl
), and then:The 5GMS Application Server stores the certificates it has been configured with in a certificates cache. This cache is reloaded when the Application Server starts up, so it will remember certificates from previous runs.
The 5GMS Application Server can be checked for what certificates it already has by using the command:
To push a new certificate (with id "testcert1" using the generated certificate file):
...or to update an existing certificate:
Now the Content Hosting Configuration can be pushed:
This should result in "Success!" and NGINX will now be listening on "https://localhost:8443/...".