Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Динамическая онцеренция

1

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

файл extensions.conf

[globals]
DYNAMIC_FEATURES = feature1#feature2#nway-start
DYNAMIC_FEATURES_NWAY = feature1
DYNAMIC_FEATURES_NWAYINV = feature2#nway-ok

[macro-nway-ok]
exten => s,1,ChannelRedirect(${BRIDGEPEER},nway-conf,${CONFNO},1)
[nway-invite]
exten => s,1,Read(NEW_CALLEE,dial,20,i)
exten => s,n,Set(DYNAMIC_FEATURES=${DYNAMIC_FEATURES_NWAYINV})
exten => s,n,ExecIf($[${REGEX("H" ${DIAL_OPTIONS})} = 0]?Set(_DIAL_OPTIONS=${DIAL_OPTIONS}H))
exten => s,n,Set(CALLER=${CALLERID(num)})
exten => s,n,Set(DIALOUT_CONTEXT=${SIPPEER(${CALLER},context)})
exten => s,n,ExecIf($["${DIALOUT_CONTEXT}" = ""]?Set(DIALOUT_CONTEXT=from-internal))
exten => s,n,Dial(Local/${NEW_CALLEE}@from-internal,,gH)
exten => s,n,Set(DYNAMIC_FEATURES=${DYNAMIC_FEATURES_NWAY})
exten => s,n,ChannelRedirect(${CHANNEL(name)},nway-conf,${CONFNO},1)

[nway-conf]
exten => _X.,1,Answer
exten => _X.,n,Set(__CONFNO=${EXTEN})
exten => _X.,n,Set(DYNAMIC_FEATURES=${DYNAMIC_FEATURES_NWAY})
exten => _X.,n,Set(CONFBRIDGE(bridge,language)=${CHANNEL(language)})
exten => _X.,n,Set(CONFBRIDGE(user,announce_user_count)=no)
exten => _X.,n,Set(CONFBRIDGE(user,announce_join_leave)=no)
exten => _X.,n,Set(CONFBRIDGE(user,announce_only_user)=no)
exten => _X.,n,Set(CONFBRIDGE(user,music_on_hold_when_empty)=yes)
exten => _X.,n,ConfBridge(${CONFNO},,,nway_menu)
exten => _X.,n,Goto(nway-invite,s,1)

[macro-nway-start]
exten => s,1,Set(__CONFNO=${UNIQUEID})
exten => s,n,ChannelRedirect(${BRIDGEPEER},nway-conf,${CONFNO},1)
exten => s,n,Read(NEW_CALLEE,dial,20,i)
exten => s,n,Set(DYNAMIC_FEATURES=${DYNAMIC_FEATURES_NWAYINV})
exten => s,n,ExecIf($[${REGEX("H" ${DIAL_OPTIONS})} = 0]?Set(_DIAL_OPTIONS=${DIAL_OPTIONS}H))
exten => s,n,Set(CALLER=${CALLERID(num)})
exten => s,n,Set(DIALOUT_CONTEXT=${SIPPEER(${CALLER},context)})
exten => s,n,ExecIf($["${DIALOUT_CONTEXT}" = ""]?Set(DIALOUT_CONTEXT=from-internal))
exten => s,n,Dial(Local/${NEW_CALLEE}@${DIALOUT_CONTEXT},,gH)
exten => s,n,Set(DYNAMIC_FEATURES=${DYNAMIC_FEATURES_NWAY})
exten => s,n,ChannelRedirect(${CHANNEL(name)},nway-conf,${CONFNO},1)

Файл confbridge.conf

[default_user]
type=user

[nway_menu]
type = menu
*0 = leave_conference

вот features show

Builtin Feature           Default Current
---------------           ------- -------

Pickup                    *8      *8     
Blind Transfer            #       *3     
Attended Transfer                 *2     
One Touch Monitor                        
Disconnect Call           *       **     
Park Call                                
One Touch MixMonitor                     

Dynamic Feature           Default Current
---------------           ------- -------

nway-ok                   no def  #      
nway-start                no def  *0

Feature Groups:

Вся инстркуция была взята с какого то ресурса,не помню уже,но при нажатии на решотку инициатор конференции(011) уходит в отбой,а собеседник(012) и вызываемый конференцией участник(013) разговаривают друг с другом

Вот лог в момент нажатия решетки(момент сбора конференции)

    --  Feature Found: nway-ok exten: nway-ok
    --  Feature Found: nway-ok exten: nway-ok
    -- Executing [s@macro-nway-ok:1] ChannelRedirect("SIP/011-00000020", "SIP/013-00000022,nway-conf,1478503847.88,1") in new stack
    -- Executing [1478503847.88@nway-conf:1] Answer("SIP/013-00000022", "") in new stack
    -- Executing [1478503847.88@nway-conf:2] Set("SIP/013-00000022", "__CONFNO=1478503847.88") in new stack
    -- Executing [1478503847.88@nway-conf:3] Set("SIP/013-00000022", "DYNAMIC_FEATURES=feature1") in new stack
    -- Executing [1478503847.88@nway-conf:4] Set("SIP/013-00000022", "CONFBRIDGE(bridge,language)=ru") in new stack
    -- Executing [1478503847.88@nway-conf:5] Set("SIP/013-00000022", "CONFBRIDGE(user,announce_user_count)=no") in new stack
    -- Executing [1478503847.88@nway-conf:6] Set("SIP/013-00000022", "CONFBRIDGE(user,announce_join_leave)=no") in new stack
    -- Executing [1478503847.88@nway-conf:7] Set("SIP/013-00000022", "CONFBRIDGE(user,announce_only_user)=no") in new stack
    -- Executing [1478503847.88@nway-conf:8] Set("SIP/013-00000022", "CONFBRIDGE(user,music_on_hold_when_empty)=yes") in new stack
    -- Executing [1478503847.88@nway-conf:9] ConfBridge("SIP/013-00000022", "1478503847.88,,,nway_menu") in new stack
    -- Stopped music on hold on SIP/012-00000021
    -- <SIP/013-00000022> Playing 'confbridge-join.alaw' (language 'ru')

== MixMonitor close filestream (mixed)

  == End MixMonitor Recording Local/013@outcoling-0000000c;2

    -- Executing [s@macro-nway-start:10] Set("SIP/011-00000020", "DYNAMIC_FEATURES=feature1") in new stack

  -- Executing [s@macro-nway-start:11] ChannelRedirect("SIP/011-00000020", "SIP/011-00000020,nway-conf,1478503847.88,2") in new stack

 == Channel 'SIP/011-00000020' jumping out of macro 'nway-start'

 == Spawn extension (nway-conf, 1478503847.88, 2) exited non-zero on 'SIP/011-00000020'

    -- Executing [1478503847.88@nway-conf:2] Set("SIP/011-00000020", "__CONFNO=1478503847.88") in new stack

  == MixMonitor close filestream (mixed)

 == End MixMonitor Recording SIP/011-00000020
    -- <Bridge/0x945ca8c-input> Playing 'confbridge-join.alaw' (language 'ru')
удалить закрыть спам изменить тег редактировать

спросил 2016-11-07 11:35:59 +0400

romar131184 Gravatar romar131184
11 1 1

обновил 2016-11-07 14:10:51 +0400

zzuz Gravatar zzuz flag of Russian Federation
7174 2 6 75
http://line24.ru/

Comments

"динамическая контрацепция - новое слово в технике предохранения.." - письма читателей в Спид-Инфо)))

Zavr2008 ( 2016-11-07 13:10:10 +0400 )редактировать

ну подумаешь,очепятался маленько ))))

romar131184 ( 2016-11-07 17:23:13 +0400 )редактировать

2 Ответа

0

А не подскажете как это сделать? На самом деле в скриптах и кодах я полный профан (те кто скажет "какого ёжика ты тогда полез в астериск"-идите лесом,никто не рождается с куском php скрипта в голове))) просто очень понравился и затянул этот самый астериск )

ссылка удалить спам редактировать

ответил 2016-11-07 17:21:31 +0400

romar131184 Gravatar romar131184
11 1 1

Comments

1

Для начала нужно перестать писать вопросы в полях для ответа. Если астериск затянул , то изучайте , а не попрошайничайте.

zzuz ( 2016-11-07 19:22:56 +0400 )редактировать

нет, не подскажу. как сделать я написал. а писать за вас код - только платно.

meral ( 2016-11-08 15:48:17 +0400 )редактировать
0

Потомучто channelredirect работает не совсем так в новых версиях астериска(если канал совпадает с текущим каналом).

Сейчас приходится вызывать скрипт, который подождет завершения feature macro, потом сделает редирект(через 0.5 сек).

ссылка удалить спам редактировать

ответил 2016-11-07 15:35:43 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

обновил 2016-11-07 15:37:38 +0400

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2016-11-07 11:35:59 +0400

Просмотрен: 1,322 раз

Обновлен: Nov 07 '16

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.