LogoLogo
Help
  • Overview
    • Introduction
    • Characteristics
    • Platforms
  • INITIAL Installation
    • 1. Instructions by platform
      • ProSBC Requirements Matrix
      • Baremetal Installation
        • List of Supported Network Interface Cards
        • SBC Certified Hardware
          • High Performance Baremetal Server
          • Medium Performance Baremetal Server
          • Ciena 3906mvi server for Customer Premises Equipment (CPE)
          • Qotom Barebone server for Customer Premises Equipment (CPE)
          • Lanner Barebone server for Customer Premises Equipment (CPE)
          • Telco Systems virtualization platform on Lanner NCA-2510 server for Customer Premises Equipment(CPE)
      • Virtual, self-hosted Installation
        • Virtual - Proxmox
        • Virtual - VMware
          • Launching an Instance of VMware vSphere
          • Deploying ProSBC on VMware
          • Adding Network Interfaces in VMware
          • Configuring Passtrough interfaces on VMware
      • Cloud Installation
        • Cloud - AWS
          • AWS Installation
          • Cloud Formation Installation
          • Instance Upgrade
          • AWS Additional Interface
          • AWS Installation Troubleshooting
          • Recovering an Elastic IP address
        • Cloud - Azure
    • 2. Initial Configuration
      • Initial Setup
        • SBC Management IP configuration
      • Basic configuration
        • Configuring IP interfaces
        • Creating a SIP stack
        • Creating a SIP transport server
        • Allocating an SIP NAP
        • Allocating a SIP open NAP
        • SIP Transport DNS settings
        • Creating a first call route
    • 3. Uploading a License
      • Host-control
        • SELinux
        • SELinux management
      • Add/Change Licenses
        • Add/Change Licenses Manually
  • Use Cases
    • Applications
      • Carrier Interconnection
      • Monitoring as a Service (MaaS)
      • NGN Interconnection
      • Operator Interconnection
      • SIP subscribe notify publish forwarding
      • STIR/SHAKEN
      • Transcoding
      • SIP Trunking
      • Hosted PBX
      • SIP Network Peering
      • Remote Workers
    • Interoperability Examples
      • STIR/SHAKEN with Transnexus and ClearIP
      • Fraud Detection [YouMail]
      • Skype Connect
      • Skype for Business S4B TCP
      • Skype for Business S4B TLS
      • Asterisk
      • 3CX
      • FreePBX
      • FusionPBX
      • FreeSWITCH
      • Twilio
      • Sippy
      • Avaya IP Office
      • Cisco UCM 12
      • Brekeke PBX
      • VitalPBX
      • Yeastar P-Series Cloud
      • VoIP.ms
      • Wildix
  • CONFIGURATION DETAILS
    • Configuration By Web Portal Category
      • System Settings
        • Setting the Role to Standalone
        • Setting the Role to a Primary Unit in a 1+1 System
        • Setting the Role to a Secondary Unit in a 1+1 System
        • Resetting the Host Role
        • Resetting the Network Device Role
        • Create Session Border Gateway Access Control List (ACL)
        • Session Border Gateway: Advanced Parameter Settngs
        • Create Session Border Gateway Access Control List (ACL) Filters
        • Connecting to the Web Server and Logging on to the Web Portal
        • Logging Off
        • Modifying Security Settings
        • Creating Web User groups
        • Creating Web Users
        • Modifying Web User Permissions
        • Enabling and Disabling a User
        • Deleting a User
        • Accessing Audit Logs
        • Activating the Configuration
        • Configuring a Web Portal Profile
        • Configuring the Date, Time, Timezone and NTP servers
        • Configuring the DNS
        • Create HTTP Service
        • Use HTTPS service
        • Configure HTTPS certificates
        • Configuring letsencrypt certificate
        • Configuring the ICMP
        • Configuring the SSH
        • Upgrade Telcobridges linux software packages
        • Retrieving a Software Release
        • Uploading a Software Release
        • Activating a Software Release
        • Retrieving a License
        • Uploading a License
        • Database Backup
        • Downloading a Database Backup
        • Uploading a Database Backup
        • Restoring a Database
        • Enabling the SNMP Agent
        • Configuring the SNMP Agent
        • Creating an SNMPv1/SNMPv2 Community
        • Creating an SNMPv3 User
        • Creating an SNMP Trap Destination
      • IP Network Settings
        • Configuring a Virtual Port
        • Configuring a VLAN
        • Configuring an IP Port Range
        • Configuring IP Interfaces
        • Configuring NAT Traversal
          • Local NAT Traversal
          • Remote NAT Traversal
        • DNS Configuration
          • Creating a DNS Local Entry
        • Configuring VoIP Interfaces
      • SIP
        • Creating a SIP Stack
        • Creating a SIP Transport Server
        • TLS/SRTP
          • Creating TLS Certificates
          • Adding TLS Certificates
          • Configuring TLS Profiles
        • Enabling SIP-I/SIP-T
        • SIPREC Forwarding
      • SIP Registrar
        • Creating a SIP Domain
        • Creating a SIP Registrar
        • Creating a SIP Register Filtering Rule
        • Creating a SIP Register Filtering Rule Condition
        • Creating a SIP Register Filtering Rule Action
      • Network Access Points (NAP)
        • Allocating a SIP Open Network Access Point (NAP)
        • SIP NAP Polling
      • NAP Profiles
        • Profile SDP Description
        • Fax Settings
          • Configuring Fax Relay
          • Configure Fax Passthrough
          • Configure Fax T38
          • Configure Fax NSE
          • Configure Fax VBD
      • Call Routing
        • Creating a First Call Route
        • Enable Flexible NOA Routing Script
        • Add NOA Columns in Routes
        • Import Customized Routing Script
        • Add Customer Column in Routes
        • Add Customized Filter Script To Main Script
        • Adding Label Routing to a Routing Script
        • Assign Routing Script Database Files to the Gateway Application
        • Add Digitmap Files to the System
        • Add Routeset Definition Files to the System
        • Assign Definition Digitmap Files on a per NAP Basis
        • Generate Dynamic Routes
        • Steps to configure label routing for Group of DIDs to a single outbound NAPs
        • Steps to configure label routing for Group of DIDs to multiple outbound NAPs
        • Group of DIDs to multiple outbound NAPs: Load-sharing mode
        • Group of DIDs to multiple outbound NAPs: Priority Mode
        • Update the Digitmap Files
        • Update the Routeset Definition Files
        • Configuring RADIUS Authorization
        • Importing a RADIUS Custom Dictionary
      • Lawful Intercept
        • Lawful Intercept Status
        • Verifying lawful interception
        • Importing a Lawful Interception .CSV File
        • Enabling Lawful Interception in a Routing Script
        • Configuring Lawful Interception
      • Call Detail Records (CDR)
        • CDR Variables
          • Call statistics format
        • Retrieve Text CDRs
          • Automatic CDR Retrieval
        • RADIUS CDRs
          • Configuring RADIUS
          • Adding RADIUS Server(s)
          • RADIUS CDR attributes
      • Routing Scripts
        • Development Guides & Tutorials
          • Accessing Routing Script Parameters
          • Parameter Mapping
          • Script Parameters Definition
          • Script Parameters Definition for SIP
          • Accessing Information about Registered Users
          • Route Parameters and Call Routing
          • Playing prompts, announcements, and tones
          • Recording
          • User-to-User Information
          • Radius Authorization
          • ENUM Query
          • DNS Query
          • Call Diversion Options
          • Call Transfer Requests
          • Redirection
          • Connect Number
          • Terminating Calls
          • NAP Status and other NAP Information
          • Telephony Services (CNAM Requests over SS7)
          • Custom User Context
          • Routing Script Tests
          • Create New Routing Script
          • Enable Routing Script
    • Configuration By Use Case
      • SIP Trunking Configuration
        • Configuration Files for SIP Trunking Scenario
        • SIP Trunk Configuration Instruction with 3CX
        • SIP Trunk Configuration Instruction with FreePBX
        • SIP Trunk Configuration Instruction with FusionPBX
        • SIP Trunk Configuration Instruction with FreeSWITCH
        • SIP Trunk Configuration Instruction with Twilio Elastic trunking
        • SIP Trunk Configuration Instruction with Avaya IP Office
        • SIP Trunk Configuration Instruction with Brekeke PBX
        • SIP Trunk Configuration Instruction with Avaya IP Office
        • SIP Trunk Configuration Instruction with Yeastar P-Series Cloud
        • SIP Trunk Configuration Instruction with Cisco UCM
        • SIP Trunk Configuration Instruction with VoIP.ms SIP trunking
        • SIP Trunk Configuration Instruction with Wildix Cloud VoIP PBX
        • Configuration for Adding ProSBC as a SIP Trunk in the FreePBX Server
        • FreePBX Extension Creation
        • FusionPBX SIP Trunk Creation
        • FusionPBX Extension Creation
        • FreeSWITCH SIP Trunk Creation
        • Twilio Elastic SIP Trunking Configuration
        • Sippy SIP Trunk Creation
        • Avaya IP Office Trunk Creation
        • Cisco UCM 12 Trunk Creation
        • Adding ProSBC as a SIP Trunk in the Brekeke PBX
        • VitalPBX Extension Creation
        • Adding ProSBC as a SIP Trunk in the Yeastar P-Series Cloud
        • Adding ProSBC as a SIP Trunk in the Wildix Cloud VoIP PBX
        • SIP Trunk Configuration Instruction with VitalPBX
        • VitalPBX SIP Trunk Creation
      • Configuring SIP Registration to SIP Proxy
      • Configuring a Hosted PBX
      • Multiple Domains/Hosted PBXs
      • SIP Network Peering / IP Carrier Interconnection
      • Remote Workers
        • Configuration Files for Remote Office/Workers
        • Remote Workers Configuration Instruction with FusionPBX
        • Remote Workers Configuration Instruction with 3CX
        • Remote Workers Configuration Instruction with FreePBX
        • Remote Workers Configuration Instruction with VitalPBX
      • ProSBC and ClearIP (TransNexus)
        • Configuration for STIR/SHAKEN with Transnexus' ClearIP service
        • Configuration for CNAM Verification and Robocall Analytics with Transnexus' ClearIP service
        • Configuration for Robocall Mitigation with Transnexus' ClearIP service
        • Configuration for 302 Redirect routing with Transnexus' ClearIP service
        • Configuration for CAPTCHA Authentication – 302 Redirect with Transnexus' ClearIP service
        • Configuration for STIR/SHAKEN with Transnexus' ClearIP service
      • Transcoding Unit Configuration
        • Baremetal and Virtual Machine
        • Show the Hardware Units menu
        • Adding Transcoding Unit
      • Configuration for Adding YouMail Script to Routing Scripts
      • Skype Connect Example Configuration
      • Skype for Business Example Configuration
      • 3CX Phone Provisioning Configuration
        • Configuration for 3CX PBX Server with the ProSBC to receive T38 Faxes
        • Configuration for 3CX PBX Server with the ProSBC as SIP trunk
      • SIP Emergency
      • SIP registration forwarding
        • Creating a SIP Domain
        • Configuring SIP Registration for Open NAP
        • Configuring SIP Registration for regular NAP
      • RTP no-anchoring
        • Parameter: Allow low-delay media relay
          • Configuring an IP Port Range
        • Creating Profiles
          • Modifying SDP Profile Settings
          • Modifying SIP Profile Settings
          • Modifying RTP and Audio Settings
          • Modifying FAX Relay Profile Settings
          • Modifying Telephony Profile Settings
          • Modifying Tones and Call Progress Options
          • Modifying IVR Record Profile Settings
          • Modifying LNP Profile Settings
          • Modifying Multilevel Precedence and Preemption (MLPP) Options
          • Modifying Call Transfer Profile Settings
          • Modifying Tone Definition Profile Settings
    • Configuration Parameters (all)
    • Routing Script - SIP 302 Handling
  • Maintenance & Troubleshooting
    • Maintenance Guide
      • Check Disk Space
      • ProSBC Processor Usage
      • Troubleshooting Toolpack
      • Restoring a Database
    • System Upgrades
      • Migrate current database
      • Upgrade Telcobridges linux software packages
    • Software version release notes
    • Software version release download
    • ProSBC public roadmap
  • Troubleshooting & Support
    • Troubleshooting Tips & Actions
      • Configuring Call Trace
        • Retrieving Call Trace
        • Call Trace Filter Parameters
      • Creating a test call
      • tbsigtrace: Signaling trace capture tool
        • Accessing Device
          • TMG:Change Management IP Address
          • Password less ssh
          • How to setup ssh tunnel with PuTTY
        • Live Signaling Capture with tbsigtrace
      • How to Get Rid of Sub Optimal Warning
      • How to Lower The Trace Level on an Application
      • TBReport
      • VoIP Ethernet Capture on a ProSBC
      • Enabling Call Recording
      • Accessing the Call Recording
      • Routing Scripts
        • Update Your Routing Scripts
        • Disabling a Call Route
    • Troubleshooting Common Problems
    • Support Links
      • Support Forums
      • ProSBC Training
      • Customer Dashboard User Guide
      • Contacting TelcoBridges technical support
      • Frequently Asked Questions
      • Sending Large Files to TelcoBridges
    • How to use tbx cli tools remote program
  • Tools, Tips, and Tricks
    • TelcoBridges Magic Bookmark
    • Video Library
    • RESTful API
      • Postman Examples
      • Ruby Examples
      • TBConfig Examples
        • Exporting a Configuration
        • Importing a Configuration
        • Activating a Configuration
        • Updating a Route
        • Dropping Calls
      • ProSBC:Restful API SIP Domain
      • ProSBC:Restful API SIP Domain Registrar
      • Extracting Call Traces with the API
    • TBStatus API
      • Tbstatus monitoring
      • Status API
      • Dropping calls
  • Appendices
    • Appendix A: Glossary
      • Glossary: Call Detail Records (CDR)
      • Glossary: Call routing
      • Glossary: DNS
      • Glossary: Mean Opinion Score (MOS)
      • Glossary: NAP
      • Glossary: RADIUS
      • Glossary: Ringback tones
      • Glossary: SAP
      • Glossary: Signaling protocols
      • Glossary: SIP
        • Glossary: Route retry
        • Glossary: SIGTRAN
        • Glossary: SIP-I/SIP-T
        • Glossary: SIP gateway
        • Glossary: SIP Registration
      • Glossary: Softswitch
      • Glossary: Toolpack
        • Glossary: Web server
        • Glossary: tboamapp
          • Glossary: Tbtoolpack Service
            • System Id
              • Gateway Port
          • Primary/Secondary
          • Master/Slave
            • Active/Standby
      • Glossary: Unified communications
      • Glossary: Web Portal
      • Glossary: DTMF Relay
    • Appendix B: Product Datasheets
Powered by GitBook
On this page
  • Introduction
  • Recording the incoming call leg
  • Recording the outgoing call leg
  • Record the outgoing call leg within incoming leg's recorded file (mixing)
  • Choosing the file path to record to

Was this helpful?

  1. CONFIGURATION DETAILS
  2. Configuration By Web Portal Category
  3. Routing Scripts
  4. Development Guides & Tutorials

Recording

Introduction

Introduced in release 2.6.44, it is now possible to use routing scripts to ask for the recording of incoming and/or outgoing call legs.

See example filter script "call_recording" (created by default in Web Portal routing scripts starting with 2.6.44) for an example.

Recording the incoming call leg

To record the incoming call leg, the routing script (in a "after filter" for example) has to set the following parameter:

 bridge[ :record_incoming ]  = ""

Recording the outgoing call leg

To record the outgoing call leg, the routing script (in a "after filter" for example) has to set the following parameter, per route (the decision to record or not, or the file name to record to, can be set per matching route):

 # Need to clone the routes in order to have the right to modify them
 routes = clone_routes params[:routes]
 routes.each do |route|
   route[ :record_outgoing ]  = ""
 end
 # Store modified routes back to the parameters for this outgoing call
 params[:routes] = routes

Record the outgoing call leg within incoming leg's recorded file (mixing)

 [...]
   route[ :record_outgoing ]  = "@{MixWithIncoming}"
 [...]

Choosing the file path to record to

The value assigned to ":record_incoming" or ":record_outgoing" is the path to record the file to.

The paths can be absolute, or relative. When relative, they are relative to the "tbstreamserver" application working directory, for example:

 /lib/tb/toolpack/setup/12358/2.7/apps/tbstreamserver/
  • Empty file name will default to a name that contains various information about the call:

    • LinkId: Id common between all legs of this call bridge

    • LegId: Unique Id for this leg

    • Nap: Current NAP name this call leg is from

    • Direction: "IN" or "OUT" (depends if call leg is incoming or outgoing leg)

    • Calling: The calling number of this call leg

    • Called: The called number of this call leg

    • Protocol: The signaling protocol of this call leg (SS7, ISDN, CAS, SIP)

    • Media info: Codec + IP/Port for SIP calls, Trunk/Timeslot for TDM calls

  • To record outgoing call leg in the same audio file as incoming call leg (mixing), use the following:

    • @{MixWithIncoming}: Record outgoing legs in same file as incoming legs

  • Variables can be used to insert in the recording path information that's not already available from routing scripts:

    • @{CURRENT_PKG}: Version of current package

      • Example: 2.6.45

    • @{DATE format}: Prints the date, where 'format' is expressed as described for the 'strftime' function

      • Example: @{DATE %Y-%m-%d} => 2013-01-28

    • @{DefaultName}: Replaced by the default file name for recording, which contains:

      • LinkId: Id common between all legs of this call bridge

      • LegId: Unique Id for this leg

      • Nap: Current NAP name this call leg is from

      • Direction: "IN" or "OUT" (depends if call leg is incoming or outgoing leg)

      • Calling: Calling number

      • Called: Called number

      • Protocol: Protocol type of this call (SS7, ISDN, CASR2, SIP)

      • Media info: Codec + IP/Port for SIP calls, Trunk/Timeslot for TDM calls

      • Example: "73EBA698-F3D67B4B-NAP_SS7-IN-5550000-5550001-SS7-TRUNK_BELL_11-24.wav"

      • Example: "73EBA698-73EBA698-NAP_SIP-OUT-5550000-5550001-SIP-G723-10.3.10.101-1050.wav"

    • @{DefaultPath}: Default recording folder and file name: "@{RECORD_PATH}/@{DATE %Y-%m-%d}/@{DefaultName}"

      • Example: "/lib/tb/toolpack/setup/12358/recorded_calls/73EBA698-F3D67B4B-NAP_SS7-IN-5550000-5550001-SS7-TRUNK_BELL_11-24.wav"

      • Example: "/lib/tb/toolpack/setup/12358/recorded_calls/73EBA698-73EBA698-NAP_SIP-OUT-5550000-5550001-SIP-G723-10.3.10.101-1050.wav"

    • @{Direction}: Direction of current leg (IN our OUT)

      • Example: IN

    • @{LegId}: Current LegId (Unique Id for this leg)

      • Example: F3D67B4B

    • @{LinkId}: Current LinkId (Id common between all legs of this call bridge)

      • Example: 73EBA698

    • @{PKG_HOME}: Path where packages are stored.

      • Note: It's not recomended to use that path on redundant systems, package file replication may cause confusion in recorded files.

      • Example: /lib/tb/toolpack/pkg

    • @{PROMPT_PATH}: Default path where audio prompts are stored

      • Note: It's not recomended to use that path on redundant systems, package file replication may cause confusion in recorded files.

      • Example: /lib/tb/toolpack/pkg/prompts

    • @{Protocol}: Protocol of current leg

      • Example: SS7

    • @{RECORD_PATH}: Default recording folder: "@{TB_SETUP_HOME}/recorded_calls/"

    • @{TBX_GW_PORT}: Current "System Id" (also called "Gateway Port")

      • Example: 12358

PreviousPlaying prompts, announcements, and tonesNextUser-to-User Information

Last updated 7 months ago

Was this helpful?

And all variables listed here:

Building play or record file path