YATE(8)

yate(8) πŸ’– launch the YATE telephony engine

okay bestie, gather round β€” this is the page for yate(8), the Telephony Engine main character. No cap, it’s a whole vibe and also a real Unix manual page, so let’s get into it πŸ’…


✨ NAME ✨

yate β€” launch the YATE telephony engine. That’s the name, that’s the job, periodt πŸ’–

🌸 SYNOPSIS 🌸

yate [options] [commands]

πŸ¦‹ DESCRIPTION πŸ¦‹

yate is a telephony engine that supports client, PBX and IVR functions through plugins. Literally the whole description, and it’s giving β€œsmall sentence, big job” energy 🫢

πŸ’… OPTIONS πŸ’…

General

  • -h, --help β€” Display a short help message and exit. Your β€œhelp me bestie” button ✨
  • -V, --version β€” Display program version and exit.
  • -v β€” Verbose logging (you can use more than once). Use it again for even more chatter πŸ‘€
  • -q β€” Quieter logging (you can use more than once).
  • -d β€” Daemonify, suppress output unless logged. Main character goes quiet and runs in the background πŸ’€
  • -s[=msec] β€” Supervised, restart if crashes or locks up, optionally sleeps initially.
  • -r β€” Enable rotation of log file (needs -s and -l). Yes, it’s a package deal, bestie πŸŽ€
  • -l filename β€” Log to file β€” should be used whenever running in daemon mode.
  • -p filename β€” Write PID of the supervisor or primary thread to file.
  • -n configname β€” Use specified configuration name, overrides default "yate".
  • -c pathname β€” Path to conf files directory, overrides compiled-in value.
  • -u pathname β€” Path to user data files directory, overrides compiled-in value.
  • -m pathname β€” Path to modules directory, overrides compiled-in value.
  • -e pathname β€” Path to shared directory, overrides compiled-in value.
  • -x dirpath β€” Absolute or relative path to extra modules directory (can be repeated). Stack β€˜em if you need to 🧚
  • -w directory β€” Change working directory.
  • -N nodename β€” Set the name of the node in a cluster.

Debugging options (may not be compiled in)

  • -C β€” Enable core dumps if supported by the operating system.
  • -F β€” Increase the maximum file handle to compiled value.
  • -S β€” Set size of supervised sanity points pool.
  • -t β€” Truncate the log file instead of appending to it.
  • -D[options] β€” Special debugging options. The little sub-options live below, iykyk πŸ‘‘
    • -Da β€” Abort (coredumps if allowed) if bugs are encountered.
    • -Dm β€” Attempt to debug mutex deadlocks by setting a maximum 10s limit, if repeated halves the limit.
    • -Dd β€” Enable some locking debugging and safety features, degrades performance.
    • -Dl β€” Attempt to load modules without having their symbols globally visible.
    • -Dc β€” Call dlclose() until it gets an error.
    • -Du β€” Do not unload modules, just try to call their finalization code.
    • -Di β€” Reinitialize after first initialization.
    • -Dx β€” Exit immediately after initialization.
    • -Dw β€” Delay for one second the creation of the first worker thread.
    • -Do β€” Colorize the output using ANSI control character sequences. Cute output, technically speaking 🌈
    • -Ds β€” Abort if bugs are encountered even during shutdown.
    • -DO β€” Attempt to debug all object allocations by counting objects per plugin, degrades performance.
    • -Dn β€” Do not add timestamps to debugging messages.
    • -Dt β€” Add start time relative timestamps to debugging messages.
    • -De β€” Add EPOCH (1-1-1970 GMT) based timestamps to debugging messages.
    • -Df β€” Add GMT timestamps to debugging messages in format YYYYMMDDhhmmss.uuuuuu.
    • -DF β€” Add GMT timestamps to debugging messages in format YYYY-MM-DD_hh:mm:ss.uuuuuu.
    • -Dz β€” Add local timezone timestamps to debugging messages in format YYYYMMDDhhmmss.uuuuuu.
    • -DZ β€” Add local timezone timestamps to debugging messages in format YYYY-MM-DD_hh:mm:ss.uuuuuu.

πŸŽ€ COMMANDS πŸŽ€

Each command is sent to the YATE modules immediately after initialization. Modules define command syntax, so that’s not described here β€” please look at the documentation for each module. Bestie, read the module docs, they said it, not me 😭

🌈 SIGNALS 🌈

  • SIGTERM and SIGINT (Ctrl+C) will cleanly stop the engine.
  • SIGQUIT (Ctrl+</kbd>) will reinitialize the modules.
  • SIGHUP will reinitialize the modules if started in daemon mode (-d).
  • SIGUSR1 will initiate a graceful restart (when no plugin is busy).
  • SIGUSR2 will initiate an immediate restart. No waiting, no thoughts, just restart πŸ’€

πŸ’€ BUGS πŸ’€

Under various *BSD implementations the dlclose() function is broken and may generate a segfault on exit.
Some libpthread implementations are broken and may fail to start the threads or fail to cleanup when the thread terminates.

Yeah, that’s the warning section, and it’s giving β€œhandle with care” energy. Not me pretending I didn’t see it πŸ™ˆ

πŸ‘‘ AUTHORS πŸ‘‘

  • Paul Chitescu <paulc@voip.null.ro>
  • Diana Cionoiu <diana@voip.null.ro>

🫢 SEE ALSO 🫢

yate-config(8)


πŸ’– YATE Β· September 2007 Β· YATE(8) β€” okay bestie, that’s the whole page, now go be iconic πŸ’…βœ¨

πŸ“¦ where this page comes from