Заметьте, что агрессивное эхоподавление может создать эффект портативной полудуплексной радиостанции. Оно должно быть активировано, только если все остальные методы снижения эха не обеспечили результата.
Активация эхоподавления для интерфейсов Zaptel осуществляется в файле zapata.conf. В стандартной конфигурации эхоподавление активируется строкой echocancel=yes. echocancelwhenbridged=yes обеспечит эхо- подавление для звонков, проходящих через TDM. Хотя такие звонки не должны требовать эхоподавления, это может улучшить их качество. Если эхоподавление активировано, эхокомпенсатор распознает эхо в линии во время звонка. Поэтому эхо может быть слышимо в начале разговора и со временем уменьшаться. Чтобы избежать этого, можно прибегнуть к методу, называемому
Аппаратное эхоподавление
Программное эхоподавление - не самый эффективный способ борьбы с эхом. Если планируется развертывание системы хорошего качества, потратьте дополнительные средства на платы, снабженные устройствами аппаратного эхоподавления. Такие платы несколько дороже обычных, но они быстро окупятся, поскольку обеспечат снижение нагрузки на ЦП и сберегут ваши нервы благодаря сокращению жалоб пользователей.
Asterisk и VoIP
Для вас не должно быть сюрпризом, что Asterisk любит работать с VoIP. Но для этого ей надо знать, какую функцию выполнять: клиента, сервера или и того и другого. Одна из наиболее сложных и часто сбивающих с толку концепций в Asterisk - схема присваивания имен при аутентификации входящих и исходящих вызовов.
Пользователи, и равноправные участники, и друзья - о, боже!
Соединения, устанавливаемые с нами или нами, определены в файлах iax.conf и sip.conf как user (пользователь) и peer (равноправный участник). Соединения, которые могут выполняться в обоих направлениях, могут быть определены как friend (друг). При определении, в каком направлении происходит аутентификация, всегда важно посмотреть на направление каналов с точки зрения Asterisk, поскольку соединения принимаются и создаются сервером Asterisk.
Соединения user
Соединение, определенное как user, - это любая система/пользователь/конечная точка, которой мы разрешаем соединяться с нами. Помните, что описание user не обеспечивает метода вызова этого пользователя; тип user используется просто для создания канала для входящих звонков[96]. В описании user потребуется задать имя контекста для обозначения места диалплана (в файле extensions.conf), где будет начинаться обработка аутентифицированных звонков.
Соединения peer
Соединение типа peer является исходящим. Представим это так: пользователи (users) звонят нам, тогда как мы звоним равноправным участникам (peers). Поскольку равноправные участники не звонят нам, описание peer обычно не требует задания имени контекста. Однако есть одно исключение: если звонки, берущие начало в вашей системе, возвращаются в вашу же систему, входящие звонки (которые берут начало на SIP-прокси, а не на агенте пользователя) будут сопоставляться с описанием peer. Контекст default должен обрабатывать эти входящие звонки соответствующим образом, хотя предпочтительнее, чтобы контексты были определены для каждого peer отдельно[97]. Чтобы знать, куда отправлять вызов, необходимо иметь информацию о местонахождении хоста в Интернете (то есть знать его IP-адрес). Местоположение peer может быть определено или статически, или динамически. Динамический peer конфигурируется с помощью строки host=dynamic, размещаемой под заголовком описания. Поскольку IP- адрес динамического peer может меняться постоянно, он должен регистрироваться на сервере Asterisk, чтобы его IP-адрес был известен и звонки могли успешно направляться к нему. Если удаленным концом является другой сервер Asterisk, необходимо использовать выражение register, что обсуждается ниже.
Соединения friend
Определение типа friend является сокращенной записью для соединения, которое может быть и user, и peer. Однако соединения, являющиеся и user, и peer, не всегда определяются так, потому что индивидуаль-
ное описание каждого направления создания вызова (использование двух описаний, user и peer) обеспечивает возможность более тонкой настройки и управления каждым отдельно взятым соединением. На рис. 8.2 показан поток управления аутентификацией по отношению к Asterisk.
Выражения register