asterisk звонок на несколько номеров
Asterisk, или домашняя телефония для (про)двинутых пользователей
Эта история началась два долгих года назад, когда во время командировки в США я ВДРУГ остался без мобильной связи: с дуру перед поездкой поменял телефон, а он оказался «двух-диапазонником»… Да и роуминг не дешёвый…
Итогом стало открытие для себя SIP-телефонии.
И вот несколько месяцев назад, из статей на Хабре, выясняю, что чужим дядям можно и не платить за межгород, если надо позвонить откуда-то в родной город через Интернет! Достаточно поставить VoIP сервер и настроить его так, как надо именно тебе!
И вот, взяв в руки Asterisk, я приступил к операции по борьбе с излишней жадностью ОпСоСов…
Примечание
Введение
Аппаратная часть
D-Link DVG-7111S — ГТС-VoIP адаптер
Выбрал именно его за относительно «копеечную» стоимость — в Москве он стоит от 2 152 до 2 610 рублей, что слегка дешевле Линксусов, которые ещё и найти надо.
По сути — он делает из городской линии и телефона двух SIP-клиентов, которые подключаются к Астериску.
Настройки делаем вот таким макаром
Тонкость одна связана с CallerID — для корректной его передачи надо пропустить один звонок, что-бы адаптер успел определить номер:
HOT LINE->Ring count before FXO pick up = 1
При необходимости — можно обновить прошивку, но в отличие от роутеров и прочих ДЛинковских девайсов — тут это довольно незаурядный процесс…
Иногда у адаптера дурит определение сигнала «Занято». Для этого надо настроить длительности этих сигналов. Инструкция как их получить имеется, но сам пока не занимался — всего второй день, как началась эта проблема после смены оборудования на АТС.
Для звонка с Астериска на городской номер используется вот такой формат для Dial в Диалплане:
Dial(SIP/номер канала FXO/телефон)
Для звонка на трубку:
Dial(SIP/номер канала FXS)
Для упрощения жизни с маразмом от МГТС я себе сделал возможность набирать все номера Москвы одинаково «8-код-7 цифр», а с правилами набора — разберётся сервер:
Ниже приведены два варианта настройки. Первый вариант для тех, у кого номер в 495 коде, а второй — в 499. Оба варианта позволяют звонить как на телефоны в 495 коде, так и в 499.
Телефон
Первоначально — в качестве телефона использовал радиотрубку Панасоник, подключенную к FXS-порту адаптера, но быстро разочаровался: её корявенький дисплей справлялся только с цифровым CallerID. Поэтому был куплен Siemens Gigaset C470 IP + дополнительная трубка к нему Siemens Gigaset C47H.
За них выложил в сумме тысяч пять и не жалею: Главная прелесть агрегата в том, что он поддерживает одновременную работу с 6 трубками (основная + 5 дополнительных).
«И что толку? Линия-то одна!» скажете вы и… Будете в корне не правы!
Помимо 6 трубок — базовая станция поддерживает также и 6 sip-аккаунтов! Каждый из которых можно привязать к своей трубке.
Т.е. — если в квартире поставить в каждой комнате по радиотрубке, то это будут совершенно разные sip-юзеры, которые спокойно могут разговаривать и одновременно!
Пару слов про настройку:
Что-бы не говорили в инструкции — динамическое выделение адреса у телефона не происходит. Поэтому есть два варианта — с радиотрубки вбить правильный или коротким нажатием на кнопку на базе — определить текущий и настроить на него сеть.
Пин-код можно поменять ТОЛЬКО с трубки — в веб-панели такого пункта нет: так что лучше сразу его сменить, пока это не сделал какой-нить ушлый хацкер!
GSM-адаптер
Тут я пошёл по пути наименьшего сопротивления и купил МТСовский модем Huawei E1550.
Почему МТС?
Во-первых — 770 рублей, а не 1500 за «не лоченый»
Во-вторых — у Би и Меги залочены голосовые функции ВООБЩЕ.
В третьих — модем мне нужен был под Ашановский тариф А-Мобайл, который на сети МТС и перепрошивать ничего не пришлось.
Кто не в курсе — А-Мобайл позволяет делать 15 минут бесплатных звонков в день на другой А-Мобайл, после чего — символическая плата в 90 копеек за минуту. Мне он нужен был как резервный канал до домашней сети и тариф, ИМХО, самый приятный!
Настройки девайса муторные, но ничего сложного.
+ сейчас по Хабрапочте получил сообщение от Angel2S2:
«Кстати, про разлочку huawei модемов… Если интересно, можете у меня глянуть — angel2s2.blogspot.com/2010/07/huawei.html. Разлочил E160G и E1550 от мегафона и мтса, звонить тоже можно 🙂 „
МБ кому-то поможет!
Учкудук два модема.
Ещё пару слов дополню…
Поставил на систему второй модем для входящих с АллоИнкогнито и тут пришёл он самый… П-ц который: модемы сами по себе менялись местами хлеще акробатов в цирке! При отключении одного — второй норовил переехать на его порты и т.д. и т.п.
А т.к. диалпланы для них в корне разные — надо было как-то решать…
Решение вполне обоснованное для Линукса: порту можно назначить фиксированную “ссылку»!
Т.е. — задаём для модема 1 — порты не ttyUSB1 и 2, а hv0 и hi0 (ХуавейВоис и ХуавейИнфо)!
Как?
Отключаем от компа оба модема, вставляем первый.
Даём с рута в терминале команду dmesg
В ответ вываливается куча всего, но в конце — заветные строки:
[291015.913221] option 1-2:1.0: GSM modem (1-port) converter detected
[291015.913364] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB0
[291015.913926] option 1-2:1.1: GSM modem (1-port) converter detected
[291015.914026] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB1
[291015.916678] option 1-2:1.2: GSM modem (1-port) converter detected
[291015.916812] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB2
«Кто есть ху»:
После option идёт идентификатор порта.
1-2 — первый ЮСБ хост, второе устройство
:1.1 — первый порт на этом устройстве.
В следующей строке — инфа на тему того, каким портом стал этот наш внутренний.
Нас интересуют пред-последний и последний — 1 и 2 в данном случае.
1 — порт для голоса, 2 — для данных.
Теперь открываем из под рута для редактирования файл /etc/udev/rules.d/huawei.rules — тут прописываются правила для всея Хуавей-девайсов в системе. Скорее всего он будет пустым.
Вбиваем строчки:
KERNEL==»ttyUSB1*», NAME=»%k», SYMLINK+=»hv0″, GROUP=»root», MODE=»0666″
KERNEL==»ttyUSB1*», NAME=»%k», SYMLINK+=»hi0″, GROUP=»root», MODE=»0666″
«Всея устройства на этом конкретном порту отныне и присно зовутся ещё и hv0, а на этом — hi0! Сохраняем, Аминь!»
Повторяем процесс начиная с втыкания для второго модема — появятся ещё две строчки в файле, в которых уже порты от второго модема и hv1 и hi1… Можно так и третий, и сто-тридцать-пятый добавить…
/etc/asterisk/datacard.conf тоже меняется — вместо безликих
audio=/dev/ttyUSB1 ; tty for audio connection
data=/dev/ttyUSB2 ; tty for AT commands
Появляются
audio=/dev/hv0 ; tty for audio connection
data=/dev/hi0 ; tty for AT commands
Теперь перезагружаем Астериск и ура — путаницы больше не будет!
На этом с железом пока всё.
SIP-операторы
В принципе с имеющимся оборудованием у нас уже есть городская + мобильная линии, но хочется дополнительных возможностей, да и по межгороду надо как-то звонить!
Мультифон
Мультифон — это услуга от Московского Мегафона. Фишка в том, что это не просто Интернет-телефония! Это Интернет-телефония, привязанная к вашему номеру Мегафона!
В переводе на русский: если кто-то звонит на ваш номер — сработает при соответствующей настройке как сотовый, так и SIP-клиент!
Настройку Астериска под это дело на Хабре довольно неплохо описали, могу добавить только инструкцию, как привязать НЕСКОЛЬКО Мультифонов к серверу — некоторые моменты там спорны и у меня не заработало из-за несовместимости по кодекам, но, возможно, это глюк моего конфига?!
UPD. Родная инструкция Мультифона по настройке в Астериске
Пара слов ещё по общим для всех SIP-операторов моментам: если вы собираетесь ТОЛЬКО звонить с какого-то SIP-акаунта, то register не нужен, а вот если намерены принимать…
Кстати, register с таким зубодробительным синтаксисом — только у Мегафона: у остальных он более стандартный…
Еврофон
Услуга СИП-телефонии от Евросети. В плюсе — львиная доля российских городов идёт по тарифу 49 копеек. Есть входящие номера в Москве и куче городов, так что если не лень вбивать номер+свой номер в Еврофоне — можно принимать оттуда входящие…
Потенциально — если не особенно нужен входящий городской, а звоните не особо много — может оказаться выгоднее, чем ежемесячные 155 рублей от МГТС «за линию»…
Для регистрации — надо купить карточку телефонии от Евросети. Логин-пароль — будут указанные на карточке, в дальнейшем этот счёт можно пополнять. Регистрации без карточки — просто нету.
pctel.ru
Звонки на все российские номера — по рублю в минуту.
Взял как «добавку» к Еврофону: звонки на мобильные дешевле в нём, а про полтора рубля за исходящие в Мультифоне я молчу! Если хотите скрыть свой номер — самое оно.
SipNet
Ничего особенного, но многие предпочитают его.
DID, или Прямой Телефонный Номер
Данная услуга заключается в том, что можно получить номер телефона в одном из городов какой-нибудь страны и принимать через Астериск звонки на этот номер.
Плюс в том, что если часто переезжаете, то это позволит вам всегда сохранять свой номер, минус — в отличие от 155 рублей в месяц у МГТС, цены на Московские номера у операторов начинаются от 250 рублей, примерно. (Для сравнения — номер в США стоит около 3.5$ в месяц).
Go2Baza
По утверждению народа, который пользовался — прямой Московский номер стоит 250 рублей в месяц. Тарифы расписаны не внятно, так что ни подтвердить, ни опровергнуть не могу… Ориентировочно — 250 в месяц за номер, плюс первоначальный платёж за выделение номера — 500 рублей за 499 или 3000 за 495… Смысл платить больше, если с МГТС станется — могут и тут в 499 всех задвинуть?!
В плюсе то, что предоставляют аж пять входящих каналов… Правда только при редиректе на номера телефонов, а на SIP — всего 2 (перегрузочка у них возникла в апреле). Зато редирект на телефоны платный, а на СИП — халява!
Ну и потом: двухканальный номер телефона — ИМХО, очень даже неплохо! Чаще всего больше и не надо!
«Персональный телефонный номер» или «Номер, который всегда с тобой»
МГТСовская фигня. По факту — Московский номер через SIP. В повременном варианте абонентской платы нет, цена за минуту — те-же 36 копеек. Подключение — 8340 рублей, причём в комплект идёт тот самый Сименс 470, про который я говорил.
Губки раскатали? Халява? Круто?
Ловите губозакатывательную машинку: оно работает ТОЛЬКО через ADSL от МГТС! Как поясняют в поддержке — это только для организации дома второго телефонного номера.
Потенциально — явно можно подрубить к Астериску, но мне ТАКОЙ привязанный к основной линии телефон и даром не нужен, а в интернете найти счастливых обладателей этой услуги не удалось.
Просто имейте в виду, что такое есть, и если дома кто-то периодически висит на телефоне — можно подключить, что-бы была резервная линия…
gtalk2voip
Прямые номера в разных странах.
Регистрация идиотская:
1. Заходите на gtalk2voip, в уголке есть поле для ввода е-мыла. Вводите гугловское мыло.
2. Подключаетесь в Джаббер на свой гугловский аккаунт, видите приглашение от пользователя service@gtalk2voip.com. Подключаетесь к «разговору»
3. Далее у этого бота командой MYPAGE получаете страничку, через которую можно регистрировать номера и пополнять баланс.
ipkall
Компания с «непечатным» названием предоставляет халявные номера телефонов в США с редиректом на SIP. Если не нужен — не надо его окупировать регистрациями: вдруг кому-то нужен будет, а всё в хабраэффект уйдёт?!
Насчёт этого сервиса у меня вечный скандал с жабой:
— Ы! Круто! Бесплатный номер в США! Надо-надо-надо!
— А зачем? — вопрошает реалист. — Тебе кто-нить из Штатов звонит?!
— Потому и не звонят! Хочу-хочу-хочу!
— Английский выучи, хотелка! Вот позвонят, и что ты скажешь?!
— Хенде-хох? Ау видерзейн? Хау! Что-б такой пылеглот как я и ничего не сказал?! Ха!
— Всё равно — смысла в нём ноль сейчас!
— И что? Халяаааава!
Аллоинкогнито: «Идеальный 499»
Идеальный 499, тарифный план от Алёинкогнито, без абонентской платы за 499… В комплекте — симка от Мегафона, на которую и поступают вызовы…
Ссылку подкинул bdmalex. По его словам пользуется уже давно, абонентской платы действительно нету и, даже, что вообще сверх моего понимания, нету оплаты за переаресацию входящих на мобильный номер.
Фишки диалпланов Астериска
С железом и операторами, худо-бедно разобрались…
Теперь несколько трюков, связанных с Астериском:
Чёрный Список
Иногда очень сильно хочется, что-бы какая-нить личность перестала названивать: бывшая девушка, идиот, вечно ошибающийся номером, рекламные агенты, опросы и т.д. и т.п.
Для этого в Астериске есть команда BLACKLIST(). По сути — она сверяет CallerID со списком в своей базе данных и если возвращает 1 — значит можно спокойно послать звонящего куда подальше!
Про «Простой» вариант написано можно почитать здесь, а мне захотелось слегка облегчить себе жизнь: ну лениво мне смотреть номер на определителе, после чего — вбивать его «куда надо»!
Пусть Астериск сам этим и занимается!
; И шлём спамеров лесом!
exten => 123,n(banned),Answer()
exten => 123,n,Playback(файл, в котором посылающая спамеров лесом фраза)
exten => 123,n,Hangup()
Теперь если после звонка спамера вы снимите трубку и наберёте «20» — его добавит в список забаненных!
Как убрать номер — показано в инструкции выше.
Быстрый набор
У всех из нас есть номера, по которым мы чаще звоним: родственники, коллеги по работе, знакомые…
Вбивать каждый раз 10 цифр номера — лениво! Поэтому можно создать записную книжку прямо на своей АТС!
В диалплане для телефона:
exten => 1,1,Dial(SIP/701/8495. ) ; Родителям
exten => 2,1,Dial(SIP/701/8495. ) ; Бабушка
exten => 3,1,Dial(SIP/701/8495. ) ; Дед
exten => 4,1,Dial(SIP/701/8499. ) ; Работа
И т.д. и т.п.
Вообще — хотел сделать голосовым меню, но при снятии радиотрубки обработка номера «s» почему-то не происходит… Так что можно просто выписать на бамажку «кто есть ху»…
Если куплено несколько трубок, как в моём случае, для каждой может быть свой контекст со своими «короткими номерами»: на телефоне в комнате у родителей не нужны мои знакомые, а мне — ихние…
Приветствие от времени суток
Своей АТСке можно добавить немного «человечности», что-бы она выдавала разное приветствие, в зависимости от времени суток (а при желании — и дня недели, месяца и т.д. и т.п.). К примеру утром она может приветствовать позвонившего зеванием, а ночью — высказать всё, что думает о личности, которая звонит когда все нормальные люди уже спят.
; Прикол с временем звонка
exten => 1200,1,Background(hello_utro) ;Запускаем приветствие «Утро»
exten => 1200,n,Goto(123,naberite) ;К кнопкам
exten => 1201,1,Background(hello_den) ;Запускаем приветствие «День»
exten => 1201,n,Goto(123,naberite) ;К кнопкам
exten => 1202,1,Background(hello_vecher) ;Запускаем приветствие «Вечер»
exten => 1202,n,Goto(123,naberite) ;К кнопкам
exten => 123,n(naberite),Verbose(«Голосовое меню») ; Далее идёт голосовое меню.
.
Антибот
Если вам часто звонят левые люди, просящие «Машу, Сашу или Дашу», а то и вообще какого-нибудь Баракобаму — следующий пример ваш!
Общая мысль в том, что при ответе выдаёт приветствие в стиле «Здравствуйте, вы позвонили в квартиру. Если вы уверены, что это квартира Ивановых — нажмите 1, если Петровых — 2, Сидоровых — 3! Если ни одна из фамилий не подходит, или вы звоните в организацию — повесьте трубку: вы не туда попали!».
Минус — заворачивать будет и «полезных» ботов, типа «Вы забыли оплатить телефон и скоро мы вас отрубим!», но тут или-или…
exten => 123,n,Answer()
.
exten => 123,n(naberite),Background(familie) ;Мессаг на тему выбора фамилии
exten => 123,n,WaitExten() ;Ждем ввода от пользователя
exten => i,1,Playback(invalid) ; Нажали не то — говорим что облом
exten => i,n,Hangup() ; Вешаем трубку
Хитрый CallBack
У меня мобильник с двумя симками: одна — для разговоров, вторая — А-Мобайловская для связи с мини-АТС моей.
Ну и проблема в том, что пару раз по ошибке звонил не с той сим-карты — 2.40 не деньги, конечно, но когда отлаживаешься и звонишь периодически на сервер — неприятно!
В связи с чем слегка переделал скрипт Callback под свои нужды.
exten => 601,1,Dial(Datacard/g1/+7916. ) ; Мне на А-Мобайл
exten => 601,n,Hangup()
А это — /etc/asterisk/scripts/callback — не забудьте дать ему права на выполнение: пол-часа не мог понять, почему не срабатывает!
#!/bin/sh
sleep 10
echo «Channel: Local/601@incoming_mobile
MaxRetries: 1
RetryTime: 10
WaitTime: 20
Context: incoming_mobile
Extension: 200
Priority: 1
AlwaysDelete: Yes» >/var/spool/asterisk/tmp/tst.call
mv /var/spool/asterisk/tmp/tst.call /var/spool/asterisk/outgoing/tst.call
«У меня не все дома!» или «Я в домике!»
Второй кусочек — будет интересен владельцам Мультифона.
У меня, да и у многих знакомых, есть «болезнь»: забыть мобильник в кармане брюк или сумке и запихнуть это «хранилище» в шкаф… В итоге придушенный писк телефона с трудом можно услышать, а звонок мог быть важным.
Для борьбы с этим я запараллелил к Мегафону-Мультифону радиотрубку в своей комнате.
Делается тупо в 2.5 строчки:
exten => 7926. 1,Verbose(«Звонок на мой Мегафон!»)
exten => 7926. n,Dial(«SIP/702»)
exten => 7926. n,Hangup()
Защита
В отличие от домашних веб-фтп серверов — домашняя мини-АТС представляет собой довольно серьёзную угрозу вашему благосостоянию: нехорошие редиски, получив доступ к вашей телефонной сети, могут наболтать по межгороду столько, что счёт Билайна к туристке за связь в размере полу-миллиона может показаться копеечным!
Рекомендую почитать статью про защиту Астериска, заметку на Хабре про Кубинскую Эпидемию…
Ну и простые советы:
1. Если звонки с городской линии идут только на городские номера — заблокируйте на уровне экстеншена набор любых других номеров.
2. Для выхода на межгород — создайте отдельный контекст для межгорода, вход в который будет через «пароль» — номер, который надо ввести.
3. Для аккаунтов локальных телефонов — вбейте в sip.conf на каждого «локальщика» его фиксированный IP-адрес, в крайнем случае — локальную под-сетку, благо, что у СИП-телефонов и адаптеров чаще всего есть возможность задать фиксированный IP.
Заключение
Это — лишь малая часть того, что можно сделать с Астериском. Ещё некоторые вещи я просто не смог вспомнить — банально засыпаю на ходу.
Всё это при желании читателей может дополняться и исправляться: пишите в комментах пожелания!
Настройка очередей звонков в Asterisk
Организация любого Call-центра начинается с правильной организации очередей. В статье рассмотрим конфигурацию и примеры необходимых настроек через командную строку (правка конфигурационных файлов). Настройку через FreePBX рассматривать не будем.
Базовые команды по работе с очередями
Команды выполняются из консоли asterisk:
1. Просмотр очередей и их статуса:
support has 0 calls (max unlimited) in ‘ringall’ strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 0s
Members:
SIP/102 with penalty 1 (ringinuse enabled) (Unavailable) has taken no calls yet
SIP/101 with penalty 1 (ringinuse enabled) (Not in use) has taken no calls yet
No Callers
* в данном примере в очереди зарегистрировано 2 оператора и нет звонков (No Callers)
2. Просмотр конкретной очереди:
> queue show support
3. Количество звонков в очереди.
Смотрим вышеописанной командой:
> queue show support
При наличие активных вызовов, мы увидим что-то на подобие:
.
Callers:
1. SIP/101-000000be (wait: 0:01, prio: 0)
4. Перезапуск очереди:
* возможны следующие параметры:
* если имя очереди не указано, перезапуск выполняется для всех очередей.
Создание и настройка очереди
Очередь создается и настраивается в конфигурационном файле queues.conf:
[support]
strategy = ringall
announce-frequency = 45
* в данном примере мы создаем очередь с названием support и стратегией ringall (одновременный звонок всем операторам).
* чтобы создать очередь, достаточно определить только стратегию (strategy).
Открываем консоль Asterisk и перечитываем конфиги:
Параметры очереди
Опции, которые применяются для настройки создаваемой очереди:
Глобальные параметры очереди
Перечисленные выше опции имеют отношение к конкретной очереди. Также, в Asterisk можно настроить общие для всех очередей опции — они размещаются в секции [general]. Некоторые из них пересекаются с параметрами очереди — в таком случае приоритет будет за параметром последней.
Перечень глобальных опций:
Параметр | Описание | По умолчанию |
---|---|---|
persistentmembers | Хранить динамических операторов в базе astdb для возможности их автоматического подключения после перезагрузки. | yes |
autofill | Способ организации очереди. Если yes — общая очередь ко всем операторам, попадаем к тому, кто первый освободиться. Если no — при постановке на очередь идет сразу закрепление за определенным оператором. | no |
monitor-type | Программа, с помощью которой идет запись разговора. | MixMonitor |
updatecdr | Добавлять в поле dstchannel CDR имя агента. | no |
shared_lastcall | Для операторов, обслуживающих несколько очередей будут учитываться параметры паузы после завершения разговора для всех вызовов всех очередей. | no |
negative_penalty_invalid | Не отправлять звонки на операторов с отрицательным пенальти. | no |
log_membername_as_agent | Регистрировать агентов с именем, а не номером. | no |
Добавление операторов к очереди (агентов)
Пользователей, которые отвечают на звонки очереди называют агентами или операторами. Есть два типа агентов — статические и динамические. Первые прописываются в конфигурационном файле queues.conf, вторые — могут присоединятся к очереди, становясь на некоторое время оператором.
Статические агенты
Для создания статического оператора, открываем конфигурационный файл очереди:
3-х (и более) сторонний вызов в Asterisk с использованием ConfBridge
В данной статье описана настройка n-стороннего вызова в Asterisk с использованием ConfBridge.
Статья является адаптацией решения с voip-info.org для работы с ConfBridge (более новое, чем MeetMe, приложение Asterisk для конференц-связи, к тому же, не зависящее от DAHDI).
Для работы данной схемы у Asterisk должны быть собраны модули app_confbridge.so и chan_bridge.so. Инструкция написана для CentOS 6 и Asterisk 11
Описание
К сервисным кодам Asterisk добавляется код *0 (его нужно описать в файле features.conf и добавить в переменную DYNAMIC_FEATURES). Сервисный код *0 вызывает выполнение макроса nway-start, который создает конференцию с именем как UNIQUEID у текущего вызова и перенаправляет в созданную конференцию абонента, не являющегося инициатором конференции. После этого абонент, начавший конференцию, получает возможность добавить в конференцию 3-го участника.
Абоненту, добавляющему к конференции нового участника, доступны следующие сервисные коды:
После выполнения любого из этих сервисных кодов, абонент, добавлявший нового участника, сам возвращается в конференцию.
Всем абонентам, находящимся в конференции, доступен сервисный код *0. После выполнения этого кода, абонент покидает конференцию, получает возможность добавить участника к конференции, после чего, возвращается обратно в конференцию.
Количество одновременных n-сторонних вызовов и их участников ограничено только производительностью сервера.
Настройка
1) Настройки ConfBridge:
confbridge.conf
extensions.conf
3) Сервисные коды Asterisk:
features.conf
extensions.conf
[globals]
DYNAMIC_FEATURES = feature1#feature2#nway-start
DYNAMIC_FEATURES_NWAY = feature1
DYNAMIC_FEATURES_NWAYINV = feature2#nway-ok
Здесь:
disconnect — стандартный сервисный код Asterisk, вызывающий завершение текущего вызова.
feature1, feature2 — другие пользовательские сервисные коды, настроенные на Asterisk (на разных этапах конференции можно делать доступными разные сервисные коды)
DYNAMIC_FEATURES_NWAY — сервисные коды, доступные во время n-стороннего вызова
DYNAMIC_FEATURES_NWAYINV — сервисные коды, доступные во время приглашения в n-сторонний вызов