355 500 произведений, 25 200 авторов.

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

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


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


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

Жанр:

   

ОС и Сети


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

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

Asterisk: офисная АТС, создаваемая профессионалами

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

Однако похоже, что это признание произойдет быстрее, чем было в случае с Linux, по ряду причин:

• Linux уже проложил путь к признанию открытого исходного кода. Asterisk идет по проторенной дороге.

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

• Конечные пользователи уже сыты по горло несовместимыми системами с ограниченной функциональностью и ужасной поддержкой. Asterisk решает первые две проблемы – предприниматели и сообщество обеспечат последнее.

Сообщество разработчиков Asterisk

Одна из неоспоримых сильных сторон системы телефонии Asterisk – сообщество энтузиастов, разработавших и поддерживающих его, руководит которым Марк Спенсер, основатель компании Digium. Сообщество остро осознает культурную значимость Asterisk и с упоением смотрит в будущее.

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

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

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

Рассылки по Asterisk

Как и в любом другом сообществе, существуют сайты, где члены сообщества разработчиков Asterisk собираются для обсуждения вопросов, вызывающих всеобщий интерес. Список рассылок можно найти по адресу http:// lists.digium.com. Самыми значительными из них на настоящий момент являются вот эти четыре: Asterisk-Biz

В этой рассылке представлено все, что касается коммерческой деятельности, связанной с Asterisk. Если вы продаете что-то, связанное с Asterisk, делайте это здесь. Если хотите купить услугу или продукт Asterisk, пишите сюда. Asterisk-Dev

Здесь обитают разработчики Asterisk. Назначение этой рассылки – обсуждение разработки программы Asterisk, и его участники энергично отстаивают это. Ожидайте шквала негодования, если отправили в эту рассылку что-то, не относящееся непосредственно к программированию или разработке кодовой базы Asterisk. Общие вопросы по написанию кода (такие, как взаимодействие с AGI или AMI) следует направлять в рассылку Asterisk-Users.

Рассылка Asterisk-Dev не является средством технической поддержки пользователей! Если просмотреть архивы рассылок, можно увидеть, что это правило строго соблюдается. В Asterisk-Dev обсуждается разработка Asterisk, а вопросы о взаимодействии внешних программ через AGI или AMI следует направлять в рассылку Asterisk-Users.

Asterisk-Users

Это рассылка для пользователей Asterisk с более чем десятью тысячами подписчиков. В ней формируется несколько сотен сообщений в день. Сюда можно обратиться за помощью, но все-таки присылайте свои вопросы только после того, как попробовали и не смогли найти ответ самостоятельно. Asterisk-BSD

Здесь высказываются члены сообщества, реализующие Asterisk под FreeBSD (и другие диалекты BSD).

Википедия об Asterisk

Раздел Википедии по Asterisk (который существует по большей части благодаря неутомимым усилиям Джеймса Томпсона (James Thompson) – спасибо тебе, Джеймс!) – источник просвещения и путаницы. Управляемое сообществом хранилище знаний по VoIP (http://www.voip-info.org) – это просто кладезь интереснейшей, содержательной и часто противоречивой информации по многим вопросам, Asterisk является лишь одним из них.

Поскольку документация по Asterisk составляет основную массу информации на данном веб-сайте1 и, вероятно, на нем содержится больше сведений об Asterisk, чем во всех остальных источниках, вместе взятых (за исключением архивов рассылок), обычно этот веб-сайт указывают как основной ресурс данных об Asterisk2.

Каналы IRC

Сообщество разработчиков Asterisk поддерживает каналы ретрансляции интернет-чатов (Internet Relay Chat, IRC) на сайте irc.freenode.net. Самыми активными каналами являются #asterisk и #asterisk-dev[9]9
  Канал #asterisk-dev посвящен изменениям в базовом коде Asterisk и не предоставляет технической поддержки пользователям. Вопросы, касающиеся программирования внешних приложений, которые взаимодействуют с Asterisk через AGI или AMI, должны направляться в #asterisk.


[Закрыть]
. В целях защиты от спама теперь на обоих каналах требуется регистрация[10]10
  /msg nickserv помогает при соединении с сервером через ваш любимый IRC– клиент.


[Закрыть]
.

Группы пользователей Asterisk

На многих сайтах по всему миру одинокие пользователи Asterisk начинают осознавать, что в их городах есть и другие люди, разделяющие их пристрастие. Группы пользователей Asterisk (Asterisk User Groups,

AUGs) возникают повсюду. Хотя они никак официально не взаимосвязаны, обычно они дают ссылки на сайты друг друга и всегда рады любым новым членам. Введите в Google поисковые слова «Asterisk User Group», чтобы найти группу в своем регионе[11]11
  Русскоязычные ресурсы по Asterisk: http://asteriskpbx.ru/,http://www. asterisk-support.ru/, http://www.asteriskforum.ru/ - Примеч. науч.ред.


[Закрыть]
.

Проект создания документации Asterisk

Проект создания документации Asterisk (Asterisk Documentation Proj ect) начали осуществлять Лейф Мадсен и Джаред Смит, но в нем участвовали и другие члены сообщества.

Цель проекта – создание структурированного хранилища письменных источников по Asterisk. В противоположность гибкой и случайной природе Википедии, проект Docs направлен на формирование более узкоспециализированного подхода к различным связанным с Asterisk вопросам.

В рамках проекта Asterisk Docs, нацеленного на то, чтобы сделать документацию доступной в Сети, данная книга представлена на вебсайтеhttp://www.asteriskdocs.org по лицензии Creative Commons.

Экономическое обоснование

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

В своей книге «Crossing the Chasm» (HarperBusiness) Джеффри Мур (Geoffrey Moore) говорит: «Идея того, что ценность системы будет раскрываться постепенно и не будет известна на момент установки, подразумевает, в свою очередь, что гибкость и приспособляемость продукта, так же как и постоянное обслуживание клиентов, должны быть основными критериями оценки при покупке любой системы». В частности, это означает, что истинная ценность технологии порой бывает неясна вплоть до ее развертывания.

Теперь вы можете оценить привлекательность системы, в основу которой положена концепция открытости и постоянного обновления.

Об этой книге

Итак, с чего начнем? Об Asterisk можно рассказать столько, что одной книги не хватит. Мы не собираемся здесь вдаваться во все тонкости, просто рассмотрим основы.

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

Глава 3 посвящена тому, как получить, откомпилировать и установить Asterisk. В главе 4 речь идет об исходной конфигурации Asterisk. Здесь рассматриваются важные конфигурационные файлы, которые должны иметься для определения каналов и функций, доступных в конкретной системе. Этот материал подготовит почву для главы 5, где представлено сердце Asterisk – диалплан. Глава 6 ознакомит вас с некоторыми более сложными концепциями диалплана.

В главе 7 мы отдохнем от Asterisk и обсудим некоторые наиболее важные технологии, используемые в PSTN. В главе 8, посвященной действующим системам телефонии, мы, естественно, обсудим технологию передачи голоса по IP-протоколу.

В главе 9 представлен один из наиболее удивительных компонентов, шлюзовой интерфейс Asterisk (Asterisk Gateway Interface, AGI). Используя языки программирования Perl, PHP и Python, мы продемонстрируем, как можно использовать внешние программы для добавления в офисную АТС практически безграничных функциональных возможностей. В главе 14 кратко рассматриваются невероятные возможности и функции, составляющие феномен Asterisk. В завершение, глава 15 «заглядывает вперед», предсказывая будущее, в котором телефония с открытым исходным кодом полностью преображает отрасль, отчаянно нуждающуюся в революционных изменениях. Также в книге можно найти массу справочной информации, которая приводится в пяти приложениях.

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

Глава 2 Подготовка системы к установке Asterisk

Я очень рано понял, что когда-нибудь, где-то там за горизонтом, в некотором «идеальном» будущем, все необходимые функции обработки данных будут выполняться централизованно внутри компьютеров, что приведет к значительному удешевлению, а в некоторых случаях обесцениванию внешнего оборудования, необходимого для соединения с телекоммуникационными интерфейсами.

– Джим Диксон «The History of Zapata Telephony and How It Relates to the Asterisk PBX»

Вам, должно быть, уже не терпится настроить собственную систему Asterisk. Если вы планируете создать любительскую систему, то, пожалуй, можете перейти сразу к следующей главе и начать установку. Однако, если Asterisk развертывается для решения ответственных задач, необходимо сказать несколько слов о среде, в которой она будет выполняться. Будьте уверены, Asterisk – очень гибкое ПО и успешно устанавливается практически на любую платформу Linux, а также на несколько не-Linux платформ[12]12
  Есть опыт успешной компиляции и выполнения Asterisk на платах WRAP, маршрутизаторах Linksys WRT54G, системах Soekris, процессорах Pentium 100, PDA, Apple Mac, Sun SPARC, портативных компьютерах и многих других. Конечно, совершенно другой вопрос, захотите ли вы вводить в эксплуатацию такую систему. (Вообще говоря, реализация AstLinux, выполненная Кристианом Келхофнером, действительно замечательно осуществляется на плате Soekris 4801. К этому вопросу стоит вернуться после ознакомления с основами Asterisk. Загляните на сайтhttp://www.astlinux.org.)


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

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

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

Таблица 2.1. Рекомендации по выбору технических характеристик системы




Назначение Количество каналов Рекомендуемые минимальные параметры
Любительская системаНе более 5400 МГц х86, 256 M6 оперативной памяти
SOHO-система (малый офис и дом – менее трех линий и пяти телефонных аппаратов)От 5 до 101 ГГц х86, 512 M6 оперативной памяти
Малая бизнес-системаДо 253 ГГц х86, 1 Гб оперативной памяти
Средняя или большая системаБолее 25Два ЦП, возможно также несколько серверов в распределенной архитектуре


Результаты нагрузочного тестирования

Джошуа Колп (Joshua Colp) смог получить результаты, приведенные в табл. 2.2, используя процессор AMD Athlon64 X2 4200+ с 1 Гб оперативной памяти и жестким диском SATA емкостью 80 Гб и проводя тестирования по стандартному сценарию в приложении SIPp: простое установление соединения, воспроизведение аудиофайла (приложение Playback()) и некоторый небольшой период ожидания (Wait()). Обратите внимание на существенное снижение использования ресурсов ЦП при чтении данных из оперативной памяти по сравнению с чтением с жесткого диска. Это можно истолковать так, что ЦП ожидает данные, подлежащие обработке, перед передачей их в запрашивающий канал. Однако это всего лишь простой тест, и он никоим образом не отражает, какое количество вызовов сможет обрабатывать ваша система. Определить количество одновременных вызовов, которое может быть обработано при использовании конкретного диалплана и сочетания приложений, можно, только проведя нагрузочное тестирование системы.

Таблица 2.2. Пример результатов тестирования для стандартного сценария SIPp, использующего простые приложения Wait() и Playback(); SIPp отражает обратный медиа-поток Asterisk


Количество330330550
одновременных
вызовов
Использование14914,857,6
ЦП, %
Средняя нагрузка492560
ЗапоминающееЖесткий дискОЗУ ОЗУ
устройство

Для больших установок Asterisk функциональность обычно распределяют между несколькими серверами. Один или более центральных модулей будут заниматься обработкой вызовов; их дополнят один или более вспомогательных серверов, обслуживающих периферийные устройства (такие, как система баз данных, система голосовой почты, система конференц-связи, система управления, веб-интерфейс, межсетевой экран и т. д.). Asterisk, как и многие Linux-системы, может расширяться с ростом требований к ней: малая система, которая прекрасно справлялась со всеми задачами по обработке вызовов и обслуживанию периферийных устройств, может быть распределена между несколькими серверами, когда требования возрастут и превысят ее текущие возможности. Гибкость – основная причина, по которой Asterisk исключительно рентабельна для быстро растущего бизнеса; для нее не существует эффективного максимального или минимального размера, который следует учитывать при составлении сметы на покупку. Хотя масштабируемость свойственна большинству телефонных систем, до сих пор нам не приходилось слышать о системе, которая была бы настолько же гибкой, как Asterisk. Однако стоит отметить, что задача по проектированию распределенных систем Asterisk не по зубам новичку в Asterisk.

Тем, кто намерен настраивать распределенную систему Asterisk, рекомендуется изучить протокол DUNDi, архитектуру реального времени Asterisk (Asterisk Realtime Architecture, ARA), func_odbc и другие имеющиеся в распоряжении инструменты для работы с базами данных. Это поможет научиться извлекать из логики диалплана необходимые вашей системе данные, которые будут использоваться системой Asterisk. Это делает возможным существование универсального множества логик диалплана, которое может использоваться во множестве блоков. Тогда для масштабирования системы необходимо просто ввести в нее дополнительные блоки. Однако вопросы масштабирования выходят далеко за рамки данной книги, оставим это как упражнение для читателя. Некоторые инструменты, которые могут использоваться для масштабирования, рассмотрены в главе 12.

Выбор серверного оборудования

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

Вопросы производительности

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

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

Максимальное число одновременных соединений, которое система должна будет поддерживать

Каждое соединение будет увеличивать нагрузку на систему. Доля трафика в процентном выражении, который потребует интенсивной работы процессора для ЦОС кодеками, использующими алгоритмы сжатия (такими, как G.729 и GSM)

Работа по цифровой обработке сигнала (Digital Signal Processing, DSP), которую Asterisk осуществляет на программном уровне, может иметь огромное влияние на то, какое количество одновременных вызовов она будет поддерживать. Система, которая успешно обрабатывает 50 одновременных вызовов G.711, может потерпеть фиаско при запросе на одновременную обработку 10 каналов со сжатием, кодированных G.729. Мы подробнее поговорим о G.729, GSM, G.711 и многих других кодеках в главе 8. Будет ли обеспечиваться конференц-связь и какая интенсивность общения предполагается

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

Эхоподавление

Эхоподавление может потребоваться при любом вызове, в котором задействован интерфейс коммутируемой телефонной сети общего пользования (Public Switched Telephone Network, PSTN). Поскольку эхоподавление является математической функцией, чем больше системе приходится его выполнять, тем выше будет нагрузка на ЦП[13]13
  Частота ЦП примерно 30 МГц на канал.


[Закрыть]
. Не пугайтесь. Эхоподавление – это еще одна тема для главы 8. Логика разработки сценариев диалплана

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

Как именно эти факторы влияют на производительность, сказать наверняка сложно. Эффект от каждого из них описан в общем, но точного количественного выражения еще нет. Отчасти это объясняется тем, что воздействие каждого компонента системы зависит от множества величин, таких как тактовая частота ЦП, набор микросхем системной платы и общее качество, общий информационный трафик системы, оптимизации ядра Linux, сетевой трафик, количество и тип интерфейсов PSTN и трафик PSTN, не говоря уже о сервисах, не относящихся к Asterisk, которые выполняются системой параллельно. Рассмотрим влияние некоторых ключевых факторов: Кодеки и перекодировка

Попросту говоря, кодек (сокращение от кодер/декодер, или алгоритм уплотнения/разуплотнения данных) – это набор математических правил, который определяет, как будет выполняться оцифровка аналогового сигнала. Кодеки различаются, главным образом, предлагаемыми ими уровнями сжатия и качеством воспроизведения звука. Вообще говоря, чем большая степень сжатия требуется, тем больше ЦОС должно быть выполнено при кодировании или декодировании сигнала. Следовательно, кодеки без сжатия являются менее тяжелыми для ЦП (но требуют более широкой полосы пропускания сети). Выбор кодека должен быть компромиссом между пропускной способностью и загруженностью процессора. Центральный процессор (и модуль обработки операций с плавающей точкой)

ЦП состоит из нескольких компонентов, один из них – модуль обработки операций с плавающей точкой (Floating Point Unit, FPU). От производительности ЦП в сочетании с эффективностью блока FPU во многом зависит, какое количество одновременных соединений сможет эффективно поддерживать система. В следующем разделе («Выбор процессора») даются некоторые общие рекомендации по выбору ЦП соответственно нуждам конкретной системы. Другие процессы, параллельно выполняющиеся в системе

Linux подобна операционной системе UNIX, то есть является многозадачной системой, которая может выполнять несколько разных процессов одновременно. Проблема возникает, когда один из этих процессов (такой, как Asterisk) требует от системы очень высокой быстроты реагирования. По умолчанию Linux распределяет все ресурсы между приложениями, запрашивающими их, поровну. Если установлена система, включающая множество разных серверных приложений, каждое из них получит свою равную долю времени ЦП. Поскольку системе Asterisk необходим частый высокоприоритетный доступ к ЦП, для обеспечения ее сосуществования с другими приложениями система требует специальной оптимизации. Главным образом, подразумевается назначение приоритетов различным приложениям в системе и внимательное отношение к тому, какие сервисы устанавливаются.

Оптимизации ядра

Очень немногие дистрибутивы Linux предлагают по умолчанию ядро, оптимизированное для выполнения одного конкретного приложения, поэтому здесь необходимо слегка потрудиться. Какой бы дистрибутив ни был выбран, как минимум, придется скачать и скомпилировать на своей платформе свежую версию ядра Linux (которую можно найти по адресуhttp://www.kernel.org). Также можно найти патчи, которые обеспечат повышение производительности, но считаются неофициальными дополнениями к официально поддерживаемому ядру.

Время ожидания запроса на прерывание

Время ожидания запроса на прерывание (Interrupt request, IRQ) – это, по сути, задержка между моментом, когда периферийная плата (такая, как интерфейсная плата для телефонии) запрашивает ЦП остановить выполняемый процесс, и моментом, когда ЦП фактически отреагирует и будет готов обрабатывать задачу. Периферийные устройства Asterisk (особенно платы Zaptel) чрезвычайно требовательны ко времени ожидания IRQ. Причиной этому является не столько несовершенство плат, сколько принцип работы программного механизма временного уплотнения (TDM). Если мы буферизируем данные мультиплексора с временным уплотнением (TDM) и посылаем их на шину большим пакетом, это может быть более эффективным для системы, но обусловит задержку между моментом поступления аудиоданных на плату и доставкой их в ЦП. Это делает обработку данных TDM в масштабе реального времени практически невозможной. При проектировании Zaptel было принято, что отправка данных каждую 1 мс будет наилучшим компромиссным решением. Но в результате этого возникает побочный эффект – любая плата в системе, использующая интерфейс Zaptel, будет посылать в систему запрос на обработку прерывания каждую миллисекунду. Это было характерно для старых системных плат, но на данный момент уже почти перестало быть причиной для беспокойства.

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

Версия ядра

Asterisk официально поддерживается Linux версии 2.6.

Дистрибутив Linux

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


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

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