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

Bridge после ConfBridge не работает?

Добавлено: 15 фев 2021, 15:55
AndyBack
Столкнулся с тем что Bridge двух каналов, сидевших в конференции ConfBridge, не срабатывает. Оба не слышат друг друга. asterisk 11.

ast11*CLI> core show channels
Channel Location State Application(Data)
SIP/6001-00000009 intrusion-conf@call- Up ManagerBridge(SIP/6002-0000000
SIP/6002-0000000a intrusion-conf@call- Up ManagerBridge(SIP/6001-0000000

Вообще-то, мне нужно сделать вмешательство в разговор третьим абонентом. Проблема осложняется тем, что на фоне вмешательства нужен "тиккер". Я решил это, скинув всех в конференцию ConfBridge и добавив туда "тиккер". Все работает. Но теперь мне надо прекратить подслушивание и вернуть абонентов к их первоначальному разговору. То есть вновь сбриджить 6001 и 6002, а конференцию убить. Тут и возникает проблема, что 6001 и 6002 не слышат друг друга после всех этих манипуляций. Пробовал делать Bridge и через AMI и через DialPlan - без разницы.

Есть ли еще какой способ организовать вмешательство в разговор с периодическим проигрыванием "тиккера"(beep) в фоне? Или как заставить работать Bridge?

Re: Bridge после ConfBridge не работает?

Добавлено: 15 фев 2021, 16:04
ded
Пробуйте использовать ChanSpy c опциями
– w Enable ‘whisper’ mode, so the spying channel can talk to the spied-on channel.
– W Enable ‘private whisper’ mode, so the spying channel can talk to the spied-on

Re: Bridge после ConfBridge не работает?

Добавлено: 15 фев 2021, 16:10
AndyBack
Пробовал. ChanSpy не дает возможности проигрывать "тиккер" на фоне разговора. Абоненты не знают, что их подслушивают, а это недопустимо.

Главное, я не понимаю почему Bridge нормально не срабатывает... И как вообще вытащить абонентов из конференции и потом соединить их.

Re: Bridge после ConfBridge не работает?

Добавлено: 15 фев 2021, 18:16
ded
AndyBack писал(а):И как вообще вытащить абонентов из конференции и потом соединить их.
Стандартные механизмы - kick
CLI> confbridge kick <conference> <channel>

https://wiki.asterisk.org/wiki/display/ ... I+Commands

Заджойнить (соединить) - join с помощью channel originate

Re: Bridge после ConfBridge не работает?

Добавлено: 15 фев 2021, 18:27
AndyBack
confbridge kick - это обрыв связи на канале, аналогичный Hangup. ИМХО, не подходит. Надо без разрыва соединения. Перезванивать абонентам через Originate - моветон. Или я не понял предлагаемого принципа.

Re: Bridge после ConfBridge не работает?

Добавлено: 15 фев 2021, 19:44
ded
Можно оставлять двух абонентов в бридже, после того как вы сами себя выпилите через kick.
Или я не очень понял цели всей машинерии.
Прсмотрите n-way calling -
https://www.voip-info.org/asterisk-n-way-call-howto/

Re: Bridge после ConfBridge не работает?

Добавлено: 16 фев 2021, 02:07
AndyBack
Или я не очень понял цели всей машинерии.
Когда 2 обычных абонента разговаривают, мне нужно вмешательство в разговор третьего абонента. Но на фоне такого вмешательства должен периодически проигрываться "тиккер", сигнализирующий о прослушивании. Я не нашел другого способа как перевести всех в конференцию и добавить туда еще и "тикер". И это сработало. Далее мне надо прекратить прослушивание, отключить третьего абонента и "тиккер" и вернуть 2-х обычных абонентов к обычному соединению, т.е сбриджить обратно. И бридж не срабатывает, что и есть проблема.

Можно оставить 2-х абонентов в конференции и пусть там разговаривают. Но тогда получится, что в результате всех манипуляций обычный звонок превратился в конференцию и при дропе одного из участников, второй автоматически не дропается, оставаясь одним в конференции. За таким звонком придется следить и дропать второго вручную. Кроме того, все остальные услуги диалплана, рассчитанные на обычное соединение надо переделывать и с учетом конференции тоже (Услуги должны быть доступны как до вмешательства, так и после). И последнее не очень хочется.

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