MSRP Tasks

Version 1.14

This document describes the MSRP Tasks, provided as custom tasks that must be installed with PureLoad/PureTest on each installation using these tasks.

Before you use the tasks, read more about installing and how to load custom tasks .

MSRP Protocol Support

The MSRP tasks implements support for MSRP as specified by:

  • The Message Session Relay Protocol (MSRP) RFC 4975
  • Connection Establishment for Media Anchoring (CEMA)
    for the Message Session Relay Protocol (MSRP) RFC 6714
  • Connection-Oriented Media Transport over the Transport Layer Security
    (TLS) Protocol in the Session Description Protocol (SDP) RFC 4572

Task overview

A typical simple scenario simulation an active MSRP endpoint will look something like:

  • MsrpInitTask
    To initiate an active MSRP session
  • MsrpSendTask
    To send a MSRP SEND request to a remote endpoint
  • MsrpWaitForReportTask
    To wait for a MSRP REPORT message (if indicated by previous MsrpSendTask)
  • MsrpCloseTask
    To close the MSrP client and release all resources

Also take a look at the example PLC files provided in the test/msrp directory.


Provided tasks


MsrpInitTask

MsrpInitTask to initiate the MSRP stack and create a local session to be used by other MSRP tasks in this scenario.

Parameters

  • Client Host
    MSRP client host name of IP address.
  • Client Port
    MSRP client port (0 to let system choose).
  • Session Id
    Client Session Id (blank to generate automatically). Normally only required if multiple sessions used withing the same scenario.
  • Active Endpoint
    Choose to select active/inviting MSRP endpoint.
  • Local URL Variable Name
    Variable name used to store generated local URL.
  • Local URL Variable Name
    Variable name used to store used local port.
  • Protocol
    MSRP protocol to use (TCP or TLS). Use TLS to enable encrypted connections (msrps). (see Using TLS)
  • TLS Server Certificate Path
    Path to certificate (in PCKS#12 format). (see Using TLS)
  • TLS Server Certificate Password
    Password (Pass phrase) for certificate. (see Using TLS)
  • TLS Client Certificate Path
    Path to certificate (in PCKS#12 format). (see Using TLS)
  • TLS Client Certificate Password
    Password (Pass phrase) for certificate. (see Using TLS)
  • Fingerprint Variable Name
    Variable name used to store the SHA-1 fingerprint of the client certificate.
    The fingerprint is formatted as a ‘fingerprint-attribute’, see RFC 4572 section 5.
  • Content Body Checksum
    Algorithm for content body checksum (MD5, SHA-1, SHA-256 or blank for none).
    The checksum for sent messages are stored in variable msrp_snd_checksum
    and for received messages in msrp_rcv_checksum.
    NOTE:
    All MsrpInitTask within a scenario must use the same checksum algorithm – it is not possible to mix.
  • Trace Information
    Add trace information to be used when logging errors (typically things like MSISDN etc).

MsrpSetMiddleboxTask

Task used to set a middlebox host and port to support Connection Establishment for Media Anchoring (CEMA).

Parameters

  • Session Id
    Client Session Id (blank to generate automatically). Normally only required if multiple sessions used withing the same scenario.
  • Middlebox Host
    Middlebox server host name or IP address (CEMA).
  • Middlebox Port
    Middlebox server port (CEMA).

MsrpCloseTask

Close any open connections and release any resources allocated by the internal MSRP stack. This task should always be used last in a scenario with MSRP tasks.


MsrpSendTask

Send MSRP message using existing MSRP session. Task will excecute until specified content data has been sent.

Parameters

  • Local URL
    Local MSRP URL.
  • Remote URL
    Remote MSRP URL. Must be and URL representing the receiving end.
  • Session Id
    Client Session Id (blank to use default)
  • Content Type
    Content Type of data to be sent.
  • Content
    Content in text format.
  • Success Report
    Indicate if Success Report to be sent by receiving end or not (YES/NO).
  • Failure Report
    Indicate if Failure Report to be sent by receiving end or not (YES/NO/PARTIAL).

MsrpSendFileTask

Send MSRP message using existing MSRP session. Data to be sent is read from specified file path. The extension of the read file is used to define content type of data sent. Task will excecute until specified content data has been sent.

Parameters

  • Local URL
    Local MSRP URL.
  • Remote URL
    Remote MSRP URL. Must be and URL representing the receiving end.
  • Session Id
    Client Session Id (blank to use default)
  • File Path
    Path to file with data to be sent.
  • Success Report
    Indicate if Success Report to be sent by receiving end or not (YES/NO).
  • Failure Report
    Indicate if Failure Report to be sent by receiving end or not (YES/NO/PARTIAL).

MsrpWaitForMessageTask

Receive MSRP SEND request using existing MSRP session. Task will block until a SEND request received.

Parameters

  • Local URL
    Local MSRP URL.
  • Remote URL
    Remote MSRP URL. Must be and URL representing the receiving end.
  • Session Id
    Client Session Id (blank to use default)
  • Response Status Code
    Set this to force a specific response status code (leave blank for default)
  • Response Comment
    Set this to force a specific response comment (leave blank for default)

MsrpWaitForReportTask

Receive MSRP REPORT request using existing MSRP session. Task will block until a REPORT request received.

Parameters

  • Local URL
    Local MSRP URL.
  • Remote URL
    Remote MSRP URL. Must be and URL representing the receiving end.
  • Session Id
    Client Session Id (blank to use default)

MsrpSetTraceInfoTask

MSRP set trace information task. This task is used to set/update trace information used when logging errors.

Parameters

  • Session Id
    Client Session Id.
  • Trace Information
    Add trace information to be used when logging errors (typically things like MSISDN etc).
About Emblasoft

From innovation, to validation and smooth operation, our solutions help operators and equipment vendors deliver outstanding services and performance to their customers.

Emblasoft Test & Measurement AB
Hammarby allé 29
120 32 Stockholm, Sweden

Send us an email: contact@emblasoft.com

  • Linkedin
  • Twitter
Ready to talk to us?