Страница 1 из 1

Звонок с задержкой

Добавлено: 02 май 2025, 01:09
Olegooov
Всем доброй ночи, не судите строго я новичок
Необходимо сделать так чтобы музыкальный файл начал играть и через 20 секунд после начала музыкального файла пошёл вызов на 210 номер, но без гудков то есть чтобы продолжал играть файл запущенный в начале, коды которые написал прикрепляю ниже (они не работают)

exten => 3,1,GoSub(recording,s,1,(${CALLERID(num)},${EXTEN}))
exten => 3,2,Playback(/var/lib/asterisk/mohmp3/intro)
exten +> 3,3,Wait(20)
exten => 3,4,Dial(SIP/210,,g)
(Второй код)
exten => 3,1,GoSub(recording,s,1,(${CALLERID(num)},${EXTEN}))
exten => 3,2,Answer()
exten => 3,3,MusicOnHold(default)
exten => 3,4,Set(STARTTIME=${EPOCH})
exten => 3,5,While($[${EPOCH} - ${STARTTIME} < 20])
exten => 3,6,Wait(1)
exten => 3,7,EndWhile()
exten => 3,8,Dial(SIP/210,,g)

Re: Звонок с задержкой

Добавлено: 02 май 2025, 01:53
ded
1. Записать музыкальный файл длиной 20 сек. и закинуть его в /var/lib/asterisk/sounds/music_file_20_sec.wav
2. Закинуть его же, или такой же, но подлиннее, в /var/lib/asterisk/moh
3. Принимать звонок в такой вот диал-план

Код: Выделить всё

exten => 3,1,Answer()
same => n,Playback(music_file_20_sec.wav)  ; воспроизвдится ваша музыка, полный путь указывать не надо
same => n,Dial(SIP/210,,m)   ; Опция m даст проигрывание MusicOnHold вместо гудка 

Re: Звонок с задержкой

Добавлено: 02 май 2025, 11:04
Olegooov
Спасибо большое за ответ, но музыкальный файл длиной 8 минут, и у меня получалось так что пока музыкальный файл не доиграет звонок не пойдет, а мне надо было что бы файл пошел, прошло 20 секунд после запуска файла и пошел звонок на 210 номер без гудка (в плане что бы этот музыкальный файл продолжил играть во время звонка)

Re: Звонок с задержкой

Добавлено: 02 май 2025, 23:10
ded
Разделите музыкальный файл длиной 8 минут на два отрезка, 20 сек. и остальные 7 минут и 40 секунд (как-то сразу еврейской мелодией потянуло...).
Первую часть в /var/lib/asterisk/sounds/music_file_20_sec.wav и вторую - в /var/lib/asterisk/moh
и всё получится.

Re: Звонок с задержкой

Добавлено: 04 май 2025, 21:15
Olegooov
Спасибо огромное! сразу не догадался про разделение))) уже начал мудрить через очередь)

Re: Звонок с задержкой

Добавлено: 05 май 2025, 00:53
Zavr2008
Почему не сделать проще:

Код: Выделить всё

Answer()
MusicOnHold()
Wait(20)
Dial(SIP/210)

Re: Звонок с задержкой

Добавлено: 05 май 2025, 00:57
ded
При Dial(SIP/210) музыка вместо гудка не удет транслироваться, тем более как продолжение с того места, на котором закончилась в 20-сек. отрезке.

Re: Звонок с задержкой

Добавлено: 05 май 2025, 14:27
Zavr2008
Тогда Dial с опцией m через Local, там answer + wait (20) + Dial(SIP/210)

Re: Звонок с задержкой

Добавлено: 05 май 2025, 14:40
Zavr2008
Проверил не поленился)

Код: Выделить всё

[from-internal-custom]

 exten=>77771,1,noop()
     same=>n,wait(5)
     same=>n,Dial(SIP/103,,m)
 exten=>77777,1,Noop()
     same=>n,Dial(LOCAL/77771@from-internal-custom,,m)

Вполне себе играет, не дробит. Ансвер только не надо оказалось..