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

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

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

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

ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение ded »

Это не два интерфейса
Aven писал(а):AGI - для интеграции с внешними программами (в основном скриптами).
AMI - для управления Asterisk по сети.
AMI - это интерфейс.

Хорошо бы Вам книжки почитать из базы знаний на http://asterisk.ru. На форуме обучаться - бессистемно.
За такой сложное дело берётесь, так подтяните теорию и матчасть то!
vladqa
Сообщения: 8
Зарегистрирован: 24 июн 2014, 19:17

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

Сообщение vladqa »

Как не два интерфейса?
AGI - это ведь тоже интерфейс (даже исходя из названия)

Я, конечно, прочитал "Астериск - будущее телефонии".

Я просто хочу уловить разницу в предоставляемых возможностях между AMI/AGI. Другими словами хорошо бы понять типовые сценарии использования одного и другого, что бы понять, какой из этих способов взаимодействия мне выбрать (или комбинировать оба?)
vladqa
Сообщения: 8
Зарегистрирован: 24 июн 2014, 19:17

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

Сообщение vladqa »

Например, из AGI можно вызывать Dial
А в AMI используют метод Originate (при этом в cdr не пишется ничего)

Я понимаю, что Dial соединяет каналы, а Originate создает канал и соединяет. Но все равно на практике в чем состоит глубокий смысл, не пойму )
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

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

Сообщение Vlad1983 »

Понявший "Астериск - будущее телефонии", такими вопросами не задается.
ЛС: @rostel
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

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

Сообщение virus_net »

В своем сообщении я привел ссылки на описание и того и другого.
Прочитав первый абзац и там и там, на мой взгляд, становится понятно в чем разница и зачем один, а зачем второй.
+ абсолютно справедливое и уже цитируемое сообщение Aven
нам не понятно что именно вам не понятно и какие тут могут оставаться вопросы после прочтения всего приведенного
мой 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 »

Понявший "Астериск - будущее телефонии", такими вопросами не задается
Да бросьте вы. В книге про AGI/AMI вообще толком ничего не сказано. И про то и про другое в целом написано "вы можете управлять астериском через этот интерфейс" и приведены несколько простейших скриптов.

А моя задача несколько шире и, кажется, астериск для нее не особо предназначен.

Если все-таки есть тут добрые люди, то надеюсь, что намекнут мне, в какую сторону дальше рыть. Сейчас сижу экспериментирую с различными вариантами.
Что я сделал:
  • Подключил астериск через ODBC к БД.
  • Научил астериск читать информацию о SIP-устройствах из таблицы sipfriends. Теперь имею возможность динамически регистрировать новые SIP-устройства.
  • Каждому устройству выделяю рандомное имя.
  • Завел другую таблицу 'phones' вида: <имя устройства из sipfriends> - внутренний номер - имя пользователя
  • Все звонки перенаправляю в AGI-скрипт, в котором (для звонков на внутренние номера):
    1. Смотрим реальный callerid
    2. Ищем его в базе, если находим, то
    3. Смотрим в таблице phones, есть ли у пользователя другой телефон с таким добавочным номером. Если есть, берем имя этого устройства из sipfriends и делаем вызов на него.
Вроде бы худо-бедно работает.

Но остается открытым вопрос с биллингом. Например, как можно разорвать разговор при достижении абонентом нулевого баланса на счету? Ведь AGI-скрипт блокируемый и пока абонент говорит, скрипт ожидает завершения команды dial.
Я так понимаю, что на пару с AGI нужно еще использовать AMI, который умеет перехватывать события. Я прав?
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение ded »

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

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

Сообщение vladqa »

RADIUS
Спасибо за намек! Можно ли буквально чуть-чуть подробнее?
gosha
Сообщения: 375
Зарегистрирован: 06 сен 2010, 17:41
Контактная информация:

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

Сообщение gosha »

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

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

Сообщение virus_net »

vladqa писал(а):как можно разорвать разговор при достижении абонентом нулевого баланса на счету?
Вариант "А":
у команды DIAL есть опция L:

Код: Выделить всё

    L(x[:y[:z]]):
        x - Maximum call time, in milliseconds
        y - Warning time, in milliseconds
        z - Repeat time, in milliseconds
    Limit the call to <x> milliseconds. Play a warning when <y> mill
    iseconds are left. Repeat the warning every <z> milliseconds until time
    expires.
Перед тем как совершить вызов выясняем сколько максимально по времени абонент сможет поговорить на свои деньги с другим абонентом и вызываем DIAL с соответствующей опцией и соответствующим временем.

Вариант "Б":
Постоянно мониторить активные вызовы и смотреть кол-во секунд с начала разговора, вычислять стоимость, сравнивать с балансом - баланс 0 или менее - команда на принудительный hangup вызова.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

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