- База знаний
- Пример файла конфигурации XML для Cisco 8851 phone
- Пример файла конфигурации XML для Cisco 7970 phone
- Пример файла конфигурации XML для Cisco 9971
- Отладка VoIP звонка с Wireshark
- Книги
- Использование поля Diversion в SIP пакете
- Астериск и Н.323
- ISDN release cause codes
- Пример файла конфигурации голосового шлюза Cisco
- Пример конфигурации интерфейса E1 PRI в голосовом шлюзе Cisco
- Аналоговое зло
- Интернациональные телефонные коды стран
- Практикум по интеграции Астериск в комплексе с OpenBSC/Osmocom
- Факс по IP
Настройка модуля канала Zap
Модуль канала Zap позволяет серверу Asterisk общаться с драйвером устройства Zaptel, который используется для работы с интерфейсными картами от Digium или Sangoma. В файле конфигурации zapata.conf используется для описания и настройки ZAP каналов, которые использует сервер Asterisk.
Для обеспечения работы ZAP каналов, Вам сначала нужно установить модуль драйвера ядра Zaptel. Смотри:
Однако, поддержка TDMoE напрямую не связана с аппаратным обеспечением Zapata, для нее использует механизм pseudo-TDM, который настраивается в данном файле.
Использование MySQL для настройки каналов Zap
Существует возможность хранения конфигурации Zap каналов в таблице базы данных, такой как MySQL, вместо того, чтобы хранить их в текстовом файле zapata.conf. Для этих целей можно использовать механизм realitime, модули которого можно найти в пакете Asterisk-Addons для некоторых баз данных. Смотри:Остальное содержание этой страницы предполагает, что Вы вручную редактируете файл zapata.conf.
Создание каналов
К сожалению, формат файла zapata.conf не такой уж простой, как мог бы быть. Большинство директив сами по себе не производят никаких действий; они просто устанавливают параметры, для любых каналов которые определены дальше в этом файле. Директива channel фактически создает сам канал, использую параметры, которые были определены ранее. Например, Вы можете создать два канала так:signalling=fxo_ks
language=en
context=reception
channel => 1
signalling=fxo_ks
language=fr
context=sales
channel => 2
При этом будет создано два канала: канал 1 с используемым по умолчанию кодом языка: "en" и контекстом: "reception". Канал 2 - с языковым кодом "fr" и контекстом "sales".
Тут есть один важный момент, если Вы зададите значение какого либо параметра, например, echocancel=no, до определения канала, то эта настройка будет влиять на все, описанные далее, каналы до тех пор, пока Вы не переопределите его в echocancel=yes. Таким образом, определенное значение параметра распространяется на все каналы, далее по файлу, но он должен быть определен до секции channel=>.
Описание параметров конфигурации
Типы соединения или сигнализации
Типы соединений или сигнализации, использующийся в вашем интерфейсе связи - единственный обязательный параметр. Вы должны установить этот параметр до описания канала. Если Вы подсоединяете аналоговое телефонное оборудование, то обратите внимание, что тут может возникнуть некоторая неразбериха. Каналы FXS соединяются с каналами FXO, и наоборот. Сервер Asterisk 'сообщает' внутреннему устройству, какой тип соединения используется на противоположной стороне. Карта типа FXO соединяется с FXS, и в Asterisk так и должна быть описана, что используется тип соединения с FXS устройством.
signalling: Параметр устанавливает тип соединения и/или сигнализации. Эти параметры должны соответствовать тому, что описано в конфигурации драйвера Zaptel. Значение этого параметра частично зависит от типа используемой Вами интерфейсной карты. Сервер Asterisk не запустится: если определение типа соединения для канала неправильное или нерабочее, если значение не совпадает с тем, что описано в конфигурации Zaptel драйвера или, если устройство не установлено или сконфигурировано не должным образом. Во многих случаях, правильное значение этого параметра - это одно из этих четырех значений: fxs_ks, fxo_ks, pri_cpe or pri_net. Этот параметр не имеет значения по умолчанию, Вы обязательно должны определить его значения перед описанием какого-либо канала.
В сервере Asterisk поддерживаются следующие типы соединений и сигнализации:
- em: E & M Immediate Start
- em_w: E & M Wink Start
- em_e1: E & M CAS signalling for E1 lines
- featd: Feature Group D (The fake, Adtran style, DTMF)
- featdmf_ta: Feature Group D (The real thing, MF (domestic, US)) through a Tandem Access point
- fgccama Feature Group C-CAMA (DP DNIS, MF ANI)
- fgccamamf Feature Group C-CAMA MF (MF DNIS, MF ANI)
- featdmf: Feature Group D (The real thing, MF (domestic, US))
- featb: Feature Group B (MF (domestic, US))
- fxs_ls: FXS (Loop Start)
- fxs_gs: FXS (Ground Start)
- fxs_ks: FXS (Kewl Start)
- fxo_ls: FXO (Loop Start)
- fxo_gs: FXO (Ground Start)
- fxo_ks: FXO (Kewl Start)
- pri_cpe: PRI signalling, CPE side
- pri_net: PRI signalling, Network side
- sf: SF (Inband Tone) Signalling
- sf_w: SF Wink
- sf_featd: SF Feature Group D (The fake, Adtran style, DTMF)
- sf_featdmf: SF Feature Group D (The real thing, MF (domestic, US))
- sf_featb: SF Feature Group B (MF (domestic, US))
- e911: E911 (MF) style signalling. Originating switch goes off-hook, far-end winks, originating sends KP-911-ST, far-end gives answer supervision, Originating-end sends KP-0-ANI-ST
- The following are used for Radio interfaces:
- fxs_rx: Receive audio/COR on an FXS kewlstart interface (FXO at the channel bank)
- fxs_tx: Transmit audio/PTT on an FXS loopstart interface (FXO at the channel bank)
- fxo_rx: Receive audio/COR on an FXO loopstart interface (FXS at the channel bank)
- fxo_tx: Transmit audio/PTT on an FXO groundstart interface (FXS at the channel bank)
- em_rx: Receive audio/COR on an E&M interface (1-way)
- em_tx: Transmit audio/PTT on an E&M interface (1-way)
- em_txrx: Receive audio/COR AND Transmit audio/PTT on an E&M interface (2-way)
- em_rxtx: same as em_txrx (for our dyslexic friends)
- sf_rx: Receive audio/COR on an SF interface (1-way)
- sf_tx: Transmit audio/PTT on an SF interface (1-way)
- sf_txrx: Receive audio/COR AND Transmit audio/PTT on an SF interface (2-way)
- sf_rxtx: same as sf_txrx (for our dyslexic friends)
signalling=fxo_ks
Конфигурация коммутаторов ISDN PRI
Если у Вас имеется линия с PRI интерфейсом, Укажите тут тип используемой коммутации. (PRI - это тип интерфейса ISDN, обычно используемый для подключения АТС к публичной телефонной сети. Он обеспечивает передачу нескольких каналов связи по одной физической линии.)
switchtype: Параметр устанавливает тип коммутатора для интерфейса PRI.
По умолчанию: national.
Доступные следующие значения:
- national: National ISDN type2 (Американский)
- ni1: National ISDN type 1
- dms100: Nortel DMS100
- 4ess: AT&T 4ESS
- 5ess: Lucent 5ESS
- euroisdn: EuroISDN
- qsig: Протокол с минимальной функциональностью, используемый для построения "сети" между двумя или более АТС от различных производителей!
resetinterval: Параметр устанавливает время в секундах между рестартами неиспользуемых каналов. По умолчанию: 3600. Минимальное значение: 60 секунд. Некоторые АТС очень не любят рестарт для каналов. В качестве решения, для них можно установить очень большой интервал, например: 100000000 или установить значение never для полного запрещения рестартов каналов.
overlapdial: Может ли сервер Asterisk вызывать этот коммутатор, используя overlap digits. Если вам необходима функция Direct Dial-in(например, для Немецкого "Durchwahl"), то вы должны изменить значение параметра в "yes", тогда сервер Asterisk перейдет в состояние ожидания после приема им последней цифры.
По умолчанию: no.
overlapdial=yes
pridialplan: Устанавливает параметр, который требуется для некоторых (редких) коммутаторов, которые требуют передачу параметра содержащего план набора (dialplan). Этот параметр игнорируется большинством PRI коммутаторов. Он может быть нужен для работы некоторых частей аппаратного обеспечения коммутатора. Доступные значения параметра: unknown, local, private, national и international. Во многих случаях этот параметр можно не задавать и оставить его в значении по умолчанию.
По умолчанию: national.
pridialplan=local
priindication: Этот параметр устанавливает то, как сервер Asterisk должен сигнализировать состояние Busy() и Congestion() для удаленного коммутатора или пользователя. По умолчанию: inband. Доступные значения следующие:
- inband: Сервер Asterisk будет сам проигрывать тональные сигналы без перевода канала в отвеченное состояние; Не доступно для всех соединений PRI/BRI.
- outofband: Сервер Asterisk будет разрывать связь с информационным кодом busy/congestion, при этом уже сам телефонный коммутатор будет проигрывать тональные сигналы пользователю. Busy(), в этом случае, это то же самое, что установка: PRI_CAUSE=17 и выполнение команды: Hangup().
Параметры для Multi-link PPP
Если у Вас имеется канал ISDN PRI, то Вы имеете возможность запустить multi-link PPP поверх него, для предоставления Вам каналов для передачи данных. Multi-link PPP - это технология, которая позволяет динамически распределять PRI каналы для передачи голоса или данных. Сервер Asterisk может занять голосовой канал, который можно использовать для передачи данных, вызвать Сервер удаленного доступа (Remote Access Server), и перебросить канал в специальный екстеншен, который переведет zaptel канал в режим передачи данных. Все конфигурационные настройки описаны ниже. Прочтите описание команды ZapRAS, чтобы заставить все это работать.
Для каналов PRI можно сконфигурировать специальный екстеншен для соединения с ним неактивных каналов и минимальное число неиспользуемых (minunused) и доступных для голосовых вызовов каналов. Пока, по крайней мере, minunused каналов не используется, для "лишних" модуль Zap канала будет вызывать номер idledial, и сервер Asterisk начнет выполнение команд, определенных для екстеншена idleext в соответствующем контексте. Когда канал вдруг станет необходим для голосовых вызовов, соединение с екстенешеном "idle" будет завершено (естественно, пока есть, как минимум, minidle активных соединений с ним), для увеличения доступных для голосовых вызовов каналов PRI. Основное применение этого метода - создание динамического сервиса, где неактивные каналы используются для multilink PPP. Таким образом, более эффективно используя выделенную полосу пропускания канала, комбинируя сервисы передачи речи и данных в зависимости от их востребованности, чем при применении статической схемы распределения этих ресурсов.
minunused: Минимальное число доступных неиспользуемых каналов. Если доступно меньшее число каналов, тогда сервер Asterisk не будет пытаться связывать каналы с сервисом передачи данных. В качестве значения надо указать целое число.
minidle: Минимальное число каналов используемых для передачи данных. Сервер Asterisk всегда сохранит число каналов для данных не менее, указанного в этом параметре числа, даже если возникнет их нехватка для голосовых вызовов. В качестве значения надо указать целое число.
idledial: Номер, для соединения на него неактивных каналов. Обычно, это номер для вызова сервера удаленного доступа (RAS). Каналы, высвобождаемые для передачи данных, будут соединены с этим номером. В качестве значения надо указать целое число, которое не должно конфликтовать с номерами других екстеншенов в плане набор, и должно быть определено как idleext.
idleext: Название екстеншена, который будет обрабатывать соединения для неиспользуемых PRI каналов. Значение должно быть в виде: exten@context. Обычно, в списке команд этого екстеншена выполняется команда: ZapRAS.
minunused=2
minidle=1
idledial=6999
idleext=6999@idle
Настройки для аналоговых транковых линий
Это обычные аналоговые телефонные линии, которые приходят к вам от АТС.usedistinctiveringdetection: Использовать ли распознавание различных типов стилей сигнала звонка для поступающих вызовов. Это не требует какого-либо анализа аудиосигнала, потому что для передачи сигнала вызова используется аналоговый сигнал, который поступает из линии. Используется простой анализ соответствия длительности и паузы сигнала вызова заданным образцам.
По умолчанию: no.
usedistinctiveringdetection=yes
dring1, dring2, dring3: Если установлено usedistinctiveringdetection=yes, тогда Вы можете определить до трех различных стилей вызываемого сигнала, которые сервер Asterisk будет пытаться распознать. Каждый стиль вызова - это до трех целых чисел, разделенных запятыми. Почему-то, пока еще никто не описал, на что влияют значения этих чисел, однако, вы можете самостоятельно выяснить, какие числа следует использовать для того, чтобы различать различные стили сигнала вызова, используемые в телефонной компании Вашей страны. Для помощи в процессе этой настройки Вам может помочь консоль сервера Asterisk с большим уровнем детализации и отображения происходящих событий (verbose mode), и, очевидно, Вы увидите те цифры, которые описывают стиль сигнала вызова при его поступлении. Следующие значения могут послужить Вам в качестве отправной точки для настройки:
dring1=96,0,0
dring2=325,95,0
dring3=367,0,0
dring1context, dring2context, dring3context: Вместе с настройками до трех различных стилей вызывных сигналов в параметрах: dring1, dring2 и dring3, Вы также можете определить соответствующие контексты, куда будут попадать входящие вызовы, которые подходят под соответствующий образец. Если входящий вызов не совпадает ни с одним из определенных образцов, тогда, естественно, он будет обрабатываться сервером Asterisk с использованием контекста по умолчанию для данного канала.
dring1context=line2incoming
dring2context=business
dring3context=chocolate
busydetect: Если этот параметр установлен в значение "yes", сервер Asterisk будет анализировать аудиосигнал поступающий с телефонной линии в процессе вызова и набора номера, для определения наличия сигнала "занято". Эту возможность полезно использовать на аналоговых транковых интерфейсах, как для определения сигнала "занято" в процессе набора номера, так и для определения момента, когда удаленный абонент повесил трубку. Смотри: Контроль разъединения линии. Убедитесь, что эта возможность не используется у Вас для цифровых интерфейсов, таких как, карты QuadBri и других. Иначе у Вас может возникнуть проблемы с разорванными без причины вызовами.
По умолчанию: no
busydetect=yes
busycount: Для данного параметра требуется установка: busydetect=yes. Вы можете определить, сколько нужно получить тональных посылок "занято", перед тем, как закончить вызов. По умолчанию - 3, но лучшие результаты могут быть достигнуты, если установить значение раное 6 или даже 8. Чем больше значение, тем большее время требуется для определения состояния разъединения, но ниже вероятность спутать сигнал "занято" с другими сигналами, присутствующими в канале связи.
busycount=5
callprogress: Сервер Asterisk может попытаться отслеживать состояние вызова, "слушая" аудиопоток на предмет наличия тональных вызывных сигналов, сигналов занятости, перегруженности линии и сигналов, которые указывают, что на вызов ответили. Работа этой функции не связана с возможностями, предоставляемыми параметром busydetect; они могут работать параллельно, и могут независимо друг от друга определять наличие тональных сигналов "занято". Функция "callprogress" находится в экспериментальной стадии и может запросто определить ложное состояние ответа на вызов, так что не очень рассчитывайте на точность определения ей состояния линии. Также, на данный момент она распознает только сигналы, которые используются в США.
По умолчанию: no.
callprogress = yes
pulse: Стандартная инсталляция сервера Asterisk не позволяет Вам задать для устройств Zaptel использование импульсного набора, притом, что драйвер Zaptel поддерживает импульсный набор. Но Вы можете применить некоторый патч для включения возможности использования импульсного набора, используя директиву pulse. Смотри: Импульсный набор для Zap каналов.
pulse=yes
Настройки для аналоговых оконечных телефонных устройств
adsi: Если у Вашего телефонного аппарата имеется совместимый с ADSI (Analog Display Services Interface) дисплей, установите: adsi=yes. Спецификация на ADSI по своей функциональности напоминает систему для отправки Caller*ID и используется для передачи закодированной информации на аналоговые телефонные устройства. Это позволяет создавать интерактивные визуальные меню на многострочном дисплее, которое позволяет воспользоваться различными сервисами, таким как доступ к голосовому ящику, используя текстовый интерфейс.
immediate: Обычно (т.е. со значением этого параметра по умолчанию - 'no'), когда Вы поднимаете трубку на FXS устройстве, драйвер Zaptel генерирует вам сигнал КПВ и принимает, набираемые Вами, цифры, отправляя их серверу Asterisk. Сервер Asterisk ждет пока набираемый Вами номер совпадет с каким-либо екстеншеном, и после этого, начинает выполнять первую команду, определенную для этого екстеншена. Если вы установите: "immediate=yes", тогда Asterisk укажет драйверу Zaptel, чтобы тот не генерировал сигналы КПВ абоненту, когда тот поднимает трубку, а вместо этого передал бы управление сразу серверу Asterisk. Который, в свою очередь, начнет выполнение команд для этого канала, с использованием стандартного екстеншена "s". Иногда этот режим называется "batphone mode".
По умолчанию: no.
immediate=yes
callwaiting: Если этот параметр установлен в значение "yes", сервер Asterisk сгенерирует Вам "пикающий сигнал" (call waiting pips), если Вы уже разговариваете с одним абонентом и кто-то еще пытается к Вам дозвониться. Если эта функция по умолчанию включена, то Вы можете временно запретить ее, подняв трубку и набрав номер *70, после чего Вы услышите сигнал КПВ и можете набирать нужный Вам номер. Однако не существует обратной процедуры для временного включения этой функции, если она, по умолчанию, отключена.
По умолчанию: no.
callwaiting=yes
callwaitingcallerid: Параметр определяет, должен ли сервер Asterisk отправлять данные Caller*ID на аппарат, когда он уже занят и на него поступает второй вызов. Естественно, для этого параметра требуется установка: "callwaiting=yes".
По умолчанию: no.
callwaitingcallerid=yes
threewaycalling: Если этот параметр установлен в значение "yes", то Вы можете поставить вызов на удержание, нажав "flash", после чего Вы услышите сигнал КПВ и можете совершить еще один вызов.
По умолчанию: no.
threewaycalling=yes
transfer: Этот параметр имеет смысл, только если установлено "threewaycalling=yes". Если установлено: threewaycalling=yes и transfer=yes, тогда после того, как Вы поставили вызов на удержание, нажав "flash", Вы можете соединить его с другим абонентом, набрав его номер и повесив трубку.
По умолчанию: no.
transfer=yes
cancallforward: Если этот параметр установлен в значение "yes", то Вы можете активировать функцию "безусловного перенаправления всех вызовов", набрав номер *72 (после этого Вы услышите сигнал КПВ) и набрав номер, на который Вы хотите перенаправить все поступающие Вам вызовы. Если кто-нибудь позвонит на Ваш номер, вызов будет перенаправлен, на заданный Вами номер. Отключить перенаправление вызовов можно, набрав номер *73.
По умолчанию: no.
cancallforward=yes
callreturn: Если этот параметр установлен в значение "yes", то при наборе номера *69, сервер Asterisk прочтет Вам номер (Caller*ID) последнего вызвавшего Вас абонента. Если нет записи о последнем абоненте, тогда Вы услышите сигнал КПВ.
По умолчанию: no.
callreturn=yes
callgroup: Канал может не принадлежать ни одной из групп или принадлежать одной или нескольким группам вызовов. Группа вызовов определяет, кто может ответить на вызов, если звонит этот телефон. Если по данному каналу поступает вызов, то любой другой канал, группы pickupgroups которого включают хотя бы одну группу callgroups этого канала, могут "перехватить" вызов, набрав *8#. Эта функциональность поддерживается для каналов: Zap, SIP, Skinny и MGCP. Значения для номеров групп находятся в диапазоне от 0 до 31.
По умолчанию: пустая строка, т.е. группы не определены.
group=1
callgroup=1,2,3
pickupgroup: Канал может не принадлежать ни одной из групп или принадлежать одной или нескольким группам pickupgroups. Группы "pickupgroup" определяют, звонки на какие телефоны вы можете "перехватить". Если поступает вызов по другому каналу, и группы pickupgroups нашего канала включают хоты бы одну группу callgroups вызываемого канала, тогда мы можем перехватить вызов по вызываемому каналу, набрав *8#. Значения для номеров групп находятся в диапазоне от 0 до 31.
По умолчанию: пустая строка, т.е. группы не определены.
group=1
pickupgroup=3,4
Дополнительная информация о Каналах и группах
Если вы набираете *8#, когда поступают несколько вызовов по каналам, вызовы которых Вы можете перехватить, тогда вы ответите на "первый звонящий канал", т.е. Вы не можете управлять процессом и определить на какой вызов Вы ответите.
useincomingcalleridonzaptransfer: Если вы установите этот параметр в "yes" (Use Incoming Caller ID On Zap Transfer) то, когда вы перенаправляете вызов на другой телефон, будет использовано оригинальное значение Caller*ID вызывающего абонента.
По умолчанию: no.
useincomingcalleridonzaptransfer=yes
Параметры для управления Caller*ID
callerid: Установка строки со значением поля Caller*ID для отправки удаленному абоненту, когда осуществляется исходящий вызов по заданному каналу. Обычно используется для установки значения Caller*ID для аналоговых телефонных аппаратов. Поле имения для Caller*ID указывается в двойных кавычках, дополняя его полем номера для Caller*ID внутри символов "<>". Для транковых линий, можно установить значение "asreceived", для использования принятого от удаленного абонента значения Caller*ID.
callerid="Mark Spencer" <256 428-6000>
callerid=
callerid=asreceived
Важное замечание: Данные Caller*ID могут быть переданы в публичную сеть только, если это позволяет использующееся аппаратное обеспечение, например, через PRI интерфейс. Для аналоговых линий не существует возможности установить значение caller*ID для исходящих через нее вызовов.
usecallerid: Для аналоговых аппаратов, эта опция заставляет сервер Asterisk отправлять данные Caller*ID при вызове этого аппарата. Для аналоговых транков, эта опция заставляет сервер Asterisk получать значение Caller*ID при поступающих вызовах.
По умолчанию: yes.
usecallerid=no
hidecallerid: (Не предназначена для транковых FXO линий) Для каналов PRI, использование этого параметра запрещает отправлять данные Caller*ID при совершении исходящих вызовов через них. Для аналоговых FXS аппаратов, его использование запрещает серверу Asterisk отправлять в этот канал данные Caller*ID вызывающего абонента, при совершении вызова данного аппарата. Пользователь, использующий FXS оконечное оборудование, может разрешить или запретить отправку себе данных Caller*ID только для текущего вызова, подняв трубку и набрав *82 (разрешить) или *67 (запретить); после этого вы услышите сигнал КПВ и можете набирать номер интересующего Вас абонента.
По умолчанию: no.
hidecallerid=yes
restrictcid: (только для PRI каналов) Эта опция имеет смысл, только если установлен параметр hidecallerid=no. Если установлено: hidecallerid=no и restrictcid=yes, сервер Asterisk не будет передавать данные Caller*ID для предоставления его, в качестве номера вызывающего абонента при совершении исходящих вызовов (данные ANI по прежнему передаются).
По умолчанию: no.
restrictcid=yes
usecallingpres: (только для PRI каналов) Использовать или нет предоставления данных Caller*ID для исходящих вызовов, которые были получены с вызывающего коммутатора. Смотри описание команды CallingPres. Дополнительная информация: in this discussion от 2003 года.
usecallingpres=no
Параметры, влияющие на качества звука
Данные опции настраивают параметры сервера Asterisk, которые влияют на качество звука каналов Zapata.
Ссылки по теме:
- Подавление эха на Wildcard X100P
- Подавление эха в Asterisk
- Подавление эха в Asterisk: для линий FXO и FXS
- Предотвращение появления эха в Asterisk
- Анализатор эха для VoIP
relaxdtmf: Если у Вас возникают проблемы с детектированием DTMF сигнала, вы можете ослабить строгость детектирования DTMF. Ослабление строгости детектирования DTMF посылок может приводить к "ложным срабатыванием", когда определяется наличие DTMF сигнала при его отсутствии.
По умолчанию: no.
relaxdtmf=yes
echocancel: Включение или выключение эхоподавления (по умолчанию - 'yes'). Рекомендуется не выключать эту функцию. Вы можете определить этот параметр в значение 'yes' (128 отметок), 'no' (0 отметок - подавление выключено), или задать количество отметок (tap), которое может принимать значение: 16, 32, 64, 128, или 256. Каждая отметка - это один отрезок потока данных. Таким образом, для канала T1 - это отрезок длинной 1/8000 секунды. Соответственно, вышеприведенные значения отметок соответствуют продолжительности сигнала длинной: 2ms, 4ms, 8ms, 16ms или 32ms. Обратите внимание, что если Вы установите этот параметр в значение, отличное от вышеприведенных, тогда сервер Asterisk вернется к значению по умолчанию, равному 128 отметок, без всякого предупреждения.
echocancel=no
echocancelwhenbridged: Включить или выключить эхоподавление при сквозном прохождении вызова по каналам TDM . В принципе, при транзитном прохождении вызова по каналам TDM эхоподавление не требуется, но часто качество аудиосигнала улучшается при включении этой функции.
По умолчанию: no.
echocancelwhenbridged=yes
echotraining: В некоторых случаях, эхоподавитель не может достаточно быстро адоптироваться к сигналу и, вследствии этого, в начале вызова появляется эхо, которое постепенно исчезает. Включая возможность тренировки эхоподавителя приводит к тому, что сервер Asterisk ненадолго отключает звук от канала, отправляет импульсный сигнал, и использует отклик, полученый в ответ на этот импульс, для предварительной настройки эхоподавителя. Таким образом, он начинает работать с учетом задержки максимально приближенной к реальной. Однако характеристики некоторых линий связи могут изменяться, когда два удаленных абонента соединяются между собой и, если существует значительная разница между задержками между состояниями, когда абоненты еще не соединены и финальным состоянием всей цепи связи. Калибровочный импульс может использоваться для определения характеристик только каждого плеча связи по отдельности, а не всего соединенного тракта связи. Соответственно, вы можете для этого параметра определить значение в диапазоне от 10ms до 4000ms, в качестве задержки между установлением связи и процессом калибрации или значение - 'yes', что эквивалентно значению в 400ms.
По умолчанию: undefined.
echotraining=no
rxgain: Настройка уровня принимаемого сигнала. С помощью этого параметра можно увеличить или уменьшить уровень поступающего аудиосигнала, чтобы скомпенсировать их различия для различного оборудования. Вы можете использовать в качестве параметра целые числа в диапазоне от -100 до 100, что соответствует настройкам от 100% уменьшения уровня до 100% его усиления.
Значение по умолчанию: 0.0
rxgain=4.2
txgain: Настройка уровня передаваемого сигнала. С помощью этого параметра можно увеличить или уменьшить уровень передаваемого сигнала, чтобы скомпенсировать их различия для различного оборудования. Значения аргументов - такие же, как и для параметра "rxgain".
По умолчанию: 0.0
txgain=-15.9
Смотри: настройка уровней сигналов для драйвера zapata
Параметры для протоколирования вызовов
Сервер Asterisk обычно создает записи с детальной информацией по вызовам "Call Detail Records" (CDR), сохраняя их в текстовые log-файлы или в базе данных, для вызовов, проходящих через сервер Asterisk. Эти данные могут использоваться для Автоматизированной системы учета - "Automated Machine Accounting" (AMA). Смотри: Билинг в Asterisk.
accountcode: Устанавливает значение поля "account code" для записей CDR вызовов поступающих из этого канала. "account code" - это строка, содержащая цифры и буквы. Это поле может быть переопределено во время вызова с помощью команды SetAccount.
accountcode=spencer145
amaflags: Установка значения флага AMA, влияющего на классификацию записей в CDR. Доступные значения следующие:
- default: Использовать значения по умолчанию, используемых в системе CDR.
- omit: Не протоколировать вызовы по этому каналу.
- billing: Пометить запись для использования в билинговых целях
- documentation: Пометить запись для ее документирования.
Настройки таймеров
Эти параметры используются только для линий T1 (исключая PRI). Все значения в миллисекундах. Во многих случаях не нужно устанавливать значения этих параметров, т.к. значения по умолчанию подходят для большинства аппаратного обеспечения. Но стоит отметить, что оборудование "Adtran Atlas" использует более длинный wink, приблизительно 300 миллисекунд, и каналы для него должны быть сконфигурированы соответственно.
prewink: Установка продолжительности для pre-wink.
preflash: Установка продолжительности для pre-flash.
wink: Установка продолжительности для wink.
rxwink: Установка продолжительности receive wink.
rxflash: Установка продолжительности receive flash.
flash: Установка продолжительности flash.
start: Установка продолжительности start.
debounce: Установка времени для блокирования ложных срабатываний при переключении (debounce). "Установка debounce в конфигурации сервера Asterisk, влияет на то, как он обрабатывает переключения hookswitch для интерфейсов FXO/FXS." — Derek Bruce
rxwink=300
prewink=20~~
Другие возможности
mailbox: Если этот параметр указан для канала, то когда абонент снимет трубку, сервер Asterisk будет проверять, указанный в этом параметре, голосовой ящик(и) на предмет новых (непрочитанных) сообщений. Если хотя бы в одном ящике есть непрочитанные сообщения, сервер Asterisk будет использовать заикающийся "stutter" длинный гудок, вместо обычного сигнала КПВ. Также, если это поддерживает аппаратное обеспечение, будет включен индикатор новых сообщений — однако, для этого может понадобиться установить параметр: "adsi=yes". Дополнение: этой функции НЕ НУЖНА поддержка ADSI. Будет использоваться отправка в линию стандартной тональной FSK посылки, которая активирует индикатор MWI для любого совместимого аналогового телефона.
Значением этого параметра является один или несколько, разделенных запятыми, номеров голосовых ящиков, которые определены в файле voicemail.conf.
mailbox = 1234
mailbox = 1,2
Для каждого голосового ящика, если он определен в контексте, отличного от "default", укажите имя контекста после номера ящика, отделив его символом '@'.
mailbox = 1234@office
mailbox = 12@office,34@home
group: Позволяет Вам объединить множество Zap каналов так, что команда Dial обрабатывала группу как один логический канал. Когда Функция Dial пытается совершить вызов, используя группу Zap каналов, модуль канала Zap будет использовать первый доступный (свободный) канал, включенный в группу. Членство во множестве различных групп можно задать, перечислив их номера через запятую, а указать отсутствия членства канала в каких-либо группах можно указать, опустив значение параметра после символа '='. Номера групп могут иметь значения в диапазоне от 0 до 31.
Значение по умолчанию: пустая строка, т.е. отсутствие членства в группах.
group=1
group=2,3
group=
Дополнительная информация о Каналах и группах
language: Каждый канал имеет код языка, по умолчанию, который влияет на то, какой языковой версии будут проигрываться сервером Asterisk заранее подготовленные звуковые файлы для этого канала. Смотри: Настройка многоязыковой версии сервера Asterisk.
По умолчанию: пустая строка.
language=en
progzone: Тут определяется зона, определяющая частоты и временные параметры сигналов, детектируемых для определения состояния вызова, определенные в файле исходных кодов: asterisk/dsp.c. Это определения ОТЛИЧАЮТСЯ от тех, что определены в файлах zaptel/zonedata.c и /etc/asterisk/indications.conf для этих целей, и, соответственно, вы можете использовать для этого параметра только значения (определены в dsp.c): us, ca, br, cr и uk. (Это было добавлено где то между стабильной версией 1.0.9 и бета версией 1.2).
По умолчанию: us
Основные параметры
context: Здесь указывается контекст, в который попадают вызовы, поступающие по этому каналу. Контекст указывает серверу Asterisk, как ему надо обрабатывать вызовы. Контексты определены в плане набора.
По умолчанию: "default".
context=internal
channel: Этот параметр не похож на все остальные директивы в этом файле конфигурации, т.к. все остальные параметры просто задают настройки, которые будут использованы для создаваемых каналов. Эта же Директива заставляет сервер Asterisk фактически создать канал с настройками, которые были заданы ранее в этом файле.
Директива "channel" определяет один или несколько каналов. Каждое определение каналов наследует все ранее определенные в этом файле параметры. Каналы можно определить индивидуально, разделив их номера запятой или задать их значения как диапазон - через дефис. Создание канала не изменяет ранее заданных настроек, следовательно, любой, определенный позже, канал унаследуют все настройки текущего канала, если только вы их не переопределите.
channel => 16
channel => 2,3
channel => 1-8
Устаревшие параметры
stripmsd: (Устарел) Удаляет заданное количество цифр с начала набираемого номера при совершении исходящего вызова через данный канал. В качестве аргумента - количество удаляемых цифр. Вместо нее используйте конструкцию: ${EXTEN:x} в плане набора.
Примеры фалов с настройками
zapata.conf.sample
Файл: /usr/src/asterisk/configs/zapata.conf.sample из архивас исходными кодами - прекрасное руководство, на предмет того, какие параметры Вы можете использовать с той версией сервера Asterisk, который Вы используете.
Ссылки по теме
- Переход с Zaptel на DAHDI
- Проект: Zaptel драйвер для FreeBSD
- Пульсовый набор для каналов Zap
- Asterisk TDMoE: Как настроить Asterisk TDM через Ethernet
- Configuring Adtran TSU 600
- Каналы Asterisk
- Asterisk канал типа Zap
- Конфигурация Asterisk
- Asterisk