Skip to main content
  • Products
    • Overview
    • Features
    • Screen Capture
    • Agent evaluation / score cards
    • Speech Analytics
    • Recording Announcement
    • Videos
    • Online demo
    • Quote
    • Download
  • Solutions
    • Businesses
    • Contact centers
    • Financial institutions
    • Healthcare
    • MiFID II compliance
    • Telecom service providers
    • Traders
  • Compatibility
    • AudioCodes
    • Avaya
    • BroadSoft
    • Cisco
    • Genband
    • IPC
    • Metaswitch
    • Oracle AcmePacket
    • SIPREC recording
    • Sonus
  • Documentation
    • User Guide
    • Administration Guide
    • Developer Guide
    • MiaRec v.3 (old) documentation
    • Resource library
    • Videos
  • Support
    • Submit a request
    • Check your existing requests
    • TeamViewer QuickSupport
  • Blog
  • Company
    • About MiaRec
    • Contact us
    • Our clients
    • Become a partner
    • News
    • Careers
    • Events

Table of Content

  • Administration Guide
    • Hardware requirements
      • Overview
      • All-in-one server
      • Decoupled architecture
      • Decoupled with GEO-redundancy
      • Disk space requirements
    • Installation
      • Ansible-based installation on Linux
        • Overview
        • 1. Prepare controller host
        • 2. Prepare target hosts
        • 3. Configure deployment
        • 4. Run playbooks
        • 5. Verify MiaRec operation
      • VMWare OVA template-based installation
      • Deploying MiaRec on Amazon AWS (up to 2,000 users)
        • 1. Network architecture
        • 2. Create VPC
        • 3. Create EC2 instances
        • 4. Configure Elastic IP address
        • 5. Install MiaRec software on EC2 instance
        • 6. Configure Route 53 DNS Failover for web traffic
        • 7. Configure DNS SRV for SIPREC traffic
        • 8. Configure SIPREC recording
        • 9. Configure automatic file relocation to Amazon S3
        • 10. Configure MiaRec replication
        • 11. Configure HTTPS for web server
        • 12. Configure CloudWatch monitoring
        • 13. Disaster recovery plan
      • Installation on Windows
        • Install MiaRec software
    • Update
      • Ansible-based update on Linux
      • Migrate from manual to Ansible-based setup
    • Post-installation tasks
      • Firewall configuration
      • Enable HTTPS for MiaRec Web portal
        • Setup free SSL certificate for MiaRec using Let's Encrypt (Ubuntu 14.04)
        • Setup free SSL certificate for MiaRec using Let's Encrypt (Centos 6/7)
        • Setup SSL certificate for MiaRec Web portal on Centos
    • Phone system integration
      • Avaya Aura call recording
        • Avaya TSAPI DMCC recording
          • 1. Introduction
          • 2. Configure Avaya Communication Manager
          • 3. Configure Avaya Application Enablement Services
          • 4. Configure MiaRec Call Recording System
          • 5. Verification and Troubleshooting
          • 6. Additional references
        • Avaya TSAPI passive recording
          • 1. Introduction
          • 2. Network Configuration
          • 3. Configure Avaya Communication Manager
          • 4. Configure Avaya Application Enablement Services
          • 5. Configure MiaRec Call Recording System
          • 6. Verification
          • 7. Additional references
      • Avaya SBCE SIPREC call recording
        • 01. How it works
        • 02. Access Avaya SBCE web interface
        • 03. Add Server Configuration Profile
        • 04. Add Routing Profile for Recording Server
        • 05. Define Application Rules
        • 06. Define Media Rules
        • 07. Configure UCID
        • 08. Define End Point Policy Group
        • 09. Define Session Policies
        • 10. Define Session Flows
        • 11. Define Server Flows
        • 12. Configure MiaRec SIPREC recordging interface
      • Broadsoft call recording
        • Broadsoft SIPREC recording
      • Cisco CUBE SIPREC call recording
        • Cisco CUBE SIPREC configuration
        • MiaRec SIPREC configuration
      • Cisco UCM call recording
        • Cisco active recording (Built-in-Bridge)
          • Overview
          • Cisco phones supporting Built-in-Bridge feature
          • Configure CUCM
            • Create SIP profile for recorder
            • Create SIP Trunk Security Profile
            • Create a SIP Trunk that points to the recorder
            • Create a recording profile
            • Create a route pattern/group for the recorder
              • Single server configuration
              • Multiple servers configuration
            • Enable Built-in-Bridge for all phones (optional)
            • Codecs configuration
          • Configure phones
            • Enable Built-in-Bridge on per-phone basis
            • Enable recording for a line appearance
          • Configure MiaRec
          • Configure firewall
          • Optional configuration
            • Configure tones for recording (optional)
            • [Howto] Configure SIP/TLS for SIP Trunk (optional)
        • Cisco phone services
      • Cisco UCM recording announcement
        • Overview
        • Installation guide
          • Player - Configuration
          • CUCM - SIP profile
          • CUCM - SIP Trunk Security Profile
          • CUCM - SIP Trunk
          • CUCM - Route pattern
          • CUCM - Built-in-Bridge (system level)
          • CUCM - TAPI user
          • Controller - Cisco TAPI TSP driver
          • Controller - Verify TAPI configuration
          • Controller - Configuration
      • Metaswitch call recording
        • Metaswitch SIPREC configuration
        • MiaRec configuration for Metaswitch call recording
        • Ignore Metaswitch internal redirect numbers
        • Automatic user provisioning
        • High availability configuration
          • SIPREC auto-failover configuration
            • Configure SIPREC auto-failover for a CFS-Perimeta-MiaRec connection
            • Configure SIPREC auto-failover for a direct CFS-MiaRec connection
        • Softkey integration with Polycom VVX (Metaswitch platform)
        • User authentication using Metaswitch CommPortal
      • Soft key integration with phones
        • Overview - Soft keys on IP phones
        • Configure MiaRec phone services
        • Integration with Cisco SPA and 3PCC series phones
        • Integration with Mitel/Aastra phones
        • Integration with Polycom VVX series phones
        • Integration with Yealink phones
        • Softkey integration with Cisco 7900, 7800 and 8800 series phones
          • Overview
          • Create MiaRec IP Phone Service
          • Subscribe each phone to MiaRec phone service
    • User management
      • Understanding user roles and permissions
      • Roles
      • Groups
      • Users
      • Associating calls with users
      • Configuring LDAP integration
      • Multi-tenancy
        • Enable multi-tenancy in MiaRec
        • Understanding multi-tenancy
        • Add tenant
    • Storage management
      • Audio file encryption
        • File encryption overview
        • Configuration check-list
        • Create new encryption key
        • Import encryption key
        • Export encryption key
        • Grant access to encryption key
        • Enable file encryption
        • Export of the encrypted files
      • Audio settings
      • Backup and restore
        • Backup call recordings
        • Restore call recordings
      • Location for audio files
        • File name format
        • Time formatting inside file name
      • Replication
        • MiaRec multi-master asynchronous replication
        • Use cases for replication
        • Configuring target server (recipient)
        • Configuring replication server (sender)
      • Retention policy
    • Customization
      • Calls list layout
      • Timezone settings
      • Translate MiaRec to other language
    • Maintenance
      • Troubleshooting
        • Log files
        • MiaRec recorder trace
      • Increase/expand an EXT4 filesystem in RHEL 6 / CentOS 6
      • Increase/expand an XFS filesystem in RHEL 7 / CentOS 7
      • License
      • Performance Monitoring
    • Speech Analytics
      • How it works - Speech Analytics
      • Set up Google Cloud Speech API
      • Create Google Cloud Storage bucket
      • MiaRec configuration
    • MiaRec Architecture
    • Screen Recording
      • How it works
      • Configure licensing
      • Configure storage
      • Configure screen recording settings
      • Generate secure token
        • A single-tenant configuration - generate token
        • A multi-tenant configuration - generate token
      • Install client application
      • Authorize new workstations
      • Configure users for screen recording
      • Verify screen recording
      • Troubleshooting
        • Troubleshooting on client side
        • Troubleshooting on server side
      • Deploy Screen Capture Client with Windows Group Policy
        • Create a Transform (MST) file
        • Put the MSI and MST files in a file share
        • Create a new GPO
    • Security
      • PCI scanners and false positives
      • Security hardening for Apache web server
    • High availability
      • Overview
      • High availability for BroadWorks SIPREC recording
      • High availability for Cisco Built-in-bridge recording
Home › Administration Guide › Phone system integration › Metaswitch call recording › High availability configuration › SIPREC auto-failover configuration ›
 

Configure SIPREC auto-failover for a CFS-Perimeta-MiaRec connection

Note: This article describes the required steps to configure auto-failover for SIPREC recording in scenario when Metaswitch CFS communicates to MiaRec recorder through Perimeta SBC as a SIP Proxy. If Perimeta SBC is not used as a SIP Proxy, then check the appropriate guide.

A network topology is shown in the following diagram.

Here, Metaswitch CFS communicates with two MiaRec recordings servers through Perimeta SBC as a SIP Proxy. DNS SRV records are used to set priorities of the recording servers.

In this configuration, auto-failover is handled by Perimeta SBC rather than CFS.

Metaswitch CFS SIPREC auto-failover with MiaRec

Step 1. Configure DNS SRV records

Create the two A-records on your DNS server. Each of records should point to the corresponding MiaRec server:

Alias Record Type Points to Description
miarec1.your-domain.com A record x.x.x.x This A-record should point to ip-address of the primary MiaRec server
miarec2.your-domain.com A record y.y.y.y This A-record should point to ip-address of the secondary MiaRec server

Create DNS SRV records on your DNS server for TCP protocol (we recommend to use TCP protocol for SBC-to-MiaRec communication):

TCP records:

# _service._proto.name.                    TTL   class   SRV   priority  weight    port   target.
_sip._tcp.miarec-siprec.your-domain.com.   1800  IN      SRV   10        50        5080   miarec1.your-domain.com.
_sip._tcp.miarec-siprec.your-domain.com.   1800  IN      SRV   20        50        5080   miarec2.your-domain.com.

In this example, we define DNS SRV name miarec-siprec.your-domain.com that points to two MiaRec servers. We use different priority values for MiaRec servers, i.e. miarec1 has priority 10 and miarec2 has priority 20. The miarec1 server will be used as a primary server. Perimeta SBC will route 100% of SIPREC traffic to miarec1 unless this server is not reachable. If miarec1 is unavailable, Perimeta SBC will route SIPREC traffic to miarec2 as a failover mechanism.

Additionally, create A-record for miarec-siprec.your-domain.com that points to the primary server. This is a fake record, which is used to suppress "could not resolve domain name" alarm on CFS SIP Binding. It doesn't affect auto-failover and server priorities.

Alias Record Type Points to Description
miarec-siprec.your-domain.com A record x.x.x.x This A-record should point to ip-address of the primary MiaRec server

Step 2. Configure Perimeta SBC

First, make sure DNS SRV lookup is enabled in Perimeta SBC. It may require the appropriate licenses to activate this feature (contact your Metaswitch representative if you are not able to active it).

Execute the following command in CLI:

sbc
    signaling
        sip dns-lookup srv-records

Create adjacency for MiaRec recorder:

config
  sbc
    signaling
      adjacency sip MiaRecCallRecording
        deactivation-mode normal
        call-media-policy
          media-bypass-policy forbid
          repeat-sdp-on-200ok
        interop
          preferred-transport tcp
          ping-enable
        mandated-transport tcp
        adjacency-type preset-peering
        privacy untrusted
        realm “Name associated with RTP Ports”
        service-address “Name associated with Service Network”
        signaling-local-port 5080
        signaling-peer miarec-siprec.your-domain.com
        dynamic-routing-domain-match miarec-siprec.your-domain.com
        signaling-peer-port 0
        statistics-setting detail
        default-interop-profile “Name of Blacklist Profile”

Replace miarec-siprec.your-domain.com with your domain name accordingly.

Use the appropriate values for realm, service-address and default-interop-profile attributes (check other adjacency on your SBC as a reference).

Explanation of the attributes of this adjacency:

  • With interop/ping-enable setting, Perimeta SBC will send periodically SIP OPTIONS (keep-alive) message to both MiaRec servers to test their availability
  • With interop/preferred-transport tcp setting, Perimeta SBC is instructed to use TCP protocol for communication with MiaRec (TCP is a preferred protocol for cases when SBC and MiaRec are located in different network segments).
  • With dynamic-routing-domain-match setting, we specify a condition when this adjancency is applied. In this example, SBC will use the adjacency when it receives a SIP INVITE packet from CFS to the request URI miarec-siprec.your-domain.com
  • With signaling-peer setting, we specify the address of MiaRec servers (should be DNS SRV name). SBC will resolve this domain name into two records (miarec1 and miarec2) and route SIPREC traffic between them accordingly.
  • signaling-local-port setting is not really important. It can be any other value. We use a port 5080 rather than a default 5060 to make our troubleshooting easier. Particularly, when looking at a call flow in SAS trace, we can easily tell if the adjacency is in place or not by looking at the source port of the SIP INVITE message.

Step 3. Configure SIP Binding for MiaRec on Metaswitch CFS

  1. In MetaView Explorer, select Object tree and views. Expand the tree until you can see the Network Element object corresponding to your MetaSphere CFS. Expand this object.

  2. Locate and expand the Controlled Networks object, then the Configured SIP Bindings object below it.

  3. Locate the SIP Binding previously created for MiaRec recorder (or create new one).

  4. Fill in the fields as follows. Any fields not listed below can be left with their default values.

    • Name: fill in a name that will help you to associate this binding with the recording server. For example, "MiaRec recorder"
    • Usage: set to Application Server
    • Use DN for identification: set to True
    • SIP authentication required: set to False
    • IP address match required: set to True
    • Contact address scheme: set to Domain name SRV lookup
    • Contact domain name: set to the DNS SRV domain name of the MiaRec recording servers (miarec-siprec.your-domain.com in our example)
    • Proxy IP address and Proxy IP port: set to the IP address and port used to communicate with Perimeta SBC (SIP proxy)
    • Trusted: set to True
    • Media Gateway model: select the model that you imported earlier in this procedure
    • Maximum call appearances: set this to the maximum concurrent calls for the recording service. Enabling Call Recording on large numbers of lines will increase the resources used by the service, particularly Media Gateway resources. Ensure that you have enough capacity to handle the expected level of recorded calls. If the MiaRec recorder server is located in a separate network, make sure that appropriate bandwidth is available for the the anticipated recording data network traffic.
    • Poll peer device: set to False (polling of peers is a responsibility of Perimeta SBC in this setup).
    • Transport protocol: set to UDP (this is an important setting. Don't be surprised, CFS-to-SBC communication is via UDP, but SBC-to-MiaRec communication is via TCP. That is how it should work).

Step 4. Test auto-failover

  1. Make a test call
  2. Verify if such call is recorded by the primary MiaRec server. If no calls are recorded, then check the Troubleshooting section below.
  3. Complete the call
  4. Simulate a failure of the primary server by stopping the recording service via SSH console:

    service miarec stop

  5. Make another test call

  6. Verify if such call is recorded by the secondary MiaRec server. If no calls are recorded, then check the Troubleshooting section below.
  7. Restore the recording service on the primary server:

    service miarec start

  8. Make another test call. 9 Verify if such call is recorded again by the primary MiaRec server. Note, it may take up to 10 minutes before Perimeta SBC begins sending SIPREC traffic to the primary server after its restoration.

Troubleshooting

In case of issues, check the following sources:

  1. Check alarms for MiaRec SIP Binding in MetaView Explorer.
  2. Check SIP messages call flow in SAS trace. Verify if SIPREC INVITE mesage is sent through Perimeta SBC. Verify if SBC sends SIP INVITE to the corresponding MiaRec server. For example, if the first server is down, SBC should send SIP INVITE to the secondary server rather than trying to reach the primary one.
  3. Enable trace in MiaRec under Administration -> Maintenance -> Troubleshooting and check the collected trace file.
‹ SIPREC auto-failover configuration up Configure SIPREC auto-failover for a direct CFS-MiaRec connection ›
  • Printer-friendly version
MiaRec, Inc. © 2020. All Rights Reserved. | Terms of Use | Privacy Statement | Cancellation Policy