Чтение онлайн

на главную - закладки

Жанры

Asterisk™: будущее телефонии Второе издание
Шрифт:

Случайный выбор музыки во время ожидания

В традиционной офисной АТС музыка во время ожидания поступает из одного источника. В один момент времени все слышат одну и ту же музыку, и даже если никого нет в режиме ожидания, музыка все равно воспроизводится. В Asterisk музыка не воспроизводится, если в ней нет необходимости, и каждому вызывающему абоненту предоставляется собственный источник музыки. Если бы Asterisk просто начинала воспроизводить композиции в том порядке, в каком их находит, для каждого вызова, переведенного в режим ожидания, всегда проигрывалась бы одна и та же мелодия с начала. Чтобы смоделировать традиционное поведение при задержке вызова, Asterisk может (и

обычно должна) быть настроена на воспроизведение музыки в случайном порядке. Это означает, что система будет случайным образом выбирать файл для воспроизведения. Если в каталоге музыки во время ожидания достаточно различных композиций, можно свести к минимуму вероятность того, что тот, кто звонит вам часто, будет вынужден постоянно слушать одну и ту же мелодию.

всемирным успехом радости людей от прослушивания одних и тех же трех мелодий при ожидании ответа на звонок. Поэтому мы написали этот раздел.

Заключение

Данная глава могла бы стать книгой (и, возможно, однажды так и произойдет). Мы выбрали для рассмотрения несколько тем, которые, на наш взгляд, представляют ценность для большинства читателей, но, несомненно, тем для обсуждения намного больше. Как и многие вопросы в данной книге, они были затронуты лишь в самых общих чертах.

14

Попурри

На 90% задачи уходит 90% времени, а на оставшиеся 10% уходит еще 90% времени.

– Правило девяносто к десяти

Самым сложным при создании данной книги было выбрать не то, о чем писать, а то, о чем не будет возможности рассказать. Теперь, когда базовые вопросы рассмотрены, вы готовы к тому, чтобы услышать правду: мы вовсе не научили вас всему тому, что необходимо знать об Asterisk.

Теперь, пожалуйста, поймите, что это не потому, что мы не хотели дать все самое лучшее, а лишь из-за того, что Asterisk безгранична (во всяком случае, нам так кажется).

В данной главе мы хотим дать вам почувствовать вкус некоторых диковинок, которые Asterisk приберегла для вас. Практически каждый раздел этой главы мог бы стать отдельной книгой (и они станут книгами, если Asterisk добьется того успеха, который мы ей предвещаем).

Festival

Festival - популярный механизм речевого воспроизведения текста с открытым исходным кодом. Основная идея использования Festival с Asterisk заключается в том, что диалплан может передавать тело текста в Festival, который будет «читать» этот текст вызывающему абоненту. Вероятно, самое очевидное применение Festival - чтение электронной почты вслух, когда вы в дороге1.

Настройка и подготовка Festival к работе с Asterisk

В настоящее время существует два способа использования Festival с Asterisk. Первый (самый простой) метод, без доработки и повторной компиляции Festival, - загрузить в конфигурационный файл Festival следующий текст (festival.scm обычно располагается в папке /etc/ или /usr/share/festival/):

(define (tts_textasterisk string mode) "(tts_textasterisk STRING MODE)

Apply tts to STRING. This function is specifically designed for use in server mode so a single function call may synthesize the string. This function name may be added to the server safe functions." [130]

130

Применяем tts к STRING. Эта функция специально разработана для использования в режиме сервера, чтобы можно было синтезировать строку одним вызовом функции. Это имя функции

может быть добавлено в список безопасных функций сервера.
Примеч. перев.

(let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string))))) (utt.wave.resample wholeutt 8000) (utt.wave.rescale wholeutt 5) (utt.send.wave.client wholeutt)))

Этот текст можно поместить в любом месте файла, но только так, чтобы он не попал в другие круглые скобки.

Второй (и более традиционный) способ - скомпилировать Festival со специальным патчем для Asterisk (располагающимся в подпапке contrib/ папки исходного кода Asterisk).

Информация по обоим методам имеется в файле README.festival, который находится в подпапке contrib/ папки исходного кода Asterisk. Для любого метода вам придется изменить список доступа Festival в файле festival.scm. Просто выполните поиск по слову localhost и замените его полным доменным именем своего сервера.

Оба метода настраивают Festival так, чтобы он мог правильно взаимодействовать с Asterisk. Настроив Festival, необходимо запустить сервер Festival. После этого можно вызывать приложение Festival из диалплана.

Конфигурация Asterisk для работы с Festival

Конфигурационный файл Asterisk, обеспечивающий настройки для работы с Festival, называется festival.conf, что вполне логично. В этом файле задаются имя хоста и порт используемого сервера Festival, а также некоторые настройки для кэширвания речи, генерируемой Festival. Для большинства установок (если вы собираетесь запускать Festival на своем сервере Asterisk) прекрасно подходят настройки по умолчанию.

Запуск сервера Festival

Чтобы запустить сервер Festival для отладки, просто выполните команду festival с аргументом --server: [root@asterisk ~]# festival --server Убедившись в том, что сервер Festival работает и не отклоняет ваших соединений, можно запустить Festival, введя следующее: [root@asterisk ~]# festival_server 2>&1 >/dev/null &

Вызов Festival из диалплана

Теперь, когда Festival сконфигурирован и сервер Festival запущен, организуем его вызов в простом диалплане:

exten => 123,1,Answer

exten => 123,2,Festival(Asterisk and Festival are working together)

Перед вызовом Festival всегда должно быть вызвано приложение Answer, чтобы гарантировать установление соединения по каналу.

Когда Asterisk соединяется с Festival, на терминале, с которого был запущен сервер Festival, должен появиться такой вывод:

[root@asterisk ~]# festival --server

server Sun May 1 18:38:51 2005 : Festival server started on port 1314
client(1) Sun May 1 18:39:20 2005 : accepted from asterisk.localdomain
client(1) Sun May 1 18:39:21 2005 : disconnected

Еще один способ использования Festival с Asterisk

Некоторые участники сообщества разработчиков Asterisk сообщают о том, что им удалось передать текст в утилиту Festival text2wave и воспроизвести в Asterisk результирующий WAV-файл. Например, это можно сделать так:

exten => 124,1,Answer

exten => 124,2,System(echo "Это проверка Festival" | /usr/bin/text2wave -scale 1.5 -F 8000 -o /tmp/festival.wav) exten => 124,3,Playback(/tmp/festival) exten => 124,4,System(rm /tmp/festival.wav) exten => 124,5,Hangup

Поделиться:
Популярные книги

На границе тучи ходят хмуро...

Кулаков Алексей Иванович
1. Александр Агренев
Фантастика:
альтернативная история
9.28
рейтинг книги
На границе тучи ходят хмуро...

Кодекс Охотника. Книга III

Винокуров Юрий
3. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
7.00
рейтинг книги
Кодекс Охотника. Книга III

Последний попаданец 11. Финал. Часть 1

Зубов Константин
11. Последний попаданец
Фантастика:
фэнтези
юмористическое фэнтези
рпг
5.00
рейтинг книги
Последний попаданец 11. Финал. Часть 1

Книга пяти колец

Зайцев Константин
1. Книга пяти колец
Фантастика:
фэнтези
6.00
рейтинг книги
Книга пяти колец

Поступь Империи

Ланцов Михаил Алексеевич
7. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Поступь Империи

Купидон с топором

Юнина Наталья
Любовные романы:
современные любовные романы
7.67
рейтинг книги
Купидон с топором

Наследник в Зеркальной Маске

Тарс Элиан
8. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник в Зеркальной Маске

Совок 5

Агарев Вадим
5. Совок
Фантастика:
детективная фантастика
попаданцы
альтернативная история
6.20
рейтинг книги
Совок 5

Аномальный наследник. Том 1 и Том 2

Тарс Элиан
1. Аномальный наследник
Фантастика:
боевая фантастика
альтернативная история
8.50
рейтинг книги
Аномальный наследник. Том 1 и Том 2

Теневой путь. Шаг в тень

Мазуров Дмитрий
1. Теневой путь
Фантастика:
фэнтези
6.71
рейтинг книги
Теневой путь. Шаг в тень

Попаданка в академии драконов 2

Свадьбина Любовь
2. Попаданка в академии драконов
Любовные романы:
любовно-фантастические романы
6.95
рейтинг книги
Попаданка в академии драконов 2

Гром над Империей. Часть 2

Машуков Тимур
6. Гром над миром
Фантастика:
фэнтези
попаданцы
5.25
рейтинг книги
Гром над Империей. Часть 2

Ритуал для призыва профессора

Лунёва Мария
Любовные романы:
любовно-фантастические романы
7.00
рейтинг книги
Ритуал для призыва профессора

Измена. Осколки чувств

Верди Алиса
2. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Осколки чувств