Due to a unification of the way we store documentation files, the 'rtpengine-recording.pod' has been moved to the 'docs/' folder. This 'docs/rtpengine-recording.pod' will be later used for the RTD a source. Change-Id: I5267bd74358aa46d174ba4778f2f11651c6d0ba6pull/1646/head
| @ -0,0 +1,369 @@ | |||||
| =head1 NAME | |||||
| rtpengine-recording - media recording daemon for Sipwise rtpengine | |||||
| =head1 SYNOPSIS | |||||
| B<rtpengine-recording> [I<option>...] | |||||
| =head1 DESCRIPTION | |||||
| The Sipwise rtpengine media proxy has support for exporting media (RTP) packets | |||||
| that it forwards. The rtpengine-recording daemon collects these exported | |||||
| packets and decodes them into an audio format that can be listened to. | |||||
| =head1 OPTIONS | |||||
| All options can (and should) be provided in a config file instead of | |||||
| at the command line. See the B<--config-file> option below for details. | |||||
| If no options are given, then default values are assumed, which should be | |||||
| sufficient for a standard installation of rtpengine. | |||||
| =over 4 | |||||
| =item B<--help> | |||||
| Print the usage information. | |||||
| =item B<-v>, B<--version> | |||||
| If called with this option, the B<rtpengine-recording> daemon will simply print | |||||
| its version number and exit. | |||||
| =item B<--config-file=>I<FILE> | |||||
| Specifies the location of a config file to be used. The config file is an | |||||
| I<.ini> style config file, with all command-line options listed here also | |||||
| being valid options in the config file. | |||||
| For all command-line options, the long name version instead of the | |||||
| single-character version (e.g. B<table> instead of just B<t>) must be | |||||
| used in the config file. | |||||
| For boolean options that are either present or not (e.g. B<output-mixed>), a | |||||
| boolean value (either B<true> or B<false>) must be used in the config file. | |||||
| If an option is given in both the config file and at the command line, | |||||
| the command-line value overrides the value from the config file. | |||||
| As a special value, B<none> can be passed here to suppress loading of the | |||||
| default config file. | |||||
| =item B<--config-section=>I<STRING> | |||||
| Specifies the I<.ini> style section to be used in the config file. | |||||
| Multiple sections can be present in the config file, but only one can be | |||||
| used at a time. | |||||
| The default value is B<rtpengine-recording>. | |||||
| A config file section is started in the config file using square brackets | |||||
| (e.g. B<[rtpengine-recording]>). | |||||
| =item B<-L>, B<--log-level=>I<INT> | |||||
| Takes an integer as argument and controls the highest log level which | |||||
| will be sent to syslog. | |||||
| The log levels correspond to the ones found in the L<syslog(3)> man page. | |||||
| The default value is B<6>, equivalent to LOG_INFO. | |||||
| The highest possible value is B<7> (LOG_DEBUG) which will log everything. | |||||
| =item B<--log-facilty=>B<daemon>|B<local0>|...|B<local7>|... | |||||
| The syslog facilty to use when sending log messages to the syslog daemon. | |||||
| Defaults to B<daemon>. | |||||
| =item B<-E>, B<--log-stderr> | |||||
| Log to stderr instead of syslog. | |||||
| Only useful in combination with B<--foreground>. | |||||
| =item B<--split-logs> | |||||
| Split multi-line log messages into individual log messages so that each | |||||
| line receives its own log line prefix. | |||||
| =item B<--no-log-timestamps> | |||||
| Don't add timestamps to log lines written to stderr. | |||||
| Only useful in combination with B<--log-stderr>. | |||||
| =item B<--log-mark-prefix=>I<STRING> | |||||
| Prefix to be added to particular data fields in log files that are deemed | |||||
| sensitive and/or private information. Defaults to an empty string. | |||||
| =item B<--log-mark-suffix=>I<STRING> | |||||
| Suffix to be added to particular data fields in log files that are deemed | |||||
| sensitive and/or private information. Defaults to an empty string. | |||||
| =item B<-p>, B<--pidfile=>I<FILE> | |||||
| Specifies a path and file name to write the daemon's PID number to. | |||||
| =item B<-f>, B<--foreground> | |||||
| If given, prevents the daemon from daemonizing, meaning it will stay in | |||||
| the foreground. | |||||
| Useful for debugging. | |||||
| =item B<-t>, B<--table=>I<INT> | |||||
| Takes an integer argument. The value must match the B<table> option given to | |||||
| the B<rtpengine> media proxy to use for in-kernel packet forwarding. | |||||
| Defaults to B<0> if not specified. | |||||
| =item B<--spool-dir=>I<PATH> | |||||
| The path given here must match the B<recording-dir> path given to the | |||||
| B<rtpengine> media proxy. Defaults to F</var/spool/rtpengine>. The path must | |||||
| reside on a file system that supports the B<inotify> mechanism. | |||||
| =item B<--num-threads=>I<INT> | |||||
| How many worker threads to launch. Defaults to the number of CPU cores | |||||
| available, or B<8> if there are fewer than that or if the number is not | |||||
| known. | |||||
| =item B<--thread-stack=>I<INT> | |||||
| Set the stack size of each thread to the value given in kB. Defaults to 2048 | |||||
| kB. Can be set to -1 to leave the default provided by the OS unchanged. | |||||
| =item B<--evs-lib-path=>I<FILE> | |||||
| Points to the shared object file (B<.so>) containing the reference | |||||
| implementation for the EVS codec. See the F<README> for more details. | |||||
| =item B<--output-storage=>B<file>|B<db>|B<both> | |||||
| Where to store media files. By default, media files are written directly to the | |||||
| file system (see B<output-dir>). They can also be stored as a B<BLOB> in a | |||||
| MySQL database, either instead of, or in addition to, being written to the file | |||||
| system. | |||||
| =item B<--output-dir=>I<PATH> | |||||
| Path for media files to be written to if file output is enabled. Defaults to | |||||
| F</var/lib/rtpengine-recording>. The path must not be the same as used for the | |||||
| B<spool-dir>. | |||||
| =item B<--output-pattern=>I<STRING> | |||||
| File name pattern to be used for recording files. The pattern can reference | |||||
| sub-directories. Parent directories will be created on demand. The default | |||||
| setting is B<%c-%t>. | |||||
| The pattern must include B<printf>-style format sequences. Supported format | |||||
| sequences are: | |||||
| =over | |||||
| =item B<%%> | |||||
| A literal percent sign. | |||||
| =item B<%c> | |||||
| The call ID. It is mandatory for the output pattern to include this format | |||||
| sequence. | |||||
| =item B<%t> | |||||
| The stream type. For B<single> streams this is the SSRC written as hexadecimal; | |||||
| for B<mix> stream this is the string B<mix>. It is mandatory for the output | |||||
| pattern to include this format sequence. | |||||
| =item B<%l> | |||||
| The label for the participating party as communicated from the controlling | |||||
| daemon. | |||||
| =item B<%Y> | |||||
| =item B<%m> | |||||
| =item B<%d> | |||||
| =item B<%H> | |||||
| =item B<%M> | |||||
| =item B<%S> | |||||
| These format sequence reference the current system time (when the output file | |||||
| was created) and are the same as the format sequences supported by L<date(1)> | |||||
| or L<strftime(3)> (year, month, day, hours, minutes, and seconds, | |||||
| respectively). | |||||
| =item B<%u> | |||||
| Microseconds, expanded to 6 digits (B<000000> through B<999999>). | |||||
| =item B<%>I<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 is B<abcdefgh> and the output pattern is configured as | |||||
| B<%2/%3/%c>, then the resulting output file name would be B<ab/cde/abcdefgh>. | |||||
| =back | |||||
| =item B<--output-format=>B<wav>|B<mp3>|B<none> | |||||
| File format to be used for media files that are produced. Defaults to PCM WAV | |||||
| (RIFF) files. Applicable for both files stored on the file system and in a | |||||
| database. If B<none> is selected then file output is disabled. | |||||
| =item B<--resample-to=>I<INT> | |||||
| Resample all audio to the given sample rate (e.g. B<48000>). Resampling is | |||||
| disabled by default, meaning that files will be written with the same sample | |||||
| rate as the source media. | |||||
| =item B<--mp3-bitrate=>I<INT> | |||||
| If MP3 output is selected, use the given bitrate for the MP3 encoder (e.g. | |||||
| B<64000>). There is no default value, so this option must be given if MP3 | |||||
| output is selected. Note that not all bitrates are valid in combinations with | |||||
| all sample rates. For MP3 output it's therefore recommended to also set | |||||
| B<resample-to>. | |||||
| =item B<--output-mixed> | |||||
| =item B<--output-single> | |||||
| Whether to produce B<mixed> audio files, or B<single> audio files, or both. If | |||||
| neither option is given, then by default both are enabled. If no file output is | |||||
| desired, set B<output-format> to B<none>. | |||||
| A B<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 B<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 takes 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. | |||||
| =item B<--mix-method=>B<direct>|B<channels> | |||||
| Selects a method to mix multiple audio inputs into a single output file for | |||||
| B<mixed> output. The default is B<direct> which directly mixes all audio inputs | |||||
| together, producing a mixed output file with the same format as an audio file | |||||
| from a single input (B<output-single>) would be. | |||||
| The B<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. B<wav>). | |||||
| =item B<--mix-num-inputs=>I<INT> | |||||
| Change the number of recording channel in the output file. The value is between 1 to 4 (e.g. B<4>, which is also the default value). | |||||
| =item B<--output-chmod=>I<INT> | |||||
| Change the file permissions of recording files to the given mode. Must be given | |||||
| as an octal integer, for example B<0660>. | |||||
| =item B<--output-chmod-dir=>I<INT> | |||||
| Change the file permissions of recording files to the given mode. Must be given | |||||
| as an octal integer, for example B<0700> (which is also the default value). | |||||
| =item B<--output-chown=>I<USER>|I<UID> | |||||
| =item B<--output-chgrp=>I<GROUP>|I<GID> | |||||
| Change the ownership of recording files. Either user/group names or numeric IDs | |||||
| are supported. If the value is blank or given as B<-1> then the user/group is | |||||
| left unchanged. | |||||
| =item B<--mysql-host=>I<HOST>|I<IP> | |||||
| =item B<--mysql-port=>I<INT> | |||||
| =item B<--mysql-user=>I<USERNAME> | |||||
| =item B<--mysql-pass=>I<PASSWORD> | |||||
| =item B<--mysql-db=>I<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 (see B<output-storage>). | |||||
| =item B<--forward-to=>I<PATH> | |||||
| Forward raw RTP packets to a Unix socket. Disabled by default. | |||||
| =item B<--tls-send-to=>I<IP>B<:>I<PORT> | |||||
| =item B<--tls-resample=>I<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. | |||||
| =item B<--notify-uri=>I<URI> | |||||
| Enable HTTP notification about finished recordings to the specified URI, which | |||||
| must be an HTTP or HTTPS URI. Information about the finished recording is | |||||
| provided via custom HTTP headers, all of which use a prefix of B<X-Recording->. | |||||
| =item B<--notify-post> | |||||
| Use HTTP POST instead of GET for the HTTP notification requests. The request | |||||
| body is empty even if POST is used. | |||||
| =item B<--notify-no-verify> | |||||
| Disable TLS peer certificate verification for HTTPS requests. | |||||
| =item B<--notify-concurrency=>I<INT> | |||||
| The maximum number of HTTP requests to perform simultaneously. | |||||
| =item B<--notify-retries=>I<INT> | |||||
| How many times to retry a failed HTTP notification before giving up. An | |||||
| exponential falloff time is used for each subsequent attempt, starting with 5 | |||||
| seconds. | |||||
| =item B<--notify-record> | |||||
| Attach recorded file to HTTP notification request. If enabled, notification | |||||
| request behaves as HTTP POST (ignoring B<--notify-post>). Note that this option | |||||
| is incompatible with DB-only storage as no recording file exists on storage | |||||
| (see B<output-storage>). | |||||
| =back | |||||
| =head1 EXIT STATUS | |||||
| =over | |||||
| =item B<0> | |||||
| Successful termination. | |||||
| =item B<1> | |||||
| An error occurred. | |||||
| =back | |||||
| =head1 FILES | |||||
| =over | |||||
| =item F</etc/rtpengine/rtpengine-recording.conf> | |||||
| Configuration file. | |||||
| =back | |||||
| =head1 SEE ALSO | |||||
| L<rtpengine(8)>. | |||||
| @ -1,369 +0,0 @@ | |||||
| =head1 NAME | |||||
| rtpengine-recording - media recording daemon for Sipwise rtpengine | |||||
| =head1 SYNOPSIS | |||||
| B<rtpengine-recording> [I<option>...] | |||||
| =head1 DESCRIPTION | |||||
| The Sipwise rtpengine media proxy has support for exporting media (RTP) packets | |||||
| that it forwards. The rtpengine-recording daemon collects these exported | |||||
| packets and decodes them into an audio format that can be listened to. | |||||
| =head1 OPTIONS | |||||
| All options can (and should) be provided in a config file instead of | |||||
| at the command line. See the B<--config-file> option below for details. | |||||
| If no options are given, then default values are assumed, which should be | |||||
| sufficient for a standard installation of rtpengine. | |||||
| =over 4 | |||||
| =item B<--help> | |||||
| Print the usage information. | |||||
| =item B<-v>, B<--version> | |||||
| If called with this option, the B<rtpengine-recording> daemon will simply print | |||||
| its version number and exit. | |||||
| =item B<--config-file=>I<FILE> | |||||
| Specifies the location of a config file to be used. The config file is an | |||||
| I<.ini> style config file, with all command-line options listed here also | |||||
| being valid options in the config file. | |||||
| For all command-line options, the long name version instead of the | |||||
| single-character version (e.g. B<table> instead of just B<t>) must be | |||||
| used in the config file. | |||||
| For boolean options that are either present or not (e.g. B<output-mixed>), a | |||||
| boolean value (either B<true> or B<false>) must be used in the config file. | |||||
| If an option is given in both the config file and at the command line, | |||||
| the command-line value overrides the value from the config file. | |||||
| As a special value, B<none> can be passed here to suppress loading of the | |||||
| default config file. | |||||
| =item B<--config-section=>I<STRING> | |||||
| Specifies the I<.ini> style section to be used in the config file. | |||||
| Multiple sections can be present in the config file, but only one can be | |||||
| used at a time. | |||||
| The default value is B<rtpengine-recording>. | |||||
| A config file section is started in the config file using square brackets | |||||
| (e.g. B<[rtpengine-recording]>). | |||||
| =item B<-L>, B<--log-level=>I<INT> | |||||
| Takes an integer as argument and controls the highest log level which | |||||
| will be sent to syslog. | |||||
| The log levels correspond to the ones found in the L<syslog(3)> man page. | |||||
| The default value is B<6>, equivalent to LOG_INFO. | |||||
| The highest possible value is B<7> (LOG_DEBUG) which will log everything. | |||||
| =item B<--log-facilty=>B<daemon>|B<local0>|...|B<local7>|... | |||||
| The syslog facilty to use when sending log messages to the syslog daemon. | |||||
| Defaults to B<daemon>. | |||||
| =item B<-E>, B<--log-stderr> | |||||
| Log to stderr instead of syslog. | |||||
| Only useful in combination with B<--foreground>. | |||||
| =item B<--split-logs> | |||||
| Split multi-line log messages into individual log messages so that each | |||||
| line receives its own log line prefix. | |||||
| =item B<--no-log-timestamps> | |||||
| Don't add timestamps to log lines written to stderr. | |||||
| Only useful in combination with B<--log-stderr>. | |||||
| =item B<--log-mark-prefix=>I<STRING> | |||||
| Prefix to be added to particular data fields in log files that are deemed | |||||
| sensitive and/or private information. Defaults to an empty string. | |||||
| =item B<--log-mark-suffix=>I<STRING> | |||||
| Suffix to be added to particular data fields in log files that are deemed | |||||
| sensitive and/or private information. Defaults to an empty string. | |||||
| =item B<-p>, B<--pidfile=>I<FILE> | |||||
| Specifies a path and file name to write the daemon's PID number to. | |||||
| =item B<-f>, B<--foreground> | |||||
| If given, prevents the daemon from daemonizing, meaning it will stay in | |||||
| the foreground. | |||||
| Useful for debugging. | |||||
| =item B<-t>, B<--table=>I<INT> | |||||
| Takes an integer argument. The value must match the B<table> option given to | |||||
| the B<rtpengine> media proxy to use for in-kernel packet forwarding. | |||||
| Defaults to B<0> if not specified. | |||||
| =item B<--spool-dir=>I<PATH> | |||||
| The path given here must match the B<recording-dir> path given to the | |||||
| B<rtpengine> media proxy. Defaults to F</var/spool/rtpengine>. The path must | |||||
| reside on a file system that supports the B<inotify> mechanism. | |||||
| =item B<--num-threads=>I<INT> | |||||
| How many worker threads to launch. Defaults to the number of CPU cores | |||||
| available, or B<8> if there are fewer than that or if the number is not | |||||
| known. | |||||
| =item B<--thread-stack=>I<INT> | |||||
| Set the stack size of each thread to the value given in kB. Defaults to 2048 | |||||
| kB. Can be set to -1 to leave the default provided by the OS unchanged. | |||||
| =item B<--evs-lib-path=>I<FILE> | |||||
| Points to the shared object file (B<.so>) containing the reference | |||||
| implementation for the EVS codec. See the F<README> for more details. | |||||
| =item B<--output-storage=>B<file>|B<db>|B<both> | |||||
| Where to store media files. By default, media files are written directly to the | |||||
| file system (see B<output-dir>). They can also be stored as a B<BLOB> in a | |||||
| MySQL database, either instead of, or in addition to, being written to the file | |||||
| system. | |||||
| =item B<--output-dir=>I<PATH> | |||||
| Path for media files to be written to if file output is enabled. Defaults to | |||||
| F</var/lib/rtpengine-recording>. The path must not be the same as used for the | |||||
| B<spool-dir>. | |||||
| =item B<--output-pattern=>I<STRING> | |||||
| File name pattern to be used for recording files. The pattern can reference | |||||
| sub-directories. Parent directories will be created on demand. The default | |||||
| setting is B<%c-%t>. | |||||
| The pattern must include B<printf>-style format sequences. Supported format | |||||
| sequences are: | |||||
| =over | |||||
| =item B<%%> | |||||
| A literal percent sign. | |||||
| =item B<%c> | |||||
| The call ID. It is mandatory for the output pattern to include this format | |||||
| sequence. | |||||
| =item B<%t> | |||||
| The stream type. For B<single> streams this is the SSRC written as hexadecimal; | |||||
| for B<mix> stream this is the string B<mix>. It is mandatory for the output | |||||
| pattern to include this format sequence. | |||||
| =item B<%l> | |||||
| The label for the participating party as communicated from the controlling | |||||
| daemon. | |||||
| =item B<%Y> | |||||
| =item B<%m> | |||||
| =item B<%d> | |||||
| =item B<%H> | |||||
| =item B<%M> | |||||
| =item B<%S> | |||||
| These format sequence reference the current system time (when the output file | |||||
| was created) and are the same as the format sequences supported by L<date(1)> | |||||
| or L<strftime(3)> (year, month, day, hours, minutes, and seconds, | |||||
| respectively). | |||||
| =item B<%u> | |||||
| Microseconds, expanded to 6 digits (B<000000> through B<999999>). | |||||
| =item B<%>I<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 is B<abcdefgh> and the output pattern is configured as | |||||
| B<%2/%3/%c>, then the resulting output file name would be B<ab/cde/abcdefgh>. | |||||
| =back | |||||
| =item B<--output-format=>B<wav>|B<mp3>|B<none> | |||||
| File format to be used for media files that are produced. Defaults to PCM WAV | |||||
| (RIFF) files. Applicable for both files stored on the file system and in a | |||||
| database. If B<none> is selected then file output is disabled. | |||||
| =item B<--resample-to=>I<INT> | |||||
| Resample all audio to the given sample rate (e.g. B<48000>). Resampling is | |||||
| disabled by default, meaning that files will be written with the same sample | |||||
| rate as the source media. | |||||
| =item B<--mp3-bitrate=>I<INT> | |||||
| If MP3 output is selected, use the given bitrate for the MP3 encoder (e.g. | |||||
| B<64000>). There is no default value, so this option must be given if MP3 | |||||
| output is selected. Note that not all bitrates are valid in combinations with | |||||
| all sample rates. For MP3 output it's therefore recommended to also set | |||||
| B<resample-to>. | |||||
| =item B<--output-mixed> | |||||
| =item B<--output-single> | |||||
| Whether to produce B<mixed> audio files, or B<single> audio files, or both. If | |||||
| neither option is given, then by default both are enabled. If no file output is | |||||
| desired, set B<output-format> to B<none>. | |||||
| A B<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 B<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 takes 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. | |||||
| =item B<--mix-method=>B<direct>|B<channels> | |||||
| Selects a method to mix multiple audio inputs into a single output file for | |||||
| B<mixed> output. The default is B<direct> which directly mixes all audio inputs | |||||
| together, producing a mixed output file with the same format as an audio file | |||||
| from a single input (B<output-single>) would be. | |||||
| The B<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. B<wav>). | |||||
| =item B<--mix-num-inputs=>I<INT> | |||||
| Change the number of recording channel in the output file. The value is between 1 to 4 (e.g. B<4>, which is also the default value). | |||||
| =item B<--output-chmod=>I<INT> | |||||
| Change the file permissions of recording files to the given mode. Must be given | |||||
| as an octal integer, for example B<0660>. | |||||
| =item B<--output-chmod-dir=>I<INT> | |||||
| Change the file permissions of recording files to the given mode. Must be given | |||||
| as an octal integer, for example B<0700> (which is also the default value). | |||||
| =item B<--output-chown=>I<USER>|I<UID> | |||||
| =item B<--output-chgrp=>I<GROUP>|I<GID> | |||||
| Change the ownership of recording files. Either user/group names or numeric IDs | |||||
| are supported. If the value is blank or given as B<-1> then the user/group is | |||||
| left unchanged. | |||||
| =item B<--mysql-host=>I<HOST>|I<IP> | |||||
| =item B<--mysql-port=>I<INT> | |||||
| =item B<--mysql-user=>I<USERNAME> | |||||
| =item B<--mysql-pass=>I<PASSWORD> | |||||
| =item B<--mysql-db=>I<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 (see B<output-storage>). | |||||
| =item B<--forward-to=>I<PATH> | |||||
| Forward raw RTP packets to a Unix socket. Disabled by default. | |||||
| =item B<--tls-send-to=>I<IP>B<:>I<PORT> | |||||
| =item B<--tls-resample=>I<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. | |||||
| =item B<--notify-uri=>I<URI> | |||||
| Enable HTTP notification about finished recordings to the specified URI, which | |||||
| must be an HTTP or HTTPS URI. Information about the finished recording is | |||||
| provided via custom HTTP headers, all of which use a prefix of B<X-Recording->. | |||||
| =item B<--notify-post> | |||||
| Use HTTP POST instead of GET for the HTTP notification requests. The request | |||||
| body is empty even if POST is used. | |||||
| =item B<--notify-no-verify> | |||||
| Disable TLS peer certificate verification for HTTPS requests. | |||||
| =item B<--notify-concurrency=>I<INT> | |||||
| The maximum number of HTTP requests to perform simultaneously. | |||||
| =item B<--notify-retries=>I<INT> | |||||
| How many times to retry a failed HTTP notification before giving up. An | |||||
| exponential falloff time is used for each subsequent attempt, starting with 5 | |||||
| seconds. | |||||
| =item B<--notify-record> | |||||
| Attach recorded file to HTTP notification request. If enabled, notification | |||||
| request behaves as HTTP POST (ignoring B<--notify-post>). Note that this option | |||||
| is incompatible with DB-only storage as no recording file exists on storage | |||||
| (see B<output-storage>). | |||||
| =back | |||||
| =head1 EXIT STATUS | |||||
| =over | |||||
| =item B<0> | |||||
| Successful termination. | |||||
| =item B<1> | |||||
| An error occurred. | |||||
| =back | |||||
| =head1 FILES | |||||
| =over | |||||
| =item F</etc/rtpengine/rtpengine-recording.conf> | |||||
| Configuration file. | |||||
| =back | |||||
| =head1 SEE ALSO | |||||
| L<rtpengine(8)>. | |||||
| @ -0,0 +1 @@ | |||||
| ../docs/rtpengine-recording.pod | |||||