Dialogic PowerMedia MRB Technology Guide

Type
Technology Guide
Dialogic® PowerMedia
Media Resource Broker (MRB)
Technology Guide
November 2022
Rev 5.1.3
www.dialogic.com
Copyright and Legal Notice
Copyright © 2022 Enghouse Systems Limited (“Enghouse”). All Rights Reserved. You may not reproduce this
document in whole or in part without permission in writing from Enghouse at the address provided below.
All contents of this document are furnished for informational use only and are subject to change without notice and
do not represent a commitment on the part of Enghouse and its affiliates or subsidiaries ("Enghouse"). Reasonable
effort is made to ensure the accuracy of the information contained in the document. However, Enghouse does not
warrant the accuracy of this information and cannot accept responsibility for errors, inaccuracies or omissions that
may be contained in this document.
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH DIALOGIC® PRODUCTS. NO LICENSE,
EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY
THIS DOCUMENT. EXCEPT AS PROVIDED IN A SIGNED AGREEMENT BETWEEN YOU AND ENGHOUSE, ENGHOUSE
ASSUMES NO LIABILITY WHATSOEVER, AND ENGHOUSE DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY,
RELATING TO SALE AND/OR USE OF ENGHOUSE PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO
FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY
RIGHT OF A THIRD PARTY.
Enghouse products are not intended for use in certain safety-affecting situations.
Due to differing national regulations and approval requirements, certain Enghouse products may be suitable for use
only in specific countries, and thus may not function properly in other countries. You are responsible for ensuring
that your use of such products occurs only in the countries where such use is suitable. For information on specific
products, contact Enghouse at legal.operations@enghouse.com.
It is possible that the use or implementation of any one of the concepts, applications, or ideas described in this
document, in marketing collateral produced by or on web pages maintained by Enghouse may infringe one or more
patents or other intellectual property rights owned by third parties. Enghouse does not provide any intellectual
property licenses with the sale of Enghouse products other than a license to use such product in accordance with
intellectual property owned or validly licensed by Enghouse and no such licenses are provided except pursuant to a
signed agreement with Enghouse. More detailed information about such intellectual property is available from
Enghouse's legal department at 80 Tiverton Court, Suite 800 Markham, Ontario L3R 0G4.
Enghouse encourages all users of its products to procure all necessary intellectual property licenses required to
implement any concepts or applications and does not condone or encourage any intellectual property infringement
and disclaims any responsibility related thereto. These intellectual property licenses may differ from country to
country and it is the responsibility of those who develop the concepts or applications to be aware of and comply with
different national license requirements.
Dialogic, Dialogic Pro, DialogicOne, Dialogic Buzz, Brooktrout, BorderNet, PowerMedia, PowerVille, PowerNova,
ControlSwitch, I-Gate, Veraz, Cantata, TruFax, and NMS Communications, among others as well as related logos,
are either registered trademarks or trademarks of Enghouse and its affiliates or subsidiaries. Enghouse's trademarks
may be used publicly only with permission from Enghouse. Such permission may only be granted by Enghouse legal
department at 80 Tiverton Court, Suite 800 Markham, Ontario L3R 0G4. Any authorized use of Enghouse's
trademarks will be subject to full respect of the trademark guidelines published by Enghouse from time to time and
any use of Enghouse's trademarks requires proper acknowledgement.
The names of actual companies and products mentioned herein are the trademarks of their respective owners.
This document discusses one or more open source products, systems and/or releases. Enghouse is not responsible
for your decision to use open source in connection with Enghouse products (including without limitation those referred
to herein), nor is Enghouse responsible for any present or future effects such usage might have, including without
limitation effects on your products, your business, or your intellectual property rights.
3
Table of Contents
1. Introduction .................................................................................................. 6
Media Resource Broker ............................................................................................. 6
When to Use PowerMedia MRB .................................................................................. 7
Scale and Performance .......................................................................................... 8
Redundancy and High Availability ........................................................................... 8
Role of PowerMedia MRB in IMS ................................................................................ 9
In-Line MRB Mode .............................................................................................. 10
2. PowerMedia MRB ........................................................................................ 11
PowerMedia MRB Solution Architecture ..................................................................... 11
PowerMedia MRB Components ................................................................................ 12
PowerMedia MRB Media Path ................................................................................... 13
PowerMedia MRB Deployment Models....................................................................... 13
MRB Redundancy Architecture .............................................................................. 14
Media Server Redundancy ................................................................................... 19
PowerMedia MRB Supported Media Control Protocol ................................................... 21
MSML Support .................................................................................................... 22
JSR 309 Support ................................................................................................ 22
NETANN Support ................................................................................................ 22
RESTful Support ................................................................................................. 23
PowerMedia MRB Traffic Routing Algorithm ............................................................... 25
Step 1: Protocol Determination ............................................................................ 26
Step 2: Online Media Servers ............................................................................... 27
Step 3: Capabilities Selection ............................................................................... 27
Step 4: Capacity Selection ................................................................................... 27
Step 5: Location Selection (Optional) .................................................................... 27
3. Application Interaction ............................................................................... 28
SIP P-MRB Header ................................................................................................. 28
Global Unique Session ID ....................................................................................... 30
PowerMedia MRB RESTful API ................................................................................. 31
Overview ........................................................................................................... 31
Event Handler Resource ...................................................................................... 31
Event Handler Sub-Resource ................................................................................ 33
Events ............................................................................................................... 34
PowerMedia MRB SIP Moved Call Event .................................................................... 35
Preserving DTMF Listeners on Media Server Failover .................................................. 36
Call Control RESTful API ...................................................................................... 36
SIP and MSML .................................................................................................... 37
Conference Overflow ........................................................................................... 39
RESTful Resource Steering ..................................................................................... 39
3PCC RESTful Call re-INVITE ................................................................................... 40
Call Control RESTful API PowerMedia MRB Redundancy ........................................... 40
Multiple MSML Conference Creation ......................................................................... 41
PowerMedia MRB Call Groups .................................................................................. 41
4
Revision History
Revision
Release Date
Notes
5.1.3
October 2023
Align the document revision with the
release version.
Removed outstanding reference to RTP
Proxy.
5.1
November 2022
Updates to support PowerMedia XMS
Release 5.1.
5.0 (Updated)
April 2021
PowerMedia MRB Deployment Models:
Added information to the Virtual IP
Address section about deployment in
the Microsoft Azure Platform.
5.0 (Updated)
March 2021
Media Server Redundancy: Removed
“perfmanager” from list of PowerMedia
XMS services that indicate a media
server instance failure.
5.0
August 2020
A new Enghouse logo was added to the
header along with a new Enghouse
copyright section as per legal.
PowerMedia MRB Media Path: Updated
the section.
PowerMedia MRB Deployment Models:
Added information to the Virtual IP
Address section.
4.0 (Updated)
June 2019
Call Control RESTful API PowerMedia
MRB Redundancy: Updated the section.
4.0 (Updated)
April 2019
RESTful Resource Steering: Updated
the section.
5
Revision
Release Date
Notes
4.0
March 2019
Updates for MRB version 4.0.
PowerMedia MRB RESTful API: Updated
the Event Handler Resource and Events
sections.
PowerMedia MRB SIP Moved Call Event:
Added the section.
Preserving DTMF Listeners on Media
Server Failover: Added the section.
RESTful Call Steering: Added the
section.
3PCC RESTful Call re-INVITE: Added
the section.
Call Control RESTful API PowerMedia
MRB Redundancy: Added the section.
Multiple MSML Conference Creation:
Added the section.
3.0
October 2017
Updates for MRB version 3.5.
PowerMedia MRB Deployment Models:
Updated the section.
PowerMedia MRB RESTful API: Added
the section.
PowerMedia MRB Call Groups: Added
the section.
2.0
April 2017
Updates for MRB version 3.3.
MRB for 1PCC RESTful (SIP
Applications): Updated the section.
1.0
November 2016
Initial release of this document.
Refer to www.dialogic.com for product updates and for information about support policies,
warranty information, and service offerings.
6
1. Introduction
This document provides an overview of Dialogic® PowerMedia Media Resource Broker
(also referred to herein as "PowerMedia MRB" or "MRB") solution. The PowerMedia MRB is a
media load balancer that provides high availability, scalability and redundancy while
managing and monitoring media server resources, such as Dialogic® PowerMedia
Extended Media Server (also referred to herein as "PowerMedia XMS" or "XMS").
Media Resource Broker
The Media Resource Broker (MRB), including the PowerMedia MRB, is a standardized
network element, defined by RFC 6917, that manages media resource availability and
reliability, providing improved utilization and reliability of deployed media resources in the
network. As defined in MRB specifications, these elements perform critical media resource
management functions, including the following:
Balancing requests from multiple application servers or app server clusters
Efficiently utilizing and allocating the Media Resource Function (MRF) and Media
Server (MS) resource pools
Providing a monitoring mechanism for media server status and capabilities
Supporting media control payloads such as MSML, JSR 309, NETANN, and RESTful
MRBs are formally defined by the IETF in RFC 6917 - Media Resource Brokering. The MRB
has also been incorporated in the 3GPP TS 23.218 IP Multimedia System (IMS) architecture
as the functional entity responsible for query and management of MRFs in the IMS network.
In addition to meeting the functional requirements specified in the MRB standards
referenced above, the PowerMedia MRB provides many additional capabilities, including the
following:
Stateful call preservation
Intelligent resource control
MRB high availability
Local and geographic redundancy
Broad range of standard media server interfaces
Management interfaces
7
The following diagram illustrates the role of the PowerMedia MRB to manage PowerMedia
XMS resources among various geographic sites:
The PowerMedia MRB provides clustering of PowerMedia XMS instances to support higher
density, high availability, and scalability requirements of a variety of application services.
The PowerMedia MRB is designed to handle large transaction rates and can effectively and
efficiently load balance the traffic among available PowerMedia XMS instances (MRFs), even
those instances located in different geographic regions. The PowerMedia MRB is
implemented to be a stateful load balancer and actively monitors and tracks capacity and
availability of individual PowerMedia XMS instances. As the PowerMedia MRB is stateful, it
can also support real-time call preservation. In case of failure, the PowerMedia MRB can
dynamically restore established media sessions for conferences and bridged calls to an
alternate XMS instance, ensuring continuity of service.
When to Use PowerMedia MRB
The PowerMedia MRB is critical for applications that utilize network media resources. The
PowerMedia MRB can provide advantages in the network architecture including the
following:
Scale and Performance
Redundancy and High Availability
8
Scale and Performance
The PowerMedia MRB provides software resource management and media load balancing
across a cluster of media servers, such as a cluster of PowerMedia XMS systems. The
PowerMedia MRB offloads the media load balancing duties from application servers in the
network and provides one entry point to the media resources that is used across a variety of
networks and devices.
Interacting with the MRB effectively provides an interface that appears and functions like a
single media server resource. Providing a single point of entry reduces complexity for media
service applications by:
Shielding applications from managing multiple entry points that would be presented
when managing more than a single media server device.
Providing sophisticated failure detection and reporting without the need for client
interaction.
Providing advanced services such as conference/bridged call preservation and
service continuity during failure scenarios.
Allowing future proof scaling solutions that can be expanded and reduced as
required to grow with the surrounding solution.
Allowing new applications to take advantage of advanced MRB features such as the
P-MRB header (as described in SIP P-MRB Header) to increase performance of the
overall solution.
MRB can be easily included in legacy application deployments if required without
need for application code changes to accommodate the introduction.
Redundancy and High Availability
The PowerMedia MRB supports both MRB redundancy and media server redundancy. The
PowerMedia MRB supports local redundancy and failover between MRB instances by
replicating call and conference states for failover. The PowerMedia MRB also handles media
server local and geographic redundancy to provide high availability of media servers in case
of outages. Additionally, the PowerMedia MRB supports service call continuity by providing
call preservation of conferences and joined call sessions.
9
Detailed information about redundancy and high availability can be found in this document:
For more information about MRB redundancy and high availability, see MRB
Redundancy Architecture.
For more information about media server redundancy, see Media Server
Redundancy.
Role of PowerMedia MRB in IMS
The IP Multimedia Subsystem (IMS) architecture is intended to provide a unified framework
for deploying and delivering Internet Protocol (IP) based services. The IMS network places a
large emphasis on media resources in its network as a major component for deploying IP-
based services. Media resources are more generally known as a Media Resource Function
(MRF) in the IMS. The Media Resource Broker is a standardized network element that
manages resource availability and reliability. The Media Resource Broker made its first
appearance in Release 8 of IMS.
The following diagram shows the role of the PowerMedia MRB in the IMS network as defined
by 3GPP TS 23.218 for In-Line MRB mode:
The diagram shows the following interfaces that interact with the PowerMedia MRB and
PowerMedia XMS as the MRF:
Mr - Indirect Media Control (SIP)
Mr' - Direct AS to MRF Control (SIP)
Cr - Control Package
The PowerMedia MRB is positioned with the SIP Interface (ISC/Mr) from the S-CSCF and
also direct interface from an Application Server (Mr'). These interfaces are used to provide
IP-based applications and services deployed in an IMS environment with the ability to
request an appropriate MRF depending on the various requirements and characteristics.
10
In-Line MRB Mode
The In-Line MRB Mode is illustrated in the diagram. In this role, the PowerMedia MRB fronts
all the media control protocols and acts as an intermediary back-to-back user agent
(B2BUA) to forward the commands to the appropriate media server based on resource
needs and availability. It effectively sits in the signaling path between the client and a
media server, referred to as "in-line".
In the IMS network, for example, the In-Line MRB uses Session Initiation Protocol (SIP) as
the transport protocol between the Application Server and PowerMedia MRB. The Application
Server issues requests using SIP to the PowerMedia MRB, which sits directly in the signaling
path to act as an intermediary. On receiving a SIP request, the PowerMedia MRB inspects
and uses its knowledge of Media Resource Functions (MRF) available in the IMS network to
select the most appropriate one to complete the media resource request. The selection
decision includes capacity and capability data relating to the MRF as well as any other
available external information. Once the PowerMedia MRB has made the media resource
selection decision, the SIP request is routed to the appropriate MRF. The Application Server
then uses the MRF as it would have without the help of the PowerMedia MRB using the
selected control protocol, such as MSML.
11
2. PowerMedia MRB
PowerMedia MRB Solution Architecture
The PowerMedia MRB solution has the following components:
MRB Pair is a highly available pair of MRBs fronted by a Virtual IP (VIP). A
redundant pair of MRBs working in an active/standby configuration can replicate
state and take over in the event of an outage.
Media Server Cluster is a pool or cluster of media server resources, such as
PowerMedia XMS, that are managed by PowerMedia MRB. PowerMedia XMS utilizes
the media server adaptor component to provide the RFC 6917 MediaCtrl interface.
The media server adaptor requests resources and reports resource status of
PowerMedia XMS back to the PowerMedia MRB.
MRB Cluster Management is done via the PowerMedia MRB web user interface
(MRB console), which provides configuration, status, and monitoring of the MRB
cluster and each of the media resources in the pool.
The following diagram shows the overall PowerMedia MRB solution architecture:
12
PowerMedia MRB Components
The PowerMedia MRB comprises of the following components:
Media Resource Broker (MRB) - this is the primary MRB application component of
the solution providing capacity and capability monitoring of media resources as well
as a highly intelligent routing engine. The PowerMedia MRB uses MediaCtrl, as
defined by RFC 6917, to monitor and manage media resources of a media server.
Media Server Adaptor - this resides on the PowerMedia XMS and provides an
adaptation function for reporting of media resource capability and capacity
information. The media server adaptor communicates to the PowerMedia MRB using
the latest media control and brokering standards. The PowerMedia XMS is delivered
with the latest version of the media server adaptor to communicate with the
PowerMedia MRB as shown in the following diagram:
The PowerMedia MRB is positioned in the network between client applications and a varied
number of media server resources, such as PowerMedia XMS. Multiple applications and
services can interact directly with the PowerMedia MRB to access the cluster of media
resources. The PowerMedia MRB matches incoming protocol requests (for example, a SIP
INVITE request) from client applications and select an appropriate media server resource
based on matching information such as capability, location, and available media server
resource capacity information.
To install and configure the PowerMedia MRB for a working MRB test setup, refer to the
Dialogic® PowerMedia Media Resource Broker (MRB) Quick Start Guide.
For PowerMedia MRB installation and configuration information, refer to the Dialogic®
PowerMedia Media Resource Broker (MRB) Installation and Configuration Guide.
13
PowerMedia MRB Media Path
The PowerMedia MRB only inserts itself in the signaling path of traffic being managed for a
pool of media servers. Media traffic flows directly between the client and PowerMedia XMS
media server without PowerMedia MRB interaction.
This deployment, as shown in the diagram, significantly reduces traffic traversing the
PowerMedia MRB solution, providing higher capacity than if the MRB was also in the path for
media. When SIP signaling is used, SIP re-INVITEs are sent to
re-establish media when the MRB moves the session between media servers.
PowerMedia MRB Deployment Models
While the redundant MRB pair is the most typical deployment model for highly available and
reliable networks, the different deployment models each have some advantages in different
customer situations. All deployment models listed support media server failover, high
availability of conferences and joined calls, as well as a single application point of access to
all media server resources for high scale applications.
The following diagram provides examples of PowerMedia MRB deployment options:
The deployment models shown in the diagram are described below:
14
Redundant MRB Configuration - In this deployment model, a pair of PowerMedia
MRB instances are used in active/standby configurations. The Redundant MRB
Configuration is ideal for networks that require high availability and "carrier grade"
reliability. This is the most common and recommended deployment model.
Redundant MRB Configuration with External Load Balancer - In this
deployment model, an external load balancer can be used to provide redundancy
between multiple pairs of PowerMedia MRB instances in active/standby
configurations. The external load balancer extends the capacity of the PowerMedia
MRB over the Redundant MRB pair.
MRB Redundancy Architecture
Redundant PowerMedia MRB Pair
A redundant MRB deployment consists of a pair of PowerMedia MRB nodes, as shown in the
diagram. The PowerMedia MRB nodes are configured to work together from both a
provisioning and a signaling perspective.
Each MRB instance is configured to manage the same combinations of media server
resources. When fail-over occurs all SIP and media control requests and responses are sent
to, and received from, the correct destination endpoint to the proper media server resource.
Active/Standby Instances
This redundant pair of MRB instances work together in a dual active/standby MRB
configuration, as shown in the diagram. The two MRBs communicate with each other over a
dedicated link and replicate appropriate provisioning and operational states. An internal
heartbeat mechanism is used to monitor the health of MRB instances for active failover. The
Active MRB fronts all the media control messages while the standby MRB replicates the call
states and is ready to take over on MRB failure.
15
If the PowerMedia MRB application or machine running the primary MRB becomes inactive,
the standby MRB instance in the cluster handles all subsequent service requests. Since the
standby MRB maintains the same state as the first MRB, the standby MRB can detect that
the primary MRB is down and continue to run where the primary MRB left off. The standby
MRB becomes the active MRB and continues media brokering even after the first MRB
instance comes back online.
Virtual IP Address
To support the redundant MRB configuration, the PowerMedia MRB directly presents a
Virtual IP address (VIP) as the access point into the PowerMedia MRB. The VIP is used by
both the active and standby instances so that all media control messages are presented to
both MRB instances. It is recommended that a dedicated local Ethernet interface is used
between the active and standby instances so that call states can be replicated. Geographical
separation of the active and standby MRB instances is not currently supported.
If an external load balancer is not being used, the PowerMedia MRB directly presents a VIP
address to the application. If an external Load Balancer is being used, the PowerMedia MRB
still presents its own VIP address, but the application sends requests to the load balancer
address instead.
16
To manage these VIP addresses, the MRB uses an internal VIP Manager component. The VIP
Manager uses a pluggable framework to control the way addresses are presented to the
network and manipulated when an instance takes over the active management of the MRB
cluster, thereby providing a transparent experience to the client applications. This gives the
MRB flexibility to deploy in a number of network environments and to support Cloud
environments following the best practice guidelines of the provider. Dialogic welcomes
discussions with customers if their requirements deviate from those supported in the
product.
The following environments are currently supported:
Layer 2 Mapping for Bare Metal/VM Installations
This is the default mode for VIP Management in the MRB and can be used in many
environments, including bare metal servers in a traditional physical network, and Virtual
Machines in environments such as Openstack and VMWare. The requirement is that the
platform does not enforce port security or this can be easily configured to allow multiple IP
addresses to be presented by the instance.
In this mode, the VIP Manager will apply the VIP addresses as secondary address to the
configured network interface in its network stack and will use ARP broadcasts to ensure that
servers on the local (layer 2) subnet (and any connected routers) will have the correct
mapping to direct traffic to the interface of the active MRB server currently hosting the VIP.
Amazon Web Services Elastic Compute Cloud (AWS Ec2)
In this mode, the VIP Manager uses AWS APIs to move a secondary IP address between the
MRB instances, which is a technique that was described during the AWS re: Invent CPN207:
Virtual Networking in the Cloud session. This secondary IP address is the configured VIP
address in the MRB screens; optionally, this can be associated with an Elastic IP address
(public IP) in which case the public IP will also move between nodes on fail-over.
There are a few requirements to ensure that the AWS instances and the rest of your AWS
infrastructure are correctly configured. Dialogic can provide an example Cloud Formation
Template to illustrate how to set this up and form the bases of your deployment.
In brief, the requirements are:
An AWS Virtual Private Cloud Network (VPC)
An AWS Identity and Access Management (IAM) Role with the permissions:
o ec2:DescribeNetworkInterfaces
o ec2:AssignPrivateIpAddresses
AWS EC2 Security Groups to allow traffic to ingress/egress as required
AWS EC2 Instances for the MRB and Media Server clusters
Google Cloud Platform
In this mode, the VIP Manager uses GCloud APIs to create and manage a set of Routes to
direct traffic to the currently active MRB instance. The movement of the virtual IP addresses
between the two MRB instances is a hybrid of Option 3 and 4 from Google's Best Practices
for Floating IP Addresses in that it manages high and low priority routes for each VIP to the
two instances that are dynamically created by the VIP Manager during startup and when
switching the active node is required.
This solution allows client instances (XMS, application servers, and SBC) to be placed in
Peered networks if desired. Any peering networks would require the custom routes to be
dynamically shared and the impact on performance would need to be considered.
17
Configuration is also available to support Shared VPC deployments where the MRB
instances are deployed in the service network and configured to manipulate the Routes in
the host network.
There are a few requirements and deployment considerations that must be followed to
deploy successfully within GCP:
MRB instances must be placed in the same GCP Network. There is no enforced
restriction on the subnet, region, or zone that each instance is placed in. It is
recommended that the instances are placed in the same region and different zones
as this gives the best performance and reliability trade off. It is not expected that the
MRB pair be split across regions, although if the network characteristics can be
reliably tested to perform well enough, there is no technical restriction to this.
MRB instances must have the "IP forwarding" flag set to "true" on the network
interface that will be hosting the VIPs. This setting allows GCP to route the VIP
address traffic to ingress and egress the instances.MRB instances must have a Service
Account set that has the read/write scope for
the Compute Engine APIs. The following methods must be enabled:
o compute.instances.get, compute.instances.list Used to retrieve metadata about the
MRB
instances.
o compute.networks.updatePolicy Used to configure when compute instances can be
updated.
o compute.routes.create, compute.routes.delete, compute.routes.get, compute.routes.lis
t Used to maintain a high and low priority route to
the MRB instances for VIP traffic.
o compute.zones.list Used to retrieve list of available Zone resources.
VIP Addresses, as stated in Google best practices, must be assigned from an IP
range that is NOT part of any defined subnet within your GCP project. Therefore, a
range of IP addresses must be reserved and managed for this purpose outside of
GCP. The MRB can then be configured with these for its VIP address and will create
the routes to ensure that traffic is routed to the correct instance.
Microsoft Azure Platform
In this mode, the VIP Manager manages a health-check service that is only active on the
currently active MRB instance. This allows the management of traffic to the active instance
to be controlled by an Azure Load Balancer (Standard SKU only). Although this does
introduce some latency to the failover between MRB nodes, it is currently the fastest
available solution on the Azure platform.
This solution allows the MRB instances to be separated into Availability Zones or Availability
Sets for better tolerance in fault and maintenance scenarios. The client instances (XMS,
application servers, and SBC) may be placed in any networks and zones that have access to
the Azure Load Balancer front-end IP addresses, which are used as the VIP addresses.
There are a few requirements and deployment considerations that you must follow to
successfully deploy within Azure:
MRB instances must be placed in the same Azure Network and subnet, which may
span availability zones. It is recommended that the instances are placed in different
zones as this gives the best performance and reliability trade off. It is, however,
possible to use Availability Sets to provide a lower level of fault tolerance if this is
desired.
18
MRB instances must have the “IP Forwarding” setting enabled in the Azure IP
Configuration that hosts the primary IP address for the interface the VIP will be
configured on in the MRB. This switches off port security within the Azure Network
layer and allows the MRBs to send and receive traffic on the VIP address.
VIP Address, which is configured in the MRB (Inbound, Outbound, and optionally
Management), must match a front-end IP address configured in the Azure Load
Balancer.
Azure Load Balancer:
o Standard SKU: The configured Azure Load Balancer is required to be a
Standard SKU. The Microsoft documentation here provides further information
on Load Balancer SKUs.
o Internal Load Balancer: Should be an Internal Load Balancer. It is
expected that all MRB client traffic (XMS, application servers, SBCs) will be
accessing the MRB via the internal network.
o Tier: Should be a regional Tier.
o Vnet and Subnet: Must be placed in the same VNet and Subnet as the MRB
instances.
o Zone: Should be zone-redundant to ensure that it is independent of the
zones the MRB instances are placed in. It is possible to place it in a third zone
if your region supports this; however, thought should be given to the possible
failure modes and the effect on the overall redundancy of the solution.
o Frontend IP Configurations: Must be configured with at least two frontend
IP configurations for the MRB Inbound and Outbound VIPs.
o Backend Pool: Must be configured with a backend pool that contains both
MRB instances (using the primary IP Address of the interface that will host the
VIP to identify the MRB).
o Health Probe: Must be configured with a TCP Health Probe that matches the
configured Health Check Port on the MRB instances.
This should be configured with the minimum values for the Interval
and Unhealthy threshold values (currently 5 seconds and 2
consecutive failures, respectively). This gives the best performance
possible for the load balancer to direct traffic to the active node after a
failover. This takes between 10 and 15 seconds. For more details, refer
to the Microsoft documentation here.
o Load Balancing Rules: Must be configured with a Load Balancing rule for
each configured VIP to map inbound traffic to the active node.
Each rule should have the following properties:
IPv4
HA Ports enabled. This enables load balancing on all ports for both
UDP and TCP. It should be noted that the Azure Load Balancer does
not pass ICMP traffic.
Health Probe configured to the MRB health check port.
MRB backend pool.
Session persistence set to none. This allow each request to be
effectively load balanced to the active node.
19
Floating IP enabled. This preserves the VIP address on the traffic to
the MRB instance so that it can process each VIP appropriately.
o Network Security Groups:
Care must be taken to ensure that the Azure network will allow traffic
to flow between all the required components (including the Load
Balancer MRB Health Check port). This is primarily managed in
Network Security Groups, but other methods may be more appropriate
in your use case.
For example, the flows you might consider are:
Application Servers → Azure Load Balancer Frontend IP address for
the Inbound VIP
Azure Load Balancer → MRB (including the health check port)
XMS → Azure Load Balancer Frontend IP address for the Outbound
VIP
MRB → XMS Non VIP status and control traffic
MRB1 → MRB2 Status and replication traffic
XMS → SBC/External client Media Path
Media Server Redundancy
Local MS Redundancy
The PowerMedia MRB solution supports N+1 and N+M media server redundancy
architecture. The PowerMedia MRB continuously monitors the health and status of the
individual PowerMedia XMS instances in a managed media server resource cluster and can
take PowerMedia XMS instances out of service if failure is detected. The PowerMedia MRB
will continue to route new calls away from out of service media resources until the instance
is back online and reporting healthy status.
The PowerMedia MRB monitors for PowerMedia XMS failure or outages using a number of
monitoring methods:
MediaCtrl Framework Monitoring - The PowerMedia MRB monitors the status of
the RFC 6917 MediaCtrl and keepalive (TCP session) between MRB and media server
adaptor.
SIP Call Control Session Monitoring - The PowerMedia MRB monitors the SIP
sessions transitioning through MRB and will cleanup state based on failure
conditions.
RTP Stream Monitoring - The PowerMedia MRB samples the status of an RTP
stream connection between the PowerMedia MRB and PowerMedia XMS. The test RTP
stream can optionally be configured through the PowerMedia MRB console to enable
this method of RTP stream watchdog to look for breaks in RTP as an indication of
media server failure. The RTP failure detection period is configurable.
To facilitate monitoring and active control of the PowerMedia XMS, each instance of the
PowerMedia MRB (both instances of an MRB HA pair deployment) creates a general purpose
SIP utility leg that is used for various functions. The SIP utility leg is used to:
Provide the underlying SIP call for the RTP stream monitoring.
Manage a subset of MSML call flows where the PowerMedia MRB does not have an
active leg to the PowerMedia XMS.
Note: Each MRB will create a utility call to each PowerMedia XMS that it is load balancing. If
the MRB configuration is high availability (HA), there will be two utility calls on each
20
PowerMedia XMS (one for each MRB). These utility calls will use one basic audio license each
(one signaling and one RTP resource).
An important component of the PowerMedia MRB monitoring of PowerMedia XMS is the
tracking of key services. These services are considered critical PowerMedia XMS services
that would indicate a media server instance failure:
hmp (Media Processing Service)
broker (Message Routing Service)
xmserver (Signaling and Media Service)
appmanager (Application Interface Service)
eventmanager (Event Manager Service)
msml (MSML Service)
The PowerMedia MRB automatically takes PowerMedia XMS instances offline if it detects a
failure condition, as discussed previously in this section. The MRB will continue to monitor
the PowerMedia XMS instance that is failed and reintroduce to the active pool of media
resources on recovery. Some of the PowerMedia MRB health checks are intentionally
throttled to avoid aggressively flooding the network during times of failure and instability.
It should be noted that an administrator of the PowerMedia MRB is also able to manually
remove a PowerMedia XMS from the active cluster, take it offline, and preserve conference
and joined calls for maintenance reasons. This function, for example, can also be used in
conjunction with the "Graceful Shutdown" option provided by the PowerMedia XMS and
exposed using the PowerMedia MRB console.
Geo-Redundancy
The PowerMedia MRB Active/Standby nodes must be co-resident in the same network in
order to allow the PowerMedia MRB pair to replicate states. However, multiple MRBs can be
configured to access the same PowerMedia XMS resources across multiple site locations.
The PowerMedia MRB prioritizes traffic to the local media server nodes unless there is a
service outage or an incoming media resource request cannot be serviced due to lack of
resources (for example, number of available ports or codec type). If there is a site outage,
the PowerMedia MRB pair will then be able to steer traffic to the available remote site
location.
The following diagram shows an example of a geo-redundant configuration:
  • Page 1 1
  • Page 2 2
  • Page 3 3
  • Page 4 4
  • Page 5 5
  • Page 6 6
  • Page 7 7
  • Page 8 8
  • Page 9 9
  • Page 10 10
  • Page 11 11
  • Page 12 12
  • Page 13 13
  • Page 14 14
  • Page 15 15
  • Page 16 16
  • Page 17 17
  • Page 18 18
  • Page 19 19
  • Page 20 20
  • Page 21 21
  • Page 22 22
  • Page 23 23
  • Page 24 24
  • Page 25 25
  • Page 26 26
  • Page 27 27
  • Page 28 28
  • Page 29 29
  • Page 30 30
  • Page 31 31
  • Page 32 32
  • Page 33 33
  • Page 34 34
  • Page 35 35
  • Page 36 36
  • Page 37 37
  • Page 38 38
  • Page 39 39
  • Page 40 40
  • Page 41 41

Dialogic PowerMedia MRB Technology Guide

Type
Technology Guide

Ask a question and I''ll find the answer in the document

Finding information in a document is now easier with AI