Как Избежать Апокалипсиса Или Минимизировать Его Вероятность

После прочтения статьи «Как мы встретили апокалипсис или как 3500 компаний остались без звонковЭ» возникло чувство недоумения, а затем и желание поделиться пережитым.

Итак, если у вас есть, как было ягодкинвс :

Было резервирование серверов для вебморды, а вот с телефонией не всё так просто.

Тогда добро пожаловать под кат.

Как избежать апокалипсиса или минимизировать его вероятность

Участвуя в одном проекте, он отвечал за первоначальную настройку и дальнейшую поддержку телефонии.

Проект со временем рос, менялись требования, одним из которых была бесперебойная работа колл-центра, за исключением случаев отключения электроэнергии и/или сбоев магистральной линии у провайдеров (Интернет и/или телефония).



Как это было решено?

Хочу отметить, что невозможно зарезервировать номер телефона на 100%, если он у вас ОДИН.

Если произойдет авария с вашим оператором связи, вы ничего не сможете сделать.

Поэтому мы поступили следующим образом.

Основной сервер телефонии был перенесен, грубо говоря, из офиса в облако.

Для резерва поднял второй на дешевом хостинге.

Настройки на резервной копии являются копией основных, за исключением мелких нюансов.

Руководителю проекта были предложены следующие варианты автоматического переключения телефонии между серверами:

  1. Используйте DNS, в частности от Amazon. Там можно настроить очень быстрое переключение имен, например voip.company.pro, между IP-адресами двух наших серверов, исходя из аварийного переключения и других параметров.

  2. Используйте балансир.

    Варианты настроек Kamailio и Asterisk, да и не только его, доступны в Интернете.

Следует отметить, что в первом варианте SIP-клиенты будут переключаться на новый сервер после истечения таймаута регистрации.

Во втором случае авторизация выносится за пределы Asterisk в сам балансировщик.

Но заказчик, поигравшись с опцией DNS, отказался от нее.

Обоснование того, что обновление информации на DNS-серверах для конечных устройств может занять очень много времени.

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

Что ж, слабым местом второго варианта будет балансировщик, и его тоже придется оставить.

Заказчик предложил подумать еще об одном варианте — настраивает две учетные записи в SIP клиентах для операторов.

По сути они идентичны, разница лишь в сервере подключения.

Мне со своей стороны нужно проработать переключение телефонии между серверами.

То есть часть схемы на абонентской стороне приняла следующий вид:

Как избежать апокалипсиса или минимизировать его вероятность

Не идеально, но заказчик настоял на таком решении и все трудозатраты по настройке SIP клиентов взял на себя.

Назначено существующему сисадмину :) Дальше.

Чтобы звонки в любом случае поступали, был арендован дополнительный городской номер, но у другого оператора связи.

Номер размещен на сайте вместе с основным.

В личных кабинетах обоих операторов связи оба сервера были подключены как SIP-клиенты.

Сценарии обработки входящих звонков были настроены по следующей схеме:

  1. При поступлении входящего звонка он отправлялся на главный сервер, время дозвона составляло 20 секунд.
  2. Если основной сервер был недоступен, звонок передавался на резервный сервер, время дозвона составляло 20 секунд.
  3. Если резервный сервер также был недоступен, вызов пересылался на голосовую почту.

Практически все VOIP-провайдеры позволяют настроить данную схему либо в личном кабинете, либо обратившись в поддержку.

По крайней мере для тех, кого мы выбрали, мы настраиваем это в личном кабинете.

В результате получается следующая диаграмма:

Как избежать апокалипсиса или минимизировать его вероятность

Поскольку серверы для SIP-клиентов являются внешними, клиент имеет возможность без проблем резервировать каналы доступа в Интернет для колл-центра.

Хотя, надо сказать, он пошел еще дальше и зарезервировал колл-центр, открыв его часть в другом городе.



выводы

Реализованная схема позволила избежать простоев колл-центра в следующих случаях:
  1. Сбой по какой-либо причине одного из серверов телефонии.

  2. Потеря электричества и/или всех каналов интернет-связи в одном из колл-центров.

  3. Отключение у одного из операторов связи
Разумеется, в любом из этих случаев текущие вызовы отключались, а последующие принимались уже по резервной схеме.

Помню то чувство удовлетворения, когда вечером увидел в мониторинге случай перехода на резервный контур.

И при этом никто мне не звонил с криками паники, так как этого практически не было замечено.

Спасибо за внимание! Надеюсь, что этот материал будет кому-то полезен.

Теги: #личный опыт #обеспечьте это #звездочка #телефония #Образовательный процесс в ИТ

Вместе с данным постом часто просматривают: