RTPENGINE-RECORDING(1)
๐ RTPENGINE-RECORDING ๐
okay so bestie, welcome to the manual page for rtpengine-recording, the media recording daemon for Sipwise rtpengine ๐ yes it's a whole thing, yes it's iconic, let's get into it.
โจ NAME โจ
rtpengine-recording โ media recording daemon for Sipwise rtpengine ๐ธ
โจ SYNOPSIS โจ
rtpengine-recording [option...]
โจ DESCRIPTION โจ
So the Sipwise rtpengine media proxy has support for exporting media (RTP) packets that it forwards, right? ๐ฆ And the rtpengine-recording daemon is the bestie that collects all those exported packets and decodes them into an audio format you can actually listen to. no cap, that's the whole job. ๐
โจ OPTIONS โจ
okay real talk: all of these options can โ and honestly should โ be provided in a config file instead of at the command line. peek the --config-file option below for the deets. ๐
And if you give no options at all? Defaults just kick in, and they should be totally sufficient for a standard installation of rtpengine. slay, no config needed. โจ
--helpโ prints the usage information. that's it, that's the tweet. ๐-v,--versionโ if you call thertpengine-recordingdaemon with this, it just prints its version number and exits. short and sweet. ๐--config-file=FILEโ tells it where the config file lives. The config file is an.inistyle config file, and every command-line option listed here is also a valid option in the config file. Big important detail: for all command-line options, you gotta use the long name version instead of the single-character version in the config file (so liketable, not justt). And for boolean options that are either present or not (thinkoutput-mixed), you have to write an actual boolean value (trueorfalse) in the config file. If an option shows up in both the config file and the command line, the command-line value wins and overrides the config file. ๐
As a special value, you can pass none here to suppress loading of the default config file. ๐
--config-section=STRINGโ specifies the.inistyle section to use in the config file. You can have multiple sections in the config file, but only one can be used at a time. The default value isrtpengine-recording. A section gets started in the config file with square brackets, like[rtpengine-recording]. ๐ง-L,--log-level=INTโ takes an integer and controls the highest log level that gets sent to syslog. The log levels correspond to the ones in thesyslog(3)man page. Default value is6, which is equivalent toLOG_INFO. The highest possible value is7(LOG_DEBUG), which will log everything. literally everything. ๐--log-facilty=daemon|local0|...|local7|...โ the syslog facilty to use when sending log messages to the syslog daemon. Defaults todaemon. (yes, the option is spelledfacilty, we don't make the rules ๐)-E,--log-stderrโ log to stderr instead of syslog. Only useful in combination with--foreground. ๐ซถ--split-logsโ splits multi-line log messages into individual log messages, so every single line gets its own log line prefix. โจ--no-log-timestampsโ don't add timestamps to log lines written to stderr. Only useful in combination with--log-stderr. โฐ--log-mark-prefix=STRINGโ a prefix to be added to particular data fields in log files that are deemed sensitive and/or private information. Defaults to an empty string. ๐คซ--log-mark-suffix=STRINGโ a suffix to be added to particular data fields in log files that are deemed sensitive and/or private information. Defaults to an empty string. ๐คซ-p,--pidfile=FILEโ specifies a path and file name to write the daemon's PID number to. ๐-f,--foregroundโ if given, stops the daemon from daemonizing, meaning it stays in the foreground. Super useful for debugging. ๐-t,--table=INTโ takes an integer argument. The value must match thetableoption given to the rtpengine media proxy, for in-kernel packet forwarding. Defaults to0if not specified. ๐--spool-dir=PATHโ the path you give here must match therecording-dirpath given to the rtpengine media proxy. Defaults to/var/spool/rtpengine. Heads up: the path must live on a file system that supports theinotifymechanism. โ ๏ธ--num-threads=INTโ how many worker threads to launch. Defaults to the number of CPU cores available, or8if there are fewer than that, or if the number is not known. ๐งต--thread-stack=INTโ sets the stack size of each thread to the value given, in kB. Defaults to2048kB. You can set it to-1to leave the default provided by the OS unchanged. ๐--output-storage=file|db|bothโ where to store media files. By default, media files are written directly to the file system (seeoutput-dir). They can also be stored as a BLOB in a MySQL database, either instead of, or in addition to, being written to the file system. ๐พ--output-dir=PATHโ path for media files to be written to if file output is enabled. Defaults to/var/lib/rtpengine-recording. And the path must not be the same as used for thespool-dir. ๐ซ--output-pattern=STRINGโ the file name pattern to be used for recording files. The pattern can reference sub-directories, and parent directories will be created on demand. The default setting is%c-%t. ๐
The pattern must include printf-style format sequences. Supported format sequences are:
%%โ a literal percent sign. ๐ฏ%cโ the call ID. It is mandatory for the output pattern to include this format sequence. ๐%tโ the stream type. For single streams this is the SSRC written as hexadecimal; for mix stream this is the stringmix. It is mandatory for the output pattern to include this format sequence. ๐%lโ the label for the participating party as communicated from the controlling daemon. ๐ท๏ธ%Y,%m,%d,%H,%M,%Sโ these format sequences reference the current system time (when the output file was created) and are the same as the format sequences supported bydate(1)orstrftime(3)โ year, month, day, hours, minutes, and seconds, respectively. ๐%uโ microseconds, expanded to 6 digits (000000through999999). โฑ๏ธ%INTโ references a prefix from the call ID of the given length. If this format sequence is present more than once, then the prefixes are cumulative. For example, if the call ID isabcdefghand the output pattern is configured as%2/%3/%c, then the resulting output file name would beab/cde/abcdefgh. ๐ช
--output-format=wav|mp3|noneโ the file format to be used for media files that are produced. Defaults to PCM WAV (RIFF) files. This applies to both files stored on the file system and in a database. Ifnoneis selected then file output is disabled. ๐ง--resample-to=INTโ resample all audio to the given sample rate (e.g.48000). Resampling is disabled by default, meaning files will be written with the same sample rate as the source media. ๐--mp3-bitrate=INTโ if MP3 output is selected, use the given bitrate for the MP3 encoder (e.g.64000). There is no default value, so this option must be given if MP3 output is selected. Also note that not all bitrates are valid in combination with all sample rates โ for MP3 output it's therefore recommended to also setresample-to. โ ๏ธ--output-mixedโ produce mixed audio files. ๐--output-singleโ produce single audio files. ๐ซ
Whether to produce mixed audio files, or single audio files, or both. If neither option is given, then by default both are enabled. If no file output is desired, set output-format to none. ๐ซ
A single audio file contains the audio for a single RTP SSRC, which usually means an unidirectional audio stream. These are decoded directly from an RTP stream and do not take timestamping into account, meaning that gaps or pauses in the RTP stream are not reflected in the output audio file. ๐
A mixed audio file consists of the first four RTP SSRC seen, mixed together into a single output file, which usually means that a bidirectional audio stream is produced. Audio mixing does take RTP timestamping into account, so gaps and pauses in the RTP media are reflected in the output audio to keep the multiple audio sources in sync. ๐ถ
--mix-method=direct|channelsโ selects a method to mix multiple audio inputs into a single output file for mixed output. The default isdirect, which directly mixes all audio inputs together, producing a mixed output file with the same format as an audio file from a single input (output-single) would be. ๐
The channels mixing method puts each audio input into its own audio channel in the output file, therefore producing a multi-channel output file. Up to four separate RTP SSRCs are supported for a mixed output, which means that if each input is mono audio, then the mixed output file would contain 4 audio channels. This mixing method requires an output file format which supports these kinds of multi-channel audio formats (e.g. wav). ๐๏ธ
--output-chmod=INTโ change the file permissions of recording files to the given mode. Must be given as an octal integer, for example0660. ๐--output-chmod-dir=INTโ change the file permissions of recording files to the given mode. Must be given as an octal integer, for example0700(which is also the default value). ๐--output-chown=USER|UIDโ change the ownership of recording files. ๐ค--output-chgrp=GROUP|GIDโ change the ownership of recording files. ๐ฅ
Either user/group names or numeric IDs are supported. If the value is blank or given as -1 then the user/group is left unchanged. ๐ซถ
--mysql-host=HOST|IP,--mysql-port=INT,--mysql-user=USERNAME,--mysql-pass=PASSWORD,--mysql-db=STRINGโ configuration for a MySQL storage backend. Details about calls and media files that are produced are stored into the database. Optionally the media files themselves can be stored as well (seeoutput-storage). ๐๏ธ--forward-to=PATHโ forward raw RTP packets to a Unix socket. Disabled by default. ๐ฎ--tls-send-to=IP:PORTโ send decoded audio over a TCP TLS connection to the specified destination. ๐--tls-resample=INTโ send decoded audio over a TCP TLS connection to the specified destination. Audio is sent as raw mono 16-bit PCM in the given sample rate. ๐
โจ EXIT STATUS โจ
0โ Successful termination. ๐1โ An error occurred. ๐ญ
โจ FILES โจ
/etc/rtpengine/rtpengine-recording.confโ Configuration file. ๐
โจ SEE ALSO โจ
rtpengine(8). ๐ go read that one too bestie
okay that's the whole page ๐ this was NGCP rtpengine manual, version 10.5.3.5-1+deb12u1, dated 2026-07-20 โ and yes, this is the RTPENGINE-RECORDING(1) page, so now you know everything, go record some media, ate and left no crumbs ๐โจ๐
๐ฆ where this page comes from
- debian bookworm: rtpengine-recording-daemon 10.5.3.5-1+deb12u1 ยท GPL-3.0-or-later WITH OpenSSL exception
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms