Страница 1 из 2
Последний участник конференции
Добавлено: 16 май 2012, 14:10
Natalja
Добрый день. Подскажите пожалуйста, нормальна ли ситуация, когда последний оставшийся в конференции участник попадает в режим удержания и остаётся в нём неопределённо долго? Подозреваю, что да, т.к. у MeetMe() есть
опция 'M' — Включает музыку ожидания, когда в конференции только один участник.
И есть ли способ разорвать соединение с последним?
Re: Последний участник конференции
Добавлено: 16 май 2012, 14:22
ded
Положить трубку участнику - не судьба?
Re: Последний участник конференции
Добавлено: 16 май 2012, 14:54
Natalja
Заказчика не устраивает, что последний участник зависает слушая музыку. Надо как-то дать понять этому последнему, что ждать больше нечего. Была идея использовать класс для музыки ожидания в виде сигнала отбоя, но ведь тогда и те, кто находится в режиме ожидания при добавлении новых участников в конференцию тоже будут слышать короткие гудки.
Re: Последний участник конференции
Добавлено: 16 май 2012, 15:00
Aven
В чем сложность при выходе предпоследнего участника исключить из конфы и последнего?
Re: Последний участник конференции
Добавлено: 16 май 2012, 15:05
Obi Van
Надо как-то дать понять этому последнему, что ждать больше нечего.
Последнему можно средствами MeetMe сказать что последний участник покинул телеконференцию, что он единственный участник телеконференции, юзать режим с маркером, при котором если маркированный участник (т.е инициатор) сваливает, то конференция заканчивается. Варианты есть.
Re: Последний участник конференции
Добавлено: 16 май 2012, 16:07
Natalja
Aven писал(а):В чем сложность при выходе предпоследнего участника исключить из конфы и последнего?
Вот этот вариант подошёл бы. Сложность в том, что я не знаю как отловить событие выхода из конференции в диалплане. Можно считать число участников в MeetMeCount(), но это же только при добавлении участника. При выходе из конференции в CLI-консоли появляется комментарий вида
== Spawn extension (grip-meetme, s, 6) exited non-zero on 'SIP/322-00000005'
Но диалплан этого по-моему не видит.
Еще в астериск менеджере сыпется куча событий, среди которых можно заметить как кто-то покинул конференцию. Чтобы это отследить видимо надо крутить какой-то постоянный скрипт. Может есть другой способ поймать событие выхода?
Re: Последний участник конференции
Добавлено: 16 май 2012, 16:44
Natalja
Можно попробовать воспользоваться экстеном h и отлавливать выход предпоследнего юзера, считать сколько осталось и если остался один, то завершать конференцию.
switch, то что надо, спасибо большое!
Re: Последний участник конференции
Добавлено: 16 май 2012, 19:18
Vlad1983
перед в ходом первого участника в конференцию её номер передается скрипту, который запускается в фоне
и выставляется переменная, что демон запущен для данного номера
при входе последующих проверяется переменная и повторных запусков не происходит.
скрипт спит минут 20 потом по циклу начинает запрашивать количество участников в этой конференции
после того как остался один гасит конференцию, убивает переменную и завершает свою работу.
Re: Последний участник конференции
Добавлено: 17 май 2012, 10:22
Natalja
Vlad1983, я сначала ожидала, что только таким путём и придётся двигаться. Но вариант с экстеншеном h прекрасно подошёл для решения задачи, а в реализации гораздо проще. Способ со скриптом я учту, возможно пригодится для более сложных задач, спасибо.
Re: Последний участник конференции
Добавлено: 17 май 2012, 10:37
ded
О, Наталия! Вы оказывается работаете с Протон ССС? Вот кто нам бизнес с клиентами (которым установили сначала Протон ССС а потом они видеотерминалы не смогли подключить по SIP) портит?
Вам опасно подсказывать - отбираете наш хлеб!