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
| Key | Description | Example |
| mbsf | | | |
| userServiceAnnouncement | | | |
| addr | IP 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 |
| port | TCP 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 |
Introduction
When an MBS User Service Announcement is delivered using the
VIA_MBS_DISTRIBUTION_SESSIONService 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/relatedobjects which contains theapplication/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:
...for all User Service Descriptions for an MBS User Service
...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_BACKUser Service Description, this will use the following paths:The standard
If-Modified-Sinceand/orIf-None-Matchheaders 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:
VIA_MBS_DISTRIBUTION_SESSIONService Announcement ModeIf-None-Matchheader value in the request matches the hash of the current User Service Descriptions Bundle or when theIf-Modified-Sinceheader 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.Configuration Variables