IP Office SIP Recording

This provides an overview of IP Office DevLink Recording, prerequisites, logs needed for development to do bug fixes, as well as information on how to configure IP Office DevLink Recording.


Process Summary

  1. When an agent joins a call, i.e., answers their phone, we send a request through DevLink3 to record the call.
  2. The IP Office initiates a SIP phone call to the Recording Library server.
  3. Recording Library acts as a SIP trunk/endpoint and answers the call.
  • Recording Library begins saving the audio bytes to the “live” directory in a similar fashion to VRTX (Voice Recording Technology). There should be a .vrtx metadata file along with a .ul raw audio file.
  • The live audio bytes are also streamed directly to any Chronicall client that has requested to live-listen on the call.
  1. After the call completes, we compress the raw audio to .spx and save it as we normally would to a configured drive pool.

Primary Differences

  1. We now only do “live” association. This means we don’t run queries after the call is over and try to associate based on the call data in the database. Rather, we use the live-listen stream association to link audio streams to call events in Realtime.
  2. The audio is pre-mixed. With VRTX, we record both sides of the audio separately, i.e., you’ll end up with two .ul files. IP Office sends us the audio already mixed so that there is just one .ul file.
  3. IP Office sends recording data directly to Recording Library. The SIP and audio network traffic for recording goes directly between the IP Office and Recording Library. This is important to understand when running in a heavily locked down network.


This only works with Avaya Call Recording.
Server Edition Configuration

  1. API must be set to DevLink3 (recommended)
  2. DevLink3 Use TLS can be set to “True” or “False”

Recording Library Configuration

  1. The type must be “DevLink Active Recording.”
  2. The Recording Library IP address must be set to the Recording Library’s actual IP, not localhost or
  3. Record From Beginning
  • If set to “True,” it will record all calls and save them if they meet recording rules.
    ~ If you are on a cloud network, this will take a lot of bandwidth. To give some perspective, the codec uses 64 kilobits per second, which calculates to 8,000 bytes per second per recording. This is less of a concern if you are on a local network.
  • If set to “False,” it will only record calls that match recording rules.
  1. SIP Message Port and Active Recording RTP Port
  • Both ports will be open on Recording Library and must be accessible from the IP Office.


On the IP Office, each recording stream requires and utilizes a Voice Compression Module (VCM) resource/channel, which is a card on the IP 500v2 unit. To calculate how many VCM resources you will need, add and total your number of active calls, simultaneous recordings, and Skilled queued calls.

The other prerequisite is what type of IP Office version you need to use. To the best of our knowledge, you will need the IP Office version build 23 or later.

Troubleshooting Chronicall Server

There is a log filter you can enable: Recording Library > Server Edition > DevLink Active Recording. It will log DevLink events mapped to device call IDs and requests sent to the IP Office to stop and start recording calls.

Troubleshooting Recording Library

  1. Turn on DEBUG logging in the Recording Library settings, and you will get all of the debug output for everything. You can search for a SIP call ID, recording ID, and live stream ID. All important logs are tagged with those three things.
  2. The .tmpvrtx or .vrtx file will contain all of the SIP messages that initiated the recording, which is helpful for debugging. This is similar to how VRTX stores SIP messages.
  3. Dashboard pauses will be marked in the .vrtx file. Check there if it doesn’t seem to work as expected.
  4. There will be multiple audio files when the parties change on a call. The call will be recorded from the perspective of the first agent on the call. When that agent leaves the call, the recording will be restarted with another agent on the call. This is one potential issue for calls that are transferred. We will get the audio in one or more chunks as parties change.
  5. The IP Office must be able to communicate with the IP address of Recording Library.

Logs Needed for Dev to do Bug Fixes

  • cd3_log
  • server_edition events/call_center logs
  • server logs with ‘DevLink Active Recording’ filter enabled
  • Recording library debug log.
  • .vrtx .tmpvrtx files
  • .ul files that are defined in the .vrtx file