context=incoming_toronto

deny=0.0.0.0/0.0.0.0

permit=192.168.1.104/255.255.255.255

Конфигурация телефона IAX

В разделе «Конфигурация программного телефона» мы занимались настройкой нашего первого программного телефона IAX2 на примере idefisk. Конфигурация, которая будет использоваться здесь, практически аналогична, за исключением незначительных изменений, связанных с необходимостью обеспечения уникальности участников сети. Если вы уже настроили программный телефон SIP, можете также использовать его в качестве одного (или обоих) равноправных участников сети. Не забывайте, что Asterisk - приложение, работающее с множеством протоколов, и вызов к Asterisk может быть послан с SIP- теле- фона, передан по магистральному каналу IAX2 и затем направлен на другой SIP-телефон (или H.323, MGCP и т. д.). Для Осаки: [1001] type=friend host=dynamic context=phones

Для Торонто:

[2001] type=friend host=dynamic context=phones

Далее сконфигурируем программный телефон IAX2 для регистрации в Asterisk. Если телефон успешно зарегистрирован, в командной строке будет выведено примерно следующее сообщение:

*CLI> -- Registered IAX2 '1001' (UNAUTHENTICATED) at 192.168.1.104:4569

Конфигурация диалплана

Чтобы обеспечить возможность установления соединения между двумя серверами Asterisk по магистральному каналу IAX2, необходимо сконфигурировать простой диалплан. Представленный диалплан будет направлять вызовы на все добавочные номера в диапазоне 1000 (от 1000 до 1999) на сервер Осака и вызовы на все добавочные номера в диапазоне 2000 (от 2000 до 2999) на сервер Торонто. В данном примере предполагается, что сконфигурирована пара программных телефонов IAX2, но если в вашем распоряжении имеется SIP-телефон (или

два), можно использовать и его. Просто помните, что в этом случае понадобится изменить приложение Dial() так, чтобы вызовы направлялись на SIP-телефон по SIP-протоколу, а не IAX2 (то есть строку

Dial(IAX2/${EXTEN},30) необходимо заменить на Dial(SIP/${EXTEN},30)). Файл extensions.conf для Торонто:

[globals]

[general]

autofallthrough=yes [default] [incoming_calls] [phones]

include => internal include => remote

[internal]

exten => _1XXX,1,NoOp()

exten => _1XXX,n,Dial(IAX2/${EXTEN},30)

exten => _1XXX,n,Playback(the-party-you-are-calling&is-curntly-unavail) exten => _1XXX,n,Hangup()

[remote]

exten => _2XXX,1,NoOp()

exten => _2XXX,n,Dial(IAX2/toronto/${EXTEN}) exten => _2XXX,n,Hangup()

[toronto_incoming] include => internal

Файл extensions.conf для Осаки:

[globals]

[general]

autofallthrough=yes [default] [incoming_calls] [phones]

include => internal include => remote

[internal]

exten => _2XXX,1,NoOp()

exten => _2XXX,n,Dial(IAX2/${EXTEN},30)

exten => _2XXX,n,Playback(the-party-you-are-calling&is-curntly-unavail) exten => _2XXX,n,Hangup()

[remote]

exten => _1XXX,1,NoOp()

exten => _1XXX,n,Dlal(IAX2/osaka/${EXTEN})

exten => _1XXX,n,Hangup()

[osaka_lncomlng] include => internal

Использование шаблонов в конфигурационных файлах

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

Скажем, имеется 20 SIP-телефонов, практически идентичных с точки зрения конфигурации. Согласно документации они должны описываться путем задания параметров для каждого телефона в отдельности. Фрагмент подобного файла sip.conf мог бы выглядеть так:

[1000]

type=friend

context=internal

host=dynamic

disallow=all

allow=ulaw

dtmfmode=rfc2833

maibox=1000

secret=AllYourSetsAreBelongToUs

[1001]

type=friend

context=internal

host=dynamic

disallow=all

allow=ulaw

dtmfmode=rfc2833

maibox=1001

secret=AllYourSetsAreBelongToUs

[1002]

type=friend

context=internal

host=dynamic

disallow=all

allow=ulaw

dtmfmode=rfc2833

maibox=1002

secret=AllYourSetsAreBelongToUs

Слишком много ввода текста, копирования и вставки, правда? А что если требуется изменить имя контекста для телефонов. Не очень удобно, не так ли?

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

[sets](!) ; <== обратите внимание, восклицательный знак ; взят в круглые скобки. Это признак шаблона. type=friend context=internal host=dynamic disallow=all allow=ulaw dtmfmode=rfc2833 secret=AllYourSetsAreBelongToUs

1000] (sets) ; <== обратите внимание, имя шаблона взято

; в круглые скобки. Все настройки этого шаблона ; будут унаследованы.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату