Ub Flows Tab


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 procedure is embedded in the PSk-TLS handshaking process:

 

BootStrapping Over Ub:

HTTPS and MIKEY Based Procedures on PC3:

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)

RFC 7230

Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

RFC 7231

Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

RFC 7234

Hypertext Transfer Protocol (HTTP/1.1): Caching

RFC 7235

Hypertext Transfer Protocol (HTTP/1.1): Authentication

RFC 7616

HTTP Digest Access Authentication

RFC 4279

Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)

RFC 3380

MIKEY; Multimedia Internet KEYing

RFC 3310

Hypertext Transfer Protocol (HTTP) Digest Authentication Using Authentication and Key Agreement (AKA)

 


HTTP Messages

HTTP Flow:

HTTP Messages

 

 

 

HTTP SCRIPT:

HTTP Supplementary Script  - Create HTTP tests using Scripts and Actions

HTTP Message Editor (Right pane)

  • HTTP Flow Editor (Left Pane)

  • HTTP Message Editor (Right Pane)

  • Actions (Right Pane) - select from a list of  actions

  • Built-ins (right pane) - Select from a list of pre-built scripts

 

 


Ub HTTP Messages

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 to open the HTTP Flow Template window and select a HTTP Flow from the available libraries.   

NOTE: The Save Template Dialog automatically uses the last opened/saved template name and you may edit it as required.

Save as Data Profile Template

Click to save the elected HTTP Flow as a template.

NOTE: Copy of Data Profile and HTTP Flow Templates prevent copy/move of system owned dependent items, e.g. {Basic}, {Scenario…} library items.

Pop-up HTTP Flow

Click to open the HTTP Flow in a larger re-sizable window.

HTTP Flow Line Diagram

Click on any HTTP Flow Message (left column) to enable HTTP Message editor (right column):

NOTE: If a HTTP message is not available for editing, the right column remains blank. (Headers and Body tab remain blank).

 


Ub HTTP Call Flow (Left Pane)

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)

NOTE: If a HTTP message is not available for editing, the right column remains blank. (Headers and Body tab remain blank).

 


HTTP Messages Editor (Right Pane)

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.

Reset

Click to reset the modified content back to the default configuration

Field+

Click to display a list of text string. Select a text string to insert within your SIP message.  You may also right-click at the insertion point, select the Insert HTTP Field option from the context menu.

Options: Authorization, Content-Length, Content-Type, Host, MME-Version, User-Agent, X-3GPP-Intended-Identity

Filler+

Click to display a list of parameters/variables. Select a parameter to insert within your HTTP message, which is shown in blue.  You may also right-click at the insertion point and select the Insert Auto-Fill option from the context menu.

  • See Fillers:

 

  • "XML Body” is present exclusively for the XML data that will be carried in a message. This will be applicable only for PUT Message operations which will be part of actions that have “Update Service Info”. For “Custom Service” Action for “Updating Service Info”, the XML Body tab will be enabled for editing but will be blank.

XML Body:

<?xml version="1.0" encoding="UTF-8"?>{LF}

<communication-diversion active="true">{LF}

<NoReplyTimer>10</NoReplyTimer>{LF}

<cp:ruleset>{LF}

<cp:rule id="rule66">{LF}

<cp:conditions>{LF}

<ss:busy/>{LF}

<ss:media>audio</ss:media>{LF}

<cp:identity>{LF}

<cp:one>id=serveduser@domain</cp:one>{LF}

</cp:identity>{LF}

</cp:conditions>{LF}

<cp:actions>{LF}

<forward-to>{LF}

<target>[email protected]</target>{LF}

<notify-caller>true</notify-caller>{LF}

</forward-to>{LF}

</cp:actions>{LF}

</cp:rule> {LF}

</cp:ruleset>{LF}

</communication-diversion>

CRLF/CR/LF

Click to insert carriage return (CR) or line feed (LF) characters or both (CRLF) at the selected byte/offset or right-click at the insertion point and select the New Line Mode option from the context menu.

Right-Click context menu

You may also right-click at the insertion point and select the required option from the context menu: Insert Field, Insert Auto-Fill, or New Line Mode (CRLF, CR, LF).

 

Editing HTTP Message

  • Clear Use Default selected (both in the Left and the Right panes).
  • Select the required flow (represented by a line in the left pane), a pre configured template displays (where applicable) on the right pane.
  • Click the Header/Body tab to edit, insert, modify, delete information by using the Field + (list) or the Filler + (list) as required.

Example of what happens when editing

  • Text string (field) that is not followed by a parameter (filler):

User-Agent: Spirent-Ut-Client{CR}{LF}

Text string User-Agent: Spirent-Ut-Client will always be included in the final message.

• Text string followed by a variable/parameter/filler:

  • Content-Type: <{Content-type}>{CR}{LF}

  • If {Content-type} exists in the original message then the final message will include string.

Content-type: <sip:[email protected];transport=udp>

  • If {Content-type} does not exist in the original message then the whole string will not be in the final message.

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.

-if

Parameters with -if at the end are applied to the text string that starts from the previous parameter (Filler). Parameter with –if be inserted to indicate that this text string should be skipped if it does not exist in the message.

Examples:

Content-Length:{content-length-if}{CR}{LF}

Text string Content-Length  will be included in the final message only if it exists in the original message.

Content-Length:{CR}{LF}

Attribute Content-Length will be always included into the final message regardless of whether it exists in the original message.

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

 

HTTP Supplementary Script

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

^ Back to Top


XCAP HTTP 1.1 Methods for Ub Client

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.

Message flows for Ub Client supplementary services:

The following message flows will be available for each supplementary service.

User can select the supplementary service as shown in the table below.

Ub Actions

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.

 

 

Ub Built-ins Script

A Successful Bootstrapping Procedure

UE Starts BootStrapping With BSF, and succeeded script:

 

HTTP Message Header/Body

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}

 

^ Back to Top