The M1 interface is the provisioning interface: an Application Service Provider (ASP) uses it to configure media delivery on the 5G Media Streaming downlink (5GMSd) Application Function (AF), creating provisioning sessions, content hosting configurations and certificates. This page verifies that the Application Function correctly handles those M1 provisioning requests for versions v1.4.1 and later. See the Glossary for wider 5GMS terminology.
This page covers the 5GMSd Application Function v1.4.1 and later. For other versions see Testing M1 (v1.2.x) and Testing M1 (v1.3.0 to v1.4.0).
m1-session is installed separately from v1.4.1From v1.4.1 the m1-session tool ships in the separate rt-5gms-application-provider repository and must be installed (and, if using a virtual environment, activated) before running the commands on this page. Without this, the shell reports m1-session: command not found. Follow that repository's instructions to install the M1 tools.
Prerequisites
- A built and installed 5GMSd Application Function (see local user building and installation).
- The
m1-sessiontool installed from rt-5gms-application-provider and available on yourPATH. - A running 5GMSd Application Server (see below).
To prepare, follow the instructions for local user building and installation.
Testing
These tests require a 5GMSd Application Server to be running. Please follow the instructions to build, install and run the 5GMSd Application Server as a system service or the instructions to run the AS as a local user for a temporary installation for testing.
After the v1.4.1 tool split, the invocation styles differ on purpose: open5gs-msafd is run with its full path from the Application Function install directory, while m1-session is invoked directly because it is on your PATH. Each test below begins with the same three steps: stop the Application Function if it is running, remove previous configurations (which clears the certificates cache so each test starts from a clean state), then start the Application Function again. In the m1-session commands, -e sets the external application id and -a sets the Application Service Provider id; the values MyAppId and MyASPId are free-choice test values.
Test Provisioning Sessions
This will test the ability of the Application Function to allocate and retrieve information about provisioning session upon request by an Application Provider.
Create provisioning sessions
-
Stop the Application Function if it is already running.
-
Remove previous configurations:
rm -rf ~/rt-5gms-application-function/install/var/cache/rt-5gms/af/certificates -
Start the Application Function:
~/rt-5gms-application-function/install/bin/open5gs-msafd -
Create a single Provisioning Session:
m1-session new-provisioning-session -e MyAppId -a MyASPId -
Check the Provisioning Session:
m1-session listThis should list a single provisioning session.
-
Create a second Provisioning Session:
m1-session new-provisioning-session -e MyAppId -a MyASPId -
Check the Provisioning Sessions:
m1-session listThis should list the two provisioning sessions.
Get details for a provisioning session
-
Stop the Application Function if it is already running.
-
Remove previous configurations:
rm -rf ~/rt-5gms-application-function/install/var/cache/rt-5gms/af/certificates -
Start the Application Function:
~/rt-5gms-application-function/install/bin/open5gs-msafd -
Create a single Provisioning Session with Content Hosting Configuration
m1-session new-stream -e MyAppId -a MyASPId -n 'Big Buck Bunny' 'https://ftp.itec.aau.at/datasets/DASHDataset2014/BigBuckBunny/4sec/' 'BigBuckBunny_4s_onDemand_2014_05_09.mpd' -
Check the Provisioning Session details:
m1-session list -vThis will list the provisioning session showing the Content Hosting Configuration attached to it.
For example:
39f4f698-daa0-41ed-862b-c1f4c44bccf3:Certificates:ContentHostingConfiguration:Name: Big Buck BunnyIngest:Type: urn:3gpp:5gms:content-protocol:http-pull-ingestPull Ingest?: TrueURL: https://ftp.itec.aau.at/datasets/DASHDataset2014/BigBuckBunny/4sec/Distributions:- URL: http://localhost/m4d/provisioning-session-39f4f698-daa0-41ed-862b-c1f4c44bccf3/Canonical Domain Name: localhostEntry point:Relative Path: BigBuckBunny_4s_onDemand_2014_05_09.mpdContent Type: application/dash+xml
Delete a provisioning session
-
Stop the Application Function if it is already running.
-
Remove previous configurations:
rm -rf ~/rt-5gms-application-function/install/var/cache/rt-5gms/af/certificates -
Start the Application Function:
~/rt-5gms-application-function/install/bin/open5gs-msafd -
Create a single Provisioning Session:
m1-session new-provisioning-session -e MyAppId -a MyASPIdHint: Set the shell variable
provisioning_session_idto the returned provisioning session id for use in later commands. -
Check the Provisioning Session:
m1-session listThis should list a single provisioning session.
-
Delete the Provisioning Session by Id:
m1-session del-stream -p ${provisioning_session_id}Where
${provisioning_session_id}is the provisioning session id of the session that was created in the earlier step.For example:
m1-session del-stream -p 1c961622-c803-41ed-83c5-e304b44dbd7e -
Check the Provisioning Session is deleted:
m1-session listThere should be no provisioning sessions listed.
-
Create a single Provisioning Session with a stream identifier:
m1-session new-stream -e MyAppId -a MyASPId -n 'Test Stream' 'https://ftp.itec.aau.at/datasets/DASHDataset2014/BigBuckBunny/4sec/' 'BigBuckBunny_4s_onDemand_2014_05_09.mpd' -
Check the Provisioning Session:
m1-session list -v -
Delete the Provisioning Session by ingest URL and entry point path:
m1-session del-stream 'https://ftp.itec.aau.at/datasets/DASHDataset2014/BigBuckBunny/4sec/' 'BigBuckBunny_4s_onDemand_2014_05_09.mpd'Note: The entry point (last command line parameter) can be any one of the entry point relative paths present in a distribution configuration for the content hosting configuration of a provisioning session.
-
Check the Provisioning Session is deleted:
m1-session listThere should be no provisioning sessions listed.
Create a hosting configuration with multiple entry points
-
Stop the Application Function if it is already running.
-
Remove previous configurations:
rm -rf ~/rt-5gms-application-function/install/var/cache/rt-5gms/af/certificates -
Start the Application Function:
~/rt-5gms-application-function/install/bin/open5gs-msafd -
Create a single Provisioning Session with Content Hosting Configuration containing multiple entry points
m1-session new-stream -e MyAppId -a MyASPId -n 'BBC Test Card' 'https://rdmedia.bbc.co.uk/testcard/vod/' 'manifests/avc-full.mpd' 'manifests/avc-full.m3u8'Note: The BBC R&D test stream above is a publicly accessible DASH/HLS test source used here to demonstrate multiple entry points. If you are testing with your own media origin, replace the ingest URL and entry point paths with those from your own streaming endpoint.
-
Check the Provisioning Session details:
m1-session list -vThis will list the provisioning session showing the Content Hosting Configuration attached to it.
For example:
74f4c492-dacf-41ed-87fe-93ba2b9b790a:Certificates:ContentHostingConfiguration:Name: BBC Test CardIngest:Type: urn:3gpp:5gms:content-protocol:http-pull-ingestPull Ingest?: TrueURL: https://rdmedia.bbc.co.uk/testcard/vod/Distributions:- URL: http://localhost/m4d/provisioning-session-74f4c492-dacf-41ed-87fe-93ba2b9b790a/Canonical Domain Name: localhostEntry point:Relative Path: manifests/avc-full.mpdContent Type: application/dash+xml- URL: http://localhost/m4d/provisioning-session-74f4c492-dacf-41ed-87fe-93ba2b9b790a/Canonical Domain Name: localhostEntry point:Relative Path: manifests/avc-full.m3u8Content Type: application/vnd.apple.mpegurlThe output shows that the ContentHostingConfiguration for Provisioning Session 74f4c492-dacf-41ed-87fe-93ba2b9b790a has two distribution configurations. There is one distribution configuration for DASH and one for HLS.
Create a hosting configuration from a JSON file
-
Stop the Application Function if it is already running.
-
Remove previous configurations:
rm -rf ~/rt-5gms-application-function/install/var/cache/rt-5gms/af/certificates -
Start the Application Function:
~/rt-5gms-application-function/install/bin/open5gs-msafd -
Create a single Provisioning Session:
m1-session new-provisioning-session -e MyAppId -a MyASPIdHint: Set the shell variable
provisioning_session_idto the returned provisioning session id for use in later commands. -
Upload the ContentHostingConfiguration JSON file:
m1-session set-stream -p ${provisioning_session_id} ~/rt-5gms-application-function/examples/ContentHostingConfiguration_Big-Buck-Bunny_pull-ingest.jsonWhere
${provisioning_session_id}is the Provisioning Session Id reported by the previous step.For this step one of the example configuration files from the
~/rt-5gms-application-function/examplesdirectory was used, but any valid ContentHostingConfiguration JSON file can be used. -
Check the Provisioning Session:
m1-session list -vThe output should show a provisioning session with the contents of the JSON file used as the ContentHostingConfiguration.
For example:
74f4c492-dacf-41ed-87fe-93ba2b9b790a:Certificates:ContentHostingConfiguration:Name: Big Buck BunnyIngest:Type: urn:3gpp:5gms:content-protocol:http-pull-ingestPull Ingest?: TrueURL: https://ftp.itec.aau.at/datasets/DASHDataset2014/BigBuckBunny/4sec/Distributions:- URL: http://localhost/m4d/provisioning-session-74f4c492-dacf-41ed-87fe-93ba2b9b790a/Canonical Domain Name: localhostEntry point:Relative Path: BigBuckBunny_4s_onDemand_2014_05_09.mpdContent Type: application/dash+xmlProfiles:- urn:mpeg:dash:profile:isoff-live:2011Note: The output above reflects an updated
ContentHostingConfiguration_Big-Buck-Bunny_pull-ingest.jsonexample file. If your copy of the rt-5gms-application-function repository references an ingest endpoint that is no longer reachable, the output will differ. Update the JSON file to point to a reachable ingest URL before using it.This also tests the use of profile lists in the distribution entry points.
Server Certificates
Create Server Certificates
-
Stop the Application Function if it is already running.
-
Remove previous configurations:
rm -rf ~/rt-5gms-application-function/install/var/cache/rt-5gms/af/certificates -
Start the Application Function:
~/rt-5gms-application-function/install/bin/open5gs-msafd -
Create a single Provisioning Session:
m1-session new-provisioning-session -e MyAppId -a MyASPIdHint: Set the shell variable
provisioning_session_idto the returned provisioning session id for use in later commands. -
Create a certificate:
m1-session new-certificate -p ${provisioning_session_id}Where
${provisioning_session_id}is the provisioning session id of the session that was created in the previous step. -
Check the Provisioning Session:
m1-session list -vThe output should show a provisioning session with a single certificate where the subject and issuer of the certificate are identical.
For example:
40b75340-c8a3-41ed-9d6e-cbf27240da7a:Certificates:4fff7e04-c8a3-41ed-9d6e-cbf27240da7a:Serial = 723264618754945153424478507276304617300583059881Not before = 2023-03-22 11:18:46+00:00Not after = 2023-06-20 11:18:46+00:00Subject = C=GB,L=London,CN=localhostkey=C2:56:2C:A6:D7:B3:AE:C7:3A:2C:18:9D:5B:2A:EB:62:C0:7E:35:05Issuer = C=GB,L=London,CN=localhostkey=C2:56:2C:A6:D7:B3:AE:C7:3A:2C:18:9D:5B:2A:EB:62:C0:7E:35:05Subject Alternative Names:DNS:localhostContentHostingConfiguration:Not definedThis shows that for provisioning session 40b75340-c8a3-41ed-9d6e-cbf27240da7a there is a certificate with id 4fff7e04-c8a3-41ed-9d6e-cbf27240da7a lasting for 90 days from 22nd Mar 2023. The "Subject" and "Issuer" both have the same designated name ("C=GB,L=London,CN=localhost") and key hash, showing that this is a self signed certificate. The "Subject Alternative Names" contains one "DNS" entry for the canonical name of the 5GMSd Application Server.
-
Create a certificate with a domain name:
m1-session new-certificate -p ${provisioning_session_id} -d as.example.comSince a domain name was requested, the
m1-sessiontool will request a CSR from the 5GMSd Application Function and sign it itself. -
Check the Provisioning Session:
m1-session list -vThe output should now show an extra certificate on the provisioning session.
For example:
40b75340-c8a3-41ed-9d6e-cbf27240da7a:Certificates:4fff7e04-c8a3-41ed-9d6e-cbf27240da7a:Serial = 723264618754945153424478507276304617300583059881Not before = 2023-03-22 11:18:46+00:00Not after = 2023-06-20 11:18:46+00:00Subject = C=GB,L=London,CN=localhostkey=C2:56:2C:A6:D7:B3:AE:C7:3A:2C:18:9D:5B:2A:EB:62:C0:7E:35:05Issuer = C=GB,L=London,CN=localhostkey=C2:56:2C:A6:D7:B3:AE:C7:3A:2C:18:9D:5B:2A:EB:62:C0:7E:35:05Subject Alternative Names:DNS:localhost8aa9e5ac-c8a9-41ed-9d6e-cbf27240da7a:Serial = 1Not before = 2023-03-22 12:03:22+00:00Not after = 2023-04-21 12:03:22+00:00Subject = CN=as.example.com,O=5G-MAGkey=37:62:38:E1:D2:18:23:90:A9:12:2A:C7:EF:5F:7E:F8:91:3A:89:8FIssuer = O=5G-MAG,CN=Reference Tools Local CAkey=B4:2F:13:EE:02:D0:34:75:C0:7B:9D:C7:67:6D:90:76:F5:A8:CC:EFSubject Alternative Names:DNS:as.example.comDNS:localhostContentHostingConfiguration:Not definedThis shows that there is now a second certificate (8aa9e5ac-c8a9-41ed-9d6e-cbf27240da7a) issued by "Reference Tools Local CA" and the Subject Common Name is the domain name alias used with the
-dcommand line option when the certificate was created. The canonical domain name of the 5GMSd Application Server is the second Subject Alternative Name. These certificates last for 30 days by default. -
Reserve a certificate:
m1-session new-certificate -p ${provisioning_session_id} --csrThe output includes the new certificate id and a CSR in PEM format.
-
Check the Provisioning Session:
m1-session list -vThe output should now show a third certificate id but the certificate detail says "Certificate not yet uploaded".
For example:
40b75340-c8a3-41ed-9d6e-cbf27240da7a:Certificates:4fff7e04-c8a3-41ed-9d6e-cbf27240da7a:Serial = 723264618754945153424478507276304617300583059881Not before = 2023-03-22 11:18:46+00:00Not after = 2023-06-20 11:18:46+00:00Subject = C=GB,L=London,CN=localhostkey=C2:56:2C:A6:D7:B3:AE:C7:3A:2C:18:9D:5B:2A:EB:62:C0:7E:35:05Issuer = C=GB,L=London,CN=localhostkey=C2:56:2C:A6:D7:B3:AE:C7:3A:2C:18:9D:5B:2A:EB:62:C0:7E:35:05Subject Alternative Names:DNS:localhost8aa9e5ac-c8a9-41ed-9d6e-cbf27240da7a:Serial = 1Not before = 2023-03-22 12:03:22+00:00Not after = 2023-04-21 12:03:22+00:00Subject = CN=as.example.com,O=5G-MAGkey=37:62:38:E1:D2:18:23:90:A9:12:2A:C7:EF:5F:7E:F8:91:3A:89:8FIssuer = O=5G-MAG,CN=Reference Tools Local CAkey=B4:2F:13:EE:02:D0:34:75:C0:7B:9D:C7:67:6D:90:76:F5:A8:CC:EFSubject Alternative Names:DNS:as.example.comDNS:localhost2a118b8e-c8a7-41ed-9d6e-cbf27240da7a:Certificate not yet uploadedContentHostingConfiguration:Not definedThis shows that the 2a118b8e-c8a7-41ed-9d6e-cbf27240da7a certificate is waiting for a signed certificate to be uploaded.
Output certificate details
-
Stop the Application Function if it is already running.
-
Remove previous configurations:
rm -rf ~/rt-5gms-application-function/install/var/cache/rt-5gms/af/certificates -
Start the Application Function:
~/rt-5gms-application-function/install/bin/open5gs-msafd -
Create a single Provisioning Session:
m1-session new-provisioning-session -e MyAppId -a MyASPIdHint: Set the shell variable
provisioning_session_idto the returned provisioning session id for use in later commands. -
Create a certificate
m1-session new-certificate -p ${provisioning_session_id}Where
${provisioning_session_id}is the provisioning session id of the session that was created in the previous step.Hint: Set the shell variable
certificate_idto the returned certificate id for use in later commands. -
Display the details of the certificate
m1-session show-certificate -p ${provisioning_session_id} -c ${certificate_id}Where
${provisioning_session_id}is the provisioning session id of the session that was created in step 4 and${certificate_id}is the certificate id of the certificate created in the previous step.This will display the certificate details.
For example:
Certificate details for d921a6e2-c977-41ed-ae8f-4f7bb018a30b:Serial = 570812267048735513617861647966053937458169779179Not before = 2023-03-23 12:40:10+00:00Not after = 2023-06-21 12:40:10+00:00Subject = C=GB,L=London,CN=localhostkey=E9:61:FD:5A:31:0C:ED:C0:B0:CC:29:0D:29:89:AE:EE:F9:25:89:CAIssuer = C=GB,L=London,CN=localhostkey=E9:61:FD:5A:31:0C:ED:C0:B0:CC:29:0D:29:89:AE:EE:F9:25:89:CASubject Alternative Names:DNS:localhost -
Display the public certificate PEM data
m1-session show-certificate -p ${provisioning_session_id} -c ${certificate_id} -rThe
-rflag causes the command to display the "raw" output which is the PEM data for the certificate.For example:
-----BEGIN CERTIFICATE-----MIIDWzCCAkOgAwIBAgIUY/wbeD1YUiEeBPLpxf8ldkkEE+swDQYJKoZIhvcNAQELBQAwMjELMAkGA1UEBhMCR0IxDzANBgNVBAcMBkxvbmRvbjESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTIzMDMyMzEyNDAxMFoXDTIzMDYyMTEyNDAxMFowMjELMAkGA1UEBhMCR0IxDzANBgNVBAcMBkxvbmRvbjESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0bftLTaaXXpW1qIDHYTTmeIGvupyG/dQpK5Ko9mW9IEcb+wfn2fX8SMHGA7O8TvpqUGEmyoBXIuIFmmeR+w5xQRcKkyiNGhIhnUIfOqaevh4MCX/8Ius9NOjF0bz+aWtwOCmWKkNvknRMzClAeVRJm6g+U6mIH30TE5H3ItiYxk63MNvuYeqIEK2rEKu69jWvTFkV1Wzd+5rH3ZC9qrt4uryUqAZX6XPx5AkQzbnBRQooDJzhqKgW+7YFWFtwi6WX8poGwx4RuruxYRLEBDfxRCE/1k6ALP3IktsVp7rFqwOt0LRNH1+MLly/MIOEA+NjnaIReG3/6Kt7oAqiDCBpQIDAQABo2kwZzAdBgNVHQ4EFgQU6WH9WjEM7cCwzCkNKYmu7vklicowHwYDVR0jBBgwFoAU6WH9WjEM7cCwzCkNKYmu7vklicowDwYDVR0TAQH/BAUwAwEB/zAUBgNVHREEDTALgglsb2NhbGhvc3QwDQYJKoZIhvcNAQELBQADggEBAIAELtWEMwzoXnaWRn74JngW3DF5IUtdFOiEKPWzdju+RleUsQHm5hsbPxpAz/MDVKIQQBGrJNMNpMtJ1VNlAsJ17gndSkSFf0zw7+DxgKYiwNj7tbBU8yTW+qVyUJh6XUxOHlaLjXzct4jw/NgjrjRZYuwXKCebRf+DUtQGt87rSib+GVpI//XBweyd8D0vFnGPRU9yyAvuqUdfu7enGFMrqyBBqTqrTgX9o852lrMnWbc+g+of90Ym9HkVpifmc12jZSJlfS4cykvwnRqwPC9fYnNABBMDJwJOM8g69OIRw+67O01ZulRzCvSaSbBEG6xC08XAD7BJn9CPIMypHdw=-----END CERTIFICATE-----
Upload a public certificate
Documentation for certificate reservation, CSR fetching, signing and upload is under development. For the current procedure, refer to the rt-5gms-application-function repository.
Content Protocol Discovery
List the Content Protocols available
-
Stop the Application Function if it is already running.
-
Remove previous configurations:
rm -rf ~/rt-5gms-application-function/install/var/cache/rt-5gms/af/certificates -
Start the Application Function:
~/rt-5gms-application-function/install/bin/open5gs-msafd -
Create a single Provisioning Session:
m1-session new-provisioning-session -e MyAppId -a MyASPIdHint: Set the shell variable
provisioning_session_idto the returned provisioning session id for use in later commands. -
List the Content Protocols for the Provisioning Session
m1-session protocols -p ${provisioning_session_id}Where
${provisioning_session_id}is the provisioning session id of the session that was created in the previous step.The available protocols will be listed.
For example:
Protocols for 40b75340-c8a3-41ed-9d6e-cbf27240da7a:Downlink:urn:3gpp:5gms:content-protocol:http-pull-ingestNo uplink capabilityNo geo-fencing capability
Content Hosting Provisioning
Add a Content Hosting Configuration without certificates
-
Stop the Application Function if it is already running.
-
Remove previous configurations:
rm -rf ~/rt-5gms-application-function/install/var/cache/rt-5gms/af/certificates -
Start the Application Function:
~/rt-5gms-application-function/install/bin/open5gs-msafd -
Create a single Provisioning Session:
m1-session new-provisioning-session -e MyAppId -a MyASPIdHint: Set the shell variable
provisioning_session_idto the returned provisioning session id for use in later commands. -
Create the hosting configuration:
m1-session set-stream -p ${provisioning_session_id} ~/rt-5gms-application-function/examples/ContentHostingConfiguration_Big-Buck-Bunny_pull-ingest.jsonWhere
${provisioning_session_id}is the provisioning session id of the session that was created in the previous step. -
Check the provisioning session configuration:
m1-session list -vThis will display the provisioning session created, showing no certificates and the details from the example ContentHostingConfiguration.
For example:
2ef78712-c9a0-41ed-ac37-f9964ab0d12a:Certificates:ContentHostingConfiguration:Name: Big Buck BunnyEntry Point Path: BigBuckBunny_4s_onDemand_2014_05_09.mpdIngest:Type: urn:3gpp:5gms:content-protocol:http-pull-ingestURL: https://ftp.itec.aau.at/datasets/DASHDataset2014/BigBuckBunny/4sec/Distributions:- URL: http://localhost/m4d/provisioning-session-2ef78712-c9a0-41ed-ac37-f9964ab0d12a/Canonical Domain Name: localhost
Note: The m1-session new-stream command is a convenience command that will create a provisioning session, generate the
ContentHostingConfiguration and set it in the newly created provisioning session. The above can also be done using:
m1-session new-stream -e MyAppId -a MyASPId -n 'Big Buck Bunny' 'https://ftp.itec.aau.at/datasets/DASHDataset2014/BigBuckBunny/4sec/' 'BigBuckBunny_4s_onDemand_2014_05_09.mpd'
Add a Content Hosting Configuration which uses an existing certificate
-
Stop the Application Function if it is already running.
-
Remove previous configurations:
rm -rf ~/rt-5gms-application-function/install/var/cache/rt-5gms/af/certificates -
Start the Application Function:
~/rt-5gms-application-function/install/bin/open5gs-msafd -
Create a single Provisioning Session:
m1-session new-provisioning-session -e MyAppId -a MyASPIdHint: Set the shell variable
provisioning_session_idto the returned provisioning session id for use in later commands. -
Create a certificate:
m1-session new-certificate -p ${provisioning_session_id}Where
${provisioning_session_id}is the provisioning session id of the session that was created in the previous step. -
Generate a ContentHostingConfiguration using the certificate:
sed "s/@certificate-id@/${certificate_id}/g" ~/rt-5gms-application-function/examples/ContentHostingConfiguration_Big-Buck-Bunny_pull-ingest_https.json.tmpl > chc.jsonWhere
${certificate_id}is the certificate id of the certificate created in the previous step. -
Create the hosting configuration using the generated ContentHostingConfiguration:
m1-session set-stream -p ${provisioning_session_id} chc.jsonWhere
${provisioning_session_id}is the provisioning session id of the session that was created in step 4. -
Check the provisioning session configuration:
m1-session list -vThis will display the provisioning session created, showing no certificates and the details from the example ContentHostingConfiguration.
For example:
ed5079d6-c9a4-41ed-b2ad-41232d457177:Certificates:fbd05ddc-c9a4-41ed-b2ad-41232d457177:Serial = 186484472102456711697672477872825927418601662068Not before = 2023-03-23 18:03:15+00:00Not after = 2023-06-21 18:03:15+00:00Subject = C=GB,L=London,CN=localhostkey=8A:C2:9A:48:15:6A:15:BB:EE:B7:A0:9E:07:7C:CB:A4:CF:7C:51:F5Issuer = C=GB,L=London,CN=localhostkey=8A:C2:9A:48:15:6A:15:BB:EE:B7:A0:9E:07:7C:CB:A4:CF:7C:51:F5Subject Alternative Names:DNS:localhostContentHostingConfiguration:Name: Big Buck BunnyEntry Point Path: BigBuckBunny_4s_onDemand_2014_05_09.mpdIngest:Type: urn:3gpp:5gms:content-protocol:http-pull-ingestURL: https://ftp.itec.aau.at/datasets/DASHDataset2014/BigBuckBunny/4sec/Distributions:- URL: https://localhost/m4d/provisioning-session-ed5079d6-c9a4-41ed-b2ad-41232d457177/Canonical Domain Name: localhostCertificate: fbd05ddc-c9a4-41ed-b2ad-41232d457177
Note: The m1-session new-stream command is a convenience command that will create a provisioning session, generate the
ContentHostingConfiguration and set it in the newly created provisioning session. The above configuration with the m1-session tool can also be done using this single command instead:
m1-session new-stream -e MyAppId -a MyASPId -n 'Big Buck Bunny' --ssl-only 'https://ftp.itec.aau.at/datasets/DASHDataset2014/BigBuckBunny/4sec/' 'BigBuckBunny_4s_onDemand_2014_05_09.mpd'
Consumption Reporting (v1.4.0 and later)
Add a Consumption Reporting Configuration
-
Stop the Application Function if it is already running.
-
Remove previous configurations:
rm -rf ~/rt-5gms-application-function/install/var/cache/rt-5gms/af/certificates -
Start the Application Function:
~/rt-5gms-application-function/install/bin/open5gs-msafd -
Create a single Provisioning Session:
m1-session new-provisioning-session -e MyAppId -a MyASPIdHint: Set the shell variable
provisioning_session_idto the returned provisioning session id for use in later commands. -
Create a Consumption Reporting Configuration for the Provisioning Session
m1-session set-consumption-reporting -p ${provisioning_session_id} --interval 15 --sample-percentage 66.66 --location-reporting --access-reportingWhere
${provisioning_session_id}is the provisioning session id of the session that was created in step 4.This will set consumption reporting to every 15 seconds for 66.66% of clients and reports should include Location and Access reporting.
All Consumption Reporting parameters are optional so doing the following:
m1-session set-consumption-reporting -p ${provisioning_session_id}...will request all clients send a single Consumption Report at the end of the media without Location or Access reports (the defaults for consumption reporting).
Show current Consumption Reporting Configuration
-
Display the current Consumption Reporting Configuration for a Provisioning Session
m1-session show-consumption-reporting -p ${provisioning_session_id}Where
${provisioning_session_id}is the provisioning session id of the session you wish to view.
Remove the Consumption Reporting Configuration
-
Remove Consumption Reporting from a Provisioning Session
m1-session del-consumption-reporting -p ${provisioning_session_id}Where
${provisioning_session_id}is the provisioning session id of the session you wish to remove consumption reporting from. -
Display the current Consumption Reporting Configuration for the Provisioning Session to check it has gone
m1-session show-consumption-reporting -p ${provisioning_session_id}Where
${provisioning_session_id}is the provisioning session id of the session you wish to view.This will report no Consumption Reporting Configuration is present.