AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Trixbox + склейка ивр файлов

Asterisk GUI 15 сообщений -
#1

Господа, как правильно сделать в идеалогии триксбокса такое? Есть много надиктованных файлов, есть отдельно слова, цифры. Надо на ивр такое-то в анонсе проиграть, скажем, файлы "приветствие" "ивр-день" "нажмите" "ноль". склеивать файлы и заливать как-то не по себе. наверно, есть что-то другое?
#2

Там всё это есть (в родном исполнении - на ангельском), ничего не надо было надиктовывать. А уж если надиктовывать - то свою библиотеку файлов /ru
Или купить у Вестани - Тамару.
Или найти и скачать Тамару бесплатно.
Все, что нужно самому там сделать - это надиктовать приветствие "Здравствуйте, Вы ещё кипятите? Тогда нажмите 0 и мы идём к вам, или нажмите 1 и мы не идём к вам, или нажмите 2 и идите к нам"
В создаваемом шаблоне ИВР поставить на вход это приветствие, и в блоках ниже указать 0 - терминировать на.. , 1 - терминировать на, 2 - терминировать на...


Последний раз редактировалось: Ded (Вт Авг 05, 2008 09:29)
#3

Playback(prompts/file1&prompts/file2&prompts/file3&prompts/file4)
или
Background(prompts/file1&prompts/file2&prompts/file3&prompts/file4)
для последовательного проигрывания нескольких файлов

Читайте
core show application Playback
core show application Background

===============================
Если хотите динамическое голосовое меню, то используйте AGI
AGI(path-to-script/dynamic-ivr.pl)

Читайте
core show application AGI

и напишите свой dynamic-ivr.pl с помощью Perl::AGI или на PHP тоже библиотека есть, или еще на каком-нибудь вам удобном языке.
На Voip-Info.org есть вся информация о работе AGI "изнутри".

_________________
Человек мира. RHCE.
#4

Romik, там всё прощё. Для создания ИВР вообще не требуется никаких знаний программирования, всё ветвление создаётся кликами на вэб интерфейсе.
#5

не совсем так. тамара ест. и есть разные слова, которые у тамары нет. например, "чтобы подробней узнать о наших услугах", "анлим", "анал". ну и так далее. как делать ивр, я понял. но мне надо, чтобы при попадании, скажем, в ivr-uslugi диктовались последовательно несколько файлов, скажем, "вы находитесь в информационном меню услуги" - один файл. "нажмите цифру или наберите номер внутреннего абонента" - второй файл. и далее файлы, описывающие нижестоящие меню-ивр, причем, то же слепленные из, скажем: "чтобы узнать подробней о способах оплаты" - файл. "нажмите" - файл. "ноль" - файл. а я нашел только как можно сделать один. потому как у меня довольно разветвленная ивр, и, скорей всего, она со временем будет изменяться и каждый раз передиктовывать целиком все приветствия и меню верхнего уровня будет несколько накладно.

Added after 6 minutes:

Romik, как играть файлы и даже последовательно, я знаю. А вот как это сделать так, чтобы по-триксбоксовски, а не в кишках ковыряться? А ведь понимаю, что триксбокс - продукт не настолько гибкий, как сам астериск, на который он навернут. Но неужели настолько негибкий?
#6

"анал"? Нажмите 1 чтобы попасть в орал, и 2 чтобы попасть в анал? Что это?
"вы находитесь в информационном меню услуги" и "нажмите цифру или наберите номер внутреннего абонента" - это должно соорудить в один файл.
разветвленная ивр сооружается тоже не сложно. Если ты заметил, каждый блок можно не терминировать куда-то, а направлять в другой ИВР - первая радио-точка в каждом блоке.
1) Послушай всю Тамару
2) Поиграйся с разными вариантами построения. Невозможно сразу построить многоуровневое меню, особенно, когда это впервые в жизни.
#7

2) я уже давно построил всю ивр, осталось только озвучить. ничего сложного там нет. сначала схему на листочке, потом на неё наростил надписи, вот теперь записали голос на радио.
1) ни к чему. от неё разве что озвучка голосовой почты для входящих извне звонков будет использоваться.

0) это должно соорудить в один файл. по-другому никак? не выходя из рамок, нарисованных триксбоксом?

p.s. сейчас у меня пока что 8 ивр получилось. два верхних на день/ночь, и по ниспадающей до третьего уровня. озвучки много, и бывает часто так, что в одном меню второго уровня говорится: "для связи с астралом нажмите 0". а в другом, параллельном, так скажем, тоже второго уровня говорится: "для связи с астралом нажмите 4". я предполагал упростить задачу, склеивая фразу из готовых трех: "для связи с астралом", "нажмите" и набора цифр, а не записывая две эти фразы целиком. ведь через месяц-другой я буду предоставлять не только связь с астралом и аналом, но и телепатическую трансляцию приятных сновидений, а так как услуга более привлекательная с точки зрения денег, то мне захочется её по меню передвинуть на другую кнопку, поближе к началу и если все файлы озвучки будут цельными - придется же переписывать их целиком или корежить в редакторе каком-нибудь. а так - просто подменил последнюю цифру и вуаля.
#8

Тут уж не знаю как посоветовать, нужно выбрать очень золотую середину между дискретным дроблением и наоборот, консолидацией. Иначе в первом случае можно фразу "нажмите цифру или наберите номер внутреннего абонента" разрезать до кусочков "нажмите" "цифру" "или" "наберите" "номер" "внутреннего" "абонента", дополнив другими стёклышками получать такие мозаики: "нажмите" на болевую точку" "или" "набейте" "лицо" "внешнему" "супостату", в общем, мне кажется при многообразии легко запутаться.
#9

отнюдь! если их назвать правильно эти файлы, то можно много гибкости получить. да, я согласен, что до отдельных слов делить не стоит. но это в моём случае. возможно, в другом это будет более правильно. вопрос в том, как это реализовать в идеалогии триксбокса - уж очень не хочется заниматься склейкой цельных фраз из этих полуфабрикатов вручную.

Added after 7 minutes:

кстати, вот в доке не нашел, что будет, если в контексте и во включаемом им контексте екстеншены пересекаются - что будет? Просто отрабатываются те, что есть в родителе и всё? Было бы забавно, если бы была возможность отработать сначала тот код, что есть в родителе, а затем тот - что во включаемом контексте на один и тот же экстеншен. Задачу можно было бы решить подпоркой, а не костылем.
#10

duddits писал(а):
вопрос в том, как это реализовать в идеалогии триксбокса - уж очень не хочется заниматься склейкой цельных фраз из этих полуфабрикатов вручную.

прикрутить "Text to speech engine"?

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#11

Думаю нормальным путем сделать это в FreePBX не получится или в файлах ручками.

Или пробивать извратом, создавая на каждое твое разбиение свой ИВР и у него поставить Timeout 0 и на экстеншен t, переходить на следующий IVR который будет проигрывать следующее разбиение.
Я такой способ не пробивал и не желаю кому то его испробовать, но теоретически он должен работать.

ИМХО, легче хранить на рабочей системе файлы порезанные, их в CoolEdit сливать и заливать на сервер.

_________________
"Фантазия важнее знания.", Альберт Эйнштейн
#12

anest, tts пока что отпал, как не самый подходящий для коммерческого использования - фестивальный русский голос еще точить, точить и точить.
ToxaP, фееричный изврат, про такой я даже как-то не задумывался Wink уже нашел покороче: таймаут ноль, переход в кастом апп, в нем проигрыш, из него - в правильный ивр. но и это плохо. пойду искать другую дорогу, пусть и через кишки.
#13

2 duddits: Твой вариант не поймает циферку если юзер ее нажмет, во время проигрывания "кастом апп".
_________________
"Фантазия важнее знания.", Альберт Эйнштейн
#14

а на что Background() ?
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#15

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

Added after 15 minutes:

ха. оказалось всё в пятьсот раз проще. уже расковырял исходники и занес над модулем ивр нож, а потом подумал, что логичней будет поправить в другом месте, а именно - в систем рекордингс. и что же? там под одним именем можно, можно слеплять два, три, пять, сто файлов Wink вот он, ответ на мой вопрос из первого поста Wink

p.s. а ведь это можно было и не из исходников узнать, а из веб интерфейса Wink