Size: a a a

2021 November 11

YG

Yuriy Gorlichenko in Asterisker-ы
кмк на asterisk без патча ты эту задачу не решишь
астериск абстрагирует тебя от реальной сигнализации в диалплане
а значит от промежуточных значений
источник

IO

Ihor Olkhovskyi in Asterisker-ы
Я просто не уверен, что оно по умолчанию так не работает. Я мог что-то стремное накрутить
источник

YG

Yuriy Gorlichenko in Asterisker-ы
не работает
как только вызывается dial - ты больше там ничего не накрутишь кроме как что нить сказать перед ответом и тд
источник

IO

Ihor Olkhovskyi in Asterisker-ы
Еще хитрость в том, что без Progress(), Dial по умолчанию посылает стороне A 180 не дожидаясь его от стороны B. Как только появляется предответ - ква. Сушите весла
источник

YG

Yuriy Gorlichenko in Asterisker-ы
ну все верно
Он же должен проинформировать А сторону что начал обработку вызова
источник

YG

Yuriy Gorlichenko in Asterisker-ы
100 -> что прилетел звонок
180 -> ушел в dial
хотя я не могу сказать что это всегда верное решение но в целом так пользователю А комфортнее
источник

YG

Yuriy Gorlichenko in Asterisker-ы
у тебя и dialplan может занять какое то время на выполнение
а если ты не включил mohstart в фоне - то это еще N секунд тишины
источник

IO

Ihor Olkhovskyi in Asterisker-ы
Просто тут меня еще клятвенно заверяют, что "до этого оно так работало". И это заставляет меня сомневаться
источник

YG

Yuriy Gorlichenko in Asterisker-ы
ну ты ж можешь откатиться и проверить не?
источник

IO

Ihor Olkhovskyi in Asterisker-ы
Собсно, этим занимаюсь
источник

IO

Ihor Olkhovskyi in Asterisker-ы
Решается... Все решается... Только пару попутных проблем нужно решить )
источник

IO

Ihor Olkhovskyi in Asterisker-ы
Добавлением Local, который шлет нужный Progress
источник

YG

Yuriy Gorlichenko in Asterisker-ы
ну даже добавив в local - диал пойдет оттуда и как ты повесишь callback на 18X?
источник

IO

Ihor Olkhovskyi in Asterisker-ы
А это уже Астер сам делает ) Т.е. если из другого канала приходит другой 183, новый имеет приоритет над старым
источник

YG

Yuriy Gorlichenko in Asterisker-ы
Я видимо не до конца или не так понимаю твою задачу )
источник

IO

Ihor Olkhovskyi in Asterisker-ы
Смотри. Ты вызываешь абонента. Между INVITE и 18Х у тебя есть пауза. Задача - заполнить эту паузу
источник

YG

Yuriy Gorlichenko in Asterisker-ы
ну чтобы ее заполнить тебе нужо началь играть что то с астера до dial
потом поймать 18X от B плеча и остановить проигрывание
я не виж удругого варианта как через callback на событие
но на соклько я знаю у асетриска в dialplan этого события нет
источник

IO

Ihor Olkhovskyi in Asterisker-ы
Да. Но смотри.
Ты делаешь такой хак
Dial(real_dest&Local/provide_rb@provide_rb)
...
[provide_rb]
exten => provide_rb,1,Playtones(connecting)
источник

IO

Ihor Olkhovskyi in Asterisker-ы
Но хитрость в том, что когда придет 180/183 от real_dest, то он заменит собой то, что принес provide_rb
источник

IO

Ihor Olkhovskyi in Asterisker-ы
Потому что Local канал уже умер
источник