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

Python-based Application Server #14

Closed
davidjwbbc opened this issue Sep 16, 2022 · 0 comments
Closed

Python-based Application Server #14

davidjwbbc opened this issue Sep 16, 2022 · 0 comments
Assignees
Labels
feature A new high-level feature
Milestone

Comments

@davidjwbbc
Copy link
Contributor

davidjwbbc commented Sep 16, 2022

Feature description

We are going to start with a simple Python application as the 5GMS Application Server (AS).

This application will take a static JSON configuration, use it to create the necessary configuration files to control an external web server/proxy and then control the lifecycle of the external web server/proxy. This represents the minimum necessary to provide a 5GMS AS capable of pull-ingest as required by MVP#1 and MVP#2.

The configuration file will be a ContentHostingConfiguration object, as defined in TS 26.512 C.3.5 and described in Section 7.6, written in JSON with content as though the 5GMS application function had output it from a Read Content Hosting Configuration request (TS 26.512 Section 4.3.3.3).

The AS will find a locally installed web server from its list of known web servers. Initially the only known web server will be nginx, but the Python application shall be easily extended to allow other external web server and proxy applications to be used.

Once a suitable web server is identified the AS will write out a configuration for that web server which will provide the M2d interface and start the web server as a child process. It will then wait for the web server to exit (or be killed) before it reports errors and web server outputs and exits itself.

Relevant specifications and corresponding sections

  • TS 26.512 clauses 4.3.3, 7.6, 8.2, B.1, C.3.5.

Additional context

This is only an initial, simple application which is intended to be developed and expanded to add more features of a full 5GMS Application Server.

@davidjwbbc davidjwbbc added the enhancement New feature or request label Sep 16, 2022
@davidjwbbc davidjwbbc self-assigned this Sep 16, 2022
@rjb1000 rjb1000 added this to the MWC23 milestone Sep 20, 2022
@rjb1000 rjb1000 moved this from In Progress to Done in 5GMS: Basic media stream handling (MVP#1) Oct 7, 2022
@rjb1000 rjb1000 moved this from In Progress to Done in 5GMS: Media session handling (MVP#2) Oct 7, 2022
@rjb1000 rjb1000 changed the title Python based Application Server Python-based Application Server Oct 10, 2022
@rjb1000 rjb1000 closed this as completed Oct 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A new high-level feature
Development

No branches or pull requests

2 participants