да, но вы привели кусок лога только по одному плечу (401), по второму плечу (400) неизвестно что происходило.postscripter писал(а): Но если набирает Б, то в конференцию попадает только он, а первого "А" разъединяют через 30 сек по таймауту. Причём ошибок нет:
Если вы о том что для ChannelRedirect вы указываете другой контекст, то это возможно делать и это работаетpostscripter писал(а):всё из-за того, что в dynamic features не предусмотрен выход за пределы макроса
ну если вас не устраивает, то есть AGI, есть ARI (в вашем случае) - вызывайте свой скрипт и пишите там на чем вам угодно.postscripter писал(а): И эти бесконечные GoTo, когда во всём мире уже перешли на процедурные языки...
1. пихать в конфу всех пользователей через ChannelRedirect и контекст my-addtoconfpostscripter писал(а): Самые смелые предположения?
Вот, именно что! Совсем ничего не происходило. Там видите, второе плечо перебрасывается через ChannelRedirect в контекст my-addtoconf. Дальше где-то в логе должен быть Noop(here2), но его нет. А через 30 секунд второе плечо отваливается из-за неактивности (не передано ни одного rtp-пакета).по второму плечу (400) неизвестно что происходило.
Об этом, но принимая во внимание "особенности" dynamic_features. Вот вы предлагали собирать всех в конфу через контекст my-addtoconf и ChannelRedirect, а я ведь пробовал, только себя любимого (набравшего код) отправлял через GoTo. И получал в логах "--- выход за пределы макроса" (английского варианта не помню), затем сразу "--- hangup". Из чего и родился такой вывод: звонок за пределы макроса выходить не хочет.Если вы о том что для ChannelRedirect вы указываете другой контекст, то это возможно делать и это работаетpostscripter писал(а):
всё из-за того, что в dynamic features не предусмотрен выход за пределы макроса
Такое ощущение, что синтез копипаста из статей и гуев ПРОЛОМИЛИ кому-то голову. Начните с НУЛЯ и трассировки что-где-и как.Жалко... Сеть отключили на НГ. Намекают, что пора отвлечься.
Код: Выделить всё
У меня же все управление реализовано через веб-интерфейс, поэтому управлять из диалплана нет необходимости.
Код: Выделить всё
ConfbridgeSetSingleVideoSrc: Set a conference user as the single video source distributed to all other participants. (Priv: call,all)
ConfbridgeStopRecord: Stop recording a Confbridge conference. (Priv: call,all)
ConfbridgeStartRecord: Start recording a Confbridge conference. (Priv: system,all)
ConfbridgeLock: Lock a Confbridge conference. (Priv: call,all)
ConfbridgeUnlock: Unlock a Confbridge conference. (Priv: call,all)
ConfbridgeKick: Kick a Confbridge user. (Priv: call,all)
ConfbridgeUnmute: Unmute a Confbridge user. (Priv: call,all)
ConfbridgeMute: Mute a Confbridge user. (Priv: call,all)
ConfbridgeListRooms: List active conferences. (Priv: reporting,all)
ConfbridgeList: List participants in a conference. (Priv: reporting,all)