Skip to content

AF accepts invalid Content Hosting Configuration, AS returns 422, AF retries CHC POST in an endless loop #186

@ErikGaida

Description

@ErikGaida

Summary

There appears to be a validation mismatch between AF and AS for Content Hosting Configuration payloads.

AF accepts CHCs with invalid ingestConfiguration.baseURL values (for example "http://", "https://", or "https:// hallo.de").
When AF then provisions the CHC to AS over M3, AS correctly rejects it with 422.
AF does not clear/fail the pending CHC upload and keeps retrying the POST, resulting in a continuous loop.

Logs

AF:
Open5GS daemon v2.6.4-10-gb9dd812+

03/18 18:06:33.003: [app] INFO: Configuration: '/usr/local/etc/open5gs/msaf.yaml' (../subprojects/open5gs/lib/app/ogs-init.c:126)
03/18 18:06:33.020: [sbi] INFO: mhd_server() [127.0.0.23]:7777 (../subprojects/open5gs/lib/sbi/mhd-server.c:274)
03/18 18:06:33.021: [sbi] INFO: mhd_server() [0.0.0.0]:7778 (../subprojects/open5gs/lib/sbi/mhd-server.c:274)
03/18 18:06:33.021: [sbi] INFO: mhd_server() [127.0.0.25]:7777 (../subprojects/open5gs/lib/sbi/mhd-server.c:274)
03/18 18:06:33.021: [sbi] INFO: nghttp2_server() [http://127.0.0.22]:7777 (../subprojects/open5gs/lib/sbi/nghttp2-server.c:391)
03/18 18:06:33.021: [sbi] INFO: nghttp2_server() [http://127.0.0.99]:7779 (../subprojects/open5gs/lib/sbi/nghttp2-server.c:391)
03/18 18:06:33.021: [app] INFO: 5GMSAF initialize...done (../src/5gmsaf/app.c:24)
03/18 18:06:33.022: [msaf] INFO: [d07423d6-22ec-41f1-9c13-8da79511cbf8] MSAF M1 Running (../src/5gmsaf/msaf-m1-sm.c:144)
03/18 18:06:33.022: [msaf] INFO: [d07423d6-22ec-41f1-9c13-8da79511cbf8] MSAF M5 Running (../src/5gmsaf/msaf-m5-sm.c:113)
03/18 18:06:33.022: [msaf] INFO: [d07423d6-22ec-41f1-9c13-8da79511cbf8] MSAF Management Interface Running (../src/5gmsaf/msaf-mgmt-sm.c:60)
03/18 18:06:33.022: [msaf] INFO: [d07423d6-22ec-41f1-9c13-8da79511cbf8] MSAF Running (../src/5gmsaf/msaf-sm.c:73)
03/18 18:06:33.028: [sbi] INFO: [d07423d6-22ec-41f1-9c13-8da79511cbf8] NF registered [Heartbeat:10s] (../subprojects/open5gs/lib/sbi/nf-sm.c:214)

AS:

[2026-03-18 18:09:33 +0100] [27853] [INFO] 127.0.0.1:51358 - - [18/Mar/2026:18:09:33 +0100] "POST /3gpp-m3/v1/content-hosting-configurations/f737651e-22ec-41f1-9c13-8da79511cbf8 2" 422 178 "-" "-"
[2026-03-18 18:09:33 +0100] [27853] [INFO] 127.0.0.1:51358 - - [18/Mar/2026:18:09:33 +0100] "POST /3gpp-m3/v1/content-hosting-configurations/f737651e-22ec-41f1-9c13-8da79511cbf8 2" 422 178 "-" "-"
[2026-03-18 18:09:33 +0100] [27853] [INFO] 127.0.0.1:51358 - - [18/Mar/2026:18:09:33 +0100] "POST /3gpp-m3/v1/content-hosting-configurations/f737651e-22ec-41f1-9c13-8da79511cbf8 2" 422 178 "-" "-"
[2026-03-18 18:09:33 +0100] [27853] [INFO] 127.0.0.1:51358 - - [18/Mar/2026:18:09:33 +0100] "POST /3gpp-m3/v1/content-hosting-configurations/f737651e-22ec-41f1-9c13-8da79511cbf8 2" 422 178 "-" "-"
[2026-03-18 18:09:33 +0100] [27853] [INFO] 127.0.0.1:51358 - - [18/Mar/2026:18:09:33 +0100] "POST /3gpp-m3/v1/content-hosting-configurations/f737651e-22ec-41f1-9c13-8da79511cbf8 2" 422 178 "-" "-"
[2026-03-18 18:09:33 +0100] [27853] [INFO] 127.0.0.1:51358 - - [18/Mar/2026:18:09:33 +0100] "POST /3gpp-m3/v1/content-hosting-configurations/f737651e-22ec-41f1-9c13-8da79511cbf8 2" 422 178 "-" "-"
[2026-03-18 18:09:33 +0100] [27853] [INFO] 127.0.0.1:51358 - - [18/Mar/2026:18:09:33 +0100] "POST /3gpp-m3/v1/content-hosting-configurations/f737651e-22ec-41f1-9c13-8da79511cbf8 2" 422 178 "-" "-"
[2026-03-18 18:09:33 +0100] [27853] [INFO] 127.0.0.1:51358 - - [18/Mar/2026:18:09:33 +0100] "POST /3gpp-m3/v1/content-hosting-configurations/f737651e-22ec-41f1-9c13-8da79511cbf8 2" 422 178 "-" "-"

Steps To Reproduce

  1. create Provisioning Session
  2. create CHC for Provisioning Session from step 1.
    body for POST methode:
{
  "name": "BBC R&D Demo Streams",
  "ingestConfiguration": {
    "pull": true,
    "protocol": "urn:3gpp:5gms:content-protocol:http-pull-ingest",
    "baseURL": "https:// rdmedia.bbc.co.uk/"
  },
  "distributionConfigurations": [
    {
      "entryPoint": {
        "relativePath": "elephants_dream/1/client_manifest-all.mpd",
        "contentType": "application/dash+xml",
        "profiles": ["urn:mpeg:dash:profile:isoff-live:2011"]
      }
    }
  ]
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions