412 000 произведений, 108 200 авторов.

Электронная библиотека книг » Джим Меггелен » Asterisk™: будущее телефонии Второе издание » Текст книги (страница 28)
Asterisk™: будущее телефонии Второе издание
  • Текст добавлен: 7 октября 2016, 17:17

Текст книги "Asterisk™: будущее телефонии Второе издание"


Автор книги: Джим Меггелен


Соавторы: Джаред Смит,Лейф Мадсен

Жанр:

   

ОС и Сети


сообщить о нарушении

Текущая страница: 28 (всего у книги 41 страниц)

Равноправный информационный обмен

Поскольку сети-монополисты, в числе которых PSTN, сдали позиции таким поддерживаемым сообществами пользователей сетям, как Интернет, придет время, когда понадобится обеспечить возможность их соединения. Хотя традиционные поставщики услуг предпочли бы, чтобы существующая модель была перенесена в новую систему, скорее всего, телефонные звонки станут не более чем еще одним интернет– приложением.

Но проблема остается: как сохранить телефонный план нумерации, который уже стал настолько привычным и удобным?

E.164

ITU определил план нумерации в своей спецификации E.164. Если вы когда-нибудь использовали телефон для звонков по PSTN, можете с уверенностью заявлять, что знакомы с концепцией нумерации по E.164. До появления общедоступного VoIP никто не заботился о E.164, кроме телефонных компаний. В этом просто не было необходимости. Теперь, когда звонки путешествуют из PSTN в Интернет и бог знает куда еще, на E.164 необходимо обратить внимание.

ENUM

В ответ на эту проблему IETF профинансировал рабочую группу по разработке протокола отображения телефонных номеров Telephone Number Mapping (ENUM), целью которой было объединение номеров E.164 со службой доменных имен (Domain Name System, DNS). Идея ENUM разумна, но для достижения успеха необходима поддержка со стороны телекоммуникационной отрасли. Однако желание сотрудничать никогда не входило в число добродетелей этой отрасли, поэтому проект ENUM потерпел неудачу.

e164.org

Ребята с e164.org пытаются обеспечить успех ENUM. Можно зарегистрироваться на этом сайте, зарегистрировать свой номер телефона и сообщить системе альтернативные методы, по которым возможно связаться с вами. Это означает, что кто-то, кому известен ваш номер телефона, сможет позвонить вам по VoIP, поскольку DNS-зона e164.org предоставит информацию об IP-адресе и протоколе, необходимую, чтобы связаться с вами.

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

DUNDi

Распределенный универсальный каталог номеров (DUNDi) – это открытый протокол маршрутизации, разработанный для обслуживания динамических таблиц маршрутизации, которые предназначены для соединения между совместимыми системами (больше информации можно найти в главе 14). Хотя в настоящее время Asterisk является единственной офисной АТС, поддерживающей DUNDi, открытость этого стандарта позволяет реализовать его кому угодно. DUNDi имеет огромный потенциал, но он еще находится в начальной стадии развития, не стоит упускать это из виду.

Проблемы

Как и любое стоящее начинание, Asterisk столкнется с проблемами. Давайте кратко рассмотрим, какого рода трудности это могут быть.

Слишком много изменений, слишком мало стандартов

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

Спам по VoIP

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

Страх, неопределенность и сомнение

Отрасль находится на стадии перехода от игнорирования к осмеянию. Если Ганди прав, можно ожидать скорой войны.

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

Искусственное создание узких мест

Ширятся слухи, что крупные операторы сети телекоммуникаций начнут вмешиваться в трафик VoIP, помечая и отдавая предпочтение трафику своих VoIP-сервисов, предоставляемых за дополнительную плату, и, самое худшее, выявляя и устраняя любой VoIP-трафик, сформированный сервисами, которые не были ими санкционированы. Кое-что из этого уже происходит: поставщики сервисов блокируют в своих сетях прохождение определенного трафика, объясняя это выполнением неких общественных функций (например, блокирование популярных сервисов общего доступа к файлам для защиты нас от пиратства). В США Федеральная комиссия по связи (ФКС) заняла четкую позицию по данному вопросу и оштрафовала компании, замеченные в таких действиях. В остальном мире правоохранительные органы не всегда так благосклонны к VoIP.

Очевидно лишь то, что сообщество и Сеть найдут способы обойти преграды, как они всегда это делали.

Нормативно-правовые войны

Недавно вышедший в отставку руководитель Федеральной комиссии по связи США Майкл Пауэлл (Michael Powell) сделал подарок, который, возможно, изменит путь развития революции VoIP. Вместо того чтобы делать попытки регулирования VoIP как телекоммуникационного сервиса, он поддержал идею о том, что VoIP представляет совершенно новый способ связи и требует собственного правового поля, в котором будет развиваться.

VoIP станет регламентируемым, но не везде как сервис телефонной связи. Вот некоторые из возможных норм: Наличие информации для экстренных служб

Одна из характеристик традиционной сети PSTN – она не меняет своего местоположения. Это очень полезно для экстренных служб, поскольку они могут определить местоположение вызывающего абонента, определив адрес телефонной сети, из которой поступил звонок. Распространение сотовых телефонов сильно усложнило ситуацию, поскольку сотовый телефон не имеет определенного адреса. Он может подключиться к любой сети и зарегистрироваться на любом сервере. Если телефон не предоставляет информации о своем физическом местоположении, вызов экстренной службы с него не обеспечит никаких данных о том, где находится звонящий. VoIP создает аналогичные проблемы.

Отслеживание звонков для правоохранительных органов

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

Эти меры уже применяются в США: взимание штрафов с сетевых провайдеров, которые пытаются фильтровать трафик на основании содержимого.

Что касается регулирования, здесь Asterisk выступает в роли и ангела, и беса одновременно: ангела – потому, что помогает бедным, а беса – потому, что обеспечивает богатейшие возможности хакерам и спаме– рам как никто другой. Регулирование телефонии с открытым исходным кодом частично может определяться уровнем саморегулируемости сообщества разработчиков. Такие концепции, как DUNDi, которые включают процессы, направленные против распространения спама, являются превосходным началом. С другой стороны, такие идеи, как подделка идентификатора вызывающего абонента, – готовая площадка для злоупотреблений.

Качество и класс предоставляемых услуг передачи данных

Реальность такова, что Интернет на базе TCP/IP обеспечивает негарантированное обслуживание. Из-за этого пока невозможно сказать, как стремительно растущий VoIP-трафик реального времени повлияет на общую производительность Сети. В настоящее время превышение имеющейся полосы пропускания магистральной сети таково, что обеспечивает приемлемое качество даже в условиях негарантированного обслуживания. Однако мы не раз убеждались, что какая бы большая полоса пропускания ни была предоставлена, мы всегда найдем ей применение. DSL-соединения 1 Мб, немыслимого пять лет назад, сегодня едва хватает.

Наверное, следствие закона Мура[139]139
  Гордон Мур в 1965 году написал статью, в которой предсказал удвоение количества транзисторов в процессоре каждые несколько лет.


[Закрыть]
будет применимо и к пропускной способности Сети. Вопрос качества услуг может стать неактуальным по причине способности Сети предоставлять необходимую производительность без какой-либо специальной обработки. Организации, требующие более высоких уровней надежности, могут предпочесть отдельно оплачивать более качественные услуги. Возможно, эру поминутной оплаты междугородных соединений сменит эпоха помиллисекунд– ной оплаты за связь с гарантированной низкой задержкой или за каждую долю процентов сокращения потери пакетов. Сервисы, предоставляемые за дополнительную плату, предлагают уровень надежности с пятью девятками[140]140
  Здесь речь идет о 99,999%, что преподносится как степень надежности, предоставляемая традиционными телефонными сетями. «Пять девяток» означает, что бездействие сервиса в год не может превышать 5 мин 15 с. Многие верят, что VoIP должен будет достичь такого уровня надежности, прежде чем можно будет ожидать, что он полностью заменит PSTN. Другие верят, что PSTN даже не приближается к надежности с «пятью девятками». Мы уверены, что эта величина могла бы быть прекрасным показателем для описания высокой надежности, но отделы сбыта слишком злоупотребляют им.


[Закрыть]
, что традиционные телефонные компании всегда преподносят как аргумент в свою пользу против VoIP.

Сложность

Открытые системы требуют новых подходов к проектированию решения. Дешевизна оборудования и ПО еще не означает, что таким же дешевым будет и решение. Asterisk не является стандартным ПО, готовым к использованию; его надо спроектировать и собрать, а затем и обслуживать. Поскольку базовое ПО бесплатно и цены на оборудование будут формироваться на основании конъюнктуры рынка, справедливости ради следует отметить, что для высокоспециализированной системы стоимость настройки будет составлять значительную часть цены решения. Во многих случаях из-за высокой сложности и гибкости конфигурации эта составляющая больше, чем она была бы для традиционной офисной АТС.

Обычно основное правило такое: если это может быть сделано в диал– плане, проектирование системы займет примерно столько же времени, как и проектирование любой традиционной офисной АТС с аналогичными функциями. Для всего, что сверх этого, оценить время, необходимое для построения системы, можно только исходя из опыта. Здесь еще многому надо учиться.

Возможности

Телефония с открытым исходным кодом создает неограниченные возможности. Вот некоторые из наиболее привлекательных.

Частные телекоммуникационные сети, выполненные на заказ

Кто-то скажет, что главное – цена, но мы верим, что реальное основание для будущего успеха Asterisk в том, что она позволяет создавать систему телефонной связи так же, как мы создавали бы веб-сайт: с возможностью полной настройки каждого аспекта системы. Пользователи мечтали об этом годами. Только Asterisk может обеспечить это.

Доступность

Каждый может сделать свой вклад в будущее связи. Теперь любой владелец старенького ПК стоимостью 200 долларов в состоянии создать систему связи с настолько развитой логикой, что она может конкурировать с самыми дорогими узкоспециализированными системами. Даже если оборудование не готово к производственной эксплуатации, нет такой причины, по которой ПО не было бы таковым. Это одна из причин, по которой закрытые системы ожидают трудные времена конкуренции. То огромное число людей, которые имеют доступ к необходимому оборудованию, не идет ни в какое сравнение с количеством членов закрытого клуба.

Решения, размещаемые на ресурсах поставщиков услуг, сложность которых сравнима со сложностью корпоративных веб-сайтов

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

Реальная интеграция технологий связи

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

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

A

Каналы VoIP

Каналы VoIP в Asterisk представляют средство соединения с протоколами, которые они поддерживают. Для использования протокола необходим конфигурационный файл, где содержатся общие параметры, описывающие, как система обрабатывает протокол, а также специальные параметры для каждого канала (или устройства), которые будут упоминаться в диалплане. В данном приложении подробно рассматриваются конфигурационные файлы протоколов IAX и SIP.

IAX

Конфигурационный файл IAX (iax.conf) содержит всю конфигурационную информацию, необходимую Asterisk для создания и управления каналами, работающими по протоколу IAX. Разделы файла отделены заголовками, сформированными словом, заключенным в квадратные скобки ([]). Имя в скобках будет именем канала за одним исключением: раздел [general] не является каналом, это область, где определяются глобальные параметры протокола.

В данном разделе рассматриваются различные общие и специальные настройки канала, определяемые в файле iax.conf. Мы опишем каждый параметр, а затем приведем пример его использования. Некоторые опции могут иметь несколько действительных аргументов. Список этих аргументов, разделенных символом вертикальной черты (|), приводится рядом с опцией. Например, запись bandwidth=low|medium|high означает, что параметр bandwidth принимает в качестве аргумента одно из значений: low, medium или high.

Комментарии можно вставлять в любом месте файла iax.conf. Текст комментария начинается с точки с запятой (;). Все, что располагается справа от точки с запятой, будет проигнорировано обработчиком Asterisk. Комментарии могут использоваться достаточно активно.

Общие настройки IAX

Первой незакомментированной строкой в файле iax.conf должен быть заголовок [general]. Параметры в этом разделе будут применяться ко всем соединениям, использующим данный протокол, если не определено другое в описании конкретного канала. Поскольку некоторые из этих настроек могут определяться для канала индивидуально, меткой (глобальный) мы обозначили настройки, которые всегда глобальны, а меткой (канал) – те, которые могут задаваться для каждого канала в отдельности. Если параметр задается в разделе [general], его не надо определять для каждого канала; его значение становится значением по умолчанию. Помните, что определение параметра в разделе [general] не запрещает задавать ему другое значение для конкретного канала; это просто делает данное значение значением по умолчанию. Также нельзя забывать, что отсутствие задания этих параметров может в некоторых случаях приводить к использованию системных значений по умолчанию.

Вот параметры, которые могут быть сконфигурированы: accountcode (канал)

Код учетной записи может определяться для каждого пользователя. Если задан, этот код учетной записи будет присваиваться записи вызова, если не задан код учетной записи конкретного пользователя. Заданное имя accountcode будет использоваться как имя файла в формате CSV в папке /var/log/asterisk/cdr-csv/, где хранятся записи параметров вызовов (Call Detail Records, CDRs) для соединений типа user/peer/friend:

accountcode=iax-имяпользователя adsi (канал)

Поддержка ADSI (Analog Display Services Interface – интерфейс сервисов для аналогового дисплея) может быть активирована только при наличии совместимого с ADSI телекоммуникационного оборудования на стороне клиента (CPE-оборудования): adsi=yes|no allow и disallow (канал)

Могут быть разрешены или запрещены определенные кодеки, что позволяет разработчику системы задавать перечень используемых кодеков. allow и disallow также могут быть определены для канала отдельно. Помните, что выражения allow в разделе [general] будут распространяться на все каналы, для которых не переопределено disallow=all. Согласование кодеков ведется в порядке их задания.

Лучшей практикой считается определять disallow=all, а затем в выражениях allow явно задавать каждый кодек, который вы желаете использовать. Если ничего не задано, предполагается allow=all:

disallow=all allow=ulaw allow=gsm allow=ilbc

amaflags (канал)

Система автоматической регистрации сообщений (Automatic Message Accounting, AMA) описана в наборе документов компании Telcordia, зарегистрированных как FR-AMA-1. Эти документы определяют стандартные механизмы формирования и передачи CDR. Можно задать один из четырех флагов AMA, который будет применяться ко всем IAX-соединениям:

am flags=default|omit|billing|documentation authdebug (глобальный)

Можно свести до минимума объем записи параметров аутентификации, отключив его с помощью authdebug=no. Запись параметров аутентификации активирована по умолчанию, если не отключена явно:

authdebug=no autokill (глобальный)

Чтобы максимально сократить опасность зависания в условиях недоступности хоста, можно задать для параметра autokill значение yes, тогда любое новое соединение будет разорвано при отсутствии подтверждения ACK в течение 2000 мс. (Очевидно, что это не рекомендуется для хостов с большой задержкой.) Вместо yes можно указать время ожидания в миллисекундах перед тем, как будет принято решение о недоступности равноправного участника сети. Параметр autokill задает время ожидания для всех равноправных участников, работающих по протоколу IAX2, но с помощью команды qualify его можно сконфигурировать для каждого равноправного участника в отдельности: autokill=1500 bandwidth (канал)

bandwidth – это сокращенная запись, которая поможет избежать применения disallow=all и множества выражений allow для задания используемых кодеков. Допустимыми опциями являются:

high

Допускаются все медиа-кодеки (G.723.1, GSM, plaw, alaw, G.726, ADPCM, slinear, LPC10, G.729, Speex, iLBC).

medium

Допускаются все кодеки, кроме slinear, plaw и alaw.

low

Допускаются все медиа-кодеки, кроме G.726 и ADPCM. bandwidth=low|medium|high bindport и bindaddr (глобальные)

Эти необязательные параметры позволяют задавать IP-интерфейс и порт, которые будут принимать IAX-соединения. Если они опущены, будет задан порт 4569, и все IP-адреса системы Asterisk будут принимать входящие IAX-соединения. Если задано несколько адресов привязки, IAX-соединения будет принимать только заданный интерфейс[141]141
  В настоящее время Asterisk работает только с одной опцией bindaddr. Если необходимо слушать более одного адреса, придется использовать 0.0.0.0. Обратите внимание, что Asterisk работает в многосетевой среде, но не с многоадресными интерфейсами. Asterisk выбирает интерфейс, с которого будет отправлен пакет, используя таблицу маршрутизации системы, и в качестве исходного применяется основной адрес этого интерфейса.


[Закрыть]
. Использование вместо адреса 0.0.0.0 указывает Asterisk слушать все интерфейсы: bindport=4569 bindaddr=192.168.0.1

codecpriority (канал)

Опция codecpriority определяет, какие параметры при входящем вызове будут иметь преимущество при согласовании кодеков. Если этот параметр задан в разделе [general], выбранные опции будут наследоваться всеми пользовательскими настройками в конфигурационном файле канала; однако их можно задавать в отдельных пользовательских параметрах для более тонкой настройки. Если значения заданы и в [general], и в пользовательских разделах, настройки пользователя переопределяют настройки раздела [general]. Если этот параметр не задан, значение по умолчанию – host. К допустимым опциям относятся: caller

Вызывающая сторона имеет приоритет над хостом.

host

Хост имеет приоритет над вызывающей стороной.

disabled

Предпочтения кодеков не учитываются; это поведение по умолчанию, если не определены предпочтения кодеков.

reqonly

Предпочтения кодеков игнорируются, и вызовы принимаются, только если запрашиваемый кодек доступен:

codecpriority=caller|host|disabled|reqonly

delayreject (глобальный)

Если по IAX-каналу поступает ошибочный пароль, это обеспечит задержку отправки сообщений отказа REGREQ или AUTHREP, что поможет защититься от атак с подбором паролей. Время задержки – 1000 мс: delayreject=yes|no forcejitterbuffer (канал)

Поскольку Asterisk пытается соединить каналы (конечные точки) напрямую, конечным точкам обычно позволено самостоятельно выполнять буферизацию входящих сообщений, которая будет компенсировать задержки. Однако, если конечные точки имеют слабую реализацию такой буферизации, можно заставить Asterisk выполнять ее всегда, независимо от условий. Чтобы принудительно активировать буферизацию входящих сообщений для компенсации задержки, необходимо задать forcejitterbuffer=yes: forcejitterbuffer=yes iaxthreads и iaxmaxthreads (глобальные)

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

Настройка iaxmaxthreads определяет максимальное число дополнительных вспомогательных потоков IAX, которые могут быть созданы для обработки большого объема IAX-трафика:

iaxthreads=10 iaxmaxthreads=100

jitterbuffer (канал)

Неустойчивая синхронизация (Jitter) означает непостоянство задержки между поступлениями пакетов. Пакеты отправляются с конечного устройства с постоянной скоростью и практически постоянной задержкой между отправками. Однако при прохождении пакетов по Интернету задержка между ними может изменяться; из-за этого в место назначения пакеты поступают нерегулярно и, возможно, даже не в том порядке.

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

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

Активация буфера, компенсирующего задержки, выполняется строкой jitterbuffer=yes:

jitterbuffer=yes|no

language (канал)

Задает флаг языка для всего, что вы определяете. Глобальный язык по умолчанию – английский. Заданный язык отправляется каналом как элемент информации. Он также используется такими приложениями, как SayNumber(), при выборе соответствующего файла для воспроизведения. Не забывайте, что все остальные языки, кроме английского, не устанавливаются в системе явно, поэтому ваша задача – сконфигурировать систему так, чтобы гарантировать правильную обработку задаваемых языков: language=en mailboxdetail (глобальный)

Если для mailboxdetail задано значение yes, пользователю вместо простого отчета о наличии новых и старых сообщений отправляется количество новых/старых сообщений. Параметр mailboxdetail также может быть задан для каждого равноправного участника сети отдельно:

mailboxdetail=yes maxjitterbuffer (канал)

Этот параметр используется для задания максимального размера буфера, компенсирующего задержки, в миллисекундах. Не задавайте maxjitterbuffer слишком большое значение, это приведет к ненужному увеличению вашего времени ожидания: maxjitterbuffer=500 maxjitterinterps (канал)

Максимальное количество пустых кадров вставки, которое должен возвратить подряд буфер, компенсирующий задержки. Поскольку некоторые клиенты не передают кадры CNG/DTX для обозначения паузы в разговоре, буфер, компенсирующий задержки, будет воспринимать такое количество пустых кадров как начало паузы. Это предотвращает появление искажений при длительной паузе: maxjitterinterps=70 maxregexpire и minregexpire (канал)

Задают в секундах максимальный и минимальный временные интервалы для истечения срока действия регистрации: maxregexpire=7S0 minregexpire=60

mohinterpret (канал)

Эта опция определяет, какой класс музыки во время ожидания должен воспроизводиться по этому каналу, если в диалплане для канала нет выражения Set(CHANNEL(musicclass)=fl»6ow), определяющего класс музыки, и одноранговый канал, удерживающий вызов, не предлагает класса музыки.

Если эта опция имеет значение passthrough, для оповещения вместо локального воспроизведения музыки во время ожидания всегда будет передаваться сообщение ожидания. Эта опция может быть задана глобально или для каждого пользователя либо равноправного участника сети в отдельности: mohinterpret=default mohsuggest (канал)

Эта опция определяет, какой класс музыки во время ожидания (как определено в файле musiconhold.conf) должен предлагаться одноранговому каналу, когда этот канал переводит равноправного участника сети в режим ожидания. Он может быть задан глобально или для каждого пользователя либо равноправного участника сети в отдельности: mohsuggest=default nochecksums (глобальный)

Если этот параметр задан, Asterisk деактивирует вычисление контрольных сумм UDP пакетов и не будет проверять контрольные суммы UDP от систем, поддерживающих эту функцию: nochecksums=yes regcontext (канал)

Задавая контекст, содержащий некоторые команды, можно сконфигурировать Asterisk на выполнение ряда действий при регистрации равноправного участника сети на вашем сервере. Эта опция используется в сочетании с regexten, определяющей, какой добавочный номер должен быть выполнен. Если параметр regexten не задан, в качестве добавочного номера используется имя равноправного участника. Asterisk будет динамически создавать и уничтожать для добавочного номера NoOp в приоритете 1. Все действия, которые будут выполняться при регистрации, должны начинаться с приоритета 2. Может быть задано несколько regexten, разделенных символом &. regcontext задается для каждого равноправного участника или глобально: regcontext=зарегистрированные-телефоны regexten (канал)

Опция regexten используется в сочетании с regcontext для определения добавочного номера, выполняемого в заданном контексте. Если опция regexten не задана явно, в качестве добавочного номера для сопоставления используется имя равноправного участника сети:

regexten=мойтелефон resyncthreshold (канал)

Порог ресинхронизации используется для восстановления синхронизации буфера, компенсирующего задержки, если после получения нескольких кадров выявлено существенное отклонение, при условии что отклонение было обусловлено путаницей с временными метками. Порог ресинхронизации определяется как замеренная флуктуация1 плюс значение resyncthreshold в миллисекундах: resyncthreshold=1000 rtautoclear (глобальный)

Этот параметр определяет, должна ли Asterisk автоматически завершать действие регистрации соединений типа friend, созданных «на лету», по тому же графику, как если бы они были зарегистрированы обычным способом. Если задано значение yes, по истечении срока действия регистрации friend исчезнет из конфигурации до следующей регистрации. Если задано целое значение, регистрация будет действительна в течение этого количества секунд, а не обычного срока действия регистрации: rtautoclear=yes|no|количествосекунд rtcachefriends (глобальный)

Если rtcachefriends включен, Asterisk будет кэшировать соединения типа friend, регистрирующиеся в режиме реального времени, точно так же, как если бы они поступали из iax.conf. Это часто помогает в таких вопросах, как оповещение о непросмотренных сообщениях для равноправных участников сети, зарегистрировавшихся в режиме реального времени: rtcachefriends=yes|no rtignoreregexpire (глобальный)

Если для параметра rtignoreregexpire задано значение yes и срок регистрации равноправного участника сети, зарегистрировавшегося в режиме реального времени, истек (на основании срока действия регистрации), Asterisk продолжит использовать IP-адрес и порт, хранящиеся в базе данных: rtignoreregexpire=yes|no rtupdate (глобальный)

Если задано значение yes, Asterisk обновит при регистрации IP-ад– рес, порт вызова и срок действия регистрации равноправного участника сети. Значение по умолчанию – yes: rtupdate=yes|no tos (глобальный)

Asterisk может задавать в IP-заголовке биты типа обслуживания (Type of Service, TOS), чтобы способствовать повышению производительности в маршрутизаторах, которые учитывают TOS-биты при определении маршрутов. Допустимыми являются такие значения: CS0, CS1, CS2, CS3, CS4, CS5, CS6, CS7, AF11, AF12, AF13, AF21, AF22, AF23, AF31,

Флуктуация – случайное отклонение величины, характеризующей систему из большого числа частиц, от ее среднего значения. - Примеч. науч.ред.

AF32, AF33, AF41, AF42, AF43 и ef (expedited forwarding – срочная пересылка). Также для TOS-битов может использоваться числовое значение.

Больше информации можно найти в файле doc/ip-tos.txt в папке исходного кода Asterisk. trunk (канал)

Функция объединения каналов IAX2 позволяет Asterisk отправлять голосовые данные (в виде мини-кадров) из нескольких каналов под одним заголовком. Сокращение дополнительных издержек делает протокол IAX2 более эффективным при отправке нескольких потоков в одну конечную точку (обычно на другой сервер Asterisk): trunk=yes|no trunkfreq (канал)

trunkfreq используется для управления частотой отправки сообщений по магистральному каналу. Задается в миллисекундах. Сообщения отправляются вместе с командой trunk=yes: trunkfreq=20 trunktimestamps (канал)

Определяет, должна ли Asterisk посылать временные метки для каждого отдельного подкадра, входящего в состав магистрального кадра (trunk frame). При передаче этих временных меток немного увеличивается требуемая полоса пропускания (менее чем на 1 Кбит/с

Извлечение информации диалплана с удаленного сервера Asterisk

Asterisk может извлекать информацию диалплана с другого сервера Asterisk, используя выражение switch =>. Когда это происходит, драйвер IAX-канала Asterisk должен дождаться ответа от удаленного сервера, прежде чем сможет продолжать выполнение всех остальных связанных с IAX процессов. Это доставляет особенно много неприятностей, когда имеется множество вложенных выражений switch: если выражение switch указывает на несколько серверов, результат может возвратиться с ощутимой задержкой.

Если для глобальной опции iaxcompat задано значение yes, при осуществлении поиска switch Asterisk будет порождать отдельный поток. Использование этого потока позволяет драйверу IAX-канала продолжать выполнение других процессов, пока поток ожидает ответа. Эта опция обусловливает небольшие потери производительности: iaxcompat=yes|no

на вызов), но они гарантируют надежную передачу временных меток кадров из конца в конец. Если оба конца всех ваших магистральных каналов направляются прямо в TDM и значение trunkfreq равно длине кадра используемого кодека, вероятно, можно опустить этот параметр. Получатель также должен поддерживать эту функцию, хотя необязательно, чтобы она была у него активирована: trunktimestamps=yes|no


    Ваша оценка произведения:

Популярные книги за неделю