Есть провайдер который предоставляет sip телефонию. Авторизация у провайдера происходит по ip адресу. На каждый телефонный номер провайдер дает транк.
Уточню что в данном случае понимаю под транком: провайдер выдает подсеть ipv4 c длинной маски 30 бит (адреса из 10.0.0.0/8) и дает все это в разных VLAN'ах по одной оптике. В данной под сети находится интерфейс маршрутизатора провайдера и интерфейс нашего asterisk. Сам SIP сервер провайдера находится за маршрутизатором и имеет ОДИН ip адрес! Последний факт весьма прискорбен. Схема приведена на рисунке: [URL=http://hostingkartinok.com/show-image.php?id=9c9e6bbef6fb7441525dbb86afddb0bc][IMG]http://s7.hostingkartinok.com/uploads/thumbs/2014/03/9c9e6bbef6fb7441525dbb86afddb0bc.png[/IMG][/URL]
Соответственно в зависимости от того с какого адреса (нашего адреса, назначенного asterisk) ходит sip трафик провайдер относит его либо к одному телефону либо к другому.
Как обеспечить работу в такой конфигурации?
Решение в лоб - поставить по одному asterisk на каждую подсеть провайдера. Но как-то не красиво получается.
Вот если бы удалось назначить разные source address в пакетах разных учеток из sip.conf, то проблему можно было бы решить простой политикой маршрутизации по адресу источника.
Еще в голову лезут варианты с двойным nat, но думаю решение не работоспособно из-за того что sip не дружит с nat.
никак. Поставьте _за_
астериском камалио, или _вместо_
него FreeSwitch.
другой вариант - поменять такого провайдера.
Задан: 2014-03-27 10:47:38 +0400
Просмотрен: 433 раз
Обновлен: Mar 27 '14
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.