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

Feature: uplift to TS 26.512 v17.3.0 #26

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
46f018a
Move example configurations from rt-common-shared into this repositor…
davidjwbbc Dec 16, 2022
cf247d2
refactored code
Dec 12, 2022
e88651c
Content Hosting configuration: uplift to TS 26.512 V17.3.0
Dec 19, 2022
7414415
refactored regex
Dec 20, 2022
d768211
Include set.h
Dec 20, 2022
deeefca
Resync to v17.3.0 uplift in rt-common-shared.
davidjwbbc Dec 20, 2022
d34e5fe
Tidy up code formatting.
davidjwbbc Dec 20, 2022
6f6fea2
Make copy relative to the script.
davidjwbbc Dec 21, 2022
eea239a
Fix constness.
davidjwbbc Dec 21, 2022
ff93e2e
Fix constness, add missing function and tidy code formatting.
davidjwbbc Dec 21, 2022
b30f599
Tidy code formatting.
davidjwbbc Dec 21, 2022
a57cb4c
Fix sandboxing issue when using more recent versions of meson
davidjwbbc Dec 21, 2022
7b077fc
NULL pointer bug fixes.
davidjwbbc Dec 21, 2022
0d769f0
Rationalise function parameters, fix some bugs and synchronise with t…
davidjwbbc Dec 21, 2022
327521f
Provisioning session ID is now automatically generated when the AF ru…
davidjwbbc Dec 23, 2022
03ceff6
Automatically generate provisioning session after start-up.
davidjwbbc Dec 23, 2022
09ab90e
Remove mediaPlayerEntry from default configuration as this is now ava…
davidjwbbc Dec 23, 2022
139f38a
Change some logging to debug level instead of information.
davidjwbbc Dec 23, 2022
b64c9bd
Move debug message to correct place.
davidjwbbc Dec 23, 2022
580f7f9
Remove inotify test code
Jan 4, 2023
08e668c
Handle Cache purge error
Jan 5, 2023
bfabfb6
Tidy code and fix use after free
davidjwbbc Jan 17, 2023
e0015c8
rename media-player.[ch] to media-player-entry.[ch]
davidjwbbc Jan 17, 2023
c2d8805
Improve examples documentation.
davidjwbbc Jan 17, 2023
d48824d
Remove unnecessary white space.
davidjwbbc Jan 17, 2023
edbfd36
Tidy up header (c++ decoration and extern declarations)
davidjwbbc Jan 18, 2023
a51be19
Rename application-server.[ch] to application-server-context.[ch]
davidjwbbc Jan 18, 2023
77eba59
Reinstate provisioning session creation for M3/M5 only version.
davidjwbbc Jan 18, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions examples/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.pem
3 changes: 3 additions & 0 deletions examples/Certificates.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"testcert1": "certificate-1.pem"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"name": "Big Buck Bunny",
"entryPointPath": "BigBuckBunny_4s_onDemand_2014_05_09.mpd",
"ingestConfiguration": {
"pull": true,
"protocol": "urn:3gpp:5gms:content-protocol:http-pull-ingest",
"baseURL": "https://ftp.itec.aau.at/datasets/DASHDataset2014/BigBuckBunny/4sec/"
},
"distributionConfigurations": [
{}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"name": "Big Buck Bunny",
"entryPointPath": "BigBuckBunny_4s_onDemand_2014_05_09.mpd",
"ingestConfiguration": {
"pull": true,
"protocol": "urn:3gpp:5gms:content-protocol:http-pull-ingest",
"baseURL": "https://ftp.itec.aau.at/datasets/DASHDataset2014/BigBuckBunny/4sec/"
},
"distributionConfigurations": [
{},
{
"certificateId": "testcert1"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"name": "Big Buck Bunny",
"entryPointPath": "BigBuckBunny_4s_onDemand_2014_05_09.mpd",
"ingestConfiguration": {
"pull": true,
"protocol": "urn:3gpp:5gms:content-protocol:http-pull-ingest",
"baseURL": "https://ftp.itec.aau.at/datasets/DASHDataset2014/BigBuckBunny/4sec/"
},
"distributionConfigurations": [
{
"certificateId": "testcert1"
}
]
}
34 changes: 34 additions & 0 deletions examples/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# 5G-MAG Reference Tools: 5GMS Application Function Example Configurations

This directory contains examples of configuration files for the 5GMS Application Function.

## `Certificates.json`

This file contains a mapping from certificate ID to certificate filename. The
certificate IDs in this file are used to find the matching certificate file
(containing a public certificate, private key and any intermediate CA
certificates) when referenced from a ContentHostingConfiguration file.

The `subprojects/rt-common-shared/5gms/scripts/make_self_signed_certs.py` script can be used, passing a ContentHostingConfiguration and this `Certificates.json` file as parameters, to create suitable self-signed certificate files for testing purposes.

For example:
```bash
cd ~/rt-5gms-application-function
subprojects/rt-common-shared/5gms/scripts/make_self_signed_certs.py examples/ContentHostingConfiguration_Big-Buck-Bunny_pull-ingest_https.json examples/Certificates.json
```

## `ContentHostingConfiguration_Big-Buck-Bunny_pull-ingest.json`

This file is used as a content hosting configuration for the rt-5gms-application-function.

It contains a ContentHostingConfiguration, based on 3GPP TS 26.512 Release 17.3.0, which points to a media origin host, suitable for use with pull-ingest, which holds the Big Buck Bunny short animated film.

The distribution side of the configurations tells the rt-5gms-application-function to configure a 5GMS Application Server to reverse proxy the media on its localhost (127.0.0.1) loopback interface. The distribution configuration object is left empty as this is a simple distribution where all fields are generated by the 5GMS Application Function. Note that there needs to be at least one entry in `distributionConfigurations`, even if it is an empty object.

## `ContentHostingConfiguration_Big-Buck-Bunny_pull-ingest_http_and_https.json`

This file is an alternative to `ContentHostingConfiguration_Big-Buck-Bunny_pull-ingest.json` (see above) and can be used along with the `Certificates.json` file to configure a rt-5gms-application-function to provision a 5GMS Application Server which will provide both HTTP and HTTPS distribution points.

## `ContentHostingConfiguration_Big-Buck-Bunny_pull-ingest_https.json`

This file is an alternative to `ContentHostingConfiguration_Big-Buck-Bunny_pull-ingest.json` (see above) and can be used along with the `Certificates.json` file to run a rt-5gms-application-function to provision a 5GMS Application Server which will provide an HTTPS distribution point only.
Loading