Моя текущая настройка - я использую несколько аппаратных SIP-телефонов в нескольких офисах. На всех устройствах настроено две учетные записи SIP - одна на внутреннем SIP-прокси [для звонков между филиалами], другая - у сторонних провайдеров VoIP [так как они находятся в разных странах - это разные провайдеры, но это неважно].
Я думал о том, чтобы завершить SIP-вызовы на чем-то вроде сервера Asterisk/Freeswitch и заставить все SIP-устройства подключаться к такому серверу[ам] только один раз - в основном для предоставления таких вещей, как голосовая почта, групповые вызовы, перенаправления и т. д. Это кажется вполне осуществимым, но есть одна проблема - я не могу найти примеры того, как подготовиться к NAT/No NAT. Для вызовов, направляемых от/к стороннего оператора VoIP - мне понадобится обработка для NAT/Stun и т. д., но для обработки внутренних вызовов - мне не нужен никакой NAT, весь трафик должен идти через VPN в разные филиалы.
Можете ли вы дать мне несколько советов по его настройке? Есть ли какие-нибудь руководства?
Спасибо!
решение1
Для FreeSWITCH, я считаю, эта функциональность может быть реализована внутренними/внешними профилями sip. Вы можете найти больше информации на wiki.freeswitch.org
Конфигурацию NAT для вашего внешнего VoIP-провайдера(ов) можно настроить во внешнем профиле (например, /usr/local/freeswitch/conf/sip_profiles/external/voipprovider.xml). Вы можете установить эти два параметра для соответствия вашему публичному IP-адресу:
<include>
<gateway name="voipprovider">
<param name="ext-rtp-ip" value="x.x.x.x"/>
<param name="ext-sip-ip" value="x.x.x.x"/>
<param name="username" value="user"/>
<param name="password" value="password"/>
<param name="realm" value="sip.voipprovider.com"/>
</gateway>
</include>
Чтобы использовать внешних провайдеров VoIP, вам нужно настроить ваш диалплан (/usr/local/freeswitch/conf/dialplan/default.xml) примерно так. Чтобы использовать разных провайдеров VoIP в зависимости от назначения, вы можете настроить регулярное выражение:
<include>
<extension name="Dial Out VoIP Provider">
<condition field="destination_number" expression="^9(1\d{10})$">
<action application="bridge" data="sofia/gateway/voipprovider/$1"/>
</condition>
</extension>
</include>
Надеюсь, это поможет. У меня нет опыта работы с Asterisk, поэтому я не уверен, как вы настроите его с помощью этого коммутатора.