CallMeter Docs

Uploading Media Files

Upload audio and video files for realistic call testing, custom hold music, IVR validation, and recording comparison.

Media files let you replace synthetic test signals with real audio and video content during SIP tests. This enables realistic call scenarios such as testing hold music quality, validating IVR prompts, benchmarking recording fidelity, and measuring codec performance with actual media content.

What Media Files Are For

By default, CallMeter generates synthetic audio tones and video patterns during tests. While synthetic signals are useful for quick codec comparisons and basic connectivity checks, real-world media files provide significantly more meaningful results when you need to:

  • Test hold music quality -- Upload your actual hold music and measure how it sounds after transcoding through your PBX
  • Validate IVR prompts -- Play IVR menu recordings through your SIP infrastructure and verify they are intelligible
  • Benchmark recording systems -- Send known media through a call recording system and compare the output to the original
  • Measure codec impact -- Hear how different codecs affect real speech or music content
  • Simulate real call scenarios -- Use actual conversation recordings (with consent) to test under realistic conditions
  • Load test with varied content -- Upload multiple files so each endpoint plays different media, simulating diverse call scenarios

Uploading a File

  1. Open your project and click Files in the sidebar
  2. Click Upload File
  3. Select an audio or video file from your computer
  4. Wait for the upload to complete
  5. CallMeter automatically transcodes the file into all supported codec formats
  6. Once transcoding finishes, the file appears as available in your media library

Transcoding happens automatically

After upload, your file is transcoded into every supported codec format (PCMA, PCMU, G.722, Opus for audio; H.264, VP8 for video). This ensures the file works seamlessly regardless of which codec you select in your test configuration. Transcoding runs as a background process and typically completes within a few minutes.

The Upload Process in Detail

When you upload a file, CallMeter processes it through several stages:

  1. Upload -- The file is transferred from your browser to the platform's storage. A progress indicator shows upload completion percentage.
  2. Validation -- The platform verifies the file's container format, codec, duration, and size against your plan limits. Invalid files are rejected with a specific error message.
  3. Transcoding -- The file is automatically transcoded into every supported codec format for its media type. An audio file produces PCMA, PCMU, G.722, and Opus variants. A video file produces H.264 and VP8 variants.
  4. Ready -- All transcoded variants are stored and the file becomes available for selection in test configurations.

Transcoding typically completes within 1-3 minutes for a 60-second audio file. Longer files and video files take proportionally more time. You can navigate away from the page during transcoding -- the process continues in the background.

File Size and Storage Limits

Each plan tier defines a maximum individual file size and total storage allocation per organization:

LimitFreeStarterProBusinessEnterprise
Media file uploadsNoLimitedYesYesYes
Total storage pool--Plan-definedPlan-definedPlan-definedCustom

Storage usage includes both the original uploaded file and all transcoded variants. A single 1 MB WAV file may consume several megabytes after transcoding to all codec formats.

Storage counts transcoded variants

All uploaded files and their transcoded variants count toward your plan's storage allocation. A single uploaded file generates multiple codec variants, so actual storage consumed is several times the original file size. Delete files you no longer need to free up space.

Upload Methods

Currently, CallMeter supports file uploads through the web interface. Select files using the file picker or drag and drop files onto the upload area. API-based uploads are available for plans with API access -- see the API Endpoints documentation for programmatic upload instructions.

Supported File Formats

Audio Files

The recommended upload format for audio is WAV (PCM 16-bit) at one of the following sample rates:

Sample RateUse Case
8 kHzNarrowband telephony (PCMA/PCMU)
16 kHzWideband telephony (G.722)
48 kHzFull-band audio (Opus)

You can also upload files in other common formats (MP3, OGG, FLAC). CallMeter converts them during the transcoding process. However, starting with WAV PCM ensures the highest quality source material with no lossy compression artifacts before transcoding.

Video Files

For video uploads, CallMeter accepts:

  • Raw YUV files -- Uncompressed video frames
  • H.264 elementary streams -- Pre-encoded video without a container
  • Common container formats -- MP4, WebM, MKV

For best results with video, provide source material at the resolution and frame rate you intend to test with.

For detailed format specifications, see Supported Formats.

Using Files in Tests

Once a file is uploaded and transcoded, you can reference it in any test within the same project.

Selecting Media Files

When creating or editing a test group:

  1. Navigate to the Media Configuration section
  2. For audio or video, change the media source from Generic to Custom
  3. A file picker appears showing your project's media library
  4. Select one or more files
  5. Save the test configuration

Generic vs. Custom Media

ModeDescription
GenericCallMeter generates synthetic audio tones or video patterns on-the-fly
CustomYour uploaded files are played through the call, providing realistic media content

Generic mode is best for quick tests and codec comparisons. Custom mode is essential when you need to evaluate real-world quality, test specific content (IVR prompts, hold music), or benchmark recording systems.

Multiple File Selection

You can select multiple files for a single test. When multiple files are selected:

  • Different endpoints may play different files, simulating a realistic mix of call content
  • This is particularly useful for load tests where uniformity would not represent real-world conditions

Managing Your Media Library

Viewing Files

The Files page in your project displays all uploaded media with their current status, file type (audio or video), original filename, and transcoding state. Files in the "Ready" state are available for use in tests. Files showing "Transcoding" are still being processed.

Reusing Files Across Tests

Once uploaded, a media file is available to every test within the same project. You do not need to re-upload the same file for different tests. If you need the same file in a different project, upload it again in that project -- files do not transfer between projects.

Deleting Files

To delete a file:

  1. Navigate to Files in your project
  2. Click the options menu (kebab icon) on the file row
  3. Select Delete
  4. Confirm the deletion

Deleting a file removes the original and all transcoded variants, freeing up storage immediately. Historical test run data that referenced the file is preserved -- only future runs are affected.

Deleting files affects test configurations

If a deleted file is referenced by an existing test configuration, that test falls back to generic media on its next run. Review your test configurations before deleting files, especially if other team members created tests that reference them.

Naming Conventions

Use descriptive file names that make it easy to identify files months later:

  • hold-music-classical-30s.wav -- Content description with duration
  • ivr-menu-english-main.wav -- Identifies the IVR flow and language
  • speech-sample-male-8khz.wav -- Content type and technical specs
  • conference-bridge-ambient-noise.wav -- Specific test scenario
  • dtmf-ivr-sequence-1-5-3.wav -- DTMF test sequence

Avoid generic names like test.wav or audio1.wav. When you have dozens of files, descriptive names save significant time.

Tips for Recording Good Test Audio

The quality of your source audio directly affects the usefulness of your test results. Garbage in, garbage out.

For voice quality testing:

  • Record in a quiet environment with minimal background noise. HVAC hum, keyboard clicks, and room echo all introduce artifacts that confuse quality measurements.
  • Use a mono recording at the native sample rate of your target codec (8 kHz for G.711, 16 kHz for G.722, 48 kHz for Opus).
  • Include a mix of speech and silence. Natural conversation has pauses -- continuous speech without gaps is not representative of real calls.
  • Aim for 30-60 seconds of content. Shorter clips may not capture enough variation; longer clips waste storage without adding value.
  • Consider using ITU-T P.501 reference speech samples if you need standardized test material.

For hold music and IVR testing:

  • Use the actual production files from your PBX. The point is to measure how your infrastructure affects the real content your callers hear.
  • If testing music-on-hold, include a section with both music and silence to test how your system handles transitions.

For load testing with varied content:

  • Upload 5-10 different files and assign them all to a test group. This simulates realistic call diversity where not every call sounds identical.
  • Vary the content type: mix speech samples, hold music, IVR prompts, and silence to exercise different codec behaviors.

Playback During Calls

When a test uses custom media files, each endpoint plays the assigned file through the call. The media is encoded using the codec configured for the test (e.g., Opus, PCMA, H.264) and sent as RTP packets through your SIP infrastructure.

This means the receiving end hears or sees the actual content of your file as it would sound or look after traversing your real SIP trunks, PBXes, session border controllers, and any transcoding steps along the way.

Codec and File Interaction

The codec you select in the test configuration determines which transcoded variant of your file is used. For example:

  • A test configured with PCMA plays the 8 kHz G.711 A-law variant of your file
  • A test configured with Opus plays the 48 kHz Opus variant
  • A test configured with H.264 plays the H.264 variant of your video file

You do not need to upload separate files for each codec. The transcoding step handles this automatically.

Quality Measurement

CallMeter measures quality metrics (MOS, jitter, packet loss, round-trip time) on the media streams carrying your custom files. This gives you a direct measurement of how your infrastructure affects real content rather than synthetic signals.

Custom media is especially valuable for identifying transcoding degradation. If your PBX transcodes between codecs (e.g., Opus on one leg, PCMA on another), testing with real speech reveals quality loss that synthetic tones might not expose.

Troubleshooting

File stuck in "Transcoding" state: Transcoding times depend on file size and current platform load. Files typically complete within a few minutes. If a file remains in the transcoding state for more than 15 minutes, try deleting it and re-uploading.

File not appearing in test configuration: Ensure the file has finished transcoding (status shows "Ready"). Files that are still being processed are not available for selection in test configurations.

Audio sounds distorted after upload: Check that your source file meets the recommended format (WAV PCM 16-bit). Files that are heavily compressed (e.g., low-bitrate MP3) may have artifacts that become more pronounced after re-encoding.

Next Steps

On this page