Re: Бесперебойная работа телефонии при переключении каналов
Вопрос бесперебойности работы очень обширный, и включает в себя
суб-задачи по надёжности транспортного канала и аппаратной надёжности
системы телефонии. Разберём каждую отдельно.
Какая бы не была система ИП телефонии, на каком бы протоколе VoIP - она
основана на ИП адресах. Стандартное значение в Астериске модуля SIP
bindaddr = 0.0.0.0 означает слушать SIP запросы на всех интерфейсах и ИП
адресах системы. Допустим на сервере присвоено два ИП адреса двух
независимых провайдеров П-1 и П-2, для примера
П-1 10.11.12.13 (default gateway 10.11.12.1)
и
П-2 172.16.22.10 (default gateway 172.16.22.1)
Даже если у провайдера ИП телефонии, который допустим подаёт вам номера
DID по SIP зафиксированы оба (как статические), и указано ручным образом
- направлять звонки на 10.11.12.13 а если fault, то на 172.16.22.10, эта
схема не может быть бесперебойной, потому что вследствие fault по П-1
звонки могут сыпаться в пустоту, есть выражение - на пол. И провайдер ИП
телефонии никак не отследит это, и не сможет перевести звонки на на
172.16.22.10 автоматически.
Предположим в этой схеме у вашего Астериска есть ещё регистрация на
внешних серверах провайдеров ИП телефонии, типа Sipnet.ru. Согласно
записям в таблице маршрутизации запрос на регистрацию туда отправится с
ИП адреса, допустим 10.11.12.13, и этот адрес зафиксируется в Sipnet.ru.
Если через 5 минут П-1 выключится, то звонок на 10.11.12.13 никак не
придёт, нужно ручным образом менять маршрутизацию, и посылать запрос на
регистрацию с 172.16.22.10. То же самое - для внешних устройств, которые
регистрируются на вашем Астериске по 10.11.12.13, который привязан к
доменному имени по которому и регистрируются пиры.
Таким образом пытаться правильно настроить роунтинг на сервере -
неразрешимая задача в принципе. Даже включая алгоритмы ротинга -
протокол OSPF например, мы достигаем только резервирования и
переключения исходящего трафика, но никак не входящего.
Те специалисты, которые говорят, что её можно решать на уровне двойных
записей типа
sip.server.org 10.11.12.13
sip.server.org 172.16.22.10
не специалисты вовсе. Внешний пир зарегистрировавшись на 10.11.12.13 всё
ближайшее время по таймеру regtimeout будет думать, что он
зарегистрирован, и не будет посылать новых запросов на регистрацию.
Наиболее надёжным резервированием канала является протокол BGP - Border
Gateway Protocol http://ru.wikipedia.org/wiki/BGP
К сожалению, для выполнения этого резервирования
мало приобрести рутер Cisco. Нужно
а) договориться с одним из ваших 2-х провайдеров о выделении вам целой
сети /24 - это 255 реальных ИП адресов (это с маской 255.255.255.0)
Меньшее пространство игнорируется рутерами при обмене данными о
маршрутизации BGP.
б) пройти процедуру присвоения уникального ИД вашей автономной системы,
так называемого AS number.
в) договорится с обоими провайдерами о т.н. BGP пиринге -
автоматического обмена состоянием маршрутов.
И только тогда ваш сервер Астериск будет иметь один ИП адрес из вашей
сети /24, которая будет иметь как минимум два независимых канала
интернет, и информация о которой автоматически обновляется всеми
маршрутизаторами в мире.
|