In MME Nodal testing, the Ub Flows tab on the PC3/PC8/Ub Interface allows for support of supplementary services : In the Proximity-based Services (ProSe) network, PC3 is the reference point between the UE and ProSe Function. PC8 is the reference point between the UE and ProSe Key Management Function. The SUT is ProSe Fn/BSF.
The purpose of the Ub (Bootstrapping interface) is to create a security association between UE and BSF.
The following diagram in 3GPP TS 23.303 shows that the Prose Function is a logic function in the ProSe network used for network related action.
Bootstrapping is performed over HTTP, or optionally HTTPS. The TLS connection between UE and BSF will based on certificates.
After PSK-TLS connection is set up successfully, various of procedures can be performed over PC3 and PC8 interfaces. The following diagram is from TS 33.303.
List of applicable documents referenced by this topic:
Document Number |
Title |
3GPP TS 23.305 Release 15 |
Proximity-based (ProSe); Stage 2 |
3GPP TS 24.109 Release 14 |
Bootstrapping interface (Ub) and network application function interface (Ua); Protocol details |
3GPP TS 24.333 Release 16 |
Proximity-based (ProSe) Management Objects (MO) |
3GPP TS 24.334 Release 15 |
Proximity-based (ProSe) User Equipment (UE) to ProSe function protocol aspects |
3GPP TS 24.623 Release 14 |
Extensible Markup Language (XML)Configuration Access Protocol (XCAP) over the Ut interface for Manipulating Supplementary Services |
3GPP TS 23.003 Release 14 |
Numbering, addressing and identification |
3GPP TS 33.804 Release 12 |
Single Sign On (SSO) application security for Common IP Multimedia Subsystem (IMS) based on Session Initiation Protocol (SIP) Digest |
3GPP TS 33.210 Release 14 |
Network Domain (NDS); IP network layer security |
3GPP TS 33.220 Release 14 |
Generic Authentication Architecture (GAA); Generic Bootstrapping Architecture (GBA) |
3GPP TS 33.222 Release 15 |
Generic Authentication Architecture (GAA); Access to network application functions using Hypertext Transfer Protocol over Transport Layer Security (HTTPS) |
3GPP TS 33.303 Release 15 |
Proximity-based (ProSe); Security aspects |
3GPP TS 33.310 Release 16 |
Network Domain Security (NDS); Authentication Framework (AF) |
Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing |
|
Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
|
Hypertext Transfer Protocol (HTTP/1.1): Caching |
|
Hypertext Transfer Protocol (HTTP/1.1): Authentication |
|
HTTP Digest Access Authentication |
|
Pre-Shared Key Ciphersuites for Transport Layer Security (TLS) |
|
MIKEY; Multimedia Internet KEYing |
|
Hypertext Transfer Protocol (HTTP) Digest Authentication Using Authentication and Key Agreement (AKA) |
HTTP Messages HTTP Flow:
|
HTTP SCRIPT: HTTP Supplementary Script - Create HTTP tests using Scripts and Actions HTTP Message Editor (Right pane)
|
The HTTP tab | HTTP Messages pane displays two columns/panes. The left pane displays HTTP message flows line diagram and the right column/pane displays the relevant message header and message body content. When you click on a message (of a flow) in the left pane, the message is highlighted and on the right column/pane, displays the HTTP message headers and Body (HTTP message body, where applicable) for the highlighted message.
A default configuration is displayed as a template and allows you to modify HTTP headers and body (XML Body), where applicable. (A template is displayed for every HTTP message available to be modified).
Open a HTTP Flow Template |
Click
|
|
Save as Data Profile Template |
Click to
|
|
Pop-up HTTP Flow |
Click to |
|
HTTP Flow Line Diagram |
Click on any HTTP Flow Message (left column) to enable HTTP Message editor (right column):
|
The HTTP Call Flow (Left Pane) shows a flow of messages expected for a current test configuration. When you select a message in the flow control area, default HTTP templates are shown in the editing windows (Right Pane).
The line diagram illustrates standard representation of the selected message. Each message (represented by a horizontal line) includes a text string (Field) or a combination of a text string and predefined parameter type (Filler; shown in blue on the right pane).
Use Default |
Selected by default. When selected, default content of HTTP headers and HTTP body are used in the test case. When not selected, the template will be used to replace the default message content. |
|
HTTP Flow Line Diagram |
Click on any HTTP Flow Message (left column) to enable HTTP Message editor (right column)
|
Use Default |
When selected, for all messages in the test case, Use Default is disabled for individual message (on the Right Pane). |
||||||||||
When not selected, individual message editor will be enabled for configuration. |
|||||||||||
Reset, Field+ (list), and Filler+ (list) |
Available when Use Default is not selected. The Reset, Field+ , and Filler+ buttons help you with the editing process. You may replace the original Fields and Fillers in the message Header/Body by any text. See list of Message Header/Body.
|
||||||||||
|
|||||||||||
Conditional Parameters (used when parameters used in your template do not exist in the original message) |
Since a configurable HTTP message is generated from an existing message, some parameters used in your template may not exist in the original message. You may use “…-if” parameter to take care of such cases.
|
||||||||||
Example HTTP Header and Template |
UB_REQ_INIT_GET
GET /HTTP/1.1{CR}{LF} Host: {bsf-host}{CR}{LF} User-Agent: Bootstrapping Client Agent: Release-6; 3gpp-gba-tmpi{CR}{LF} Date: {current-time}{CR}{LF} Authorization:Digest username="{private-user-identity}", realm="{bsf-realm}", nonce="", uri="/", response="",{CR}{LF} {CR}{LF} |
||||||||||
Example XML Body |
|
The HTTP Supplementary option provides users with a way for creating HTTP tests using scripts and actions.
The main advantage of using scripts and actions; is to allow users creating different HTTP message flows tailored to their particular test environments.
A script (a sample is shown below) consists of one of more actions.
An action performs a particular small common task in HTTP tests such as BootStrapping With BSF. Actions are fixed and predefined by Landslide software; they cannot be created by users.
Message |
Example UE Starts BootStrapping With BSF, and succeeded script:
|
Ub Actions |
See Complete list of Actions - Ub Actions |
Ub Built-ins |
See Complete list of Built-in Scripts - Ub Built-in Scripts |
XCAP HTTP 1.1 Methods for UT Client:
GET METHOD |
HTTP GET method can be used to fetch the xml data for a particular supplementary service. GET method can be challenged by the XCAP server. |
PUT METHOD |
HTTP PUT method can be used to update the xml data for a particular supplementary service. PUT method can be challenged by the XCAP server. |
DELETE METHOD |
HTTP DELETE method can be used to remove the xml data for a particular supplementary service or the entire document. DELETE method can be challenged by the XCAP server. |
The following message flows will be available for each supplementary service.
User can select the supplementary service as shown in the table below.
BootStrapping (Success) |
UE Starts BootStrapping With BSF, and succeeded Action: |
BootStrapping (fail) |
UE Starts BootStrapping With BSF, and failed action: |
Wait For Time |
Halt a script for a specified amount of time.
|
A Successful Bootstrapping Procedure |
UE Starts BootStrapping With BSF, and succeeded script:
|
UB_REQ_INIT_GET |
GET /HTTP/1.1{CR}{LF} Host: {bsf-host}{CR}{LF} User-Agent: Bootstrapping Client Agent: Release-6; 3gpp-gba-tmpi{CR}{LF} Date: {current-time}{CR}{LF} Authorization:Digest username="{private-user-identity}", realm="{bsf-realm}", nonce="", uri="/", response="",{CR}{LF} {CR}{LF} |
UB_REQ_GET
|
GET /HTTP/1.1{CR}{LF} Host: {bsf-host}{CR}{LF} User-Agent: Bootstrapping Client Agent: Release-6; 3gpp-gba-tmpi{CR}{LF} Date: {current-time}{CR}{LF} Accept:*.*{CR}{LF} Authorization: Digest username="{private-user-identity}", realm="{bsf-realm}", nonce="{default-nonce}", uri="/", cnonce="{default-cnonce}", nc={default-nc}, response="{default-response}", opaque="{default-opaque}",algorithm=AKAv1-MD5{CR}{LF} {CR}{LF} |