Skip to content

MBSF: HTTP Server for MBS User Service Announcement propagation #26

@davidjwbbc

Description

@davidjwbbc

Introduction

When an MBS User Service Announcement is delivered using the VIA_MBS_DISTRIBUTION_SESSION Service Announcement Mode, the multipart MIME document, including the MBS User Service Announcement document, is pulled by the MBSTF for transmission in a special service announcement Object Distribution Session.

This necessitates the MBSF being able to serve the multipart MIME document to the MBSTF for inclusion in the service announcement Object Distribution Session.

Server

The HTTP Server shall be capable of serving multiple User Service Descriptions Bundles as multipart/related objects which contains the application/3gpp-mbs-user-service-description+json;‌profiles="urn:3GPP:26517:17:baseline";‌version="Rel17" type MBS User Service Announcement document as the first part of the multipart. The path will be used to discriminate between User Service Descriptions Bundles for different MBS User Services by using the mbsUserServId as a path element. See TS 26.517 Clause 5.3 for more details of the User Service Descriptions Bundle.

So that this can be multiplexed, if required, with other API services we will also use a distinct path prefix.

Therefore the User Service Descriptions Bundles shall be served using the following URL path:

/x-5gmag-service-announcements/v1/user-service/{mbsUserServId}

...for all User Service Descriptions for an MBS User Service

/x-5gmag-service-announcements/v1/user-data-ingest-session/{mbsUserDataIngSessId}

...for the User Service Description related to a single MBS User Data Ingest Session

There is also a need to fetch individual documents for a PASSED_BACK User Service Description, this will use the following paths:

/x-5gmag-service-announcements/v1/user-data-ingest-session/{mbsUserDataIngSessId}/announcement.json
/x-5gmag-service-announcements/v1/user-data-ingest-session/{mbsUserDataIngSessId}/{distributionSessionId}.sdp

The standard If-Modified-Since and/or If-None-Match headers may be provided in the client request to detect if the User Service Descriptions Bundle has changed.

The MBSF will respond with one of the following:

Status Code Headers Body Notes
200
  • Content-Type: multipart/related
  • ETag: "<Hash of the User Service Descriptions Bundle>"
  • Last-Modified: <Date of the last change to the MBS User Service or one of the attached MBS User Data Ingest Sessions, whichever is later>
multipart/related document with the first part being the MBS User Service Announcement When {mbsUserServId} indicates a valid MBS User Service which has a VIA_MBS_DISTRIBUTION_SESSION Service Announcement Mode
304 When the If-None-Match header value in the request matches the hash of the current User Service Descriptions Bundle or when the If-Modified-Since header value is a date-time on or after the last change to the MBS User Service or one of the attached MBS User Data Ingest Sessions, whichever is later. Not for initial implementation.
307/308 Location: <URL of alternative server> When service is being redirected to another MBSF, either temporarily or permanently. Not to be implemented in this initial version and is only here for future expansion if and when service migration is implemented in the MBSF.
404 When the {mbsUserServId} does not match any known MBS User Service
500 Unexpected internal error

Configuration Variables

KeyDescriptionExample
mbsf
userServiceAnnouncement
addrIP address for the User Service Announcement HTTP server. The addr and port pair may be repeated to provide multiple listening addresses. The should be at least one address for Nmb2 and one for MBS-1 reference points, these may be the same entry if Nmb2 and MBS-1 share the same network interface.127.0.0.80
portTCP port for the User Service Announcement HTTP server. The addr and port pair may be repeated to provide multiple listening addresses. The should be at least one address for Nmb2 and one for MBS-1 reference points, these may be the same entry if Nmb2 and MBS-1 share the same network interface.8000

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions