Глава 6

Интернационализация

Дэвид Дюффетт

Я много путешествовал по всему миру,

и я хорошо ладил во всех этих зарубежных странах,

потому что у меня есть теория, что это их страна,

и они получили право запускать ее, как хотят.

-Уилл Роджерс

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

В дополнение к тому, что пользовательский опыт соответствует ожиданиям пользователей, также необходимо, чтобы ваш Asterisk чувствовал себя «дома». Например, если исходящий вызов проходит по аналоговой линии (FXO), Asterisk будет необходимо интерпретировать тоны, которые он «слышит» на линии (занят, звонит и т.д.).

По умолчанию (и, возможно, как и следовало ожидать, поскольку он был «рожден в США»), Asterisk настроен на работу в Северной Америке. Однако, поскольку Asterisk развертывается во многих местах и (к счастью) люди со всего мира вносят свой вклад в это, вполне возможно настроить Asterisk для правильной работы практически в любом месте, где вы решите его развернуть.

Если вы читали эту книгу с самого начала от главы к главе вы уже сделали некоторые шаги во время установки и начальной настройки, которые заставили бы ваш Asterisk работать в вашей локальной сети (и оправдать ожидания ваших клиентов) ,

В нескольких главах этой книги содержится информация, которая поможет вам интернационализировать1 или (возможно, более правильно) локализовать реализацию Asterisk. Цель этой главы – предоставить единое место, где все аспекты изменений, которые необходимо внести в вашу телефонную систему на основе Asterisk, могут быть рассмотрены, обсуждены и объяснены. Причина использования фразы «телефонная система на основе Asterisk», а не просто «Asterisk» заключается в том, что некоторые изменения необходимо будет сделать в других частях системы (IP-телефоны, ATA и т.д.), Тогда как другие изменения будут реализованы в конфигурационных файлах Asterisk и DAHDI.

Начнем с того, что мы собрали список (в определенном порядке) вещей, которые может потребоваться изменить, чтобы оптимизировать вашу телефонную систему на базе Asterisk для определенного места за пределами Северной Америки. Можете выкрикнуть, если хотите …

  • Язык/акцент на подсказки
  • Физическое соединение для интерфейсов PSTN (FXO, BRI, PRI)
  • Тоны, которые слышат пользователи IP-телефонов и/или ATA
  • Формат CallerID вызывающего абонента, отправленный и/или полученный аналоговыми интерфейсами
  • Тоны для аналоговых интерфейсов, которые должны быть подставлены или обнаружены Asterisk
  • Формат штампов времени и даты для голосовой почты
  • Как указано выше, отметки времени/даты, объявленые в Asterisk
  • Шаблоны в диалплане (IP-телефонов, ATA и самого Asterisk, если вы используете образец диалплана)
  • Способ указания на аналоговое устройство, которое ожидает голосовую почту (MWI)
  • Тоны, передаваемые абонентам Asterisk (они вступают в игру, когда пользователь «внутри» системы, например, сигналы, слышимые во время передачи вызова)

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

Хотя принципы, описанные в этой главе, позволят вам адаптировать вашу установку Asterisk специально для вашего региона (или вашего клиента), для удобства, все наши примеры будут сосредоточены на том, как адаптировать Asterisk для одного региона: Объединенное королевство.

Внешние устройства для сервера Asterisk

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

Вы когда-нибудь считали, что аналоговый телефон является абсолютно немым устройством (мы знаем, что базовая модель очень и очень дешевая), которое должно подключаться к интеллектуальной сети (PSTN), тогда как IP-телефон (например, SIP или IAX2) – очень интеллектуальное устройство, которое подключается к немой сети (Интернет или любая обычная IP-сеть)? Рисунки 9-1 и 9-2 иллюстрируют разницу.

Рисунок 9-1. В старые времена: немое устройство подключается к умной сети
Рисунок 9-2. Ситуация сегодня: умные устройства подключаются через немую сеть

Можем ли мы взять два аналоговых телефона, подключить их напрямую друг к другу и иметь функциональность, которую мы обычно связываем с обычным телефоном? Нет, конечно нет, потому что сеть поставляет все: фактическое питание телефона, тон готовности (от местной станции или CO), информацию callerID, тон вызова (от удаленной [ближайшей к телефону назначения] станции или CO), все необходимые сигналы и т.д.

И наоборот, можем ли мы взять два IP-телефона, подключить их напрямую друг к другу и получить некоторые разумные функции? Конечно, мы могли бы, потому что весь интеллект находится внутри самих IP-телефонов – они обеспечивают слышимые тональные сигналы (тон готовности, вызова, занятости) и запускают протокол, который выполняет всю необходимую сигнализацию (обычно SIP). Фактически, вы можете попробовать это у себя: у большинства средних IP-телефонов есть встроенный коммутатор Ethernet, поэтому вы можете фактически подключить два IP-телефона напрямую друг к другу с помощью обычного (прямого) Ethernet-кабеля или просто подключить их через обычный коммутатор. Им нужно будет иметь фиксированные IP-адреса в отсутствие DHCP-сервера, и вы можете набирать IP-адрес другого телефона только с помощью клавиши * для точек в адресе.

Рисунок 9-2 указывает на то, что на IP-телефоне мы отвечаем за настройку всего того, что сеть предоставила бы в старые времена. Это можно сделать одним из (по крайней мере) двух способов. Первый – настроить тональные сигналы, предоставляемые IP-телефоном, на собственном веб-интерфейсе устройства. Это делается путем просмотра IP-адреса телефона (IP-адрес обычно можно получить с помощью опции меню на телефоне), а затем выбрав соответствующие параметры. Например, на IP-телефоне Yealink тональные сигналы задаются на странице веб-интерфейса Телефон на вкладке Тоны (где вы найдете список различных типов тонов, которые можно изменить – в случае Yealink, это Dial, Ring Back, Busy, Congestion, Call Waiting, Dial Recall, Record, Info, Stutter, Message и Auto Answer).

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

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

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

Последнее, что нужно изменить, – это потенциальный тупик, касающийся телефонного звонка – диалплан. Мы говорим не о диалплане, который находится в /etc/asterisk/extensions.conf, а об диалплане телефона. Не все понимают, что IP-телефоны также имеют диалплан, хотя эти диалпланы больше связаны с тем, какие строки набора разрешены, чем с тем, что делать при данном наборе.

Главное правило заключается в том, что если трубка положена, встроенный диалплан обходится, но если вы возьмете трубку, диалплан начнет исполняться, и может случиться так, что диалплан не позволит вам использовать строку набора номера для вызова. Хотя эта проблема может проявиться с отказом телефона передавать определенные типы номеров через Asterisk, это может также повлиять на любые коды функций, которые вы планируете использовать. Это можно легко устранить с помощью гугления номера модели телефона вместе с «UK dialplan» (или конкретный регион, который вам нужен), или вы можете перейти на соответствующую страницу в веб-интерфейсе и вручную настроить диалплан или выбрать соответствующую страну в выпаюащем списке (в зависимости от типа телефона, с которым вы работаете).

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

Конечно, ATA может также иметь интерфейс FXO, который также должен быть сконфигурирован для правильного взаимодействия с аналоговой линией, предоставляемой в вашем регионе. Типы параметров, которые необходимо изменить, аналогичны интерфейсу FXS.

Что делать, если вы подключаете аналоговый телефон или линию к карте Digium? Мы рассмотрим это дальше.

Подключение к ТфОП, DAHDI, карты Digium, и аналоговые телефоны

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

Интерфейсы первичной скорости (PRI) в наши дни обычно оканчиваются соединением RJ45, хотя импеданс соединений может меняться. В некоторых странах (особенно в Южной Америке) все еще можно найти PRI, которые заканчиваются двумя BNC-разъемами: один для передачи и один для приема.

Вообще говоря, PRI, завершенный в RJ45, будет соединением ISDN, и если вы обнаружите, что соединение выполнено с помощью пары разъемов BNC (коаксиальный разъем нажать-и-повернуть), указывает на вероятность того, что вы имеете дело с CAS-протоколом (например, R2).

На Рисунке 9-3 показан требуемый адаптер, если ваш телефон снабжен разъемами BNC (для плат Digium требуется соединение RJ45). Он называется balun, поскольку преобразует сбалансированное соединение (RJ45) в несимметричное (BNC) в дополнение к изменению импеданса соединения.

Интерфейсы базовой скорости (BRI) распространены в континентальной Европе и почти всегда поставляются через соединение RJ45.

Рисунок 9-3. Balun

Аналоговые соединения значительно варьируются от места к месту – вы узнаете, какой разъем используется в вашей местности. Важно помнить, что аналоговая линия состоит всего из двух проводов, и они должны подключаться к средним двум выводам штекера RJ11, который входит в карту Digium, а другой конец является локальным. На Рисунке 9-4 показан штекер, используемый в Великобритании, где два провода подключены к контактам 2 и 5.

Рисунок 9-4. Штепсельная вилка BT, используемая для аналоговых соединений PSTN в Великобритании (обратите внимание, что имеются только контакты 2-5)

Digium Asterisk Hardware Device Interface (интерфейс Asterisk аппаратного устройства Digium), или DAHDI, фактически охватывает несколько вещей. Он содержит драйверы ядра для карт адаптеров телефонии, которые работают в рамках DAHDI, а также утилиты автоматической настройки и инструменты тестирования. Эти части содержатся в двух отдельных пакетах (dahdi-linux и dahdi-tools), но мы также можем использовать один полный пакет, называемый dahdi-linux-complete. Все три пакета доступны на сайте Digium. Установка DAHDI была рассмотрена в Главе 3.

В Главе 7 описано использование аналоговых и цифровых соединений PSTN и мы не будем повторять эти детали здесь. Если вы используете цифровые PSTN-соединения, ваша задача – выяснить, какое соединение вы получаете от телекоммуникационной компании. Как правило, если вы запросили PRI, это будет T1 в Северной Америке, J1 в Японии или E1 в значительной части остального мира.

После того, как вы установили тип подключения PRI, предоставленный вами телефонной компанией, вам потребуется дополнительная информация, необходимая для правильной настройки DAHDI и Asterisk (например, является ли соединение ISDN или CAS-протоколом). Опять же, вы найдете их в Главе 7.

Драйверы DAHDI

Соединения, в которых должна выполняться некоторая реальная локализация – это соединения аналоговых интерфейсов. Для того, чтобы настроить телефонную систему на основе Asterisk для улучшенной работы в данной местности, вам сначала нужно будет сконфигурировать некоторые низкоуровневые аспекты того, как карта Digium взаимодействует с подключенным устройством или линией. Это делается с помощью драйверов ядра DAHDI в файле под названием /etc/dahdi/system.conf.

В следующих строках (взятых из примера конфигурации, которую вы получаете со свежей установкой DAHDI) вы найдете как настройки loadzone, так и настройки defaultzone. Настройка loadzone позволяет выбрать, какой комплект(ы) тональных сигналов будет воспроизводить карта (для подачи на аналоговые телефоны) и распознавать (на подключенных аналоговых телефонных линиях):

# Данные тональных зон

# ^^^^^^^^^^^^^^

# Наконец, вы можете предварительно загрузить некоторые тональные зоны, чтобы

# они не могли быть перезаписаны другими пользователями (если вы разрешаете

# сторонним пользователям открывать /dev/dahdi/* какие-нибудь интерфейсы).

# Также это означает, что их не нужно загружать во время выполнения.

# Формат – «loadzone=<zone>», где zone является двухбуквенным кодом страны.

#

# Вы также можете указать зону по умолчанию с «defaultzone=<zone>», где zone

# является двухбуквенным кодом страны.

#

#

# Обновленный список зон можно найти в файле zonedata.c

#

loadzone = us

#loadzone = us-old

#loadzone=gr

#loadzone=it

#loadzone=fr

#loadzone=de

#loadzone=uk

#loadzone=fi

#loadzone=jp

#loadzone=sp

#loadzone=no

#loadzone=hu

#loadzone=lt

#loadzone=pl

defaultzone=us

#

Файл /etc/dahdi/system.conf использует символ хеша (#), чтобы указать комментарий вместо точки с запятой (;) как файлы в /etc/asterisk.

Хотя можно загрузить несколько различных наборов тонов (вы можете увидеть все наборы тонов подробно в zonedata.c) и переключаться между ними, в большинстве практических ситуаций вам понадобится только:

loadzone=uk # для загрузки набора тонов

defaultzone=uk # по умолчанию DAHDI использует этот набор

… или то, что вам нужно для вашего региона.

Если вы выполняете dahdi_genconf для автоматической (или должно быть автомагической?) настроки своих адаптеров DAHDI, вы заметите, что во вновь созданном /etc/dahdi/system.conf будет использоваться по умолчанию как для loadzone, так и для defaultzone значение us. Несмотря на предупреждения о том, чтобы не редактировать файлы вручную, вполне можно изменить эти настройки на то, что вам нужно.

Если вам интересно, как мы определяем, есть ли в почтовом ящике, связанном с каналом, подключенным к аналовогому телефону, какие-либо голосовые сообщения, это делается с заикающимся тоном набора. Формат этого заикающегося гудка определяется с помощью комбинации loadzone/defaultzone, которую вы использовали.

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

Это на уровне DAHDI. Мы выбрали протокол(ы) для соединений PRI или BRI, тип сигнализации для аналоговых каналов (все рассмотрены в Главе 7) и тоны для аналоговых соединений, которые только что обсуждались.

Связь между Linux, DAHDI и Asterisk (и, следовательно, /etc/dahdi/system.conf и /etc/asterisk/chan_dahdi.conf) показана на Рисунке 9-5.

После того, как вы завершили настройку на уровне DAHDI (в /etc/dahdi/system.conf), вам необходимо выполнить dahdi_cfg -vvv, чтобы DAHDI перечитал конфигурацию. Это также хорошее время для использования dahdi_tool, чтобы проверить все ли в порядке на уровне Linux.

Таким образом, если после настройки Asterisk для работы с адаптерами DAHDI если что-то не работает должным образом, вы можете быть уверены, что проблема ограничена chan_dahdi.conf (или #include dahdi-channels.conf, если вы используете эту часть вывода dahdi_genconf).

Рисунок 9-5. Связь между Linux, DAHDI, и Asterisk

Asterisk

Теперь, когда всё настроено на уровне Linux, нам нужно настроить Asterisk, чтобы использовать только что подключенные каналы на уровне Linux и настроить способ, которым Asterisk интерпретирует и генерирует информацию, которая поступает или выходит за пределы этих каналов. Эта работа выполняется в /etc/asterisk/chan_dahdi.conf.

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

Caller ID

Ключевым компонентом этого изменения является CallerID. Хотя методы доставки CallerID являются довольно стандартными в мире BRI и PRI, они широко варьируются в аналоговом мире; таким образом, если вы подключили американский аналоговый телефон к телефонной сети Великобритании, он действительно работал бы как телефон, но информация CallerID не отображалась бы. Это связано с тем, что он передается по-разному в разных местах по всему миру, а американский телефон будет искать сигнализацию CallerID в формате США, в то время как телефонная сеть Великобритании будет поставлять его (если он включен – это нестандартно в Великобритании, вам нужно заплатить за CallerID!) в британском формате.

Мало того, что формат отличается, метод указания телефона (или Asterisk) для поиска CallerID может отличаться и от места к месту. Это важно, так как мы не хотим, чтобы Asterisk тратил время на поиск информации об CallerID, если он не отображается на линии.

Опять же, Asterisk по умолчанию использует североамериканский формат CallerID (нет записей в /etc/asterisk/chan_dahdi.conf, это просто по умолчанию), и для его изменения нам нужно будет сделать несколько записей, описывающих технические детали системы CallerID. В случае Великобритании доставка информации CallerID сигнализируется изменением полярности на телефонной линии (другими словами, стороны A и B пары телефонных проводов временно переключаются), а фактическая информация CallerID предоставляется в формате, известном как V.23 (частотная манипуляция или FSK). Таким образом, записи в chan_dahdi.conf для получения CallerID в Великобритании на любых интерфейсах FXO будет выглядеть так:

cidstart=polarity ; доставка caller ID будет путем

; смены полярности сигнализации

cidsignalling=v23 ; доставка информации called ID

; будет в формате V23

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

sendcalleridafter=2

Прежде чем вы сможете сделать эти записи, вам нужно будет установить информацию о вашей местной системе CallerID (кто-то из вашей местной телефонной компании или Google может быть вашим в этом, но есть также хорошая информация в образце /etc/asterisk/chan_dahdi.conf).

Язык и/или акцент запросов

Как вы знаете, подсказки (или записи), которые будет использовать Asterisk, хранятся в /var/lib/asterisk/sounds. В старых версиях Asterisk все звуки были в этом фактическом расположении, но в наши дни вы найдете ряд подкаталогов, которые позволяют использовать разные языки или акценты. Имена этих подкаталогов произвольны; вы можете называть их как пожелаете.

Обратите внимание, что имена файлов в этих каталогах должны быть такими, какие ожидает Asterisk, например, в /var/lib/asterisk/sound/en, файл hello.gsm будет содержать слово «Hello» (скажет прекрасная Эллисон), тогда как hello.gsm в /var/lib/asterisk/sounds/es (для испанского в этом случае) будет содержать слово «Hola» (голосом испанской эквиваленты прекрасной Эллисон2).

По умолчанию используется каталог: /var/lib/asterisk/sounds/en, так как же вы его измените?

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

language=en_UK

помещенная в chan_dahdi.conf, sip.conf и т.д. (для применения вообще или только для данного канала или профиля) будет указывать Asterisk на использование звуковых файлов, найденных в /var/lib/asterisk/sounds/en_UK (которые могут содержать британские акценты) для всех вызовов, которые поступают по этим каналам.

Другой способ – изменить язык во время телефонного звонка через диалплан. Это (наряду со многими атрибутами индивидуального вызова) можно установить с помощью функции диалплана CHANNEL(). См. Главу 10 для полного изучения функций диалплана.

Следующий пример позволит вызывающему абоненту выбрать один из трех языков для продолжения вызова:

; Предоставляет выбор (1) Французский, (2) Испанский, или (3) Немецкий

exten => s,1,Background(choose-language)

same => n,WaitExten(5)

exten => 1,1,Set(CHANNEL(language)=fr)

exten => 2,1,Set(CHANNEL(language)=es)

exten => 3,1,Set(CHANNEL(language)=de)

; следующий приоритет для для добавочных номеров 1, 2, или 3 будет

; рассмотрен здесь

exten => _[123],n,Goto(menu,s,1)

Если вызывающий абонент нажал 1, будут воспроизводиться звуки из /var/lib/asterisk/sounds/fr; если он нажал 2, звуки появятся из /var/lib/asterisk/sounds/es и т.д.

Как уже упоминалось, имена этих каталогов произвольны и необязательно должны содержать только два символа – главное, чтобы они соответствовали названию поддиректории, которую создали в директиве language в конфигурации канала, или когда вы устанавливаете аргумент CHANNEL(language) в диалплане.

Штампы время/дата и произношение

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

Рассмотрим сценарий, при котором некоторые пользователи системы находятся в США, а другие – в Великобритании.

Помимо разницы во времени, еще одна вещь, которую следует учитывать, – это то, какой формат даты и времени люди используют в разных местах – в США даты обычно указываются как месяц, день, год и время, указанные в 12-часовом формате (например, 2:54 PM).

В британских датах же указываются день, месяц, год и время, которые часто указываются в формате 24-часов (14:54) – хотя некоторые люди в Великобритании предпочитают 12-часовой формат, поэтому мы рассмотрим его тоже.

Поскольку все эти вещи связаны с голосовой почтой, вы могли бы догадаться, что мы сконфигурируем их в файле /etc/asterisk/voicemail.conf – в частности в разделе [zonemessages].

Вот часть [zonemessages] образца файла voicemail.conf, который поставляется с Asterisk, с UK24 (для британских людей, которые любят 24-часовой формат времени) и UK12 (для британцев, которые предпочитают 12-часовой формат времени) добавлены зоны:

[zonemessages]

; Пользователи могут находиться в разных часовых поясах или могут иметь

; разные сообщения для своего ввода сообщения, когда они входят в

; систему голосовой почты. Установите сообщение и часовой пояс, который

; каждый пользователь слышит здесь. Установите используя одну из этих зон

; с помощью tz=attribute в поле параметров почтового ящика. Конечно,

; замена языка по-прежнему применяется здесь, поэтому у вас может быть

; несколько деревьев каталогов, которые имеют альтернативный выбор языка.

;

; Смотрите /usr/share/zoneinfo/ для имён timezone.

; Посмотрите страницу руководства для strftime для быстрого руководства

; о том, как выполняется замена переменных по приведенным ниже значениям.

;

; Поддерживаемые значения:

; ‘filename’ имя звукового файла (требуются одинарные кавычки вокруг

; имени файла)

; ${VAR} переменная замены

; A или a День недели (Saturday, Sunday, …)

; B или b или h Название месяца (January, February, …)

; d или e число месяца (first, second, … thirty-first)

; Y Год

; I или l Час, 12 часовой формат

; H Hour, 24 часовой формат (одна цифра часов, предшествующиая “oh”)

; k Hour, 24 часовой формат (одна цифра часов, НЕ предшествующая “oh”)

; M Минуты, с 00 произносится как “o’clock”

; N Минуты, с 00 произносится как “hundred”(сто) (US военное время)

; P или p AM или PM (до полудня и после)

; Q “today”(сегодня), “yesterday”(вчера) или ABdY

; (*примечание: нестандартное значение strftime)

; q ” (для today), “yesterday”, weekday, или ABdY

; (*примечание: нестандартное значение strftime)

; R 24 часовое время, включая минуты

;

eastern=America/New_York|’vm-received’ Q ‘digits/at’ IMp

central=America/Chicago|’vm-received’ Q ‘digits/at’ IMp

central24=America/Chicago|’vm-received’ q ‘digits/at’ H N ‘hours’

military=Zulu|’vm-received’ q ‘digits/at’ H N ‘hours’ ‘phonetic/z_p’

european=Europe/Copenhagen|’vm-received’ a d b ‘digits/at’ HM

UK24=Europe/London|’vm-received’ q ‘digits/at’ H N ‘hours’

UK12=Europe/London|’vm-received’ Q ‘digits/at’ IMp

Эти зоны не только определяют время, но также определяют, как упорядочиваются и считываются время и даты.

Создав эти зоны, мы можем перейти к разделу контекста голосовой почты в voicemail.conf, чтобы связать соответствующие почтовые ящики с правильными зонами:

[default]

4001 => 1234,Russell Bryant,rb@shifteight.org,,|tz=central

4002 => 4444,David Duffett,dd@shifteight.org,,|tz=UK24

4003 => 4450,Mary Poppins,mp@shifteight.org,,|tz=UK12|attach=yes

Как вы можете видеть, когда мы объявляем почтовый ящик, мы также (необязательно) связываем его с определенной зоной. Полную информацию о голосовой почте можно найти в Главе 8.

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

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

Эти тоны установлены в /etc/asterisk/indications.conf. Вот часть файла образца, где вы можете видеть данный регион, указанный в директиве страны. Нам просто нужно изменить код страны:

;

; indications.conf

; Конфигурационный файл для определения местоположения

;

; Замечание:

; При добавлении стран в этот файл, пожалуйста, держите их в алфавитном

; порядке в соответствии с кодами стран в 2 символа!

;

; Категория [general] – это определенные глобальные переменные.

; Все остальные категории интерпретируются как указание местоположения

;

[general]

country=uk ; по умолчанию US, поэтому мы изменили на UK

Ваш диалплан должен будет отражать схему нумерации для вашего региона. Если вы еще не знаете схему для своего региона, ваш местный регулятор телекоммуникаций, как правило, сможет предоставить подробную информацию об этом. Кроме того, пример диалплана в файле /etc/asterisk/extensions.conf, конечно же, заполнен североамериканскими номерами и шаблонами.

Вывод — Простая шпаргалка

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

Прежде чем покинуть эту главу, взгляните на Таблицу 9-1: Шпаргалка чтобы узнать что изменить и где это изменить.

Таблица 9-1. Шпаргалка интернационализации

Что менять Где менять
Тоны прогресса вызова IP-телефоны – на самом телефоне ATA – на самом ATA Аналоговые телефоны—DAHDI (/etc/dahdi/system.conf)
Тип PRI/BRI и протокол DAHDI—/etc/dahdi/system.conf и /etc/asterisk/chan_dahdi.conf
Физические соединения с ТфОП Balun, если требуется для PRI Подключите аналоговую пару к средним 2 контактам RJ11, подключающимся к карте Digium
Caller ID на аналоговых линиях Asterisk—/etc/asterisk/chan_dahdi.conf
Голосовые подсказки и/или акцент Канал—/etc/asterisk/sip.conf, /etc/asterisk/iax.conf, /etc/asterisk/ chan_dahdi.conf, etc. Диалплан—функция CHANNEL(language)
Голосовая почта штамп времени/даты и произношение Asterisk—/etc/asterisk/voicemail.conf
Тоны, представляемые Asterisk Asterisk—/etc/asterisk/voicemail.conf

Пусть после всех развертываний Asterisk чувствует себя как дома…

1i18n – термин, используемый для сокращения слова интернационализация из-за его длины. Формат <первая_буква><число><последняя_буква>, где <число> – количество букв между первой и последней буквами. Другие слова, такие как локализация (L10n), модуляция (m12n) и т. д., также нашли дом с этой схемой, которую Лейф находит немного смешной. Более подробную информацию можно найти в глоссарии W3C онлайн.

2Кто, по сути, та же Эллисон, которая делает английские подсказки; Июнь Уоллак делает французские подсказки. Мужской австралийских акцент сделан Камероном Туми. Все таланты озвучивания доступны для записи дополнительных подсказок. Дополнительную информацию см. на странице Digium IVR.

Остались вопросы?

Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices