The SBC helps Ribbon Analytics identify voice campaigns by generating and storing audio fingerprint files for select calls identified by the SAGE triggering algorithm. The SBC only generates audio fingerprints for incoming audio (Ingress leg) that is encoded using G.711 (A-law or μ-law), G.729AB, G.722, AMR, AMR-WB, EVRC, or EVRCB.

The SBC stores the fingerprints in a TRC file, and the Ribbon Analytics application uses these files to improve Robocall detection and handling.

Fingerprinting Sub-system

A sub-system is added onto the SBC to generate audio fingerprints on the calls selected for fingerprinting. The sub-system is responsible for placing media audio into buffers, calling a fingerprinting function to generate a fingerprint from the audio in a media buffer, storing fingerprints, and freeing buffers once the fingerprint is generated. The fingerprinting sub-system also ensures the fingerprints are not generated when the resources are not available to perform.

  • Audio fingerprinting is set to enabled by default. A global configuration option is provided to disable fingerprinting on the SBC.
  • Disabling the audio fingerprinting frees the memory allocated to store the associated captured media.
  • There are a fixed number of buffers available to capture the audio for a fixed number of calls. When all of these buffers are in use, no additional calls are selected for audio fingerprinting.

Fingerprinting Application

Fingerprinting application processes the call media and converts it to fingerprints. It supports a list of compressed codecs as well as G711U law and A-law. The media appears in the RTP packet format.

  • The RTP fingerprinting process matches the expected RTP Payload Type (PT) for analysis. Packets using other PTs are ignored. The Silence Suppression media is supported, and the media decoder follows the RTP timestamps to understand the silence gaps.
  • Packet sequences containing up to 10 out-of-order packets are corrected.  The SBC treats a sequence gap of up to 50 packets as packet loss and uses the Packet Loss Decoder to address it. For higher sequence gaps, the SBC assumes a new source exists, so silence gaps are not enforced. 
  • The SBC starts a new media stream during a synchronization source (SSRC) change, and considers any timestamp jumps that are longer than the remaining 30 seconds of a media packet are caused by the new stream start.
  • Fingerprinting supports the following codecs:

    1. G.711U
    2. G.711A
    3. G.729AB
    4. G.722
    5. AMR Narrow band Octet aligned, all rates
    6. AMR Narrow band Bandwidth efficient, all rates
    7. AMR Wideband Octet aligned, all rates
    8. AMR Wideband Bandwidth efficient, all rates
    9. EVRC-A interleaved and header free
    10. EVRC-B interleaved and header free
  • The SBC performs the header inspection for the codecs with the Table of Content (TOC), namely, AMR, AMRWB, EVRC, and EVRCB with interleaved formats. The Audio fingerprint files are generated in the TRC file on the Integrated SBC and the D-SBCs, that includes the SBC SWe, SBC5K, and SBC7K. For the D-SBCs, fingerprints are stored on the M-SBC. Correlation records are stored on both the S-SBC and the M-SBC to match the fingerprints and PDUs. The audio fingerprinting feature does not prevent the SBC from reaching its stated performance targets in terms of concurrent calls and calls per second. For calls where a fingerprint is generated before the switchover, the fingerprint is stored in the TRC file.