Настройка очередей звонков в asterisk

Добавление операторов к очереди (агентов)

Пользователей, которые отвечают на звонки очереди называют агентами или операторами. Есть два типа агентов — статические и динамические. Первые прописываются в конфигурационном файле queues.conf, вторые — могут присоединятся к очереди, становясь на некоторое время оператором.

Статические агенты

Для создания статического оператора, открываем конфигурационный файл очереди:

vi /etc/asterisk/queues.conf

В настройках очереди добавляем:

strategy = ringall
member => SIP/101,1

* в данном примере, мы добавили оператора к нашей очереди. Это sip агент с именем 101. 1 на конце — пенальти (используется для выставления приоритета при использовании некоторых стратегий).

Перечитываем все конфигурационные файлы:

asterisk -x «core reload»

Динамические агенты

Динамические агенты могут присоединиться к очереди в любой момент набором специального сочетания кнопок на телефонном аппарате. Настройка сервера выполняется в конфигурационном файле диалплана:

vi /etc/asterisk/extensions.conf

exten => *999#,1,Verbose(2,Adding dynamic member to support queue)
 same => n,Set(MemberInfo=${CHANNEL(channeltype)}/${CHANNEL(peername)})
 same => n,AddQueueMember(support,${MemberInfo})
 same => n,Playback(agent-loginok)
 same => n,Hangup()
exten => *888#,1,Verbose(2,Removing dynamic member from support queue.)
 same => n,Set(MemberInfo=${CHANNEL(channeltype)}/${CHANNEL(peername)})
 same => n,RemoveQueueMember(support,${MemberInfo})
 same => n,Playback(agent-loggedoff)
 same => n,Hangup()

* в данном примере, если агент набирает *999#, он присоединяется к очереди и может принимать вызовы. При наборе *888# агент выходит из очереди.
* Verbose — вывод в консоль информации; Set — задает значение переменной, в данном примере, MemberInfo; AddQueueMember/RemoveQueueMember — соответственно, добавляет к очереди агента и удаляет из нее; Playback — проигрывает голосовой сигнал; Hangup — дает сигнал отбоя.

Аутентификация агентов

1. Общий пароль для всех агентов

Можно сделать так, чтобы Asterisk требовал от агентов ввод пароля для присоединения к очереди. Для этого наш диалплан приводим к такому виду:

vi /etc/asterisk/extensions.conf

exten => *999#,1,Verbose(2,Adding dynamic member to support queue)
 same => n,Authenticate(1234)
 same => n,Set(MemberInfo=${CHANNEL(channeltype)}/${CHANNEL(peername)})
 same => n,AddQueueMember(support,${MemberInfo})
 same => n,Playback(agent-loginok)
 same => n,Hangup()

* где Authenticate — запрос пароля, в данном примере, 1234.

2. Индивидуальные пароли для каждого агента

Если необходимо, чтобы каждый агент перед входом вводил свои номер и пароль, необходимо воспользоваться приложением VMAuthenticate (аутентификация по электронному почтовому ящику). Настройку начнем с правки диалплана:

vi /etc/asterisk/extensions.conf

exten => *999#,1,Verbose(2,Adding a member to the cc_ege_support queue.)
 same => n,Read(AGENT_USERID,agent-user)
 same => n,VMAuthenticate(${AGENT_USERID}@vmauth)
 same => n,Set(MemberInfo=${CHANNEL(channeltype)}/${CHANNEL(peername)})
 same => n,AddQueueMember(support,${MemberInfo})
 same => n,Playback(agent-loginok)
 same => n,Hangup()

* Read — запрашиваем данные у агента (agent-user — голосовой файл), и записываем в переменную AGENT_USERID; VMAuthenticate — запрашиваем пароль для почтового ящика ${AGENT_USERID} с контекстом vmauth.

Добавляем почтовые ящики:

1001 => 1234, dmosk, [email protected]
1002 => 5678, dmosk2, [email protected]

* vmauth — контекст (его мы указали в диалплане); 1001/1002 — номера агентов; 1234/5678 — пароли.

Для применения настроек перечитываем диалплан:

asterisk -x «dialplan reload»

Cdr

Описание:

Должно быть включено в настройках 


enabled = yes

Синтаксис:

Event: Cdr
AccountCode:
Source:
Destination:
DestinationContext:
CallerID:
Channel:
DestinationChannel:
LastApplication:
LastData:
StartTime:
AnswerTime:
EndTime:
Duration:
BillableSeconds:
Disposition:
AMAFlags:
UniqueID:
UserField:

Пример

Event: Cdr
Privilege: cdr,all
AccountCode:
Source: 900
Destination: 0672400000
DestinationContext: from-internal
CallerID: 900
Channel: SIP/900-0000022e
DestinationChannel: SIP/KS-sip-0000022f
LastApplication: Dial
LastData: SIP/KS-sip/0672400000,300,TwW
StartTime: 2013-03-06 16:21:03
AnswerTime: 2013-03-06 16:21:09
EndTime: 2013-03-06 16:21:10
Duration: 7
BillableSeconds: 1
Disposition: ANSWERED
AMAFlags: DOCUMENTATION
UniqueID: 1362579663.896
UserField:

Аргументы

Соответствуют полям таблицы CDR

Главная

  • «Общая», где представлена информация о всех поступивших на АТС звонках в разрезе внешних («городских») номеров.
    Скриншот верхней части страницы был до ката, ниже идут диаграммы и график:
  • «Очереди и Группы», в котором отображена информация о входящих звонках:
    Здесь можно выбрать одновременно все очереди (повторюсь — очереди Asterisk), или одну/несколько необходимых.
    Скриншоты отчета по исходящим звонкам под спойлером ниже, дабы не нагружать пост
    Отчет строится по всем исходящим вызовам сотрудников вовне, либо в разрезе группы, которую вы можете создать в «Настройки — Группы».
  • оценить «выхлоп» рекламной компании, где вы указали определенный номер телефона
  • понять какой номер наиболее «популярен» у клиентов
  • узнать соотношение принятых/пропущенных к поступившим на АТС звонкам в целом
  • получить картину по входящим звонкам как по очереди(ям) так и по каждому оператору в отдельности
  • отследить количественные и качественные характеристики исходящих вызовов сотрудников

«Главная»«Звонки»

Вызов на ожидании или функция Call Waiting в FreePBX

Функция Call Waiting (CW) по умолчанию включена в FreePBX, что позволяет использовать так называемую «вторую линию», то есть ставить вызов на удержание и принимать параллельно ещё один входящий звонок на одном телефоне. Несмотря на то, что данная функция видна в разделе Applications модуля Module Admin, её настройку можно выполнить либо глобально, либо локально для каждого экстеншена. Подробнее расскажем об этом ниже.

Локальная настройка для экстеншенов и конечных пользователей

В первую очередь, данный параметр устанавливается отдельно в настройках каждого экстеншена, что отображается следующим образом:

Для отключения данной опции необходимо зайти в настройки экстеншена, далее выбрать вкладку Advanced, и в разделе Extension Options выставить Disable напротив опции Call Waiting.

Ещё одним способом управления данной опцией является использование сервисных кодов – по умолчанию установлены *70 на активацию и *71 на деактивацию данной опции. Удобство данного способа заключается в том, что каждый юзер может управлять данной настройкой на своём телефоне без обращения к администратору АТС.

Способы глобальной настройки Call Waiting

Первый способ является, по сути, автоматизированным способом настройки экстеншена – с помощью модуля Bulk Extensions – то есть вам необходимо выгрузить .csv файл со всеми экстеншенами, найти в файле нужную опцию (она обозначается как ENABLED) и просто стереть её (отсутствие значения = отключению опции).

Вторым способом является выключение CW Enabled by Default в положение No – но для этого необходимо пересоздавать экстеншены, так что данной опцией пользоваться не рекомендуется:

QueueMemberAdded

Описание:

Raised when a member is added to the queue.

Синтаксис:

Event: QueueMemberAdded
Queue: <value>
Location: <value>
MemberName: <value>
StateInterface: <value>
Membership: <value>
Penalty: <value>
CallsTaken: <value>
LastCall: <value>
Status: <value>
Paused: <value>

Аргументы:

  • Queue — имя очереди
  • Location — технология канала или расположение, например, 

  • MemberName — имя агента
  • StateInterface — Channel technology or location from which to read device state changes
  • Membership

    • dynamic
    • realtime
    • static
  • Penalty — The penalty associated with the queue member.
  • CallsTaken — The number of calls this queue member has serviced.
  • LastCall — The time this member last took call, expressed in seconds since 00:00, Jan 1, 1970 UTC.
  • Status — The numeric device state status of the queue member.

    • 0 — AST_DEVICE_UNKNOWN
    • 1 — AST_DEVICE_NOT_INUSE
    • 2 — AST_DEVICE_INUSE
    • 3 — AST_DEVICE_BUSY
    • 4 — AST_DEVICE_INVALID
    • 5 — AST_DEVICE_UNAVAILABLE
    • 6 — AST_DEVICE_RINGING
    • 7 — AST_DEVICE_RINGINUSE
    • 8 — AST_DEVICE_ONHOLD
  • Paused

    • 1

AgentRingNoAnswer

Описание:

Raised when an agent is notified of a member in the queue and fails to answer.

Синтаксис:

Event: AgentRingNoAnswer
Queue: <value>
MemberName: <value>
 <value>
Member: <value>
RingTime: <value>
Uniqueid: <value>
Channel: <value>

Аргументы

  • Queue — имя очереди
  • MemberName — имя агента очереди
  • Variable — Optional channel variables from the ChannelCalling channel
  • Member — The queue member’s channel technology or location.
  • RingTime — The time the agent was rung, expressed in seconds since 00:00, Jan 1, 1970 UTC.
  • Uniqueid — уникальный идентификатор
  • Channel — идентификатор канала

Очереди вызовов в сервере Asterisk

  • Поступающие вызовы помещаются в очередь.
  • Участники, обрабатывающие очередь, отвечают на вызовы поступающие в очередь (в их качестве могут быть либо екстеншены либо пользователи, зарегистрировавшиеся в системе в качестве агентов).
  • Порядок распределения поступающих вызовов между участниками, обрабатывающими очередь, зависит от определенной для нее стратегии распределения вызовов.
  • Пока вызывающий абонент ожидает ответа в очереди, ему может проигрываться музыка.
  • Есть возможность включения периодических анонсов, для ожидающих в очереди абонентов, и для участников, обрабатывающих очередь.

queues.confRealTime

  • Агенты (Agents) — это люди (персоны), которые отвечают на входящие вызовы, которые помещаются в определенную очередь вызовов. Агенты должны зарегистрироваться (войти) в систему, для индикации того, что они готовы обрабатывать вызовы. Сервер Asterisk перенаправляет входящий вызов в очередь, откуда он уже перенаправляется доступным для данной очереди агентам по заданной стратегии распределения вызовов между агентами.
  • Участники обработки очереди (Members) — это каналы связи, через которые происходит работа с вызовами, помещенными в очередь (через которые отвечают на эти вызовы). В этом качестве могут выступать агенты или обычные каналы связи, например: «sip/snom23».

Стратегии обработки вызовов.

  • ringall: вызываются все доступные участники до тех пор, пока кто-то из них не ответит на вызов (по умолчанию).
  • roundrobin: циклически вызывается каждый из доступных участников. (Устарело в версии 1.4, используйте: rrmemory)
  • leastrecent: Вызывается первый свободный участник, который меньше всего вызывался из этой очереди.
  • fewestcalls: Вызывается первый свободный участник, который обработал наименьшее количество вызовов из данной очереди.
  • random: случайным образом вызывается не занятый участник, обрабатывающий очередь.
  • rrmemory: циклическое распределение с памятью, запоминается последний участник, ответивший на вызов.

Функции

  • Queue: Помещение вызова в очередь, используется в плане набора: extensions.conf
  • AddQueueMember: Динамическое добавление агента для обработки очереди.
  • RemoveQueueMember: Динамическое удаление агента из участников обработки очереди.
  • AgentLogin: Авторизация агента.
  • AgentCallbackLogin: Авторизация агента с обратным вызовом.
  • AGENT: Получить информацию об агенте.
  • QUEUEAGENTCOUNT: Получить число агентов обрабатывающих очередь вызовов в данный момент.
  • QUEUE_MEMBER_COUNT: Возвращает число участников, которые заняты обработкой вызова из очереди.
  • QUEUE_MEMBER_LIST: Возвращает список интерфейсов, принимающих вызовы из очереди.

Команды CLI консоли

  • show agents: Показывает агентов.
  • show queues: Выводит список очередей вызовов.
  • show queue : Показывает данные указанной очереди вызовов.

Конфигурация

  • файл agents.conf: Конфигурация агентов для обработки очередей вызовов.
  • файл queues.conf: Конфигурация очередей вызовов.

Ссылки по теме:

  • Asterisk call parking
  • Asterisk Realtime Queue
  • Asterisk agents: Дополнительная информация об агентах, обрабатывающих очередь.
  • Asterisk Queue Callback — Let your callers hangup while waiting for an agent without losing their place in line
  • OrderlyQ — Extension to Asterisk Queues that lets callers hang up, then call back without losing their place.
  • Statistics that would be useful to add to this application: http://lists.digium.com/pipermail/asterisk-users/2003-July/014965.html
  • Список команд плана набора
  • Asterisk

Уведомление о занятости при настройке Call Waiting в Asterisk

Функция Call Waiting при настройке в Asterisk или через FreePBX позволяет внутреннему номера принимать второй параллельный вызов, во время текущего разговора. Основной проблемой Call Waiting является то, что звонящий занятому абоненту слышит стандартный КПВ (Контроль посылки вызова, или просто гудок) в телефонной трубке, что создает ложное ощущение игнорирования.

Звонящий думает, что вызываемый абонент не взял трубку по причине обеда, перекура, невнимательности или похищения пришельцами.

Нас такой вариант не устраивает и мы предлагаем решение: звуковое уведомление звонящего о том, что вызываемый абонент сейчас разговаривает и не может принять вызов. Предложим звонящему подождать или позвонить попозже. Приступаем к реализации.

Настройка extensions_custom.conf

Как можно понять по названию заголовка, настройку мы будем производить в одноименном файле extensions_custom.conf , который находится в директории /etc/asterisk/: . Открываем для редактирования:

После чего, добавляем в файл следующую конфигурацию:

Разберемся с каждой строчкой контекста macro-dialout-one-predial-hook :

  • exten => s,1,Noop(HINT STATUS — $)>) — выводим в консоль сервера состояние хинта. Здесь может быть : UNKNOWN, NOT_INUSE, INUSE, BUSY, UNAVAILABLE, RINGING, RINGINUSE, HOLDINUSE, ONHOLD
  • exten => s,n,ExecIf($?Playback(/var/lib/asterisk/sounds/ru/custom/busytest)) — проверяем статус хинта: если он равен INUSE (находится в разговоре), то проигрываем для него заранее записанный файл (/var/lib/asterisk/sounds/ru/custom/busytest, где сообщаем звонящему о занятости и просим подождать;
  • exten => s,n,ExecIf($?Set(D_OPTIONS=Ttm)) — сразу после озвучивания нашего аудио, играем MoH (Music On Hold) звонящему;

Аналогичным способом, как показано выше, мы проводим проверку для состояния хинта равному RINGINUSE. Готово. Перегружаем диалплан командой:

Не работает с Follow Me

Если вы столкнулись с проблемой того, что данный функционал не работает на внутренних номерах, в настройках которых включена опция Follow Me, то сделайте следующие действия:

  1. Откройте графический интерфейс FreePBX. Перейдите в раздел SettingsAdvanced Settings;
  2. Найдите опцию Default Follow Me Ring Strategy в разделе Follow Me Module и выставьте ее как ringallv2;
  3. Повторите подобную итерацию для каждого экстеншена в разделе Follow Me;
  4. Дайте команду asterisk -rx «dialplan reload» в консоль вашего сервера;
  • Call Waiting Busy Tone
  • Уведомление о занятости
  • 1780
  • 10

QueueMemberStatus

Описание: Возникает при изменении статуса агента

Синтаксис:

Event: QueueMemberStatus
Queue: <value>
Location: <value>
MemberName: <value>
StateInterface: <value>
Membership: <value>
Penalty: <value>
CallsTaken: <value>
LastCall: <value>
Status: <value>

Аргументы

  • Queue — имя очереди
  • Location — технология канала агента или расположение, например, 

  • MemberName — имя агента
  • StateInterface — Channel technology or location from which to read device state changes.
  • Membership — тип членства

    • dynamic — динамический агент
    • realtime — реалтайм агент
    • static — статический агент
  • Penalty — значение пенальти, ассоциированное с агентом
  • CallsTaken — Количество звонков, которое обслужил агент в данной очереди
  • LastCall — Время последнего полученного звонка, выраженное в секундах, начиная с 00:00, Jan 1, 1970 UTC.
  • Status — числовое значение состояния устройства агента

    • 0 — AST_DEVICE_UNKNOWN
    • 1 — AST_DEVICE_NOT_INUSE
    • 2 — AST_DEVICE_INUSE
    • 3 — AST_DEVICE_BUSY
    • 4 — AST_DEVICE_INVALID
    • 5 — AST_DEVICE_UNAVAILABLE
    • 6 — AST_DEVICE_RINGING
    • 7 — AST_DEVICE_RINGINUSE
    • 8 — AST_DEVICE_ONHOLD
  • Paused — флаг паузы

    • 0 — снята
    • 1 — установлена

MeetmeLeave

Описание:

Возникает, когда пользователь покидает MeetMe-конференцию

Синтаксис:

Event: MeetmeLeave
Meetme: <value>
Usernum: <value>
Duration: <value>
Channel: <value>
Uniqueid: <value>
CallerIDNum: <value>
CallerIDName: <value>
ConnectedLineNum: <value>
ConnectedLineName: <value>

Аргументы

  • Meetme — идентификатор MeetMe-конференции
  • Usernum — идентификатор MeetMe-пользователя
  • Duration — время в секундах, которое Meetme-пользователь провел в конференции
  • Channel — канал
  • Uniqueid — идентификатор
  • CallerIDNum — номер
  • CallerIDName — имя
  • ConnectedLineNum — линия
  • ConnectedLineName — имя линии

Callback

Он работает по тому же принципу, что и описанный выше автообзвон, за некоторыми исключениеми:

  • генерация call файла происходит при звонке человека на номер выделенный под callback.
  • в контексте (context) мы не просто проигрываем звуковые, а предлагаем пользователю ввести номер, на который он хочет позвонить

Что нам потребуется в этом случае:

  • выделить номер для callback и создать контекст (context) под него в  extensions.conf.
  • «передать»  звонок в AGI скрипт, который проверит АОН звонящего на предмет разрешен ли этому номеру callback
  • если  callback разрешен, то сформирует call файл.

AGI — это Asterisk Gateway Interface.Asterisk Gateway Interface это возможность расширить функционал Asterisk`а с помощью использования скриптов на многих языках программирования. Например Perl, PHP, C, Pascal, Bourne Shell.

Начнем с номера, допустим это будет гор. номер 84955556677. Добавим в extensions.conf в контекст (context) куда поступают все входящие звонки:

exten => 84955556677,1,AGI(sms-callback.php)
exten => 84955556677,n,Hangup()

Т.е. звонок на экстеншн (ext) 84955556677 будет передан AGI скрипту callback.php, а затем звонок будет сразу же завершен.

AGI скрипты для Asterisk располагаются в директории  /usr/local/share/asterisk/agi-bin/.

Почему скрипт на PHP ? PHP был выбран для AGI, т.к. callback является неотъемлимой частью проекта написанного на PHP + MySQL, потому решили и AGI пусть на PHP будет.
Сам скрипт: http://subnets.ru/files/callback.php.txt

Что происходит с скрипте ?

  • определяем необходимые переменные
  • получаем данные от Asterisk`а.
  • логи, куда же без них. В лог мы поместим все то, то получил AGI скрипт от Asterisk`а, это для дебага, потом можно выключить логирование.
  • проверяем номер (АОН) звонящего на доступ к callback
  • смотрим нет ли уже call файла для  данного номера, если нет, то создаем его

В переменной $agivar и содержится АОН (телефонный номер) звонящего переданного нам Asterisk`ом, что в других передаваемых переменных вы сможете увидеть в log файле.
Если установить $debug в ноль, то тем самым выключите логирование.
В массиве  $permit_num содержатся номера для которых разрешен callback.

Ну и осталось дело за малым, а именно что бы был контекст (context) под звонящий номер в extensions.conf.

Допустим наш callback номер 84955556677 набрали с мобильного 89105647899 и ему разрешен callback (номер84955556677 указан в массиве  $permit_num в скрипте), то его контекст может выглядеть вот так:

exten => s,1,Set(CallbackNumTries=0)
exten => s,n,Set(CALLERID(num)="9998877")
exten => s,n(start),Background(vo-vvedite-ton-num-abonent)
exten => s,n,WaitExten(10)
exten => 100,1,Dial(SIP/8495${EXTEN}@sip-provider,120)
exten => _XXXXXXX,1,Dial(SIP/8495${EXTEN}@sip-provider,120)
exten => _8X.,1,Dial(SIP/${EXTEN}@sip-provider,120)
exten => i,1,Set(CallbackNumTries=$)
exten => i,n,Playback(vo-nomer-nabran-ne-verno)
exten => i,n,GotoIf($?s|start)
exten => i,n,Playback(vo-dosvidaniya)
exten => t,1,Set(CallbackNumTries=$)
exten => t,n,GotoIf($?s|start)
exten => t,n,Playback(vo-dosvidaniya)
exten => t,n,Hangup()
  • устанавливаем число попыток в ноль
  • выставляем АОН (под исх. звонок)
  • проигрываем записанный текст: «переведите ваш телефон в тональный набор…. бла… бла.. бла…»
  • 10 сек. ждем от человека набора номера
  • указываем возможный набор номеров: 100 (узнать время ;)), 7-ми значный номер, 8-рка и далее сколько угодно цифр
  • даем человеку три попытки на набор номера, если истек таймаут набора номера или номер был набран не верно, то человеку это озвучивается и кол-во попыток увеличивается на 1-цу и наше мини голосовое меню начинается сначала (возврат к метке start)
  • если кол-во попыток исчерпано, то Asterisk вешает трубку

З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

AgentCalled

Описание:

Событие возникает при уведомлении агента очереди об участнике очереди

Синтаксис:

Event: AgentCalled
Queue: <value>
AgentCalled: <value>
AgentName: <value>
 <value>
ChannelCalling: <value>
DestinationChannel: <value>
CallerIDNum: <value>
CallerIDName: <value>
ConnectedLineNum: <value>
ConnectedLineName: <value>
Context: <value>
Extension: <value>
Priority: <value>
Uniqueid: <value>
  • Queue — имя очереди
  • AgentCalled — технология агента или расположение, например 

  • AgentName — имя агента
  • Variable — Optional channel variables from the ChannelCalling channel
  • ChannelCalling
  • DestinationChannel
  • CallerIDNum
  • CallerIDName
  • ConnectedLineNum
  • ConnectedLineName
  • Context
  • Extension
  • Priority
  • Uniqueid

/etc/asterisk/asterisk.conf

В файле конфигурации asterisk.conf Вы определяете следующее:

  • Местоположение, права доступа и владельца сокета, которые используется для подключения удаленной консоли управления сервером.
  • Местоположение различных директорий, используемых сервером Asterisk для определения местоположения файлов конфигурации, библиотек, скриптов и место, где будут создаваться лог фалы.
  • Параметры командной строки запуска сервера, используемые по умолчанию.

Пример конфигурации.

Директории

Директории используемые в Asterisk.

directories

(!)
astetcdir => /etc/asterisk
astmoddir => /usr/lib/asterisk/modules
astvarlibdir => /var/lib/asterisk
astdbdir => /var/lib/asterisk
astkeydir => /var/lib/asterisk
astdatadir => /var/lib/asterisk
astagidir => /var/lib/asterisk/agi-bin
astspooldir => /var/spool/asterisk
astrundir => /var/run/asterisk
astlogdir => /var/log/asterisk
astsbindir => /usr/sbin

astetcdir => /etc/asterisk

astmoddir => /usr/lib(64)/asterisk/modules

astvarlibdir => /var/lib/asterisk

astspooldir => /var/spool/asterisk

Директории для файлов создаваемых Asterisk в процессе работы. Например: Записи разговоров, принятые факсы, голосовая почта, call-файлы итд.

 ls -1  /var/spool/asterisk/
/fax
/meetme
/monitor
/outgoing
/sysadmin
/system
/tmp
/voicemail

astrundir => /var/run/asterisk

Место куда Asterisk записывает UNIX control socket файл (asterisk.ctl) и файл ID процесса (asterisk.pid)

ls -1  /var/run/asterisk/
asterisk.ctl
asterisk.pid

astlogdir => /var/log/asterisk

Файлы логов Asterisk. Настройки вывода логов производятся в файле /etc/asterisk/logger.conf

 ls -1  /var/log/asterisk
/cdr-csv ;директории CDR файлов
/cdr-custom
full
queue_log

а также могут быть:

 fail2ban   ; 
 freepbx_debug 
 freepbx.log

astsbindir => /usr/sbin

Исполняемые файлы Asterisk.

 ls /usr/sbin | grep asterisk
 asterisk
 rasterisk
 safe_asterisk
Параметр Значение по умолчанию / Пример Описание
verbose Устанавливает уровень детализации (verbose) консоли и лога . Это значние также может быть установлено в консоли коммандой ‘core set verbose <0-9> или off.
debug Залает значение уровня отладки (debug). по умолчанию — 0
alwaysfork no всегда в фоновом режиме, даже с опциями -v или -d
nofork no Отключить фоновое выполнение.
quiet no Работать тихо (-q). Уменьшает выхлоп консоли.
timestamp no Временные отметки в выводе консоли(-T) CLI verbose output
execincludes no Разрешить #EXEC записи в файлах конфигурации
console no Всегда запускать в консольном режиме, с приглашением CLI.
highpriority no Запускать Asterisk c наивысшим приоритетом в режиме реального времени.
initcrypto no Загружать ключи из ../astkeydir при старте.
nocolor no Цветная консоль.
dontwarn no Отключить предупреждения (warning messages).
dumpcore no Делать дамп (содержимое рабочей памяти процесса, ядра)при падении
languageprefix yes Как находится путь к звуковому файлу с языковым префиксом. По умолчанию, ‘yes’ — перфикс языка в пути к файлу перед подкаталогов, например ../ru/digits/1.gsm. Если ‘no’ то префикс после имени каталога, например: (digits/ru/1.gsm).
internal_timing yes Включить внутренний источник синхронизации для аудио
systemname not set Уникальное имя Asterisk. Используется как часть UNIQUEID в CDR. По умолчанию не задано
autosystemname no Автоматом задавать ‘systemname’ на основании имени хоста
maxcalls not set Максимальное кол-во одновременных входящих вызовов. По умолчанию не ограничено
maxload not set/0.9 Максимальная нагрузка на процессор, при которой Asterisk прекратит новые соединения.
minmemfree not set /256
cache_record_files yes / no Кэшировать записи
record_cache_dir <dir> директория кэша записей
transmit_silence no Транслировать тишину, если нет другог источника звука
transcode_via_sln yes перекодировать кодеки через SLINEAR
runuser asterisk Владелец Asterisk.
rungroup asterisk Группа Asterisk.
documentation_language en / es / ru Язык документации
hideconnect no Не показывать сообщения о подключении удаленных консолей

Newstate

Описание:

Возникает при изменении состояния канала

Синтаксис:

Event: Newstate
ChannelState: <value>
ChannelStateDesc: <value>
Channel: <value>
CallerIDNum: <value>
CallerIDName: <value>
ConnectedLineNum: <value>
ConnectedLineName: <value>
Uniqueid: <value>

Аргументы

  • ChannelState — числовое значение состояния, связанное с ChannelStateDesc
  • ChannelStateDesc

    • Down
    • Rsrvd
    • OffHook
    • Dialing
    • Ring
    • Ringing
    • Up
    • Busy
    • Dialing Offhook
    • Pre-ring
    • Unknown
  • Channel — канал
  • CallerIDNum — номер
  • CallerIDName — имя
  • ConnectedLineNum — линия
  • ConnectedLineName — имя линии
  • Uniqueid — идентификатор
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: