что использовать вместо Playback
Сообщений: 23
|
что использовать вместо Playback
Есть алгоритм
1) Абонент попадает на номер 200
2) проигрывается приветствие
3) выбирается номер оператора (3000 или 3001 или 3002 и т.д)
4) если один из операторов свободен , то ему звонок
5) если не свободен
6) тога говорит : (нет свободных)
7) играет музыка ожидания
8) прыгает обратно на выбор номера оператора
exten => 200,1,Macro(ruslan_baza) ....
exten => 200,2,Playback(/home/demon/govorinlka/1) // проигрывается приветствие
exten => 200,3,Macro(vibor_nomera) // выбирается номер оператора (3000 или 3001 или 3002 и т.д)
exten => 200,4,Dial(SIP/${mynomer}) // если один из операторов свободен , то ему звонок
exten => 200,5,GotoIF($["${DIALSTATUS}" = "BUSY"]?waiting) // если не свободен тога говорит :
exten => 200,n(waiting),Playback(/home/demon/govorinlka/13) (нет свободных)
exten => 200,7,Playback(/home/demon/govorinlka/zanyato) // играет музыка ожидания
exten => 200,8,Goto(200,3) // и прыгает на выбор номера , до тех пор пока не освободится свободный оператор
;exten => h,1,Handup()
Вопрос такой. На шаге " 7, когда играет музыка ожидания exten => 200,n,Playback(/home/demon/govorinlka/zanyato)" абонет ждет пока полностью не проиграется файл с музыкой ожидания /home/demon/govorinlka/zanyato , и только после этого идет переход на шаг exten => 200,n,Goto(200,3) .
Что использовать, в данной ситуации, вместо exten => 200,n,Playback(/home/demon/govorinlka/zanyato) чтобы одновременно работал цикл и проигрывалась музыка
|
Откуда: SPb
Сообщений: 1307
|
Re: что использовать вместо Playback
Background
|
Откуда: SPb
Сообщений: 1307
|
Re: что использовать вместо Playback
И еще.. Мне чисто самому интересно .
exten => 200,5,GotoIF($["${DIALSTATUS}" = "BUSY"]?waiting)
а что если он свободен , все равно играть "абонент занят"?
И вообще.. пользуйтесь очередями , будет вам щастье.
|
Сообщений: 156
|
Re: что использовать вместо Playback
zzuz: Background
Мне кажется, что Background тут не катит. С Background, проиграется все сообщение, а только потом перейдет на следующий приоритет. Я такое однажды делал, с помощью musiconhold. Сообщение, которое должно проиграться - есть специально созданный контекст в MOH, подсунутый комманде Dial как moh. Т.е. сообщение прокручивается, а телефон звонит. Как только оператор возмет трубку, сообщение прекращается.
Ну, наверное, с помощью очередей это правильнее будет.
|
Откуда: Киев
Сообщений: 749
|
Re: что использовать вместо Playback
специально для этого придумана очередь..
|
Сообщений: 23
|
Re: что использовать вместо Playback
zzuz: И еще.. Мне чисто самому интересно .
exten => 200,5,GotoIF($["${DIALSTATUS}" = "BUSY"]?waiting)
а что если он свободен , все равно играть "абонент занят"?
И вообще.. пользуйтесь очередями , будет вам щастье.
Когда свободен играть не надо.
Background не катит.
Насчет очереди, она своя (exten => 200,3,Macro(vibor_nomera)) в том то и дело
alphil, А можно поподробней.
|
Сообщений: 156
|
Re: что использовать вместо Playback
Опишу свой случай. У меня есть клиент, которому никогда очереди были не нужны - три телефона и три телефонистки - все входящие попадают в контекст, по типу Dial(SIP/200&SIP/201&SIP/202). Перед Dial стоял Background, который говорил, спасибо что вы нам позвонили, сейчас вас обслужат. Проблема та же - пока не проиграет Background - Dial не выполняется. Хотелось, чтобы пока телефонистка не ответила - зациклено повторялось сообщение_1, потом сообщение_2, и т.д и телефоны при этом сразу звонили бы. Наверняка есть более правильное решение, но я сделал так:
в musiconhold.conf создаем новый контекст
[wlcm]
mode=files
directory=/var/lib/asterisk/sounds/custom/mess-wlcm
random=no
в extensions.conf в контексте входящих звонков
exten => s,n,Dial(SIP/200&SIP/201&SIP/202,25,Ttm(wlcm))
|
Сообщений: 2
|
Re: что использовать вместо Playback
Плохо то что для следующего звонившего он начнет с файла на котором остановился.
кроме как склеивать в один я тоже ничего не придумал. а хотелось бы.
|
|