Регистрация SIP-телефона (X-Lite) на сервере звездочек (asteriskNow)
В настоящее время у нас есть школьный проект, в котором нам нужно настроить АТС с Asterisk. Таким образом, мы установили asteriskNow в виртуальной среде (с virtualBox) на Ubuntu 12.10. Мы попробовали конфигурацию, зарегистрировав некоторые SIP-телефоны через X-Lite в локальной сети, и это сработало. Но теперь мы хотели бы иметь возможность доступа к серверу также из Интернета - это то, с чем мы боремся... Вот что мы сделали до сих пор:
В X-Lite мы указали IP-адрес модема локальной сети, в которой находится сервер Asterisk.
На модеме мы перенаправили все входящие запросы через порт 5060 на локальный маршрутизатор, и этот маршрутизатор перенаправил все запросы на локальный IP-адрес нашего сервера звездочек.
Мы настроили IP-адрес сервера звездочки как статический.
Мы отключили брандмауэр Ubuntu
Теперь я знаю, что это очень расплывчатое описание нашей проблемы, и ошибка может быть где угодно, но мы даже не знаем, с чего начать искать ошибку. Есть ли у вас какие-либо предложения, что мы могли бы сделать? Может быть, Wireshark поможет? Любая информация, помощь или предложение очень важны (также, если вы знаете хорошие уроки, как настроить звездочку с freepbx)!
3 ответа
Несколько общих моментов -
Asterisk работает очень плохо на виртуальных машинах.
Я не знаю, есть ли у них конкретные рекомендации по этому вопросу, но мой опыт показывает, что даже в высокопроизводительных средах VMWare вы можете столкнуться со всевозможными странными проблемами с виртуализированными VoIP-серверами.
Я настоятельно рекомендую устранить неполадки на выделенном физическом оборудовании.SIP
(протокол VoIP за Asterisk) ненавидит NAT
SIP никогда не был предназначен для работы с трансляцией сетевых адресов.
Опять же, попробуйте заставить все работать в одной подсети без использования NAT или маршрутизации, прежде чем переходить к более сложным задачам.
Проблемы, связанные с NAT, обычно затрагивают звонки больше, чем регистрация, и есть много информации о том, как с этим справиться, если вы гуглите.Хороший анализатор пакетов - ваш друг при поиске неисправностей VoIP
Если вы будете наблюдать за данными, идущими туда-сюда, вы, вероятно, придумаете разумное представление о том, в чем проблема.
Так что в основном - начните с того, что все будет работать внутри вашего брандмауэра. Затем медленно продвигайтесь к работе с брандмауэрами и NAT.
С точки зрения учебных пособий Asterisk, их предостаточно в сети (и Server Fault на самом деле не является ресурсом для "Find me a tutorial" - Google обновляет эту информацию лучше, чем мы когда-либо могли).
Я определенно рекомендовал бы использовать предварительно упакованный дистрибутив Asterisk, если вы новичок в VoIP - AsteriskNOW должен быть в порядке, но я лично использую дистрибутив FreePBX в производстве и получил отличные результаты (и он хорош при автоматической настройке для NAT связанные с этим проблемы, которые избавляют меня от головной боли.)
Но теперь мы хотели бы иметь возможность доступа к серверу также из Интернета - это то, с чем мы боремся
Вещи, чтобы проверить:
- Проверьте правильность портов, которые вам требуются, "открыть". Если это всего лишь 5060, хорошо... но проверьте.
- Убедитесь, что внешний IP-адрес модема отвечает на правильные порты, используя что-то вроде http://www.t1shopper.com/tools/port-scan или аналогичный
- Проверьте маршрутизацию между модемом, внутренним маршрутизатором и УАТС в обоих направлениях, ищите проблемы NAT, проблемы маршрутизации и т. Д., Используя ping, tracert и другие инструменты.
- Убедитесь, что вы тестируете IP-телефон вне модема / брандмауэра и что у него нет брандмауэра, блокирующего исходящие для этих портов.
Надеюсь, это поможет вам... не пытаться быть суровым с правилами.
Я просто хотел бы добавить, что, поскольку эта звездочка имеет публичный IP-адрес, вы можете подумать, как ее защитить, поскольку есть боты, сканирующие открытые порты 5060, пытающиеся получить доступ к VoIP-серверам / телефонам / и т. Д. Возможно, вы захотите использовать Fail2ban и выбрать хорошие пароли для ваших звездных пиров.