Выбрать главу

68

Также предполагается, что сконфигурирован по крайней мере один добавочный номер SIP из предыдущего раздела.

(обратно)

69

Asterisk допускает выполнение простых арифметических операций с приоритетами, таких как n + 200, или использование приоритета s (от английского same - такой же), но для их применения вам нужно быть профессионалом. Будьте добры, обратите внимание, что добавочный номер s и приоритет s - это две разные вещи.

(обратно)

70

В имени контекста нет ничего особенного. Данный контекст мог бы называться [stuff_that_comes_in] (все_что_поступает), и, поскольку контекст назначается в описании канала в файлах sip.conf, iax.conf, zaptel.conf и других, канал перешел бы в этот контекст диалплана. При этом настоятельно рекомендуется присваивать контекстам имена, из которых можно понять их назначение. Хорошими именами контекстов были бы [incoming], [local_ calls], [long_distance], [sip_telephones], [user_services], [experimental], [remote_locations] и т. д. Нельзя забывать, что контекст определяет, как канал входит в диалплан, поэтому контекстам должны присваиваться соответствующие имена.

(обратно)

71

Asterisk выбирает лучший файл исходя из затрат на преобразование, то есть тот файл, для которого преобразование в собственный аудиоформат обусловит наименьшую нагрузку на ЦП. При запуске Asterisk вычисляет затраты на преобразования между разными аудиоформатами (часто в разных системах они различны). Величины этих затрат можно увидеть, введя команду show translation в интерфейсе командной строки. Представленные числа соответствуют времени в миллисекундах, которое потребуется Asterisk для преобразования одной секунды звука. Подробнее разные аудиоформа- ты (известные как кодеки) будут рассмотрены в главе 8.

(обратно)

72

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

(обратно)

73

Нужно заметить следующее: некоторые люди ожидают, исходя из имени этого приложения, что Background() будет выполняться в диалплане до тех пор, пока воспроизводится звук, но это имя указывает на то, что данное приложение воспроизводит звук в фоновом режиме в процессе ожидания двухтонального многочастотного набора телефонного номера (Dual-Tone Multi-Frequency, DTMF).

(обратно)

74

Не беспокойтесь! Функции диалплана будут рассмотрены в разделе «Функции диалплана» главы 6.

(обратно)

75

Те, кто вырос в Северной Америке, возможно, думают, что 1, которую они набирают при звонках по межгороду, - это «международный код». Это неправильно. 1 - это международный код страны для всех стран, использующих NANP. Помните это, если вам когда-нибудь придется давать свой номер телефона кому-то из другой страны. Они могут не знать кода вашей страны и, таким образом, не смогут дозвониться вам, имея только код города и номер телефона. Полный номер телефона с кодом страны записывается так: +1 NPA NXX XXXX (где NPA - код города) - например +1 416 555 1212.

(обратно)

76

Макрос похож на подпрограмму диалплана общего назначения, но ему свойственна проблема переполнения стека, поэтому не следует создавать в макросах вызовы с более чем пятикратной глубиной вложенности. На момент написания данной книги мы не располагаем информацией о том, будет ли приложение Macro доработано для версии 1.4 или переписано для будущих версий. Если планируется выполнять множество вложенных макросов (и вызывать в их рамках сложные функции), есть вероятность возникновения нестабильности. Проблему выявит всего лишь один тестовый звонок, поэтому, если диалплан проходит тестирование, он готов к работе. Также рекомендуется обратить внимание на приложения Gosub и Return, поскольку зачастую функциональность, реализуемая с помощью Macro(), на самом деле может быть получена без его использования. Также, будьте добры, отметьте, что мы не предлагаем не использовать Macro(). Это фантастический инструмент, обладающий замечательными рабочими характеристиками; ему просто свойственны некоторые проблемы с вложенностью.

(обратно)

77

В предыдущих версиях Asterisk были приложения DBput() и DBget(), которые использовались для задания и извлечения значения из AstDB. Если вы используете старую версию Asterisk, применяйте эти приложения.

(обратно)