Skip to content

MBSF: Compile User Service Announcement #7

@devbbc

Description

@devbbc

References

TS 26.517 clause 5

Details

The User Service Announcement is a bundle of multiple files presented in MIME multipart/related format. The first/root document is a User Service Descriptions document. The other files included in the bundle are the dependant resources referenced by the User Service Descriptions document or other dependant resources. See TS 26.517 clause 5.3.1A for a fuller description.

TS 29.580 defines three MBS User Service Announcement Modes namely VIA_MBS_5 , VIA_MBS_DISTRIBUTION_SESSION and PASSED_BACK . User Service Announcement mode is conveyed as part of MBSUserService.UserAnnModes.

  • In VIA_MBS_5, the MBS User Service Announcement is compiled by the MBSF and is advertised to the MBSF Client.

    • The mbsUserServiceAnmtUrl attribute of the MBSUserDataIngSession data type (of type Uri) indicates the URL from which the MBS User Service Announcement is available to be retrieved by the UE's MBS Client from MBS AF.
    • This attribute is present only in an HTTP PUT/PATCH response to an MBS User Data Ingest Session update/modification request.
    • This attribute is present only if all the constituent MBS Distribution Session(s) are in the ESTABLISHED or ACTIVE state.
  • In VIA_MBS_DISTRIBUTION_SESSION modes, the MBS User Service Announcement is compiled by the MBSF and is advertised to the MBSF Client.

    • The announcement is conveyed via a special MBS Distribution Session managed by the MBSF called the User Service Announcement Channel.
  • In PASSED_BACK, the MBS User Service Announcement is compiled by the MBSF and is passed back to the MBS Application Provider by the MBSF (Nmbsf_MBSUserDataIngestSession service).

    • The JSON data structure only is conveyed in the mbsUserServiceAnmt attribute of data type UserServiceDescription and this attribute represents the MBS User Service Announcement currently associated with the MBS User Data Ingest Session.
    • The UserServiceDescription data type is specified in TS 26.517.
    • According to table 6.2.6.2.2-1 of TS 29.580 V18.7.0, this attribute is present only in the response to an HTTP PUT/PATCH to an MBS User Data Ingest Session update/modification request.
      • Gap in TS 29.580 or else in TS 26.502 and TS 26.517.
        1. Amend TS 29.580 to additionally populate the attribute for POST and GET.
        2. Amend TS 29.580 to add the User Service Descriptions Bundle to the payload of the USER_SER_AD notification.
          • This option is not viable because EventNotification lacks a structured payload.
        3. Modify TS 26.502 and TS 26.517 to provide a reference point and API to serve the UserServiceDescription JSON document, the SDP documents and the Application Service Entry Point documents (per TS 26.502: No reference point for User Service Description retrieval by the MBS Application Provider Standards#193).
      • For the time being, the implementation will additionally populate the attribute for POST and GET (option 1).
    • This attribute is present only if all the constituent MBS Distribution Session(s) are in the ESTABLISHED or ACTIVE state.

Populating data structures for User Service Announcement

A User Service Announcement is a JSON document describing the parameters of a single MBS User Data Ingest Session (see point 3 of clause 4.5.1 in TS 26.502).

To populate User Service Announcement, the MBSF defines classes UserServiceDesc, DistributionSessionDesc, ApplicationServiceDesc, AvailabilityInfo, ServiceScheduleDesc. These classes hold their respective OpenAPI generated class instantiations, metadata and methods.

The below tables show how the attributes / member variables for User Service Announcement are populated from the MBS User Data Ingest Session, its parent MBS User Service and its child objects..

Populating UserServiceDescription (UserServiceDesc.m_userServiceDescription)

Member variable Populated from Remarks
m_ServiceIds UserService.m_MBSUserService.m_ExtServiceIds
m_r_class UserService.m_MBSUserService.m_ServClass
m_Names UserService.m_MBSUserService.m_ServNameDescs
m_Names.m_Name UserService.m_MBSUserService.m_ServNameDescs.m_ServName
m_Names.m_Lang UserService.m_MBSUserService.m_ServNameDescs.m_Language
m_Descriptions UserService.m_MBSUserService.m_ServNameDescs
m_Descriptions.m_Description UserService.m_MBSUserService.m_ServNameDescs.m_servDescrip
m_Descriptions.m_Lang UserService.m_MBSUserService.m_ServNameDescs.m_Language
m_ServiceLanguage UserService.m_MBSUserService.m_MainServLangauge
m_DistributionSessionDescriptions Refer to DistributionSessionDescription table below.
m_ServiceScheduleDescriptions Refer to ServiceScheduleDescription table below. Either an array of time windows or a single member describing a Repetition Rule or set to std::nullopt if no active periods are defined.

Populating DistributionSessionDescription (UserServiceDesc.m_DistributionSessionDescriptions.DistributionSessionDescription)

Member variable Populated from Remarks
m_DistributionMethod DistributionSessionInfo.m_mbsDistributionSessionInfo.m_DistrMethod
m_ConformanceProfiles Not implemented yet. Gap in TS 26.502 and TS 29.580 - see 5G-MAG/Standards#197.
m_SessionDescriptionLocator MBSF populates with a relative URL for inclusion in multi-part User Service Descriptions Bundle.
Reference implementation is {UserDataIngSessionId}/{DistributionSessionId}.sdp
There is currently no reference point defined allowing the MBS Application Provider to retrieve the SDP document.
Gap in TS 26.502 - see 5G-MAG/Standards#193.
m_ApplicationServiceDescriptions Populated one for each object acquisition identifier.
Refer to ApplicationServiceDescription table below.
List of ApplicationServiceDescription
m_PostSessionObjectRepairParameters Refer to ObjectRepairParameters table below.
m_AvailabilityInfos Refer to AvailabilityInformation table below. List of AvailabilityInformation.
m_SecurityDescription Not implemented yet. Possible gap in TS 29.580 - see 5G-MAG/Standards#194.

Populating ApplicationServiceDescription (m_ApplicationServiceDescriptions.ApplicationServiceDescription)

Member variable Populated from Remarks
m_EntryPointLocator DistributionSessionInfo.m_mbsDistributionSessionInfo.m_ObjDistrInfo.m_ObjDistrUri + DistributionSessionInfo.m_mbsDistributionSessionInfo.m_ObjDistrInfo.m_ObjAcqIds[n]
m_ContentType Temporarily based on Content-Type response header to HTTP HEAD request for objIngUri + objAcqIds[n] Gap in TS 29.580 - see 5G-MAG/Standards#192.

Populating ObjectRepairParameters (ObjectRepairParameters)

Member variable Populated from Remarks
m_BackOffParameters.m_OffsetTime Populated from MBSF configuration in this reference implementation - see 5G-MAG/Standards#195.
m_BackOffParameters.m_RandomTimePeriod Populated from MBSF configuration in this reference implementation - see 5G-MAG/Standards#195.
m_ObjectDistributionBaseLocator DistributionSessionInfo.m_mbsDistributionSessionInfo.m_ObjDistrInfo.m_ObjDistrUri Only for Object Distribution Method.
m_ObjectRepairBaseLocator DistributionSessionInfo.m_mbsDistributionSessionInfo.m_ObjDistrInfo.m_ObjRepairUri Only for Object Distribution Method.

Populating AvailabilityInformation (AvailabilityInfo.m_availabilityInformation)

Member variable Populated from Remarks
m_MbsServiceAreas DistributionSessionInfo.m_mbsDistributionSessionInfo.m_TgtServAreas May be empty.
m_MbsServiceAreas DistributionSessionInfo.m_mbsDistributionSessionInfo.m_ExtTgtServAreas May be empty.
Mapped by NEF or MBSF.
Not implemented.
m_MbsFSAid DistributionSessionInfo.m_mbsDistributionSessionInfo.m_MbSFSAid Broadcast MBS Distribution Session only.
m_NrParameters Populated from MBSF configuration in this reference implementation - see 5G-MAG/Standards#196.
Dereference the provisioned MBS Frequency Selection Area identifier (FSA ID) above using a look-up in MBSF configuration.
Broadcast MBS Distribution Session only.
According to table 4.5.8-1 of TS 26.502, a real implementation obtains this information from the OAM using the FSA ID as the lookup key.
m_NrRedCapUEInfo Not implemented. Broadcast MBS Distribution Session only.
Not implemented in Rel-17 MB-SMF.

Populating ServiceScheduleDescription (UserServiceDesc.m_ServiceScheduleDescriptions.ServiceScheduleDescription)

Member variable Populated from Remarks
m_Id UserService.m_UserServiceId.
m_Version Set by MBSF
m_Start UserDataIngSession.m_userDataIngSession.m_ActPeriods.TimeWindow.m_StartTime
m_Stop UserDataIngSession.m_userDataIngSession.m_ActPeriods.TimeWindow.m_StopTime
m_RepetitionRule UserDataIngSession.m_userDataIngSession.m_ActPeriodsRepRule

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