Джим Меггелен - Asterisk™: будущее телефонии Второе издание
113
Опции pooling (создание пула) и limit (предел) довольно полезны для работы с базами данных MS SQL Server и Sybase. Они позволяют устанавливать с базой данных множество соединений (вплоть до limit), гарантируя при этом, что одновременно для каждого соединения выполняется только одно выражение (это обусловлено ограничением в протоколе, используемом этими серверами баз данных).
114
Плоскими являются двоичные файлы вида ключ-значение. Данные файлы позволяют быстрее осуществлять операции редактирования, добавления и удаления записей благодаря встроенным функциям Asterisk. - Примеч. науч. ред.
115
Сейчас уже доступна версия 1.6. - Примеч. науч.ред.
116
А если вы не знаете, что это такое, как раз для этого случая и существует Википедия. Я вовсе не шучу.
117
Помните, что в традиционной телефонной системе все добавочные номера должны быть числовыми, но в Asterisk они могут быть и именованными. Возможное преимущество от применения нечислового добавочного номера в том, что абоненту будет намного сложнее набрать его с обычного телефона, а следовательно, такие номера более безопасны. В этом примере будет использоваться несколько именованных добавочных номеров. Если вы хотите быть абсолютно уверенным, что злонамеренный абонент не сможет дозвониться по этим именованным добавочным номерами, просто используйте прием, применяемый загрузчиком AEL: начинайте обработку не с приоритета 1.
Для многих пользователей так удобнее, поскольку с правами root в Linux можно выполнять практически любые операции. Однако с точки зрения безопасности это недопустимо. Поэтому крайне желательно выполнить те рекомендации по установке, которые описаны далее в этой главе.
118
Запускаем функцию lo_cleanup для большого объекта с идентификатором объекта %. - Примеч. перев.
119
Не проводим очистку в таблице больших объектов, поскольку записи не менялись. - Примеч. перев.
120
Запись не удаляется из таблицы больших объектов, поскольку по-прежнему существуют ссылки на объект. - Примеч. перев.
121
Очищаем таблицу больших объектов. - Примеч. перев.
122
Не удалось провести очистку в таблице больших объектов. - Примеч. перев.
123
Нет необходимости в очистке таблицы больших объектов, перезапись старой строки не выполняется. - Примеч. перев.
124
Буквосочетание su исторически означает super-user (суперпользователь), но теперь оно также могло бы означать switch-user (другой пользователь) или substitute-user (пользователь-заместитель). Символ - в команде указывает su использовать среду для этого пользователя (например, использовать PATH для этого пользователя).для этого пользователя).
125
HOME - системная переменная, определяющая путь к домашней папке для текущего пользователя, то есть по умолчанию /home/asterisk.
126
Не выполнять ветвления при запуске в безопасном режиме «safely» - Примеч. перев.
127
Если зайти в любую систему, выполняющую Asterisk с настройками безопасности по умолчанию, подключить к ней клавиатуру и монитор и нажать сочетание клавиш ALt+ F9, вы подключитесь к интерфейсу командной строки Asterisk. Нажмите клавиши ! и Return - и вы зашли в оболочку. Если Asterisk запущена от имени пользователя root, вы теперь владеете этой системой.
128
Мы хотели сказать «на английском без акцента», но тогда нам пришлось бы извиняться перед жителями Британских островов, Австралии, Южной Африки и прочими. Мы не являемся специалистами в языках, диалектах и т. п., но можем различить акцент, свойственный профессиональным дикторам Северной Америки. Этот акцент распространен на Тихоокеанском побережье от Сан-Диего до Сиэтла, а также в большей части англоговорящей Канады. Джун и Эллисон говорят с таким акцентом, и, по нашему мнению, это звучит прекрасно.
129
Обратите внимание, что можно использовать любой формат, совместимый с Asterisk; .wav был выбран в данном примере лишь потому, что ЦП легко выполнять преобразования ^law/alaw/slin «на лету» и при этом с ним также легко работать в других средах.
Пожалуй, самый замечательный пример применения Festival - в ZoIP Симона Дитнера (Simon Ditner). Это порт популярной игры Zork с механизмом полной поддержки речи, работающим в Asterisk (ZoIP также использует Sphinx, но это не будет рассматриваться в данной книге). Мы собираемся придумать новое название для таких вещей. Это не видеоигра, поскольку нет экрана; вероятно, поэтому она должна называться аудиоигрой. Найти ее и оценить всю ее прелесть можно по адресу http://www.zoip.org.
130
Применяем tts к STRING. Эта функция специально разработана для использования в режиме сервера, чтобы можно было синтезировать строку одним вызовом функции. Это имя функции может быть добавлено в список безопасных функций сервера. - Примеч. перев.
131
Речь здесь идет о миллисекундах. Не верите? Проверьте сами!
132
Обязательно должны быть сконфигурированы файлы dundi.conf и extensions.conf. Мы выбрали iax.conf для предоставления информации о нашем адресе по сети, но DUNDi является протоколо-независимым, и таким образом, вместо iax.conf мы могли бы использовать sip.conf, h323.conf или mgcp.conf.
133
Опция lrh указывает компилятору, что это система Linux Red Hat. Опция IP6=4 говорит о том, что мы не хотим выполнять компиляцию с поддержкой IPv6. Остальные опции можно найти в Makefile. Для систем RHEL 5 или CentOS 5 вместо lrh необходимо использовать lr5.
Сравните с клубной страницей IETF, которая гласит: «IETF - не организация со специальными атрибутами членства (никаких карточек, никаких взносов, никаких секретных рукопожатий :-)... Она открыта для всех, кому это интересно. Добро пожаловать в IETF». Вот это сообщество!
134
Учитывая, что таких документов тысячи и каждый из них обычно ссылается на десятки других, трудно говорить о ценности такой свободной информации.
135
http://www.itu.int/ITU-T/tsb-director/itut-wsis/files/wg-wsis-Zhao-rev1.pdf
136
С точки зрения отрасли с закрытыми исходными кодами такая позиция понятна. В своей книге «The Mythical Man-Month: Essays on Software Engineering» Фред Брукс (Fred Brooks) (издательство Addison-Wesley) говорит, что «сложность и затраты на обмен информацией в рамках проекта возрастают пропорционально квадрату количества разработчиков, тогда как объем выполняемой работы увеличивается линейно». Без привлечения к разработке сообщества создаваемые продукты в лучшем случае будут немного большим, чем просто расширенная и улучшенная версия их предшественников, а в худшем - просто собранием патчей.
137
Эрик С. Раймонд «Собор и базар».
138
Эллисон Смит - «голос Asterisk»; это она озвучила все голосовые сообщения системы. Чтобы записать собственные сообщения голосом Эллисон, просто посетите веб-сайт http://thevoice.digium.com..
139
Гордон Мур в 1965 году написал статью, в которой предсказал удвоение количества транзисторов в процессоре каждые несколько лет.
140
Здесь речь идет о 99,999%, что преподносится как степень надежности, предоставляемая традиционными телефонными сетями. «Пять девяток» означает, что бездействие сервиса в год не может превышать 5 мин 15 с. Многие верят, что VoIP должен будет достичь такого уровня надежности, прежде чем можно будет ожидать, что он полностью заменит PSTN. Другие верят, что PSTN даже не приближается к надежности с «пятью девятками». Мы уверены, что эта величина могла бы быть прекрасным показателем для описания высокой надежности, но отделы сбыта слишком злоупотребляют им.
141
В настоящее время Asterisk работает только с одной опцией bindaddr. Если необходимо слушать более одного адреса, придется использовать 0.0.0.0. Обратите внимание, что Asterisk работает в многосетевой среде, но не с многоадресными интерфейсами. Asterisk выбирает интерфейс, с которого будет отправлен пакет, используя таблицу маршрутизации системы, и в качестве исходного применяется основной адрес этого интерфейса.
142
RSA-ключи Asterisk обычно располагаются в папке /var/lib/asterisk/keys/. С помощью сценария astkeygen можно генерировать собственные ключи.
143
Из соображений безопасности файл закрытого ключа должен быть защищен от несанкционированного копирования. - Примеч. науч. ред.
144
Можно провести аналогию между объединением VoIP-пакетов, реализуемым с помощью IAX, и объединением вагонов, принадлежащих различным компаниям, в один состав. Это очень полезно во многих ситуациях, поскольку объем служебных данных IP (UDP-заголовки, IP-заголовки и т. д.) часто превышает объем полезной нагрузки (аудиоинформации). Если между двумя серверами Asterisk выполняется несколько параллельных вызовов, вы обязательно захотите включить объединение каналов!