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

Asterisk как облачная ATC

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

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

vladqa
Сообщения: 8
Зарегистрирован: 24 июн 2014, 19:17

Asterisk как облачная ATC

Сообщение vladqa »

Здравствуйте!
В нашей компании встала задача предоставить нашим клиентам услугу "Облачной АТС" (могу ошибаться в терминологии, поправьте, пожалуйста).
Суть в следующем: клиенты - мелкие организации, которым нужно предоставить возможность подключить свои телефоны к нашей АТС, указать для них короткие внутренние номера (101, 102, 103..), дать из возможность звонить в пределах своей сети + звонки наружу. То есть, внутренние добавочные номера должны быть изолированы внутри группы телефонных аппаратов клиента.

Ну и биллинг прикрутить ко всему этому тоже будет нужно

Насколько я понимаю, что описывать логику по "разделению" различных клиентов между собой нужно самостоятельно с использованием AMI/AGI, а на стандартные возможности диалплана asterisk надо вообще забить.
В качестве ПО был выбран astrerisk + VOIP-фреймворк adhearsion.

Само-собой, вопросов в духе "а как это все сделать?" я задавать не буду.
Спрошу только лишь у знатоков и тех, кто сталкивался с подобной задачей: правильные ли выбраны инструменты и возможно ли сделать подобное и использованием adhearsion? Или есть какие-либо другие более удобные библиотеки?
gosha
Сообщения: 375
Зарегистрирован: 06 сен 2010, 17:41
Контактная информация:

Re: Asterisk как облачная ATC

Сообщение gosha »

http://www.voip-info.org/wiki/view/Asterisk+AGI

для рубей есть еще пара либ.

Можете сэкономить на программистах и купить готовое на перле, по ссылке ниже:)
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Asterisk как облачная ATC

Сообщение virus_net »

Мы в итоге писали с нуля сами, на PHP.
vladqa писал(а):описывать логику по "разделению" различных клиентов между собой нужно самостоятельно с использованием AMI/AGI, а на стандартные возможности диалплана asterisk надо вообще забить.
Этой мысли вообще не понял.
  • AMI - Asterisk manager API
    AGI - Asterisk Gateway Interface
И то и то, по сути, командный интерфейс. "Разделить" что-то можно как раз в диалплане.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
vladqa
Сообщения: 8
Зарегистрирован: 24 июн 2014, 19:17

Re: Asterisk как облачная ATC

Сообщение vladqa »

Этой мысли вообще не понял.
Я имел в виду, что от статического диалплана на .conf-файлах придется отказаться и реализовывать всю маршрутизацию и функции динамически в своем приложении
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Asterisk как облачная ATC

Сообщение virus_net »

вот теперь мысль понятна.
vladqa писал(а): от статического диалплана на .conf-файлах придется отказаться
ну не знаю почему озвучивается как "придется", т.к. это выбор каждого и смотря как "построить". если при изменениях перезаписывать не все и вся, а только то что меняют, то вполне жизнеспособная схема.
а если динамика, то тогда уж => Asterisk RealTime Extensions, а не ami/agi
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
Samael28
Сообщения: 1057
Зарегистрирован: 08 янв 2011, 18:32
Откуда: Киев
Контактная информация:

Re: Asterisk как облачная ATC

Сообщение Samael28 »

А в чем преимущества realtime перед agi?
Мой профайл на Upwork
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: Asterisk как облачная ATC

Сообщение Aven »

А в чем преимущества окна перед дверью? Это совершенно разные вещи и сравнить их нельзя.

Realtime служит для хранения конфигов в БД.
AGI - для интеграции с внешними программами (в основном скриптами).
AMI - для управления Asterisk по сети.

AGI и AMI не пригодны для хранения информации о пользователях.
Решения телефонии на базе Asterisk || http://it-need.ru
Samael28
Сообщения: 1057
Зарегистрирован: 08 янв 2011, 18:32
Откуда: Киев
Контактная информация:

Re: Asterisk как облачная ATC

Сообщение Samael28 »

Оно понятно. Просто вопрос именно в динамичном диалплане. Динамично можно и базу менять внешними запросами. Т.е. аналогия, как с FreePBX. Только конфиги - в базе.
Мой профайл на Upwork
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Asterisk как облачная ATC

Сообщение virus_net »

Раз вопрос в динамичном dialplan, то для этого в * и есть RealTime.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
vladqa
Сообщения: 8
Зарегистрирован: 24 июн 2014, 19:17

Re: Asterisk как облачная ATC

Сообщение vladqa »

Проанализировав все, что смог найти по астериску, увидел два способа решения задачи:

1. Использовать Asterisk Realtime для динамического создания диалплана. Каждому клиенту выделяется свой контекст, для которого генерируются строки диалплана и пишутся в БД.
Минусы: Сложно генерировать более-менее сложные диалпланы, сложно вносить изменения в сгенерированные диалпланы (например, пользователь изменил тип подключения одного телефона с sip на iax2)

2. Использовать AGI/AMI и обойтись одним контекстом на всех вида:
exten => _X.,1,AGI(/opt/pagi/some-app)

Плюсы: можно динамически в скрипте читать настройки/внутренние номера пользователя из БД и на основании этого выполнять команды через AGI и направлять вызов на другой телефон/ставить в очередь итп.
Минусы: если с AGI все понятно, то для чего именно нужен AMI, я до сих пор не могу понять. В чем ключевая разница между этими интерфейсами и для каких задач надо использовать один, а для каких другой? В AMI можно ловить все события на всех каналах.. но получается, что в AMI нужно много чего реализовывать "с нуля"?

Заранее извиняюсь за этот глупый вопрос, но для меня пока телефония - это некий закрытый клуб )
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH