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

Рис. 4.6. Программный телефон idefisk

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

Начните с создания новой учетной записи для программного телефона, щелкнув по кнопке New (Новая) и введя соответствующую информацию. В поле Host (Хост) должен быть указан IP-адрес или доменное имя вашей системы Asterisk, при этом имя пользователя должно совпадать с именем, указанным в квадратных скобках [] в файле iax.conf. Поле Password (Пароль) оставляем незаполненным, потому что мы не задавали параметр secret в файле iax.conf, а в полях Caller ID (ID звонящего) и Number (Номер) можно задать любые значения. Чтобы idefisk зарегистрировал эту учетную запись при запуске, поставьте флажок Register on startup (Зарегистрировать при запуске). Введя все необходимые данные, щелкните по кнопке OK, чтобы сохранить новую учетную запись.

Если был установлен флажок Register on startup (Зарегистрировать при запуске), телефон попытается зарегистрироваться в Asterisk. В консоли Asterisk будет выведена информация о том, что телефон зарегистрирован:

-- Registered IAX2 'idefisk' (UNAUTHENTICATED) at 127.0.0.1:32771 Проверить регистрацию можно из консоли Asterisk с помощью команды iax2 show peers:

localhost*CLI> iax2 show peers

Name/Username Host Mask Port Status

idefisk 127.0.0.1 (D) 255.255.255.255 32771 Unmonitored

1 iax2 peers [0 online, 0 offline, 1 unmonitored]

Конфигурация диалплана для тестирования

Осталось только подтвердить возможность выполнения вызовов с помощью нашего телефона, задав простой диалплан в файле extensions. conf. Можно просто проверить наличие аудиосигнала в обоих направлениях, позвонив на добавочный номер 500, или настроить диалплан, созданный в разделе «Настройка диалплана для выполнения тестовых вызовов» данной главы, чтобы выполнить ряд тестовых вызовов. Если добавочный номер 1000 задан для SIP-телефона, что мы делали в предыдущих разделах, обеспечим, чтобы данная конфигурация не перекрывала его, и используем добавочный номер 1001 (если вы сконфигурировали несколько добавочных номеров для SIP, просто задайте здесь для программного телефона IAX2 уникальный добавочный номер): [globals]

[general]

[default]

exten => s,1,Verbose(1|Unrouted call handler)

exten => s,n,Answer()

exten => s,n,Wait(1)

exten => s,n,Playback(tt-weasels)

exten => s,n,Hangup()

[incoming_calls]

[internal]

exten => 500,1,Verbose(1|Echo test application)

exten => 500,n,Echo()

exten => 500,n,Hangup()

exten => 1001,1,Verbose(1\Extension 1000)

exten => 1001,n,Dial(IAX2/idefisk,30)

exten => 1001,n,Hangup()

[phones]

include => phones

Подключение к поставщику сервисов IAX

Некоторые поставщики сервисов интернет-телефонии (ITSP) предоставляют возможность начинать и завершать соединения с помощью протокола IAX2. Кроме сведения до минимума количества портов, которые необходимо открыть в межсетевом экране (для IAX2 требуется лишь один порт, через который ведется и обмен сигналами, и передача медиа-данных), способность объединения каналов этого протокола привлекательна как для поставщиков сервисов, так и для их клиентов из- за сохранения полосы пропускания, которое возможно при выполнении множества одновременных соединений между конечными точками. Если ITSP предлагает завершение соединения с использованием IAX2, очень высока вероятность, что он использует Asterisk; таким образом, конфигурация для подключения к этому поставщику сервисов, скорее всего, будет аналогична той, которую мы приводим здесь. Следующая конфигурация - это шаблон для подключения к поставщику сервисов IAX2:

[general] autokill=yes

register => имяпользователя:пароль@мой.провайдер-сервиса.Ш

[мой_уникальный^]

type=user

secret=мой_уникальный_пароль

context=incoming_calls

trunking=yes

disallow=all

allow=gsm

allow=ulaw

deny=0.0.0.0/0.0.0.0 permit=10.251.100.1/255.255.255.255

[мой_уникальный^]

type=peer

host=10.251.100.1

trunking=yes disallow=all allow=gsm allow=ulaw

Чтобы принимать входящие вызовы по прямому номеру (номеру прямого набора внутренних абонентов - Direct Inward Dialing, DID), присвоенному вам поставщиком сервисов, необходимо откорректировать файл extensions.conf. Возможно, вы хотите направлять звонки на автоответчик или просто на телефон у себя на столе. В любом случае звонки от поставщика услуг можно принимать и сопоставлять с входящим DID с помощью следующей реализованной в диалплане логики: [globals]

[general]

autofallthrough=yes

[default]

[incoming_calls]

exten => 14165551212,1,NoOp()

exten => 14165551212,n,Dial(SIP/1000,30)

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