Что такое тон в контексте телефонии?
В двух словах, тон — это звуковой сигнал определенной частоты, определенной продолжительности, посылаемый телефонным оборудованием для информирования пользователя об определенном событии.
Например, длинный гудок, который мы слышим, когла поднимаем трубку, чтобы совершить звонок, — это ответ станции — тон «dial tone». Продолжительные гудки дозвона — «ringback tone». Короткие гудки, сообщающие, что пользователь занят — «busy tone».
Модуль mod_tone_stream
Генерированием тонов в Freeswitch занимается модуль mod_tone_stream. Отдельного файла настроек для данного модуля нет. Задание параметров выдаваемого тона происходит в диалплане.
Выглядит запись тона в обобщенном виде следующим образом:
tone_stream://[L=x;][v=y;]%(<on-duration>, <off-duration>, <freq-1> [, freq-2] [, freq-3] [, freq-n] [;loops=x])
- L=x — создать x копий определенного тона в памяти перед проигрыванием. Отрицательное значение неприемлемо — L=-1 не работает. Если нужно сделать сигнал, повторяющийся неопределенное количество раз, пользуйтесь конструкцией loop=-1. L=x ставится в начале строки, задающей тон;
- v=y — громкость тона в децибелах. «0» — максимальная громкость. Используются отрицательные значения;
- on-duration — длительность звучания тона в милисекундах;
- off-duration — длительность тишины (паузы) в милисекундах;
- freg-1 … freg-n — задаем частоту в герцах;
- ;loops=x — повторить x раз; loop=-1 — бесконечный цикл. Генерирует тон и повторяет процесс генерации каждый раз до завершения цикла, в отличие от параметра L, который сначала создаст один длительный тон, который будет занимать место в памяти в x раз больше, а только потом его проиграет. Данный параметр записывается в конце строки.
Пример
«busy tone»
Проиграть 8 гудков сигнала «занято», длительность тона и тишины по 500 ms.
<action application="playback" data=tone_stream://L=8;%(500,500,480,620)" />
Параметры тонов в большинстве своем определены на национальном уровне. В разных странах может быть разное кол-во тонов и разные параметры для тонов одного и того же назначения.
Разнообразие тонов и их параметры по версии ITU-T можно посмотреть в Recommendation E.180/Q.35.