-->

Asterisk™: будущее телефонии Второе издание

На нашем литературном портале можно бесплатно читать книгу Asterisk™: будущее телефонии Второе издание, Меггелен Джим Ван-- . Жанр: ОС и Сети. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале bazaknig.info.
Asterisk™: будущее телефонии Второе издание
Название: Asterisk™: будущее телефонии Второе издание
Дата добавления: 16 январь 2020
Количество просмотров: 697
Читать онлайн

Asterisk™: будущее телефонии Второе издание читать книгу онлайн

Asterisk™: будущее телефонии Второе издание - читать бесплатно онлайн , автор Меггелен Джим Ван
Asterisk - система телефонии, обладающая такими фантастическими возможностями, о которых обычная офисная коммутируемая АТС может только мечтать. Голосовая почта, конференц-связь, очереди вызовов и агенты, музыка во время ожидания и парковка вызовов - это лишь часть функций, обеспечиваемых Asterisk. Описать в одной книге всю функциональность этой необыкновенно гибкой системы невозможно, но вы получите исчерпывающее представление о базовых функциях Asterisk. А проявив свои творческие способности, вы сможете создать офисную АТС, настроенную целиком под ваши нужды с учетом абсолютно всех требований пользователей.

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала

1 ... 31 32 33 34 35 36 37 38 39 ... 157 ВПЕРЕД
Перейти на страницу:

Обратите внимание, что удалены параметры deny (отклонить) и permit (разрешить), поскольку IP-адреса, с которых будут поступать вызовы, могут быть неизвестны. Если вдруг эти адреса известны и вы по-прежнему хотите сравнивать их, параметры deny и permit для IP-адресов можно восстановить.

Если имя пользователя задано в параметре fromuser, при отправке вызова поставщику меняются поля From: (От:) и Contact: (Контакт:) сообщения INVITE. Этого может требовать сам поставщик, если он использует эти поля в процедуре аутентификации. То, где Asterisk меняет заголовок, можно увидеть в следующих двух фрагментах кода.

Без параметра fromuser:

Audio is at 66.135.99.122 port 18154

Adding codec 0x2 (gsm) to SDP

Adding codec 0x4 (ulaw) to SDP

Adding non-codec 0x1 (telephone-event) to SDP

Reliably Transmitting (no NAT) to 10.251.55.100:5060:

INVITE sip: [email protected] SIP/2.0

Via: SIP/2.0/UDP 66.135.99.122:5060;branch=z9hG4bK32469d35;rport

From: "asterisk" <sip:[email protected]>;tag=as4975f3ff

To: <sip: [email protected]>

Contact: <sip: [email protected]>

Call-ID: [email protected]

CSeq: 102 INVITE

User-Agent: Asterisk PBX

Max-Forwards: 70

Date: Fri, 20 Apr 2007 14:59:24 GMT

Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: 265

С параметром fromuser:

Audio is at 66.135.99.122 port 11700

Adding codec 0x2 (gsm) to SDP

Adding codec 0x4 (ulaw) to SDP

Adding non-codec 0x1 (telephone-event) to SDP

Reliably Transmitting (no NAT) to 10.251.55.100:5060:

INVITE sip: [email protected] SIP/2.0

Via: SIP/2.0/UDP 66.135.99.122:5060;branch=z9hG4bK635b0b1b;rport

From: "asterisk" <sip:мой_уникальный[email protected]>;tag=as3186c1ba

To: <sip: [email protected]>

Contact: <sip:мой_уникальный [email protected]>

Call-ID: [email protected]

CSeq: 102 INVITE

User-Agent: Asterisk PBX

Max-Forwards: 70

Date: Fri, 20 Apr 2007 15:00:30 GMT

Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: 265

Параметры deny и permit используются для отклонения всех входящих вызовов к этому участнику сети от всех IP-адресов, кроме заданного параметром permit. Это просто мера безопасности, которая обеспечивает поступление к данному участнику сети трафика только с ожидаемого IP-адреса.

В конце видим выражение insecure=invite, которое может быть необходимо для вашего поставщика, потому что источник сообщения INVITE может находиться на платформе сервера, но передаваться через его прокси-сервер SIP. По сути, это означает, что в строке Contact (Контакт) (поле сообщения INVITE, которое вы проверяете при приеме вызова от своего поставщика) может быть совсем не тот IP-адрес, по которому находится участник сети. Это выражение указывает Asterisk игнорировать данное несоответствие и принимать приглашение в любом случае.

Возможно, понадобится задать и invite=invite,port, если адрес порта также не соответствует тому, что ожидает Asterisk.

Теперь в разделе [general] файла sip.conf требуется задать один дополнительный параметр: register. register (реестр) укажет поставщику сервисов, куда направлять адресованные нам вызовы. Так Asterisk говорит поставщику сервисов: «Эй! Если ты получил вызов ко мне, пошли его на IP-адрес 10.251.55.100». Параметр register имеет следующий вид:

register => имяпользователя:секрет@мой.поставщик_сервисов.Ш Теперь осталось только сконфигурировать простой диалплан для обработки входящих вызовов и отправки вызовов через поставщика сервисов. Мы собираемся внести коррективы в диалплан, который начали создавать в разделе «Настройка диалплана для выполнения тестовых вызовов» данной главы. Строки, выделенные курсивом, - это новые части, добавленные в диалплан. Все остальное взято без изменений из предыдущего раздела [68].

[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]

exten => _X.,1.NoOp()

exten => _X.,n,Dial(SIP/1000)

Asterisk™: будущее телефонии Второе издание - img_44.png

[outgoing_calls] exten => _X.,1,NoOp()

exten => X.,n,Dial(SIP/мой поставщик сервисов/${EXTEN})

[internal]

exten => 1000,1,Verbose(1|Extension 1000)

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

exten => 1000,n,Hangup()

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

exten => 500,n,Echo()

exten => 500,n,Hangup()

[phones]

include => internal include => outgoing_calls

Соединение двух серверов Asterisk по протоколу SIP

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

Конфигурация локального межсетевого экрана

Если ip-таблицы используются на одном компьютере с сервером Asterisk, с помощью следующих команд можно открыть порт 5060 для обмена сигналами по протоколу SIP и порты от 10000 до 20000 для RTP-трафика. Также диапазон RTP-портов можно сузить в файле rtp.conf, находящемся в папке /etc/asterisk. Замечательная книга по межсетевым экранам для ip-таблиц - «Linux Firewalls» (издательство Novell Press) Стива Суэринга (Steve Suehring) и Роберта Циглера (Robert Ziegler).

# iptables -I RH-Firewall-1-INPUT -p udp --dport 5060 -j ACCEPT

# iptables -I RH-Firewall-1-INPUT -p udp --dport 10000:20000 -j ACCEPT

# service iptables save

Помните, что это откроет порты 5060 и от 10000 до 20000 для всего UDP-трафика из любого источника.

Наша топология будет состоять из SIP-телефона (Элис (Alice)), зарегистрированного в Asterisk A (Торонто (Toronto)), и SIP-телефона (Боб (Bob)), зарегистрированного в Asterisk B (Осака (Osaka)). К концу данного раздела вы сможете с помощью пары серверов Asterisk производить звонки от Элис к Бобу (и наоборот) - рис. 4.5. Это типовой сценарий, когда имеется два физических местоположения, например ком-

Asterisk™: будущее телефонии Второе издание - img_45.png

Рис. 4.5. Топология объединения каналов SIP

пания с несколькими офисами, и требуется обеспечить единую логическую топологию расширения.

Прежде всего давайте сконфигурируем серверы Asterisk.

Конфигурация серверов Asterisk

У нас есть пара серверов Asterisk, назовем их Торонто и Осака, и мы собираемся зарегистрировать их друг на друге. В этом сценарии будем использовать самый элементарный файл sip.conf. Как и в случае с рассматриваемой ранее в данной главе конфигурацией SIP-телефона, это не лучший способ, но он работает.

Вот конфигурация сервера Торонто:

[general]

register => toronto:[email protected]/osaka

[osaka]

type=friend

secret=welcome

context=osaka_incoming

host=dynamic

disallow=all

1 ... 31 32 33 34 35 36 37 38 39 ... 157 ВПЕРЕД
Перейти на страницу:
Комментариев (0)
название