Quantcast
Channel: IP АТС Asterisk
Viewing all 1052 articles
Browse latest View live

/etc/asterisk/alsa.conf

$
0
0

/etc/asterisk/alsa.conf

1. make sure that “chan_oss” and “chan_alsa” are compiled while installing asterisk.

2. ensure that “alsa.conf” exists in /etc/asterisk/alsa.conf.

I’m simply using the alsa.conf created from the samples file.

In case, alsa.conf doesn’t exist, you’ll get the following error, while loading chan_alsa.so.

*CLI> module load chan_alsa.so
Unable to load module chan_alsa.so
Command 'module load chan_alsa.so ' failed.
3. for some reason module “chan_alsa” is not loaded automatically, after restart.
*CLI> module load chan_alsa.so
Loaded chan_alsa.so
*CLI> module show like alsa
Module                         Description                              Use Count
chan_alsa.so                   ALSA Console Channel Driver              0
1 modules loaded
and now you should have the console command.

;
; Open Sound System Console Driver Configuration File
;
[general]
;
; Automatically answer incoming calls on the console?  Choose yes if
; for example you want to use this as an intercom.
;
autoanswer=yes
;
; Default context (is overridden with @context syntax)
;
context=local
;
; Default extension to call
;
extension=s
;
; Default language
;
;language=en
;
; Default Music on Hold class to use when this channel is placed on hold in
; the case that the music class is not set on the channel with
; Set(CHANNEL(musicclass)=whatever) in the dialplan and the peer channel
; putting this one on hold did not suggest a class to use.
;
;mohinterpret=default
;
; Silence suppression can be enabled when sound is over a certain threshold.
; The value for the threshold should probably be between 500 and 2000 or so,
; but your mileage may vary.  Use the echo test to evaluate the best setting.
;silencesuppression = yes
;silencethreshold = 1000
;
; To set which ALSA device to use, change this parameter
;input_device=hw:0,0
;output_device=hw:0,0

;
; Default mute state (can also be toggled via CLI)
;mute=true

;
; If enabled, no audio capture device will be opened.  This is useful on
; systems where there will be no return audio path, such as overhead pagers.
;noaudiocapture=true

;------------------------------ JITTER BUFFER CONFIGURATION --------------------------
; jbenable = yes              ; Enables the use of a jitterbuffer on the receiving side of an
                              ; ALSA channel. Defaults to "no". An enabled jitterbuffer will
                              ; be used only if the sending side can create and the receiving
                              ; side can not accept jitter. The ALSA channel can't accept jitter,
                              ; thus an enabled jitterbuffer on the receive ALSA side will always
                              ; be used if the sending side can create jitter.

; jbmaxsize = 200             ; Max length of the jitterbuffer in milliseconds.

; jbresyncthreshold = 1000    ; Jump in the frame timestamps over which the jitterbuffer is
                              ; resynchronized. Useful to improve the quality of the voice, with
                              ; big jumps in/broken timestamps, usually sent from exotic devices
                              ; and programs. Defaults to 1000.

; jbimpl = fixed              ; Jitterbuffer implementation, used on the receiving side of a SIP
                              ; channel. Two implementations are currently available - "fixed"
                              ; (with size always equals to jbmax-size) and "adaptive" (with
                              ; variable size, actually the new jb of IAX2). Defaults to fixed.

; jbtargetextra = 40          ; This option only affects the jb when 'jbimpl = adaptive' is set.
                              ; The option represents the number of milliseconds by which the new
                              ; jitter buffer will pad its size. the default is 40, so without
                              ; modification, the new jitter buffer will set its size to the jitter
                              ; value plus 40 milliseconds. increasing this value may help if your
                              ; network normally has low jitter, but occasionally has spikes.

; jblog = no                  ; Enables jitterbuffer frame logging. Defaults to "no".
;-----------------------------------------------------------------------------------

Файлы конфигурации Asterisk


Asterisk: app_mysql.conf

$
0
0

Asterisk: app_mysql.conf

Конфигурационный файл для аддона MySQL

[general]

Nullvalue управляет тем, как NULL значения возвращаются из базы данных. В предыдущих версиях, специальное значение NULL возвращалось как «NULL» строка Теперь возможно настраивать поведение глобально.

  • nullstring - строка "NULL"
  • emptystring - пустая строка " "
  • null - переменная не задана

Предупреждение: установка 'nullvalue=null' может вызывать непредсказуемое поведение,
особенно при использование AEL и function 'LOCAL'переменных.

 nullvalue = nullstring

Если установлено, autoclear=yes все соединения и состояния будут закрыты когда канал разъединится. В большинстве случаев, это хорошее поведение, но плохо, если MySQL соединение используется сразу несколькими каналами связи. Поэтому значение по умолчанию - autoclear=no

 autoclear=yes

Файлы конфигурации Asterisk

Asterisk:app_skel.conf

$
0
0

Asterisk:app_skel.conf

Конфигурационный файл приложения Asterisk app_skel - основа для создания новых приложений для Asterisk.

[general]
games=3
cheat=no

[sounds]
prompt=please-enter-your,number,queue-less-than
wrong_guess=vm-pls-try-again
right_guess=auth-thankyou
too_high=high
too_low=low
lose=vm-goodbye

[easy]
max_number=10
max_guesses=4

[medium]
max_number=100
max_guesses=6

[hard]
max_number=1000
max_guesses=7

[nightmare]
max_number=1000
max_guesses=1

Файлы конфигурации Asterisk

http://www.scytheofwise.com/writing-asterisk-module/

asterisk.conf

$
0
0

asterisk.conf

/etc/asterisk/asterisk.conf

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

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

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

Директории

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

directories

[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

Конфигурационные .confфайлы.

ls -1 /etc/asterisk

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

Модули (applications, codec, functions)

modules

astvarlibdir => /var/lib/asterisk

Скрипты, документация, звуковые файлы, изображения, лицензии,

ls -1 /var/lib/asterisk/
ls -1 /var/lib/asterisk/bin

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

Раздел (секция) [options]

live_dangerously

Включить выполнение «опасных» функций из внешних источников (AMI, AGI и тд)
Некоторые функции и приложения (например, такие как SHELL)
опасны тем, что могут предоставлять дополнительные привилегии. По умолчанию = no.

Параметр Значение по умолчанию / ПримерОписание
verbose 0 Устанавливает уровень детализации (verbose) консоли и лога . Это значние также может быть установлено в консоли коммандой 'core set verbose <0-9> или off.
debug 0 Залает значение уровня отладки (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 Не показывать сообщения о подключении удаленных консолей
asterisk.conf

Asterisk: ari.conf

$
0
0

Asterisk: ari.conf

[general]
enabled = yes       ; Включить поддержку Asterisk REST Interface.
;pretty = no        ; Форматировать ответы ARI в удобный для чтения вид.
;allowed_origins =  ; Разделенный запятыми список источников (хостов) обращающихся к ARI. Можно задать  * , чтобы разрешить всем.
;auth_realm =       ;  Облать для аутентификацииRealm to use for authentication. По умолчанию собственно ARI.
;
; Тайм-аут записи по умолчанию для WebSockets. Изменение этого значения может потребоваться
; для соединений, где Asterisk должен записать значительный объем данных, а
; клиенты медленно обрабатывают полученную информацию. Значение в задано
; миллисекундах и по умолчанию задано 100 мс.
;websocket_write_timeout = 100

;[username]
;type = user        ; определяет конфигурацию ка кпользователькую
;read_only = no     ; Если задано yes, авторизованному пользователю будут разрешены запросы только для чтения.
;
;password =         ; пароль, зашифрованный или текстовый.
;
; Пароль может быть просто текстовым или шифрованным. Если установлено crypt, 
; используется функция шифрования linux  - crypt(3).
;
; Если задано plain, то в качестве пароля можно использовать простой текст.
;
;password_format = plain

Файлы конфигурации Asterisk

ARI - Asterisk REST Interface

Приступая к работе с ARI

ARI Nodejs Bridge-dial

Asterisk RESTful Interface (ARI) Swagger-UI

Ari Node Confbridge

Настроим Asterisk, FreeSWITCH, IP АТС.

Asterisk: iax.conf

$
0
0

Asterisk: iax.conf

Inter-Asterisk eXchange используется как для соединения серверов Asterisk, так и для подключения клиентов.

Файл iax.conf начинается с общего раздела в котором определены глобальные настройки севера. Также там можно настроить регистрацию на другом сервере Asterisk для совместного использования плана набора (диалплана).

Следующие опции используются в iax.conf.

Опции [general] для глобальных настроек

port: порт для прослушивания входящих подключений. Не должен использоваться другими службами.
bindaddr: Если в системе используется несколько IP адресов, эта опция привязывает Asterisk к одному интерфейсу.
amaflags: устанавливает AMA (Automated Message Accounting) флаги для Call Detail Records. Также могут быть установлены для каждого абонента. Имеет следующие значения:

billing: Пометить для биллинга
documentation: пометить для документации.
omit: не делать запись.
default: использовать значение по умолчанию.
accountcode: Устанавливает код счета по умолчанию. Также может быть установлен индивидуально для каждого клиента (канала).
accountcode = wmeadows
amaflags = documentation
bandwidth: эта опция используется для управления использованием кодеков, но не методом запрещения того или иного кодека, а ограничением пропускной способности. Принимает значения 'low' и 'high'.
disallow - запрещает использование конкретных кодеков. Принимает название кодека или 'all'.
allow - Разрешает использование конкретного кодека.
bandwidth=low
disallow=all
allow=gsm
jitterbuffer - включает или выключает использование джиттер-буфера. Буфер используется для настройки качества звука, балансируя между задержкой и количеством пропущенных пакетов. (Если задержка слишком велика, часть пакетов может быть удалена, что приведет к проглатыванию звуков. Если задержка слишком велика, но пакеты не будут удалены, возникнет сильное эхо.):!:Для уверенного прохождения факсов пакеты не должны удаляться.
dropcount: устанавливает максимальное количество пакетов, которые могут быть отброшены, чтобы уменьшить время отклика.
maxjitterbuffer: Устанавливает максимальный размер jitterbuffer.
maxexcessjitterbuffer: Устанавливает максимальный размер джиттера, при превышении которого, буфер будет постепенно уменьшаться для улучшения отклика.
register: используется для регистрации на другом сервере Asterisk.Полезно если локальный сервер имеет динамический IP и должен указать удаленному серверу, где его искать.
register => username:secret@server
Поле 'secret' не является обязательным. Если используется RSA шифрование пошлите ключ RSA в следующем формате:
register => username:[key]@server
tos: установите требуемые биты, чтобы улучшить маршрутизацию пакетов. Возможны следующие значения:
lowdelay: свести к минимуму задержки 
troughput: максимальная пропускная способность 
reliability: максимальная надежность 
mincost: использование самой низкой стоимости маршрута 
None: не использовать маршрутизацию флагов 

Asterisk: iax.conf

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

type: Устанавливает тип канала. Возможны следующие типы:

user: пользователь может осуществлять звонки.
peer: принимает звонки.
friend: осуществляет вызовы через Asterisk.Если вы сомневаетесь ставьте friend.
context: Определяет правила набора и приема вызовов для канала. Перекрывает значение по умолчанию в секции general.
CallerID: Устанавливает Caller ID, который будет использоваться для этого канала. Этот CallerID будет использоваться внутри системы, и будет послан в ТфОП, если линия используется как транк. Если оставить пустым, будет использован полученный Caller ID.
callerid => “Katia” <812 321-6111>

Auth: Устанавливает тип аутентификации. IAXподдерживает три метода аутентификации. Первый (и наименее безопасный) является открытым текстом. пароли передаются в незашифрованном виде по сети. Второй MD5, который использует MD5 Challenge алгоритм ответа. Обе машины будут иметь доступ к записаным открытым текстом паролям, но они будут зашифрованы с помощью MD5 при прохождении через сеть. Самым безопасным вариантом является использование RSA открытый / закрытый ключ шифрования. Открытый / закрытый пары ключей могут быть сгенерированы помощью программы astgenkey. Публичный ключ необходимо вручную передать на сервер,где он хранится в /var/lib/asterisk/keys/name.pub. Закрытые ключи хранятся там же, как name.key.

inkeys: публичные ключи используемые для аутентификации входящих запросов клиента или регистрации.
outkey: закрытый ключ исходящей аутентификации для шифрования связи этого клиента.

auth=md5
secret=password
auth=rsa
inkeys=theirkey
outkey=mykey

permit: хосты с которых разрешено регистрироваться. Может иметь значение host или host/netmask
deny: хосты с которых запрещена регистрация.

deny = 0.0.0.0/0.0.0.0
permit=192.168.0.1/255.255.255.0
permit=216.207.245.45
host: ожидаемый IP адрес с которого будет произведена регистрация. Указывается IP или 'dynamic'.
defaultip: IP-адрес по умолчанию для клиентов IAX. Если Asterisk получает вызов для динамического и не зарегистрированого IAXклиента, указывает на предположительный IP адрес клиента.
host=dynamic
defaultip=192.168.0.1

accountcode: станавливает код счета только для этого канала. Это используется при вызове регистрации услуги.
qualify: проверяет доступен ли клиент для вызовов. Аргумент устанавливает кол-во миллисекунд прежде чем будет установлен статус «недоступен» (unavailable)

qualify=300
mailbox: определяет голосовой почтовый ящик для данного клиента
mailbox=1234@device
.

trunk: включает и выключает режим соединительной линии для канала.

IAX2 channels

Asterisk: Установка и настройка

Asterisk:calendar.conf

$
0
0

Asterisk:calendar.conf

Конфигурационный файл модуля res_calendar.
APIслужбы календаря Asterisk, это интерфейс для интеграции с внешними серверами календарей. Позволяет читать и записывать события сервера и выполнять на основании полученной информации запланированные действия через диалплан Asterisk.

Поддерживаются следующие сервера календарей:

Calendar Server Support Module Name
iCalenda res_calendar_icalendar.so
CalDAV res_calender_caldav.so
Microsoft Exchange Server res_calendar_exchange.so
Microsoft Exchange Web Services res_calendar_ews.so

Приступая к работе убедитесь, что нужный модуль скомпилирован в Asterisk:

*CLI> module show like calendar
Module                         Description                              Use Count  Status      Support Level
res_calendar.so                Asterisk Calendar integration            0          Not Running          core
res_calendar_ews.so            Asterisk MS Exchange Web Service Calenda 0          Not Running          core
В приведенном примере, мы видим, что только один из 4-х доступных модулей загружен. В этом случае придется скомпилировать недостающие модули, а также установить их зависимости, если требуется:
./configure
make menuselect
              XXX res_calendar_caldav
              [*] res_calendar_ews
              XXX res_calendar_exchange
              XXX res_calendar_icalendar

         Asterisk CalDAV Calendar Integration
        Depends on: neon(E), ical(E), libxml2(E)
В данном примере, под Centos 7 для компиляции модуля res_calendar_caldav не хватало пакета libical (libical-devel).
s*CLI> module show like calendar
Module                         Description                              Use Count  Status      Support Level
res_calendar.so                Asterisk Calendar integration            0          Running          core
res_calendar_caldav.so         Asterisk CalDAV Calendar Integration     0          Running          core
res_calendar_ews.so            Asterisk MS Exchange Web Service Calenda 0          Running          core
res_calendar_icalendar.so      Asterisk iCalendar .ics file integration 0          Running          core
4 modules loaded
Далее можно приступать к конфигурации службы в файле /etc/asterisk/calendar.conf.
Рассмотрим конфигурацию на примере календаря google.
[calendar_google]
type = caldav            ;  тип календаря, поддерживаются: ical, caldav, exchange, or ews
url = https://www.google.com/calendar/dav/username@gmail.com/events/  ; GMail календарь (слэш в конце обязателен)
user = jdoe@gmail.com    ; имя пользователя
secret = mysecret        ; пароль
refresh = 15             ; обновление каждые 15 минут
timeframe = 60           ; за какой период календаря учитывать обновление (в минутах)
                         ; should always be >= refresh


autoreminder = 10        ; Повторить оповещение через заданный период (в минутах), если было занято.

channel = PJSIP/1234     ; Вызываемый канал (номер)
context = default        ; Контекст для ответа 
extension = s            ; расширение в контексте для ответа

; или вызвать приложение, когда адресат оповещения ответил на вызов.

app = Playback          ; Приложение выполняемое по ответу (вместо context/extension)
appdata = tt-weasels    ; данные (аргумент) приложения

waittime = 30            ; Время ожидания ответа

;[calendar1]
;type = ical              ;  type of calendar--currently supported: ical, caldav, exchange, or ews
;url = https://example.com/home/jdoe/Calendar/   ; URL to shared calendar (Zimbra example)
;user = jdoe              ; web username
;secret = supersecret     ; web password
;refresh = 15             ; refresh calendar every n minutes
;timeframe = 60           ; number of minutes of calendar data to pull for each refresh period
;                         ; should always be >= refresh
;
; You can set up res_calendar to execute a call upon an upcoming busy status
; The following fields are available from the ${CALENDAR_EVENT(<field>)} dialplan function:
;
; summary     : The VEVENT Summary property or Exchange subject
; description : The text description of the vent
; organizer   : The organizer of the event
; location    : The location field of the event
; calendar    : The name of the calendar tied to the event
; uid         : The unique ID for this event
; start       : Start time of the event
; end         : The end time of the event
; busystate   : 0=FREE, 1=TENTATIVE, 2=BUSY
;
;autoreminder = 10        ; Override event-defined reminder before each busy status (in mins)
;
;channel = SIP/60001      ; Channel to dial
;context = default        ; Context to connect to on answer
;extension = 123          ; Extension to connect to on answer
;
; or
;
;app = Playback          ; Application to execute on answer (instead of context/extension)
;appdata = tt-weasels    ; Data part of application to execute on answer
;
;waittime = 30            ; How long to wait for an answer, defaults to 30 seconds
;
; Channel variables can be set on the notification channel. The format is
; setvar=name=value. Variable subsitution is done on the value to allow the use of dialplan
; functions like CALENDAR_EVENT. The variables are set in order, so one can use the value
; of earlier variables in the definition of later ones.
;
;setvar = CALLERID(name)=${CALENDAR_EVENT(summary)}

;[calendar2]
; Note: Support for Exchange Server 2003 
;
;type = exchange          ;  type of calendar--currently supported: ical, caldav, exchange, or ews
;url = https://example.com/exchange/jdoe   ; URL to MS Exchange OWA for user (usually includes exchange/user)
;user = jdoe              ; Exchange username
;secret = mysecret        ; Exchange password
;refresh = 15             ; refresh calendar every n minutes
;timeframe = 60           ; number of minutes of calendar data to pull for each refresh period
;                         ; should always be >= refresh
;
; You can set up res_calendar to execute a call upon an upcoming busy status
;autoreminder = 10        ; Override event-defined reminder before each busy status (in mins)
;
;channel = SIP/1234       ; Channel to dial
;context = default        ; Context to connect to on answer
;extension = 1234         ; Extension to connect to on answer
;
; or
;
;[calendar3]
; Note: Support for Exchange Server 2007+
;
;type = ews               ; type of calendar--currently supported: ical, caldav, exchange, or ews
;url = https://example.com/ews/Exchange.asmx ; URL to MS Exchange EWS
;user = jdoe              ; Exchange username
;secret = mysecret        ; Exchange password
;refresh = 15             ; refresh calendar every n minutes
;timeframe = 60           ; number of minutes of calendar data to pull for each refresh period
;                         ; should always be >= refresh
;
; You can set up res_calendar to execute a call upon an upcoming busy status
;autoreminder = 10        ; Override event-defined reminder before each busy status (in mins)
;
;channel = SIP/1234       ; Channel to dial
;context = default        ; Context to connect to on answer
;extension = 1234         ; Extension to connect to on answer
;
; or
;
;app = Playback          ; Application to execute on answer (instead of context/extension)
;appdata = tt-weasels    ; Data part of application to execute on answer
;
;waittime = 30            ; How long to wait for an answer, defaults to 30 seconds

;[calendar4]
;type = caldav            ;  type of calendar--currently supported: ical, caldav, exchange, or ews
;url = https://www.google.com/calendar/dav/username@gmail.com/events/  ; Main GMail calendar (the trailing slash is significant!)
;user = jdoe@gmail.com    ; username
;secret = mysecret        ; password
;refresh = 15             ; refresh calendar every n minutes
;timeframe = 60           ; number of minutes of calendar data to pull for each refresh period
;                         ; should always be >= refresh
;
; You can set up res_calendar to execute a call upon an upcoming busy status
;autoreminder = 10        ; Override event-defined reminder before each busy status (in mins)
;
;channel = SIP/1234       ; Channel to dial
;context = default        ; Context to connect to on answer
;extension = 1234         ; Extension to connect to on answer
;
; or
;
;app = Playback          ; Application to execute on answer (instead of context/extension)
;appdata = tt-weasels    ; Data part of application to execute on answer
;
;waittime = 30            ; How long to wait for an answer, defaults to 30 seconds

Файлы конфигурации Asterisk

Asterisk: ccss.conf

$
0
0

Asterisk: ccss.conf

;
; --- Call Completion Supplementary Services ---
;
; For more information about CCSS, see the CCSS user documentation
; https://wiki.asterisk.org/wiki/display/AST/Call+Completion+Supplementary+Services+(CCSS)
;

[general]
; The cc_max_requests option is a global limit on the number of
; CC requests that may be in the Asterisk system at any time.
;
;cc_max_requests = 20
;
; The cc_STATE_devstate variables listed below can be used to change the
; default mapping of the internal state machine tracking the state of
; call completion to an Asterisk Device State value. The acceptable values
; that can be provided are as follows, with a description of what the
; equivalent device BLF that this maps to:
;
;	UNKNOWN      ; Device is valid but channel didn't know state
;	NOT_INUSE    ; Device is not used
;	INUSE        ; Device is in use
;	BUSY         ; Device is busy
;	INVALID      ; Device is invalid
;	UNAVAILABLE  ; Device is unavailable
;	RINGING      ; Device is ringing
;	RINGINUSE    ; Device is ringing *and* in use
;	ONHOLD       ; Device is on hold
;
; These states are used to generate DEVICE_STATE information that can be
; included with Asterisk hints for phones to subscribe to the state information
; or dialplan to check the state using the EXTENSION_STATE() function or
; the DEVICE_STATE() function.
;
; The states are in the format of: "ccss:TECH/ID" so an example of device
; SIP/3000 making a CallCompletionRequest() could be checked  by looking at
; DEVICE_STATE(ccss:SIP/3000) or an Asterisk Hint could be generated such as
;
; [hint-context]
; exten => *843000,hint,ccss:SIP/3000
;
; and then accessed with EXTENSION_STATE(*843000@hint-context)
; or subscribed to with a BLF button on a phone.
;
; The available state mapping and default values are:
;
; cc_available_devstate = NOT_INUSE
; cc_offered_devstate = NOT_INUSE
; cc_caller_requested_devstate = NOT_INUSE
; cc_active_devstate = INUSE
; cc_callee_ready_devstate = INUSE
; cc_caller_busy_devstate = ONHOLD
; cc_recalling_devstate = RINGING
; cc_complete_devstate = NOT_INUSE
; cc_failed_devstate = NOT_INUSE

;
;============================================
;           PLEASE READ THIS!!!
; The options described below should NOT be
; set in this file. Rather, they should be
; set per-device in a channel driver
; configuration file.
;           PLEASE READ THIS!!!
;===========================================
;
; --------------------------------------------------------------------
;                                Timers
; --------------------------------------------------------------------
;There are three configurable timers for all types of CC: the
;cc_offer_timer, the ccbs_available_timer, and the ccnr_available_timer.
;In addition, when using a generic agent, there is a fourth timer,
;the cc_recall_timer. All timers are configured in seconds, and the
;values shown below are the defaults.
;
;When a caller is offered CCBS or CCNR, the cc_offer_timer will
;be started. If the caller does not request CC before the
;cc_offer_timer expires, then the caller will be unable to request
;CC for this call.
;
;cc_offer_timer = 20
;
;Once a caller has requested CC, then either the ccbs_available_timer
;or the ccnr_available_timer will run, depending on the service
;requested. The reason why there are two separate timers for CCBS
;and CCNR is that it is reasonable to want to have a shorter timeout
;configured for CCBS than for CCNR. If the available timer expires
;before the called party becomes available, then the CC attempt
;will have failed and monitoring of the called party will stop.
;
;ccbs_available_timer = 4800
;ccnr_available_timer = 7200
;
; When using a generic agent, the original caller is called back
; when one of the original called parties becomes available. The
; cc_recall_timer tells Asterisk how long it should let the original
; caller's phone ring before giving up. Please note that this parameter
; only affects operation when using a generic agent.
;
;cc_recall_timer = 20
; --------------------------------------------------------------------
;                                Policies
; --------------------------------------------------------------------
; Policy settings tell Asterisk how to behave and what sort of
; resources to allocate in order to facilitate CC. There are two
; settings to control the actions Asterisk will take.
;
; The cc_agent_policy describes the behavior that Asterisk will
; take when communicating with the caller during CC. There are
; three possible options.
;
;never:   Never offer CC to the caller. Setting the cc_agent_policy
;         to this value is the way to disable CC for a call.
;
;generic: A generic CC agent is one which uses no protocol-specific
;         mechanisms to offer CC to the caller. Instead, the caller
;         requests CC using a dialplan function. Due to internal
;         restrictions, you should only use a generic CC agent on
;         phones (i.e. not "trunks"). If you are using phones which
;         do not support a protocol-specific method of using CC, then
;         generic CC agents are what you should use.
;
;native:  A native CC agent is one which uses protocol-specific
;         signaling to offer CC to the caller and accept CC requests
;         from the caller. The supported protocols for native CC
;         agents are SIP, ISDN ETSI PTP, ISDN ETSI PTMP, and Q.SIG
;cc_agent_policy=never
;
; The cc_monitor_policy describes the behavior that Asterisk will
; take when communicating with the called party during CC. There
; are four possible options.
;
;never:   Analogous to the cc_agent_policy setting. We will never
;         attempt to request CC services on this interface.
;
;generic: Analogous to the cc_agent_policy setting. We will monitor
;         the called party's progress using protocol-agnostic
;         capabilities. Like with generic CC agents, generic CC
;         monitors should only be used for phones.
;
;native:  Analogous to the cc_agent_policy setting. We will use
;         protocol-specific methods to request CC from this interface
;         and to monitor the interface for availability.
;
;always:  If an interface is set to "always," then we will accept
;         protocol-specific CC offers from the caller and use
;         a native CC monitor for the remainder of the CC transaction.
;         However, if the interface does not offer protocol-specific
;         CC, then we will fall back to using a generic CC monitor
;         instead. This is a good setting to use for phones for which
;         you do not know if they support protocol-specific CC
;         methodologies.
;cc_monitor_policy=never
;
;
; --------------------------------------------------------------------
;                              Limits
; --------------------------------------------------------------------
;
; The use of CC requires Asterisk to potentially use more memory than
; some administrators would like. As such, it is a good idea to limit
; the number of CC requests that can be in the system at a given time.
; The values shown below are the defaults.
;
; The cc_max_agents setting limits the number of outstanding CC
; requests a caller may have at any given time. Please note that due
; to implementation restrictions, this setting is ignored when using
; generic CC agents. Generic CC agents may only have one outstanding
; CC request.
;
;cc_max_agents = 5
;
; The cc_max_monitors setting limits the number of outstanding CC
; requests can be made to a specific interface at a given time.
;
;cc_max_monitors = 5
;
; --------------------------------------------------------------------
;                            Other
; --------------------------------------------------------------------
;
; When using a generic CC agent, the caller who requested CC will be
; called back when a called party becomes available. When the caller
; answers his phone, the administrator may opt to have a macro run.
; What this macro does is up to the administrator. By default there
; is no callback macro configured.
;
;cc_callback_macro=
;
; Alternatively, the administrator may run a subroutine. By default
; there is no callback subroutine configured.  The subroutine should
; be specified in the format: [[context,]exten,]priority
;
;cc_callback_sub=
;
; When using an ISDN phone and a generic CC agent, Asterisk is unable
; to determine the dialstring that should be used when calling back
; the original caller. Furthermore, if you desire to use any dialstring-
; specific options, such as distinctive ring, you must set this
; configuration option. For non-ISDN phones, it is not necessary to
; set this, since Asterisk can determine the dialstring to use since
; it is identical to the name of the calling device. By default, there
; is no cc_agent_dialstring set.
;
;cc_agent_dialstring=

Файлы конфигурации Asterisk


Asterisk: confbridge.conf

$
0
0

Asterisk: confbridge.conf

[general]
; Секция общих настроек в данном конфиге
; не используется и зарезервирована для использования 
; в будущем.
Информация о профилях по умолчанию

'default_user' и 'default_bridge' секции применяются автоматически для всех Конференц-Мостов (ConfBridge) вызываемых без явного указания пользователя или моста (см. Asterisk app: ConfBridge ) Свойства меню для мостов по умолчанию отсутствуют. Если профили по умолчанию 'default_user' или 'default_bridge' удалены они будут снова добавлены при загрузке модуля.

; --- Опции профиля пользователя (ConfBridge User Profile Options) ---
[default_user]
type=user
;admin=yes     ; Дать права администратора или нет. Выкл по умолчанию.
;marked=yes    ; Sets if this is a marked user or not. Off by default.
;startmuted=yes; Sets if all users should start out muted. Off by default
;music_on_hold_when_empty=yes  ; Sets whether MOH should be played when only
                               ; one person is in the conference or when the
                               ; the user is waiting on a marked user to enter
                               ; the conference. Off by default.
;music_on_hold_class=default   ; The MOH class to use for this user.
;quiet=yes     ; When enabled enter/leave prompts and user intros are not played.
               ; There are some prompts, such as the prompt to enter a PIN number,
               ; that must be played regardless of what this option is set to.
               ; Off by default
;announce_user_count=yes  ; Sets if the number of users should be announced to the
                          ; caller.  Off by default.
;announce_user_count_all=yes ; Sets if the number of users should be announced to
                             ; all the other users in the conference when someone joins.
                             ; This option can be either set to 'yes' or a number.
                             ; When set to a number, the announcement will only occur
                             ; once the user count is above the specified number.
;announce_only_user=yes   ; Sets if the only user announcement should be played
                          ; when a channel enters a empty conference.  On by default.
;wait_marked=yes   ; Sets if the user must wait for a marked user to enter before
                   ; joining the conference. Off by default.
;end_marked=yes ; This option will kick every user with this option set in their
                ; user profile after the last Marked user exists the conference.

;dsp_drop_silence=yes  ; This option drops what Asterisk detects as silence from
                       ; entering into the bridge.  Enabling this option will drastically
                       ; improve performance and help remove the buildup of background
                       ; noise from the conference. Highly recommended for large conferences
                       ; due to its performance enhancements.

;dsp_talking_threshold=128  ; The time in milliseconds of sound above what the dsp has
                            ; established as base line silence for a user before a user
                            ; is considered to be talking.  This value affects several
                            ; operations and should not be changed unless the impact on
                            ; call quality is fully understood.
                            ;
                            ; What this value affects internally:
                            ;
                            ; 1. Audio is only mixed out of a user's incoming audio stream
                            ;    if talking is detected.  If this value is set too
                            ;    loose the user will hear themselves briefly each
                            ;    time they begin talking until the dsp has time to
                            ;    establish that they are in fact talking.
                            ; 2. When talk detection AMI events are enabled, this value
                            ;    determines when talking has begun which results in
                            ;    an AMI event to fire.  If this value is set too tight
                            ;    AMI events may be falsely triggered by variants in
                            ;    room noise.
                            ; 3. The drop_silence option depends on this value to determine
                            ;    when the user's audio should be mixed into the bridge
                            ;    after periods of silence.  If this value is too loose
                            ;    the beginning of a user's speech will get cut off as they
                            ;    transition from silence to talking.
                            ;
                            ; By default this value is 160 ms. Valid values are 1 through 2^31

;dsp_silence_threshold=2000 ; The time in milliseconds of sound falling within the what
                            ; the dsp has established as baseline silence before a user
                            ; is considered be silent.  This value affects several
                            ; operations and should not be changed unless the impact
                            ; on call quality is fully understood.
                            ;
                            ; What this value affects internally:
                            ;
                            ; 1. When talk detection AMI events are enabled, this value
                            ;    determines when the user has stopped talking after a
                            ;    period of talking.  If this value is set too low
                            ;    AMI events indicating the user has stopped talking
                            ;    may get falsely sent out when the user briefly pauses
                            ;    during mid sentence.
                            ; 2. The drop_silence option depends on this value to
                            ;    determine when the user's audio should begin to be
                            ;    dropped from the conference bridge after the user
                            ;    stops talking.  If this value is set too low the user's
                            ;    audio stream may sound choppy to the other participants.
                            ;    This is caused by the user transitioning constantly from
                            ;    silence to talking during mid sentence.
                            ;
                            ; The best way to approach this option is to set it slightly above
                            ; the maximum amount of ms of silence a user may generate during
                            ; natural speech.
                            ;
                            ; By default this value is 2500ms. Valid values are 1 through 2^31

;talk_detection_events=yes ; This option sets whether or not notifications of when a user
                           ; begins and ends talking should be sent out as events over AMI.
                           ; By default this option is off.

;denoise=yes ; Sets whether or not a denoise filter should be applied
             ; to the audio before mixing or not.  Off by default. Requires
             ; func_speex to be built and installed.  Do not confuse this option
             ; with drop_silence.  Denoise is useful if there is a lot of background
             ; noise for a user as it attempts to remove the noise while preserving
             ; the speech.  This option does NOT remove silence from being mixed into
             ; the conference and does come at the cost of a slight performance hit.

;jitterbuffer=yes  ; Enabling this option places a jitterbuffer on the user's audio stream
                   ; before audio mixing is performed.  This is highly recommended but will
                   ; add a slight delay to the audio.  This option is using the JITTERBUFFER
                   ; dialplan function's default adaptive jitterbuffer.  For a more fine tuned
                   ; jitterbuffer, disable this option and use the JITTERBUFFER dialplan function
                   ; on the user before entering the ConfBridge application.

;pin=1234  ; Sets if this user must enter a PIN number before entering
           ; the conference.  The PIN will be prompted for.
;announce_join_leave=yes ; When enabled, this option will prompt the user for a
                         ; name when entering the conference.  After the name is
                         ; recorded, it will be played as the user enters and exists
                         ; the conference. This option is off by default.
;announce_join_leave_review=yes ; When enabled, implies announce_join_leave, but the user
                                ; will be prompted to review their recording before
                                ; entering the conference. During this phase, the recording
                                ; may be listened to, re-recorded, or accepted as is. This
                                ; option is off by default.
;dtmf_passthrough=yes  ; Sets whether or not DTMF should pass through the conference.
                       ; This option is off by default.
;announcement=</path/to/file> ; Play a sound file to the user when they join the conference.

;timeout=3600 ; When set non-zero, this specifies the number of seconds that the participant
              ; may stay in the conference before being automatically ejected. When the user
              ; is ejected from the conference, the user's channel will have the CONFBRIDGE_RESULT
              ; variable set to "TIMEOUT". A value of 0 indicates that there is no timeout.
              ; Default: 0

; --- ConfBridge Bridge Profile Options ---
[default_bridge]
type=bridge
;max_members=50                ; This option limits the number of participants for a single
                               ; conference to a specific number.  By default conferences
                               ; have no participant limit. After the limit is reached, the
                               ; conference will be locked until someone leaves.  Note however
                               ; that an Admin user will always be alowed to join the conference
                               ; regardless if this limit is reached or not.

;record_conference=yes         ; Records the conference call starting when the first user
                               ; enters the room, and ending when the last user exits the room.
                               ; The default recorded filename is
                               ; 'confbridge-<name of conference bridge>-<start time>.wav
                               ; and the default format is 8khz slinear.  This file will be
                               ; located in the configured monitoring directory in asterisk.conf.

;record_file=</path/to/file>   ; When record_conference is set to yes, the specific name of the
                               ; record file can be set using this option.  Note that since multiple
                               ; conferences may use the same bridge profile, this may cause issues
                               ; depending on the configuration.  It is recommended to only use this
                               ; option dynamically with the CONFBRIDGE() dialplan function. This
                               ; allows the record name to be specified and a unique name to be chosen.
                               ; By default, the record_file is stored in Asterisk's spool/monitor directory
                               ; with a unique filename starting with the 'confbridge' prefix.

;record_file_append=yes        ; Append record file when starting/stopping on same conference recording.
;record_file_timestamp=yes     ; Append the start time to the record file name.

;record_options=               ; Pass additional options to MixMonitor.
;record_command=</path/to/command> ; Command to execute when recording finishes.

;internal_sample_rate=auto     ; Sets the internal native sample rate the
                               ; conference is mixed at.  This is set to automatically
                               ; adjust the sample rate to the best quality by default.
                               ; Other values can be anything from 8000-192000.  If a
                               ; sample rate is set that Asterisk does not support, the
                               ; closest sample rate Asterisk does support to the one requested
                               ; will be used.

;mixing_interval=40     ; Sets the internal mixing interval in milliseconds for the bridge.  This
                        ; number reflects how tight or loose the mixing will be for the conference.
                        ; In order to improve performance a larger mixing interval such as 40ms may
                        ; be chosen.  Using a larger mixing interval comes at the cost of introducing
                        ; larger amounts of delay into the bridge.  Valid values here are 10, 20, 40,
                        ; or 80.  By default 20ms is used.

;video_mode = follow_talker; Sets how confbridge handles video distribution to the conference participants.
                           ; Note that participants wanting to view and be the source of a video feed
                           ; _MUST_ be sharing the same video codec.  Also, using video in conjunction with
                           ; with the jitterbuffer currently results in the audio being slightly out of sync
                           ; with the video.  This is a result of the jitterbuffer only working on the audio
                           ; stream.  It is recommended to disable the jitterbuffer when video is used.
                           ;
                           ; --- MODES ---
                           ; none: No video sources are set by default in the conference. It is still
                           ;       possible for a user to be set as a video source via AMI or DTMF action
                           ;       at any time.
                           ;
                           ; follow_talker: The video feed will follow whoever is talking and providing video.
                           ;
                           ; last_marked: The last marked user to join the conference with video capabilities
                           ;              will be the single source of video distributed to all participants.
                           ;              If multiple marked users are capable of video, the last one to join
                           ;              is always the source, when that user leaves it goes to the one who
                           ;              joined before them.
                           ;
                           ; first_marked: The first marked user to join the conference with video capabilities
                           ;               is the single source of video distribution among all participants. If
                           ;               that user leaves, the marked user to join after them becomes the source.

;language=en               ; Set the language used for announcements to the conference.
                           ; Default is en (English).

;regcontext=conferences    ; The name of the context into which to register conference names as extensions.

; All sounds in the conference are customizable using the bridge profile options below.
; Simply state the option followed by the filename or full path of the filename after
; the option.  Example: sound_had_joined=conf-hasjoin  This will play the conf-hasjoin
; sound file found in the sounds directory when announcing someone's name is joining the
; conference.

;sound_join  ; The sound played to everyone when someone enters the conference.
;sound_leave ; The sound played to everyone when someone leaves the conference.
;sound_has_joined ; The sound played before announcing someone's name has
                  ; joined the conference. This is used for user intros.
                  ; Example "_____ has joined the conference"
;sound_has_left ; The sound played when announcing someone's name has
                ; left the conference. This is used for user intros.
                ; Example "_____ has left the conference"
;sound_kicked ; The sound played to a user who has been kicked from the conference.
;sound_muted  ; The sound played when the mute option it toggled on.
;sound_unmuted  ; The sound played when the mute option it toggled off.
;sound_only_person ; The sound played when the user is the only person in the conference.
;sound_only_one ; The sound played to a user when there is only one other
                ; person is in the conference.
;sound_there_are  ; The sound played when announcing how many users there
                  ; are in a conference.
;sound_other_in_party; ; This file is used in conjunction with 'sound_there_are"
                       ; when announcing how many users there are in the conference.
                       ; The sounds are stringed together like this.
                       ; "sound_there_are" <number of participants> "sound_other_in_party"
;sound_place_into_conference ; The sound played when someone is placed into the conference
                             ; after waiting for a marked user. This sound is now deprecated
                             ; since it was only ever used improperly and correcting that bug
                             ; made it completely unused.
;sound_wait_for_leader  ; The sound played when a user is placed into a conference that
                        ; can not start until a marked user enters.
;sound_leader_has_left  ; The sound played when the last marked user leaves the conference.
;sound_get_pin ; The sound played when prompting for a conference pin number.
;sound_invalid_pin ; The sound played when an invalid pin is entered too many times.
;sound_locked ; The sound played to a user trying to join a locked conference.
;sound_locked_now ; The sound played to an admin after toggling the conference to locked mode.
;sound_unlocked_now; The sound played to an admin after toggling the conference to unlocked mode.
;sound_error_menu ; The sound played when an invalid menu option is entered.
;sound_begin ; The sound played to the conference when the first marked user enters the conference.

; --- ConfBridge Menu Options ---
; The ConfBridge application also has the ability to
; apply custom DTMF menus to each channel using the
; application.  Like the User and Bridge profiles
; a menu is passed in to ConfBridge as an argument in
; the dialplan.
;
; Below is a list of menu actions that can be assigned
; to a DTMF sequence.
;
; To have the first DTMF digit in a sequence be the '#' character, you need to
; escape it.  If it is not escaped then normal config file processing will
; think it is a directive like #include.  For example:
; \#1=toggle_mute                      ; Pressing #1 will toggle the mute setting.
;
; A single DTMF sequence can have multiple actions associated with it. This is
; accomplished by stringing the actions together and using a ',' as the delimiter.
; Example:  Both listening and talking volume is reset when '5' is pressed.
; 5=reset_talking_volume, reset_listening_volume
;
; playback(<name of audio file>&<name of audio file>)
                                       ; Playback will play back an audio file to a channel
                                       ; and then immediately return to the conference.
                                       ; This file can not be interupted by DTMF.
                                       ; Mutliple files can be chained together using the
                                       ; '&' character.
; playback_and_continue(<name of playback prompt>&<name of playback prompt>)
                                       ; playback_and_continue will
                                       ; play back a prompt while continuing to
                                       ; collect the dtmf sequence.  This is useful
                                       ; when using a menu prompt that describes all
                                       ; the menu options.  Note however that any DTMF
                                       ; during this action will terminate the prompts
                                       ; playback.  Prompt files can be chained together
                                       ; using the '&' character as a delimiter.
; toggle_mute      ; Toggle turning on and off mute.  Mute will make the user silent
                   ; to everyone else, but the user will still be able to listen in.

; no_op ; This action does nothing (No Operation). Its only real purpose exists for
        ; being able to reserve a sequence in the config as a menu exit sequence.
; decrease_listening_volume ; Decreases the channel's listening volume.
; increase_listening_volume ; Increases the channel's listening volume.
; reset_listening_volume    ; Reset channel's listening volume to default level.

; decrease_talking_volume ; Decreases the channel's talking volume.
; increase_talking_volume ; Icreases the channel's talking volume.
; reset_talking_volume    ; Reset channel's talking volume to default level.
;
; dialplan_exec(context,exten,priority)  ; The dialplan_exec action allows a user
                                         ; to escape from the conference and execute
                                         ; commands in the dialplan.  Once the dialplan
                                         ; exits the user will be put back into the
                                         ; conference.  The possibilities are endless!
; leave_conference ; This action allows a user to exit the conference and continue
                   ; execution in the dialplan.
;
; admin_kick_last  ; This action allows an Admin to kick the last participant from the
                   ; conference. This action will only work for admins which allows
                   ; a single menu to be used for both users and admins.
;
; admin_toggle_conference_lock ; This action allows an Admin to toggle locking and
                               ; unlocking the conference.  Non admins can not use
                               ; this action even if it is in their menu.

; set_as_single_video_src   ; This action allows any user to set themselves as the
                            ; single video source distributed to all participants.
                            ; This will make the video feed stick to them regardless
                            ; of what the video_mode is set to.

; release_as_single_video_src ; This action allows a user to release themselves as
                              ; the video source.  If video_mode is not set to "none"
                              ; this action will result in the conference returning to
                              ; whatever video mode the bridge profile is using.
                              ;
                              ; Note that this action will have no effect if the user
                              ; is not currently the video source.  Also, the user is
                              ; not guaranteed by using this action that they will not
                              ; become the video source again.  The bridge will return
                              ; to whatever operation the video_mode option is set to
                              ; upon release of the video src.

; admin_toggle_mute_participants ; This action allows an administrator to toggle the mute
                                 ; state for all non-admins within a conference.
                                 ; Subsequent non-admins joining a muted conference will
                                 ; start muted.  All admin users are unaffected by this
                                 ; option.  Note that all users, regardless of their admin
                                 ; status, are notified that the conference is muted when
                                 ; the state is toggled.

; participant_count        ; This action plays back the number of participants currently
                           ; in a conference

[sample_user_menu]
type=menu
*=playback_and_continue(conf-usermenu)
*1=toggle_mute
1=toggle_mute
*4=decrease_listening_volume
4=decrease_listening_volume
*6=increase_listening_volume
6=increase_listening_volume
*7=decrease_talking_volume
7=decrease_talking_volume
*8=leave_conference
8=leave_conference
*9=increase_talking_volume
9=increase_talking_volume

[sample_admin_menu]
type=menu
*=playback_and_continue(conf-adminmenu)
*1=toggle_mute
1=toggle_mute
*2=admin_toggle_conference_lock ; only applied to admin users
2=admin_toggle_conference_lock  ; only applied to admin users
*3=admin_kick_last       ; only applied to admin users
3=admin_kick_last        ; only applied to admin users
*4=decrease_listening_volume
4=decrease_listening_volume
*6=increase_listening_volume
6=increase_listening_volume
*7=decrease_talking_volume
7=decrease_talking_volume
*8=no_op
8=no_op
*9=increase_talking_volume
9=increase_talking_volume

Файлы конфигурации Asterisk

Asterisk app: ConfBridge

Asterisk app: ConfBridge

$
0
0

Asterisk app: ConfBridge

Команда диалплана Asterisk - ConfBridge, вызывает заданную или создает новую (по умолчанию) телеконференцию.

Описание

Осуществить вход в указанный конференц-мост (или мост по умолчанию, если аргументы не заданы) Также пользователь может выполнить действия из меню, при помощи DTMFкодов, например, покинуть конференцию.

синтаксис

ConfBridge(conference[,bridge_profile[,user_profile[,menu]]])

Аргументы
  • conference - Имя конференции. Любое численное или буквенное значение.
  • bridge_profile - имя профиля конференции заданное в файле /etc/asterisk/conbridge.conf

Если профиль не указан явно, используется динамический профиль созданный функцией диалплана CONFBRIDGEЕсли же и динамический профиль не задан, используется профиль по умолчанию 'default_bridge' из того же файла.

Если профили пользователей могут смешиваться как угодно, то вызывать одну и ту же конференцию с разными профилями конференций, настоятельно не рекомендуется .

  • user_profile - профиль пользователя назначенный в conbridge.conf.

Если профиль не указан явно, используется динамический профиль созданный функцией диалплана CONFBRIDGEЕсли же и динамический профиль не задан, используется профиль по умолчанию 'default_user' из conbridge.conf.

  • menu - название меню из конфига /etc/asterisk/conbridge.conf. Если меню не задано, то никакого меню по умолчанию нет.

cм. также

Команды диалплана Asterisk

Trunks

$
0
0

Trunks

Транки используются для выполнения внешних вызовов и получения входящих вызовов от других PBX.

Поддерживаются транки следующих типов:

  • SIP - sip драйвер chan_sip
  • PJSIP - sip драйвер res_pjsip
  • DAHDI
  • IAX2
  • ENUM.
  • DUNDI
  • Custom

Все транки настраиваются в основном одинаково.

General Settings

Outbound Caller ID

Установка этой опции перекроет любое значение абонентского идентификатора вызовов, при вызове по этому транку.

Формат:

"имя"  <номер> 

Оставьте это поле пустым чтобы, просто передать идентификатор абонента. Кавычки вокруг имени не обязательны, но рекомендуются.

Never Override CallerID FreePBX 2.5.x.x или Block Foreign CallerIDs FreePBX 2.6.x.x

В некоторых случаях провайдеры запрещают вызовы содержащие некорректный идентификатор вызывающего абонента. Выберите этот параметр, чтобы не пропускать вызовы с некорректными CallerID. Поле Outbound Caller IDдолжно быть заполнено.

Maximum channels

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

Dial Rules

Правили набора - простой в использовании, но очень мощный, инструмент управления набираемыми номерами. Используются правила, в основном, для добавления или удаления префиксов. Отметим, что шаблон без + или | (добавить или удалить префикс) бесполезен.

Правила

  • X - любая цифра от 0-9
  • Z - любая цифра от 1-9
  • N - любая цифра от 2-9
  • [1237-9] -любая цифра или буква в скобках (в примере 1,2,3,7,8,9)
  • . - wildcard, один или более знак (не используется перед | или +)
  • | - удаляет префикс (9|3216111 - будет набрано 3216111)
  • + - добавляет префикс к номеру (например шаблон 812+NXXXXXX при наборе 3216111, наберет 8123216111)

IAX2 и SIPтранки

Register string

<SIP_ID>:<PASSWORD>@exsample.com
Пример настройки SIP транка для SIPNET.RU
Соединение двух FreePBX

ENUM Trunks

«ENUMне является обязательным для VoIP, но совершенствует его». Wikipedia

e164.org позволяет зарегистрировать номер ТФОП в VoIPпространстве, без регистрации в официальном каталоге номеров.

Пример Dial Rules для E164 транка:

    Australia (07 Area Code)
        617+NXXXXXX
        61+0|NXXXXXXXX
        0011|.
    North America (613 area code)
        1613+NXXXXXX
        1+NXXNXXXXXX
        011|.

DAHDI

Определяются наличием оборудования установленного на вашем севере. Для настройки DAHDIиспользуются конфигурационные файлы /etc/dahdi/system.confи /etc/asterisk/chan_dahdi.conf

Custom Trunks

Если вы используете H323, Chan_capi или любые другие нестандартные транки. Пример настроек строки набора(Custom Dial String)/

  • CAPI/XXXXXXXX/$OUTNUM$/b
  • H323/$OUTNUM$@XX.XX.XX.XX
  • OOH323/$OUTNUM$@XX.XX.XX.XX:XXXX
  • vpb/1-1/$OUTNUM$:

Скриншот

Asterisk app: Authenticate

$
0
0

Asterisk app: Authenticate

Приложение диалплана Asterisk: аутентификация пользователя.

Описание

Данное приложение требует от вызывающего абонента ввести пароль для продолжения выполнения диалплана.

Если пароль начинается со слэш '/', то символы интерпретируются как имя файла, который содержит пароль.
В файле может содержаться множество паролей, по одному в каждой новой строке.
При использовании ключа базы данных, значение соотнесенное с ключом может быть произвольным, оно не используется.
У пользователя есть три попытки ввода, прежде чем соединение будет разорвано.

Синтаксис

Authenticate(password[,options[,maxdigits[,prompt]]])

Аргументы
  • password - пароль известный пользователю.
параметры
  • a: Установить Account Code, как введенный пароль.
  • d: Определяет указанный путь, как ключ БД. Если family/keyзаданы в БД, как /pin/4888,

то в диалплане назначается /pin, в качестве пароля будет использован ключ - 4888, значение же пары family/key (в примере 1234) не важно:

exten => _7777,1,Answer()
exten => _7777,n,Authenticate(/pin,d,4,conf-getpin)

*CLI> database show pin
/pin/4888                                         : 1234
1 results found.

все это немного странно 8-o

Рассмотрим другой способ получения кода авторизации из внутренней БД Asterisk,
без использования опции d, привязанный к callerid вызывающего абонента.
Предположим в БД назначен <family/key> :<value> - pin/2666 :1234

*CLI> database show pin 2666
/pin/2666                                         : 1234
где 2666 номер абонента.
exten => s,1,Answer()
   same => n,Authenticate(${DB(pin/${CALLERID(num)})},,4,conf-getpin)
   same => n,playback(welcome)
функция ${DB(pin/${CALLERID(num)})}выдаст нам <value> для пары <pin/2666> в качестве кода авторизации:
Authenticate("PJSIP/fs_pjsip-000000de", "1234,,4,conf-getpin")

-- Executing [s@from-fs-pjsip:1] Goto("PJSIP/fs_pjsip-000000de", "from-test-2,s,1") in new stack
    -- Goto (from-test-2,4888,1)
    -- Executing [s@from-test-2:1] Answer("PJSIP/fs_pjsip-000000de", "") in new stack
    -- Executing [s@from-test-2:2] Authenticate("PJSIP/fs_pjsip-000000de", "1234,,4,conf-getpin") in new stack
    -- <PJSIP/fs_pjsip-000000de> Playing 'conf-getpin.gsm' (language 'en')
    -- <PJSIP/fs_pjsip-000000de> Playing 'auth-thankyou.gsm' (language 'en')
    -- Executing [s@from-test-2:3] Playback("PJSIP/fs_pjsip-000000de", "welcome") in new stack
    -- <PJSIP/fs_pjsip-000000de> Playing 'welcome.gsm' (language 'en')
    -- Auto fallthrough, channel 'PJSIP/fs_pjsip-000000de' status is 'UNKNOWN'
  • m: представляет указанный путь, как файл, содержащий список аккаунтов и хэш паролей, разделенные двоеточием ':'.

/var/spool/asterisk/pass (hash 1234 и 4321 соответственно)

   4888:81dc9bdb52d04dc20036dbd8313ed055
    :d93591bdf7860e1e4ee2fca799911215
exten => _7777,1,Answer()
exten => _7777,n,Authenticate(/var/spool/asterisk/pass,am,4,conf-getpin)
  • r: Удалить ключ БД. после успешного ввода (работает только с опцией 'd')
  • maxdigits: максимально допустимое количество знаков в пароле. Система перестает читать ввод данных после достижения порога.

В этом случае не требуется ввод решетки '#' в конце. По умолчанию '0' - без ограничений, система ожидает ввода решетки '#' в конце.

  • prompt: файл голосового сообщения.

exten => _1,1,Authenticate(1234,,4,conf-getpin)
exten => _1,n,Set(CDR(userfield)=conference776/${CALLERID(num)})
exten => _1,n,ConfBridge(776)

см. также

Asterisk app: BackGround

Asterisk application: Dial

Asterisk app: Read

Asterisk app: SendDTMF

Asterisk app: WaitExten

Команды диалплана Asterisk

FreeSWITCH CDR MySQL

$
0
0

FreeSWITCH CDR MySQL

Просмотр данных CDR FreeSWITCH при помощи веб интерфейса CDR-Viewer БД MySQL

Подготовим FreeSWITCH для работы с MySQL через ODBC

Предполагается, что сервер mysql ( mariadb) установлен.

 yum install -y mysql-connector-odbc unixODBC unixODBC-devel

Проверим odbcinst.ini

# Driver from the mysql-connector-odbc package
# Setup from the unixODBC package
[MySQL]
Description     = ODBC for MySQL
Driver          = /usr/lib/libmyodbc5.so
Setup           = /usr/lib/libodbcmyS.so
Driver64        = /usr/lib64/libmyodbc5.so
Setup64         = /usr/lib64/libodbcmyS.so
FileUsage       = 1

Заполним odbc.ini

[freeswitch]
Driver=MySQL
SERVER=localhost
PORT=3306
DATABASE=freeswitchcdr
USER=DB_USER
PASSWORD=DB_PASSWORD
Проверим подключение к MySQL

Создадим БД MySQL в формате Asterisk CDR

Создайте файл, например:

 touch freeswitchcdr.sql

И скопируйте в него структуру таблицы БД:

CREATE TABLE cdr (
   calldate datetime NOT NULL default '0000-00-00 00:00:00',
   clid varchar(80) NOT NULL default '',
   src varchar(80) NOT NULL default '',
   dst varchar(80) NOT NULL default '',
   dcontext varchar(80) NOT NULL default '',
   channel varchar(80) NOT NULL default '',
   dstchannel varchar(80) NOT NULL default '',
   lastapp varchar(80) NOT NULL default '',
   lastdata varchar(80) NOT NULL default '',
   duration int(11) NOT NULL default '0',
   billsec int(11) NOT NULL default '0',
   disposition varchar(45) NOT NULL default '',
   amaflags int(11) NOT NULL default '0',
   accountcode varchar(20) NOT NULL default '',
   uniqueid varchar(32) NOT NULL default '',
   userfield varchar(255) NOT NULL default '',
   did varchar(50) NOT NULL default '',
   recordingfile varchar(255) NOT NULL default '',
   KEY `calldate` (`calldate`),
   KEY `dst` (`dst`),
   KEY `accountcode` (`accountcode`),
   KEY `uniqueid` (`uniqueid`)
);
Создаем БД:freeswitchcdr
 mysqladmin create freeswitchcdr
Создаем таблицу:cdr
 mysql asteriskcdrdb < freeswitchcdr.sql
Задаем права на БД с параметрами определенными в odbc.ini

 mysql> GRANT ALL PRIVILEGES ON freeswitchcdr.* TO DB_USER@localhost  IDENTIFIED BY 'DB_PASSWORD';
 flush privileges;
 \q

Подготовим FreeSWITCH

Расскомментируйте строку event_handlers/mod_odbc_cdrв файле исходников FS ../freeswitch/modules.conf

и выполните make && make install.

По окончании компиляции скопируйте файл odbc_cdr.conf.xml из исходников в директорию, где установлен FS.

В моем примере это /usr/local/src/freeswitchи /usr/local/freeswitchсоответственно

cp /usr/local/src/freeswitch/src/mod/event_handlers/mod_odbc_cdr/conf/autoload_configs/odbc_cdr.conf.xml /usr/local/freeswitch/conf/autoload_configs/odbc_cdr.conf.xml

И заполните файл следующим содержанием, где параметры БД (odbc-dsn), данные определенные нами в odbc.ini:

<configuration name="odbc_cdr.conf" description="ODBC CDR Configuration">
  <settings>
    <!-- <param name="odbc-dsn" value="freeswitchcdr:DB_USER:DB_PASSWORD"/> -->
        <param name="odbc-dsn" value="odbc://freeswitch"/>
        <!-- global value can be "a-leg", "b-leg", "both" (default is "both") -->
        <param name="log-leg" value="both"/>
    <!-- value can be "always", "never", "on-db-fail" -->
    <param name="write-csv" value="on-db-fail"/>
        <!-- location to store csv copy of CDR -->
    <param name="csv-path" value="/usr/local/freeswitch/log/odbc_cdr"/>
    <!-- if "csv-path-on-fail" is set, failed INSERTs will be placed here as CSV files otherwise they will be placed in "csv-path" -->
    <param name="csv-path-on-fail" value="/usr/local/freeswitch/log/odbc_cdr/failed"/>
    <!-- dump SQL statement after leg ends -->
        <param name="debug-sql" value="true"/>
  </settings>
  <tables>
        <!-- only a-legs will be inserted into this table -->
    <table name="cdr" log-leg="a-leg">
      <field name="calldate" chan-var-name="start_stamp"/>
          <field name="clid" chan-var-name="caller_id_name"/>
          <field name="src" chan-var-name="caller_id_number"/>
          <field name="dst" chan-var-name="destination_number"/>
          <field name="dcontext" chan-var-name=""/>
          <field name="channel" chan-var-name="channel_name"/>
      <field name="dstchannel" chan-var-name="bridge_channel"/>
          <field name="lastapp" chan-var-name="hangup_cause"/>
          <field name="lastdata" chan-var-name="sip_hangup_disposition"/>
          <field name="duration" chan-var-name="duration"/>
          <field name="billsec" chan-var-name="billsec"/>
      <field name="disposition" chan-var-name="hangup_cause"/>
          <field name="lastapp" chan-var-name="current_application"/>
          <field name="amaflags" chan-var-name="amaflags"/>
          <field name="uniqueid" chan-var-name="uuid"/>
          <field name="recordingfile" chan-var-name="recordingfile"/>
          <field name="userfield" chan-var-name=""/>
    </table>
  </tables>
</configuration>
Загрузим модуль mod_odbc_cdr
 fs_cli
 load mod_odbc_cdr

Если в дальнейшем вы будете вносить изменения в файл odbc_cdr.conf.xmlих можно применить командой:

 reload mod_odbc_cdr
Spoiler

Подготовим Asterisk CDR Viewer

 cd /var/www/html
 git clone https://github.com/g613/asterisk-cdr-viewer.git
 
 cd asterisk-cdr-viewer/include

Отредактируем файл config.inc.php

$db_type = 'mysql';
$db_host = 'localhost';
$db_port = '3306';
$db_user = 'DB_USER';
$db_pass = 'DB_PASSWORD';
$db_name = 'freeswitchcdrdb';
$db_table_name = 'cdr';
$db_options = array();

Если все сделано правильно в Asterisk-CDR-Viewer будут отображаться свежие данные о вызовах:

Для того, чтобы работала сортировка по статусу вызова надо отредактировать файл ../asterisk-cdr-viewer/templates/form.tpl.phpзаменив секцию:

<td nowrap=""nowrap>
<input <?php if ( isset($_REQUEST['disposition_neg'] ) && $_REQUEST['disposition_neg'] == 'true' ) { echo 'checked="checked"'; } ?> type="checkbox" name="disposition_neg" value="true" /> not
<select name="disposition" id="disposition">
<option <?php if (empty($_REQUEST['disposition']) || $_REQUEST['disposition'] == 'all') { echo 'selected="selected"'; } ?> value="all">All Dispositions</option>
<option <?php if (isset($_REQUEST['disposition']) && $_REQUEST['disposition'] == 'ANSWERED') { echo 'selected="selected"'; } ?> value="ANSWERED">Answered</option>
<option <?php if (isset($_REQUEST['disposition']) && $_REQUEST['disposition'] == 'BUSY') { echo 'selected="selected"'; } ?> value="BUSY">Busy</option>
<option <?php if (isset($_REQUEST['disposition']) && $_REQUEST['disposition'] == 'FAILED') { echo 'selected="selected"'; } ?> value="FAILED">Failed</option>
<option <?php if (isset($_REQUEST['disposition']) && $_REQUEST['disposition'] == 'NO ANSWER') { echo 'selected="selected"'; } ?> value="NO ANSWER">No Answer</option>
</select>
</td>

на следующий код:

<td nowrap=""nowrap>
<input <?php if ( isset($_REQUEST['disposition_neg'] ) && $_REQUEST['disposition_neg'] == 'true' ) { echo 'checked="checked"'; } ?> type="checkbox" name="disposition_neg" value="true" /> not
<select name="disposition" id="disposition">
<option <?php if (empty($_REQUEST['disposition']) || $_REQUEST['disposition'] == 'all') { echo 'selected="selected"'; } ?> value="all">All Dispositions</option>
<option <?php if (isset($_REQUEST['disposition']) && $_REQUEST['disposition'] == 'NORMAL_CLEARING') { echo 'selected="selected"'; } ?> value="NORMAL_CLEARING">Answer</option>
<option <?php if (isset($_REQUEST['disposition']) && $_REQUEST['disposition'] == 'USER_BUSY') { echo 'selected="selected"'; } ?> value="USER_BUSY">Busy</option>
<option <?php if (isset($_REQUEST['disposition']) && $_REQUEST['disposition'] == 'UNALLOCATED_NUMBER') { echo 'selected="selected"'; } ?> value="UNALLOCATED_NUMBER">No Number</option>
<option <?php if (isset($_REQUEST['disposition']) && $_REQUEST['disposition'] == 'NO_ROUTE_DESTINATION') { echo 'selected="selected"'; } ?> value="NO_ROUTE_DESTINATION">No Route</option>
<option <?php if (isset($_REQUEST['disposition']) && $_REQUEST['disposition'] == 'ORIGINATOR_CANCEL') { echo 'selected="selected"'; } ?> value="ORIGINATOR_CANCEL">No Answer</option>
</select>
</td>

FreeSWITCH

Настройка DAHDI - chan_dahdi

$
0
0

Настройка DAHDI - chan_dahdi

Драйвер DAHDIотвечает за работу интерфейсных плат телефонии устанавливаемых непосредственно в сервер или работающих по TDM over IP, от Digium и других производителей(Openvox, Sangoma, Parabel, Cronyx и др.).

DAHDI Linux и DAHDI Tools

Dahdi linux драйвер с открытым исходным кодом, для взаимодействия Asterisk с телефонным оборудованием.
Dahdi Tools набор утилит для управления и мониторинга DAHDIустройств.

Скачать DAHDI

настройка E1 - /etc/dahdi/system.conf

span => <Number>,<Timing>,<Line BuildOut>,<Framing>,<Coding>[,Yellow]

Драйвер DAHDIработает с синхронным оборудованием, т.е. каждая следующая порция данных в следующий такт должна быть доступна. Если Периферийных устройств несколько - они должны работать синхронно, по одним часам.

В синхронной сети должно выполняться одно простое правило - master должен быть соединен с slave. Если это правило нарушается - будут потерянные(skip) или повторенные (slip) кадры.

Предположим, вы получаете от АТС поток E1, т.е. АТС - master, заводите его в Asterisk/DAHDI, и у вас есть внутренний коммутатор. В такой схеме вы должны настроить порт 1 платы потока как slave {span = 1,1,0,ccs,hdb3,crc4} , он смотрит на АТС. Порт 2 настроить как master {span = 2,0,0,ccs,hdb3,crc4}, порт 2 будет получать синхронизацию от порта 1, т.к. это одно устройство. Внутренний коммутатор должен быть в режиме slave. DAHDIбудет работать с устройствами по часам АТС

Timing:
This determines how timing is handled by the card.
*  0 - Порт является источником синхронизации
*  1 - Получает синхронизацию с удаленной станции
*  2 - Receives secondary backup timing from remote end
*  3 - Receives tertiary backup timing from remote end
*  4 - Receives quaternary backup timing from remote en 
span = 1,1,0,ccs,hdb3,crc4 
bchan = 1-15,17-31
dchan = 16

span = 2,0,0,ccs,hdb3,crc4
bchan = 32-46,48-62
dchan = 47

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

ISDN PRI - /etc/asterisk/chan_dahdi.conf

chan_dahdi.conf - определяет параметры каналов TDMинтерфейса DAHDI. Каналы должны быть определены в этом файле, чтобы Asterisk мог их использовать.
chan_dahdi.conf состоит из секций, а секции в свою очередь из ключевых слов и их значений. Значения могут быть булевы (да/нет), или содержать специфичные для данного ключевого слова значения. Секции используют формат наследования свойств объекта.

context - привязывает канал к контексту в плане набора (диалплане), тем самым определяя действия при инициации вызова. :

context => default

channel - назначает канал или несколько каналов, Каналы могут быть определены индивидуально, через запятую, или диапазоном через дефис.

channel => 16
channel => 2,3
channel => 1-15, 17-31

group - назначает каналы в группу. Для исходящей связи будет выбираться первый свободный канал. Для назначения в несколько групп, перечислите значения через запятую. Чтобы не назначать в группу - оставьте значение пустым.

group = 1
group = 2,3
group =

switchtype - устанавливает тип сигнализации для PRI.

  • national: National ISDN type2 (Американский)
  • ni1: National ISDN type 1
  • dms100: Nortel DMS100
  • 4ess: AT&T 4ESS
  • 5ess: Lucent 5ESS
  • euroisdn: EuroISDN
  • qsig: Протокол с минимальной функциональностью, используемый для построения «сети» между двумя или более АТС от различных производителей.

switchtype => euroisdn

signalling - Параметр устанавливает тип соединения и/или сигнализации. Эти параметры должны соответствовать тому, что описано в конфигурации драйвера DAHDI (/etc/dahdi/system.conf). Значение этого параметра частично зависит от типа используемой Вами интерфейсной карты. Сервер Asterisk не запустится: если определение типа соединения для канала неправильное или нерабочее, если значение не совпадает с тем, что описано в конфигурации Zaptel драйвера или, если устройство не установлено или сконфигурировано не должным образом. Во многих случаях, правильное значение этого параметра - это одно из этих четырех значений: fxs_ks, fxo_ks, pri_cpe or pri_net. Этот параметр не имеет значения по умолчанию, Вы обязательно должны определить его значения перед описанием какого-либо канала. Полный список типов соединений и сигнализаций

  • fxo_ks: Используется для сигнализации FXS устройств.
  • fxs_ks: Противоположная сторона fxo_ks. Для сигнализации FXO устройств
  • pri_cpe: Сигнализация PRI. Клиентская сторона оборудования (user)
  • pri_net: Сигнализация PRI, network side.

:!:Аналоговые интерфейсы могут стать источником путаницы в Asterisk.
Для FXS интерфейсов используется fxo_ks.
Для FXO - fxs_ks.

signalling => fxs_ks

priindication: Этот параметр устанавливает то, как сервер Asterisk должен сигнализировать состояние Busy() и Congestion() для удаленного коммутатора или пользователя. По умолчанию: inband. Доступные значения следующие:

  • inband: Сервер Asterisk будет сам проигрывать тональные сигналы без перевода канала в отвеченное состояние; Не доступно для всех соединений PRI/BRI.
  • outofband: Сервер Asterisk будет разрывать связь с информационным кодом busy/congestion, при этом уже сам телефонный коммутатор будет проигрывать тональные сигналы пользователю. Busy(), в этом случае, это то же самое, что установка: PRI_CAUSE=17 и выполнение команды: Hangup().

pridialplan - устанавливает тип плана набора для ISDN PRI. Игнорируется в большинстве случаев. Может понадобиться для корректной работы CallerID Доступные значения: unknown, local, private, national, international.

pridialplan => national
overlapdial: если - «yes», то набранные цифры будут сразу отправляться в поток. По умолчанию: no. (enblock)
overlapdial => yes

Состояние аналоговых вызовов

В этой секции описываются директивы сигнализирующие о состоянии вызовов аналоговых интерфейсов.

busydetect - детектирование сигнала занято для FXS, FXO или T1 (E&M, Wink, Feature Group D). Значение 'yes' или 'no'.

callprogress - контроллировать состояние вызова (КПВ, занято или подняли трубку). Значение 'yes' или 'no'.

busydetect => yes
callprogress => yes

Функции CallerID

usecallerid - разрешить или запретить передачу CallerID (yes/no) По умолчанию 'yes'.

hidecallerid - скрывать исходящий CallerID. По умолчанию 'no'.

calleridcallwaiting - получать CallerID во время вызова.

usecallerid => yes
hidecallerid => no
callerid - устанавливает CallerID для данного канала. Принимает данные правильного формата «имя» и <номер>. Возможное значение 'asreceived' для передачи полученных значений.
callerid => "Oleg" <8123216111>
callerid =>
callerid => asreceived

Call feature options

Эти параметры включают или отключают дополнительные опции для FXS (FXO) каналов, такие как конференция и пере-адресация и т.д.. Значения могут быть только (yes/no)

threewaycalling - разрешает или запрещает three-way calling для канала.

cancallforward - разрешает или запрещает функцию «следуй за мной».

transfer - разрешает или запрещает функцию флэш для канала (для включения threewaycallingдолжно быть 'yes')

immediate - Если этот режим установлен 'yes', входящий вызов немедленно направляется на расширение 's' без тона набора и чтения цифр.

ADSI - Включает или выключает поддержку ADSI. ADSI спецификации системы, аналогичной Caller ID для передачи закодированной информация для аналоговых телефонов. Это позволяет создавать интерактивные меню и обеспечивает доступ к таким услугам, как голосовая почта, посредством текстового интерфейса.

threewaycalling = yes
transfer = yes
immediate = no
adsi = yes
cancallforward = yes

Параметры качества аудио

echocancelвключить эхо-подавление. По умолчанию всегда включен.

echocancelwhenbridgedВключение или выключает эхо-подавление в режиме моста между TDMинтерфейсами.В принципе в этом режиме не требуется эхо-подавления, но иногда это позволяет улучшить качество связи. Значение (yes / no).

rxgain - регулировка усиления приемника.
txgain - регулировка усиления передатчика.

echocancel = yes
echocancelwhenbridged = no
rxgain = 20%

Call Logging Options

Эти параметры влияют на записи Call Detail Records Asterisk.
amaflags: Устанавливает AMA флаги, влияющие на классификацию записей в Call Detail Records. Принимает следующие значения:

billing: маркирует для биллинга
documentation: маркирует для документирования.
omit: не записывать информацию о звонке.
default: по умолчанию.
accountcode: Устанавливает код счета за звонки. Код в счете может иметь любое буквенное или цифровое значение.
accountcode = oleg145
amaflags = billing

Asterisk -vvvvvv команды CLI для тестирования DAHDI

dahdi show status

localhost*CLI> dahdi show status
Description                              Alarms  IRQ    bpviol CRC    Fra Codi Options  LBO
Wildcard TE121 Card 0                    OK      2      -1     -1     CCS HDB3          0 db (CSU)/0-133 feet (DSX-1)
Команда dahdi show status отобразит состояние установленных плат.
dahdi show channels

Команда dahdi show channels выведет список сконфигурированных каналов «channel ⇒ 1-15,17-31».

pri show spans

localhost*CLI> pri show spans
PRI span 1/0: Up, Active
Команда pri show spans выводит информацию о ISDN PRI ( в частности статус layer2 - Up или Down)

Linux команды для тестирования DAHDI

ls

[root@localhost ~]# ls /dev/dahdi/
1   11  13  15  17  19  20  22  24  26  28  3   31  5  7  9        ctl     timer
10  12  14  16  18  2   21  23  25  27  29  30  4   6  8  channel  pseudo  transcode
lspci
 [root@localhost ~]# lspci | grep Digium
 02:08.0 Ethernet controller: Digium, Inc. Wildcard TE121 single-span T1/E1/J1 card (PCI-Express) (rev 11)
 
 
[root@localhost ~]# lspci | grep Ethernet
02:08.0 Ethernet controller: Digium, Inc. Wildcard TE121 single-span T1/E1/J1 card (PCI-Express) (rev 11)
dmesg

на примере Digium te120b

[root@localhost ~]# dmesg | grep wcte12xp
wcte12xp 0000:02:08.0: Setting up global serial parameters for E1
wcte12xp 0000:02:08.0: Found a Wildcard TE121
wcte12xp 0000:02:08.0: Booting VPMADT032
wcte12xp 0000:02:08.0: VPM present and operational (Firmware version 125)
wcte12xp 0000:02:08.0: Span configured for CCS/HDB3
cat /proc/dahdi/span_number

[root@localhost ~]# cat /proc/dahdi/1
Span 1: WCT1/0 "Wildcard TE121 Card 0" (MASTER) HDB3/CCS
        BPV count: -1
        CRC4 error count: -1
        E-bit error count: -1
        FAS error count: -1
        IRQ misses: 2

           1 WCT1/0/1 Clear (In use) (EC: VPMADT032 - INACTIVE)
           2 WCT1/0/2 Clear (In use) (EC: VPMADT032 - INACTIVE)
           3 WCT1/0/3 Clear (In use) (EC: VPMADT032 - INACTIVE)
           4 WCT1/0/4 Clear (In use) (EC: VPMADT032 - INACTIVE)
           5 WCT1/0/5 Clear (In use) (EC: VPMADT032 - INACTIVE)
           6 WCT1/0/6 Clear (In use) (EC: VPMADT032 - INACTIVE)
           7 WCT1/0/7 Clear (In use) (EC: VPMADT032 - INACTIVE)
           8 WCT1/0/8 Clear (In use) (EC: VPMADT032 - INACTIVE)
           9 WCT1/0/9 Clear (In use) (EC: VPMADT032 - INACTIVE)
          10 WCT1/0/10 Clear (In use) (EC: VPMADT032 - INACTIVE)
          11 WCT1/0/11 Clear (In use) (EC: VPMADT032 - INACTIVE)
          12 WCT1/0/12 Clear (In use) (EC: VPMADT032 - INACTIVE)
          13 WCT1/0/13 Clear (In use) (EC: VPMADT032 - INACTIVE)
          14 WCT1/0/14 Clear (In use) (EC: VPMADT032 - INACTIVE)
          15 WCT1/0/15 Clear (In use) (EC: VPMADT032 - INACTIVE)
          16 WCT1/0/16 HDLCFCS (In use) (EC: VPMADT032 - INACTIVE)
          17 WCT1/0/17 Clear (In use) (EC: VPMADT032 - INACTIVE)
          18 WCT1/0/18 Clear (In use) (EC: VPMADT032 - INACTIVE)
          19 WCT1/0/19 Clear (In use) (EC: VPMADT032 - INACTIVE)
          20 WCT1/0/20 Clear (In use) (EC: VPMADT032 - INACTIVE)
          21 WCT1/0/21 Clear (In use) (EC: VPMADT032 - INACTIVE)
          22 WCT1/0/22 Clear (In use) (EC: VPMADT032 - INACTIVE)
          23 WCT1/0/23 Clear (In use) (EC: VPMADT032 - INACTIVE)
          24 WCT1/0/24 Clear (In use) (EC: VPMADT032 - INACTIVE)
          25 WCT1/0/25 Clear (In use) (EC: VPMADT032 - INACTIVE)
          26 WCT1/0/26 Clear (In use) (EC: VPMADT032 - INACTIVE)
          27 WCT1/0/27 Clear (In use) (EC: VPMADT032 - INACTIVE)
          28 WCT1/0/28 Clear (In use) (EC: VPMADT032 - INACTIVE)
          29 WCT1/0/29 Clear (In use) (EC: VPMADT032 - INACTIVE)
          30 WCT1/0/30 Clear (In use) (EC: VPMADT032 - INACTIVE)
          31 WCT1/0/31 Clear (In use) (EC: VPMADT032 - INACTIVE)
проверка прерываний - interrupts

Every 1.0s: cat /proc/interrupts             Sat Aug 16 15:21:34 2014

           CPU0       CPU1
  0:  298549499      30187    IO-APIC-edge  timer
  1:         61          4    IO-APIC-edge  i8042
  8:          1          2    IO-APIC-edge  rtc
  9:          0          0   IO-APIC-level  acpi
 12:       1614         57    IO-APIC-edge  i8042
 14:   41268991         24    IO-APIC-edge  ide0
 50:        126  116383116         PCI-MSI  eth0
 58:        168          0         PCI-MSI  hda_intel
169:       8391  298523206   IO-APIC-level  uhci_hcd:usb5, wcte12xp0
217:          0          0   IO-APIC-level  uhci_hcd:usb4
225:          0          0   IO-APIC-level  ehci_hcd:usb1, uhci_hcd:usb2
233:       2119    3653665   IO-APIC-level  uhci_hcd:usb3, ata_piix
NMI:          0          0
LOC:  298575253  298575261
ERR:          0
MIS:          0

DAHDI Tools

dahdi_tool

modules
модули dahdi

Asterisk Dialplan - extensions.conf

Файлы конфигурации Asterisk

Asterisk: Настройка

Имена екстеншенов и шаблоны в плане набора Asterisk.

$
0
0

Имена екстеншенов и шаблоны в плане набора Asterisk.

Имена екстеншенов.

Именами для екстеншенов в плане набора могут быть обычные номера, такие как “412” или “0”. Также они могут состоять из букв или строк, содержащих, как цифры, так и буквы, например, “john” или “A93”. Однако, на обычном телефоне невозможно набрать номер екстеншена, такой как “john”, там просто нет таких символов. Однако, на некоторых телефонных аппаратах можно исхитриться и набрать такой номер (например, на телефонах Cisco, с помощью алфавитно-цифровой клавиатуры). Но для таких экстеншенов есть другое логичное применение. Суть его состоит в том, что, проектируя логику Вашего плана набора, может возникнуть желание совершить переход с обработки последовательности команд одного екстеншена, на обработку последовательности команд, которые связаны с другим екстеншеном. Имя екстеншена, на который совершается переход, можно выбрать по Вашему желанию, т.к. в этом случае, вызов не попадает непосредственно в него, а используется скорее, как ветвление алгоритма плана набора, для изначального екстаншена (того, на который непосредственно попадает вызов).

И еще один момент, кнопочные телефоны часто содержат не только цифры от 0 до 9. У них еще бывают кнопки: * (звездочка) и # (называемые “pound” или “hash”, в зависимости от того, где вы живете). А некоторые кнопочные (DTMF) телефоны имеют еще и четыре дополнительные “цифровые” кнопки: A, B, C и D. Если в вашей организации есть подобные телефонные трубки, то ничего не мешает использовать в Вашем плане набора имена екстеншенов с этими символами, для каких-либо целей по Вашему усмотрению.

Замечание:Для того чтобы задать номер екстеншена, который вызывается набором символа #, Вам необходимо использовать шаблонный екстеншен (смотри ниже). Астериск не воспринимает # как обычный “символ”, хотя он есть у всех DTMFтелефонов.

Замечание: Екстеншен X - (без подчеркивания), это не шаблон, который совпадает с любой цифрой от 0 до 9, а простой екстеншен с именем «X».

Шаблоны для екстеншенов.

Имена екстеншенов не ограничиваются однозначно определенными “номерами телефонов”. Один экстеншен может быть сопоставлен целому набору номеров, на основе шаблона. exclaim В файле extensions.conf имя екстеншена является шаблоном, если оно начинается с символа подчеркивания (_). В именах шаблонных екстеншенов, следующие символы имеют специальное значение и трактуются особым образом:

X соответствует любому числу от 0 до 9
Z соответствует любому числу от 1 до 9
N соответствует любому числу от 2 до 9
[1237-9] соответствует любому числу или диапазону чисел, которые заключены в квадратные скобки (в данном случае: 1,2,3,7,8,9)
. специальный символ, соответствует одному или более символов (не только цифрам)
! специальный символ, соответствует отсутствию, одному или более символов (не только цифрам) 
Замечание: Символ шаблона «!» доступен, начиная с версии Asterisk 1.2 и в более поздних, он ведет себя особенно — как только все маски или символы до него совпали с набираемым номером и набираемый номер (на данный момент) не совпадает ни с одним шаблонным или простым екстеншеном в контексте, будет использоваться данный екстеншен, причем, не дожидаясь пока номер будет введен полностью. Это было сделано для следующих сценариев, например, как описано в контексте ниже, как только набираемый номер перестал совпадать с '001800…', будет задействована обычная телефонная линия и все последующие номера набираемого номера будут донабираться непосредственно в линию (с аудиоконтролем состояния линии) .
Context "outgoing":
Extension Description
_001800NXXXXXX Вызовы на бесплатные номера в US производим через VoIP
_X! Все остальные вызовы - через обычного телефонного оператора, с донабором в линию.
Пример

Посмотрим на следующий контекст:

Context "routing":
Extension Description
_61XX Dallas Office
_63XX Dallas Office
_62XX Huntsville Office
_7[1-3]XX San Jose Office
_7[04-9]XX Los Angeles Office
Этот контекст с именем “routing”, отправляет вызовы на другие сервера, в зависимости от номера екстеншена. Предполагается, что все номера в организации содержат 4 цифры. Если пользователь набрал номер, начинающийся с 61 или 63, то вызов будет отправлен на сервер «Dallas office»; 62 – на сервер «Huntsville office»; 71, 72, или 73 – в San Jose, 70, 74, 75, 76, 77, 78 или 79 – на сервер «Los Angeles office».

Еще примеры шаблонных екстеншенов.

_NXXXXXX соответствует обычному 7-значному телефонному номеру 
_1NXXNXXXXXX соответствует коду зоны и телефонному номеру
_9011. соответствует любой строке минимум из пяти символов, которая начинается с 9011, но не соответствует самому номеру 9011.
_9011! в отличие от предыдущего примера, соответствует еще и самому четырехзначному номеру 9011.
_# соответствует единичному нажатию клавиши #
Предупреждение

Не используйте шаблон _., т.к. он будет соответствовать вообще всему, включая специальные екстеншены сервера Астериска типа i, t, h, т.д. Вместо этого используйте шаблоны вида: _X. или _X, под которые не будут подпадать специальные екстеншены asterisk.

Порядок сортировки и поиска совпадений с шаблонными екстеншенами.

Если более чем один шаблон соответствует набранному номеру, Астериск может выбрать совсем не тот екстеншен, что Вы ожидаете. Для дополнительной информации, смотри страницу:

  • Порядок выбора совпадения при использовании шаблонных екстеншенов.

Файлы конфигурации Asterisk


asterisk:cf:ooh323.conf

$
0
0

; ---------------------------------------------------------------------------------
; ---  ******* IMPORTANT NOTE ***********
; ---
; ---  This module is currently unsupported.  Use it at your own risk.
; ---
; ---------------------------------------------------------------------------------

; Objective System's H323 Configuration example for Asterisk
; ooh323c driver configuration
;
; [general] section defines global parameters
;
; This is followed by profiles which can be of three types - user/peer/friend
; Name of the user profile should match with the h323id of the user device.
; For peer/friend profiles, host ip address must be provided as "dynamic" is
; not supported as of now.
;
; Syntax for specifying a H323 device in extensions.conf is
; For Registered peers/friends profiles:
;        OOH323/name where name is the name of the peer/friend profile.
;
; For unregistered H.323 phones:
;        OOH323/ip[:port] OR if gk is used OOH323/alias where alias can be any H323
;                          alias
;
; For dialing into another asterisk peer at a specific exten
;       OOH323/exten/peer OR OOH323/exten@ip
;
; Domain name resolution is not yet supported.
;
; When a H.323 user calls into asterisk, his H323ID is matched with the profile
; name and context is determined to route the call
;
; The channel driver will register all global aliases and aliases defined in
; peer profiles with the gatekeeper, if one exists. So, that when someone
; outside our pbx (non-user) calls an extension, gatekeeper will route that
; call to our asterisk box, from where it will be routed as per dial plan.


[general]
;Define the asetrisk server h323 endpoint

;The port asterisk should listen for incoming H323 connections.
;Default - 1720
;port=1720

;The dotted IP address asterisk should listen on for incoming H323
;connections
;Default - tries to find out local ip address on it's own
bindaddr=0.0.0.0

;This parameter indicates whether channel driver should register with
;gatekeeper as a gateway or an endpoint.
;Default - no
;gateway=no

;Whether asterisk should use fast-start and tunneling for H323 connections.
;Default - yes
;faststart=no
;h245tunneling=no

;Whether media wait for connect
;Default - No
;mediawaitforconnect=yes

;H323-ID to be used for asterisk server
;Default - Asterisk PBX
h323id=ObjSysAsterisk
e164=100

;CallerID to use for calls
;Default - Same as h323id
callerid=asterisk

; Whether asterisk send back to caller own connected line id on incoming call as called number
; Default - no
aniasdni=no

;Whether this asterisk server will use gatekeeper.
;Default - DISABLE
;gatekeeper = DISCOVER
;gatekeeper = a.b.c.d
gatekeeper = DISABLE

;Location for H323 log file
;Default - /var/log/asterisk/h323_log
;logfile=/var/log/asterisk/h323_log


;Following values apply to all users/peers/friends defined below, unless
;overridden within their client definition

;Sets default context all clients will be placed in.
;Default - default
context=default

;Sets rtptimeout for all clients, unless overridden
;Default - 60 seconds
;rtptimeout=60	    ; Terminate call if 60 seconds of no RTP activity
                    ; when we're not on hold

;Type of Service
;Default - none (lowdelay, thoughput, reliability, mincost, none)
;tos=lowdelay

;amaflags = default

;The account code used by default for all clients.
;accountcode=h3230101

;The codecs to be used for all clients.Only ulaw and gsm supported as of now.
;Default - ulaw
; ONLY ulaw, gsm, g729 and g7231 supported as of now
disallow=all     ;Note order of disallow/allow is important.
allow=gsm
allow=ulaw


; dtmf mode to be used by default for all clients. Supports rfc2833, q931keypad
; h245alphanumeric, h245signal.
;Default - rfc 2833
dtmfmode=rfc2833
;
; round trip delay request, default = 0,0 (not send)
; x - count of unreplied requests before hangup, y - interval in sec between requests
;
;roundtrip=x,y

;
; FAX detection will cause the OOH323 channel to jump to the 'fax' extension (if it exists)
; based one or more events being detected. The events that can be detected are an incoming
; CNG tone or an incoming T.38 RequestMode packet
;
; yes - enable both detection (CNG & T.38)
; no - disable both
; cng - enable CNG detection (default)
; t38 - enable T.38 request detection
;
faxdetect = cng

; User/peer/friend definitions:
; User config options                    Peer config options
; ------------------                     -------------------
; context
; disallow                               disallow
; allow                                  allow
; accountcode                            accountcode
; amaflags                               amaflags
; dtmfmode                               dtmfmode
; rtptimeout                             ip
;                                        port
;                                        h323id
;                                        email
;                                        url
;                                        e164
;                                        rtptimeout

;

;
;	direct rtp between two remote peers, disabled by default
;	can be specified globally or per peer/user section
;
directmedia=no
;
;	early direct rtp (try to establish direct rtp before asnwer)
;	disabled by default, auto enabled by directmedia is enabled
;	can be disabled escpecially if directmedia is enabled.
;	can be specified globally or per peer/user section
;
;
directrtpsetup=no

;Define users here
;Section header is extension
[myuser1]
type=user
context=context1
disallow=all
allow=gsm
allow=ulaw



[mypeer1]
type=peer
context=context2
ip=a.b.c.d   ; UPDATE with appropriate ip address
port=1720    ; UPDATE with appropriate port
e164=101



[myfriend1]
type=friend
context=default
ip=10.0.0.82   ; UPDATE with appropriate ip address
port=1820    ; UPDATE with appropriate port
disallow=all
allow=ulaw
e164=12345
rtptimeout=60
dtmfmode=rfc2833

Настроим Asterisk, FreeSWITCH, IP АТС.

$
0
0

Настроим Asterisk, FreeSWITCH, IP АТС.

Интегратор облачных систем телекоммуникаций Asterisk, FreeSWITCH.

Реализуем сложные ТЗ.

Удаленно, в любой точке мира.

Установка IP АТС на открытом программном обеспечении включает в себя следующие этапы:

  1. Разработка технического задания с учетом требований заказчика и возможностей IP АТС.
  2. Подготовка договора на установку и настройку и, если требуется, поставку оборудования.
  3. Подготовка счета на оплату с учетом технического задания, согласование сроков и порядка оплаты.
  4. Удаленная установка IP АТС в любой точке мира.
  5. Установка IP АТС с выездом на объект (Санкт Петербург).
  6. Предварительная настройка оборудования в нашем сервисном центре.
  7. Сдача проекта. Проверка работоспособности всех компонентов и алгоритмов работы IP АТС.
  8. Обучение для дальнейшей эксплуатации IP АТС сотрудниками заказчика.
  9. Бесплатная техническая поддержка в течении месяца с момента запуска в эксплуатацию.

Мы находимся в Санкт-Петербурге, но работаем по всему миру!

Решения

VoIPАТС

  • Неограниченное количество VoIPабонентов и транков.
  • Запись разговоров и детализированный отчет о звонках.
  • Факс на e-mail.
  • Русскоязычный интерфейс.
  • CTI - Интеграция со сторонними приложениями.

Колл Центр

Дополнительно

  • Аудит и обслуживание уже установленных систем Asterisk, FreeSWITCH и др.
  • Написание кастомизированного диаплана под любые нужды.
  • Интеграция с устаревшими TDMАТС (Avaya, NEC, Nortel, Samsung, Panasonic, LG).
  • Аудит и настройки безопасности VoIPсистем.
  • Биллинг. Многопользовательские системы.
  • SIP proxy, SBC.

Напишите нам!

Свяжитесь с нами для получения подробной информации!
Офисная АТС

Only edit this fieldset if “Функционал” is set to “Офисная АТС”.

Колл Центр

Only edit this fieldset if “Функционал” is set to “Колл Центр”.

Кастомные решения

Only edit this fieldset if “Функционал” is set to “Все сложно”.

FreePBX

$
0
0

FreePBX

Настройка FreePBX Asterisk GUI Документация Мануал

FreePBX это полнофункциональный веб-интерфейс для конфигурации Asterisk PBX.

Если Вы знакомы с Asterisk, то знаете, настройка ATCосуществляется при помощи конфигурационных файлов. FreePBX предлагает простой, интуитивно понятный интерфейс для настройки и управления Asterisk PBX.
FreePBX также поставляется со многими дистрибьютивами:
AsteriskNOW, FreePBX Distro, Trixbox, Elastix
Документация Мануал FreePBX Asterisk Gui

Скачать FreePBX

Документация

Общее

Уязвимости

Admin modules

Документация по административным модулям FreePBX

Applications

Документация по модулям приложений FreePBX

Connectivity

Документация по модулям входящих исходящих соединений FreePBX.

  • Inbound Routes - Наведение входящих вызовов , DID.
  • Outbound Routes - Маршрутизирует исходящие вызовы по требуемым транкам.
  • Zap Channel DIDs - Назначение DIDдля конкретных ZAP каналов.
  • Trunks - Управляет ZAP (Dahdi), SIPпротокол, IAXканалами для выхода в общую телефонную сеть, или соединения АТС.

Settings Modules

Документация по модулям глобальных настроек каналов и приложений FreePBX

UCP

Примеры

Устаревшее

FreeSWITCH

$
0
0

FreeSWITCH

Использование

FreeSWITCH

  • Сервер маршрутизации.
  • Сервер B2BUA.
  • Сервер IVR
  • Сервер Конференций
  • Сервер Голосовой почты
  • SBCСервер
  • Fax сервер
  • И, конечно, АТС!

FreeSWITCH это open source, масштабируемая, кросс-платформенная, телефонная система. Предназначена для маршрутизации и коммутации между большинством современных протоколов передачи аудио, видео, текстовых и других форм медиа данных. В данном разделе собрана русскоязычная документация по установке, настройке и использованию FreeSWITCH и сопутствующих приложений.

Установка FreeSWITCH

Настройка FreeSWITCH

FusionPBX

АТС

$
0
0

АТС

Avaya SIP Asterisk

Avaya Communication Manager SIP Trunks + Asterisk без использования Avaya SIP Enablement Services

Читать дальше...

Samsung OfficeServ 7200 - Обновление прошивки

 

LG IPECS LIK 50 SIP транк Asterisk

Ipecs LIK 50 default ip address - 10.10.10.2

В программе Station Sip Attributes 126назначьте USER ID и PASSWORD для SIPтранка

Registration User ID - 701
Authentication User ID - 701
Authentication User Password -701
User ID Register - register

В программе SIP G/W Attributes назначьте IP адрес Asterisk

Proxy Server Address -10.10.10.3

Domain - 10.10.10.3

В программе CO/IP Attributes 140-142

CO Type - DID
DTMF Type - 2833

[701]
host=10.10.10.2
username=701
secret=701
type=friend
context=from-internal
insecure=port,invite
qualify=yes
nat=no

настройте транк в Asterisk

exten => 1XX,1,Dial(SIP/701/${EXTEN},,) 

и маршрутизацию

Настройка оборудования

Samsung OfficeServ SIP trunk + Asterisk

Настроим соединение между Samsung OS 7XXX (OfficeServ 7070, 7100, 7200, 7400) и двумя серверами Asterisk через SIPтранк, без авторизации.

В атс samsung [10.10.10.253] 3-х значные номера на 2ХХ
В asterisk1 [10.10.11.253] 3-х значные номера на 30X
В asterisk2 [10.10.12.253] 3-х значные номера на 31X

Читать дальше...

Samsung OfficeServ - VoIP телефонная сеть АТС

На рисунке приведены три наиболее значимых для настройки связи между УАТС MMC — 710, 820 и 824 .а также небольшой фрагмент номерного плана (MMC 724). Эти ММС приведены для каждой станции для того, чтобы можно было проследить их взаимосвязь. Схема приведена на рисунке 2.

Читать дальше...

 
Viewing all 1052 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>