VMRF Overview
VMRF Overview
Function Survey
Disclaimer
The contents of this document are subject to revision without notice due to
continued progress in methodology, design and manufacturing. Ericsson shall
have no liability for any error or damage of any kind resulting from the use of this
document.
Trademark List
All trademarks mentioned herein are the property of their respective owners.
These are shown in the document Trademark Information.
Contents
1 Function Overview 1
1.1 vMRF Architecture 2
1.2 Virtual Machine Functions in vMRF 2
1.3 Roaming SC in vMRF 3
3 Audio Announcements 6
6 Playing Tones 10
8 Audio Conferencing 12
9 Overload Protection 13
10 Shared Storage 14
16 VMware Tools 27
Reference List 29
1 Function Overview
The Virtual Multimedia Resource Function (vMRF) is used to mix and process
media streams. vMRF is controlled by the Multimedia Telephony Application
Server (MTAS), using H.248 control protocol over the Mp interface. Optionally,
vMRF can also be controlled by another Application Server (AS) using Media
Server Control Markup Language (MSCML) over the Mr interface, providing
Interactive Voice Response (IVR) services. Figure 1 illustrates signaling and
payload traffic related to vMRF.
AS
Mr (SIP/MSCML/IP)
— Audio conferencing
— Playing tones
vMRF supports the following functions on the Mr interface for the IVR service
using MSCML:
— Playing audio announcements
vMRF supports the following audio codecs on the Mp interface: AMR-NB, AMR-
WB, EVS, G.711, G.722, and G.729.
The use of EVS requires the Enhanced Voice Services capacity license
and connection to a Network License Server (NeLS).
vMRF supports the following audio codecs on the Mr interface: G.711, G.722, and
G.729.
VNF
VM1 VM2 VMn
SC PL SC PL SC PL
CPU Memory Storage Network CPU Memory Storage Network CPU Memory Storage Network
.....
Figure 3 vMRF Architecture
The vMRF VNF can be deployed in the network multiple times, each time as a
separate VNF.
— Payload (PL) function: The PL function processes user plane traffic and
H.248 signaling traffic. Each VM in a VNF provides the same PL functionality
and has the same configuration (except local IP addresses).
— System Controller (SC) function: The SC function processes O&M traffic and
is responsible for the VNF internal clustering function that is needed for
scaling out and scaling in. All VMs in the VNF can act as the SC, but the SC
function is active in only one VM at a time. The active SC VM is selected by
the Roaming SC function, see Roaming SC in vMRF on page 3.
Configuration data is synchronized between the VMs using internal NFS servers
and clients connected through the internal VLAN. This VLAN must not be
exposed to external networks. The active SC VM contains the NFS server, while
the PL VMs the clients. Both server and clients connect to the shared location at /
media/cluster_sync.
With the Roaming SC scheme, all SCs have one of the following states:
— ACTIVE: The ACTIVE SC is processing O&M traffic for the VNF. The SC
function runs on a separate core from the PL functions.
— STANDBY (sb): The STANDBY SC functions only as a PL VM, but it becomes the
ACTIVE SC in case of the failure of the current ACTIVE SC.
— QUIESCED (q): All VMs that are not in STANDBY or ACTIVE SC state are in
QUIESCED state. They function as PL VMs, and are ready to take either the
ACTIVE or STANDBY SC state when needed.
— QUIESCED: All SCs that are not ACTIVE or STANDBY are in QUIESCED state.
Additionally, the new ACTIVE SC takes over the internal NFS server function. The
NFS clients in the rest of the VMs mount this server.
To prevent two SCs operating at the same time, the new SC VM starts processing
O&M traffic only after a delay period: about 5 seconds after cluster startup, or 6.5
seconds after the failure of the ACTIVE SC VM.
For the incoming SDP offer the highest priority audio codec received in the SDP
offer that is supported by the vMRF is selected for the media stream. In addition,
if the SDP offer included also a telephone-event corresponding to the RTP clock
rate of the selected audio codec, then the telephone-event is also selected for the
media stream. The selected audio codec, and possibly the selected telephone-
event, is sent back in the SDP answer.
For outgoing SDP offer the following audio codecs are sent in the SDP offer in
this priority order: EVS, AMR-WB, G.722, AMR, G.729, PCMA, and PCMU. The
highest priority audio codec, and possibly the telephone-event corresponding to
the RTP clock rate of that audio codec, received in the SDP answer is used for the
media stream.
3 Audio Announcements
Basic announcement
A basic announcement is a standalone announcement file
that contains audio data of a spoken word or phrase.
Variable announcement
A variable announcement is an announcement whose
spoken information heard by the user depends on input
data received in a play request. vMRF supports the
following variable announcement types:
— digits
— date
— time
— number
— money
Fixed announcement
A fixed announcement consists of a single basic
announcement.
Segmented announcement
A segmented announcement is a compilation of
individual announcements referred as announcement
DTMF digits can be detected either as inband signals from an audio stream or as
separate telephone events. In case of a telephone event, the DTMF digits are
detected from the RTP packets that use telephone-event payload format with
dynamically established RTP payload type number. DTMF detection is done
either for inband signals or for telephone event, not for both types
simultaneously. If telephone event payload type has been negotiated for the
audio stream, then vMRF detects DTMF telephone events, otherwise audio
inband signals.
DTMF digits are specified in a dialing plan, called a digit map. The digit map
resides in the vMRF and it is used to detect and report certain DTMF patterns
received from the user plane. A pattern is a set of rules which express how the
user is expected to dial DTMF digits, including, for example, digit names and
timer values for the detection process. Up to 16 different DTMF digits can be
used, corresponding to the following symbols: 0, 1, 2...9, A, B, C, D, *, #. The digit
map is preloaded dynamically for each session by the controlling node over
H.248 or Mr-interface. vMRF detects as many DTMF digits as it is contained in the
digit map. If all digits match, vMRF notifies the controlling node that DTMF digits
were collected successfully. The notification contains the digits that were
collected and number of attempts that were made to detect the digits.
Note: This feature is supported only if the vMRF is controlled over H.248.
vMRF supports forwarding of DTMF digits through audio conference from one
participant to all other participants. The function supports detection of either
telephone-event DTMF or audio DTMF from the participant, based on SDP
negotiation. While detecting audio DTMF digits, the received audio DTMF digits
are filtered out from the stream before mixing audio by the audio mixer. The
detected DTMF digits are sent to all other participants either as telephone-event
DTMF or audio DTMF, based on SDP negotiation with each participant. The
context topology and termination stream mode information is checked and
obeyed before forwarding DTMF digits from one participant to another
participant. The function can be enabled by configuration.
6 Playing Tones
Note: This feature is supported only if the vMRF is controlled over H.248.
vMRF supports playing of tones to the user plane based on request from the
MTAS. For supported tones, see Tone Sender Service on page 21.
Note: This feature is supported only if the vMRF is controlled over H.248.
vMRF supports emergency and priority call handling for the following call types:
— Emergency calls
— Priority calls
The size of the priority pool can be configured in the vMRF. For more information
on priority pool, see vMRF Configuration Management.
For emergency and priority call handling the following rules apply:
— Emergency and priority calls are never rejected because of network level
admission control or high CPU load
8 Audio Conferencing
Note: This feature is supported only if the vMRF is controlled over H.248.
The audio conferencing feature provides a service that allows the connection of
as many as 30 participants to a conference call. For each participant, it can be
specified whether the connection is unidirectional (listening only) or bidirectional.
The audio conferencing feature can dynamically mix audio from several
participants. The audio from a participant is mixed to the audio conference based
on active speaker logic.
Each client can have its own codec in use, and the Audio Conferencing feature
provides transcoding between them. Audio mixing is performed at 16 kHz
sampling rate. This guarantees wideband conferencing experience for wideband-
capable terminals.
Note: Because audio mixing is done using linear PCM format, transcoding is
needed for each conference participant.
The following audio codecs are supported by vMRF: PCM, EVS, G.722, G.729,
AMR-NB, and AMR-WB.
9 Overload Protection
To detect an overload situation in the network caused by high network traffic, the
vMRF monitors the following:
— vMRF IP Pipeline vSwitch load (outgoing packets are dropped if the vSwitch
cannot process more packets)
10 Shared Storage
The use of shared storage is optional in vMRF. It allows for the storage of log
files, crash dump files, and configuration backups on a remote server. To use it, a
remote server with SSHFS (Secure Shell Filesystem) installed must be configured.
The remote server and the exported files are managed by the operator.
— log files from the /var/log directory, including journal log files
vMRF connects to the server with SSHFS (Secure Shell Filesystem), mounts a
specified directory path, and creates a subfolder for the cluster, and subfolders for
the files for each VM in the cluster. This ensures that logs and other shared files of
different VMs and VNF instances do not get mixed up. For authentication, an SSH
key pair has to be created. This key pair can be cluster-specific, or common for all
clusters. The prerequisites for the remote server are the following:
— the public key is appended to the authorized keys file using the following
command:
For more information on the HOT template configuration, see Deployment Guide
for OpenStack and Deployment Guide for Cloud Execution Environment (CEE).
For OVF configuration, see Deployment Guide for VMware vSphere and
Deployment Guide for VMware vCloud Director.
<YYYYMMDD>_<hhmmss>_mrf.tar.gz
The copy of the latest backup file is also saved as mrsv_config.tar.gz in the
same directory. This file is synchronized across all VMs of a cluster to enable any
new SC to restore configuration after cluster restart.
When the maximum number of backup files is reached, the oldest backup file is
deleted before a new backup is stored.
vMRF can perform automatic configuration restore if all VMs in a cluster reboot
simultaneously. In this case, the new SC VM looks for mrsv_config.tar.gz in /
cluster/storage/configurationbackups/ and imports the configuration to
the VNF, if the file exists.
IPv4 addresses are 32 bits long. In written format, the address is divided into four
8-bit (1 byte) long sections, using dots as separators. For example,
172.16.254.1 (decimal digits).
IPv6 addresses are 128 bits long. In written format, the address is divided into
eight 16-bit long sections (pairs of bytes), using colons as separators. For
example, 2001:db8:ffff:1:201:2ff:fe03:405 (hexadecimal digits).
IPv4 and IPv6 use the following different methods for address resolution and
next hop supervision:
— Address Resolution Protocol (ARP): It maps an IPv4 address to the
corresponding MAC address.
The following subfunctions are supported by both the ARP and the ND:
— Next hop MAC address fetching
Next hop addresses for the following networks are defined in the MOM after
instantiation:
— IPv4 media networks
— O&M networks
— Signaling networks
Internet Control Message Protocol for IPv6 (ICMPv6) is used for fetching the
next hop addresses.
If VLAN transparency is enabled, the OpenStack port does not overwrite the
VLAN ID (configured in vMRF) in the sent packets.
Before setting the signaling VLAN ID, all MrfH248Interface MOs must be
locked. Alternatively, the signaling VLAN ID can be set before creating the
MrfH248Interface MOs.
These attributes are applicable only if the VLAN transparency feature has been
enabled at deployment.
— Internal
— Internal O&M
— External O&M
The AMR speech coder operates in different modes, representing source rates
from 4.75 kbps to 12.2 kbps. The selected rate is a trade-off between speech
quality and robustness. AMR complies with 3GPP TS 26.071.
The AMR-WB codec has the following nine source rates: 6.60, 8.85, 12.65, 14.25,
15.85, 18.25, 19.85, 23.05, and 23.85. These AMR-WB rates correspond to SDP
mode-set values from 0 to 8 (no mode-set on SDP means the same as all rates
supported). The codec is able to switch its bit rate every 20 ms. See 3GPP TS
26.171.
The Audio Mixing service has an active speaker logic that determines which
clients are included in the audio mix. This is based on voice activity detection. The
detection algorithms calculate frame power, detect pitch, and estimate tonal
activity to determine whether a client is speaking or not. Active speaker logic also
ensures that the client has a long enough speech period before it is included in
the audio mix, and a hangover period before the included client is dropped from
the audio mix.
For Audio DTMF, the DTMF-R detects each signaling tone, validating a correct
tone pair and checking the timing. In the presence of speech, additional tests are
performed to avoid interpreting a speech waveform as a valid signal tone. DTMF-
R can be configured to detect overdriven DTMF tones. Without this setting, these
tones would be dropped, because the harmonics produced by the low-frequency
DTMF tones that fall within the passband of the high-frequency DTMF tones can
be considered an indication of speech. For Telephone-Event DTMF, the digits are
interpreted from RTP packets according to RFC 4733.
The media can be encoded with EVS or with EVS AMR-WB IO mode. The frame
size is 20 ms and the RTP timestamp is always generated with 16kHz clock. 20
ms and 40 ms packetization times are supported for EVS.
Note: The use of the EVS codec requires the Enhanced Voice Services capacity
license and connection to a Network License Server (NeLS).
vMRF supports G.729A with packet loss concealment. A packet loss concealment
mechanism is supported in order to minimize the distortion in output speech
caused by lost or excessively late speech packets. The G.729A is bit stream
interoperable with the full version of G.729.
In the beginning of the call the jitter buffer size is always the configured initial
jitter buffer size, but during the call the jitter buffer size adapts to the measured
jitter.
RTCP can be used to monitor the aliveness of the session as well as quality of
service during an ongoing RTP session, according to RFC 3550.
• Ringing Tone
The Tone Sender service can be configured through the TsTone MO. Configurable
tone parameters include tone type, tone duration, frequencies, levels, play and
pause times. For more information, see vMRF Configuration Management.
MSCML is an XML protocol carried inside SIP to provide IVR functions. MSCML
payload in SIP messages in Mr interface is supported. The AS controlling the
vMRF is able to play announcement and collect DTMF digits by sending SIP INFO
message that contains the MSCML payload. The MSCML payload contains the
information needed to start these services.
— file://localhost/
— http://localhost/
— file:///<filepath>/
— duration(1)
— repeat
— locale
audio — url
Subelement of prompt. Mandatory parameter.
— file://localhost/
<announcementId>
— http://localhost/
<announcementId>
— file:///<filepath>/
<filename>
The configuration of
BasicAnnouncement MO
is not needed if logical file
names are used.
— http://<announcementId>
Where <announcementId> is
an integer between 0 and
65535.
variable Supported parameters:
Subelement of prompt. — type
— value
— date
— time
— number
— money
pattern –
Subelement of playcollect.
mgcpdigitmap Supported parameters:
Subelement of pattern. — value
— name
(1) Only supported for play request.
The watchdog device consists of an emulated Intel 6300 ESB device running
within the hypervisor and a watchdog daemon running on each VM instance.
Note: The watchdog device is pinged only when the flavor is configured with
the watchdog action as well, otherwise changing watchdog parameter
values has no result.
— The kernel process table is full (that is, the watchdog cannot create new
processes).
While a monitored system parameter indicates fatal state, no heartbeats are sent
to the watchdog device, so it performs the configured watchdog action (as set
during flavor creation).
16 VMware Tools
vMRF includes Open VM Tools (OVT) in the guest OS. OVT is an open source
implementation of VMware Tools. It consists of virtualization utilities that
improve the functionality and management of VMs within a VMware
environment.
Normally vMRF ignores and discards, or rejects H.248 packages and properties
related to the unsupported features. To avoid confusion and unnecessary
troubleshooting, all H.248-controlled features that are not supported by vMRF
must be turned off in the MTAS configuration.
The maximum number of vCPUs per VM is also limited by the number of physical
CPU cores in the underlying hardware architecture. This means that, depending
on the infrastructure, the maximum number of VMs and vCPUs can be lower than
the software limitations described in the table.
Reference List