VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Уткнулся, не могу разобраться

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Ответить
vitaly
Сообщения: 7
Зарегистрирован: 22 сен 2014, 13:27

Уткнулся, не могу разобраться

Сообщение vitaly »

Добрый день. возникла задача организации конференции при существующем звонке.
Реализацию подсмотрел:
http://habrahabr.ru/sandbox/52259/
extensions.conf
[default]
exten => _X.,1,NoOp()
same => n,Macro(dyn-features-nway-start)
same => n,Dial(SIP/${EXTEN},,tT)

[macro-dyn-features-nway-start]
;Добавляем возможность создания n-way конференции
exten => s,1,NoOp()
same => n,Set(__GOTO_ON_BLINDXFR=fromtransfer^0^1)
same => n,Set(__TRANSFER_CONTEXT=fromtransfer)
same => n,Set(__CONFNO=${CALLERID(num)})

[fromtransfer]
;На следующие extentions можно перевести звонок, нажав "*0" (пункт 1.)
;Если нажмём "0" - попадаём в контекст [dynamic-nway]
;Если же ничего не нажать, либо нажать не "0", то вернёмся обратно к разговору (не в конференцию)
exten => 0,1,NoOp()
same => n,Gosub(dynamic-nway,${CONFNO},1)
same => n,Hangup()

[dynamic-nway]
;Тут создаётся новая комната для конференций
;№ комнаты = № абонента, который инициировал создание конференции (нажал "*0 0")
exten => _X.,1,NoOp()
same => n,Answer
same => n,Set(CONFNO=${EXTEN})
same => n,Set(MEETME_EXIT_CONTEXT=dynamic-nway-invite)
same => n,Set(DYNAMIC_FEATURES=)
same => n,MeetMe(${CONFNO},1pdMX)
same => n,Hangup

[dynamic-nway-invite]
;Когда мы находимся в конференции и нажимаем "0" появляется гудок в линии.
;После чего набираем номер нового участника конференции и "#"
exten => 0,1,NoOp()
same => n,Read(DEST,dial,,i)
same => n,Set(DYNAMIC_FEATURES=nway-inv#nway-noinv)
same => n,Dial(Local/${DEST}@default,,g)
same => n,Set(DYNAMIC_FEATURES=)
same => n,Goto(dynamic-nway,${CONFNO},1)
exten => i,1,Goto(dynamic-nway,${CONFNO},1)

[macro-nway-ok]
;Сюда попадаем, если нажмём "**" для добавления нового участника в конференцию
exten => s,1,NoOp()
same => n,ChannelRedirect(${BRIDGEPEER},dynamic-nway,${CONFNO},1)

[macro-nway-notok]
;Тут мы окажемся, если не захотим добавлять нового участника в конференцию
exten => s,1,NoOp()
same => n,SoftHangup(${BRIDGEPEER})


features.conf
[featuremap]
blindxfer => *0

[applicationmap]
nway-inv => **,caller,Macro,nway-ok
nway-noinv => *#,caller,Macro,nway-notok

Теперь опишу засаду..
из за этой строчки в конексте default, которая отправляет в макросы
same => n,Macro(dyn-features-nway-start)
я не могу теперь делать безусловную переадресацию и парковку вызовов.
Мое предположение, что в конексте [fromtransfer] можно дописать строку для обработки таких вызовов, но по своей неопытности не могу сообразить как это сделать. Мне кажеться решение простое, но уже 2 дня потратил безуспешно. Может не туда копаю?
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Уткнулся, не могу разобраться

Сообщение virus_net »

мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
vitaly
Сообщения: 7
Зарегистрирован: 22 сен 2014, 13:27

Re: Уткнулся, не могу разобраться

Сообщение vitaly »

Спасибо за подсказку, все оказалось чуть проще.
Схема полностью рабочяя, но ответ лежал на поверхности.. :roll:
в features.conf надо
[featuremap]
blindxfer => #
[applicationmap]
nway-start => *0,caller,Macro,nway-start
nway-inv => **,caller,Macro,nway-ok
nway-noinv => *#,caller,Macro,nway-notok
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH