Условно можно разделить VoIP звонок на две составляющие SIP(SDP) и Media(RTP). В рамках SIP участники договариваются о параметрах звонка (куда слать Media, у кого какой адрес, какой кодек использовать).
FreeSwitch обычно работает только с SDP, а медиа отправляется напрямую.
Например: твой PBX подключен к провайдеру телефонии, твои телефоны сидят за Cisco. Соответственно когда ты совершишь звонок на город, то SDP пройдет между телефоном и провайдером телефонии через PBX, а медиапоток уже пойдет от клиента к провайдеру на прямую.
В этом и кроется основная проблема, потому как клиент может быть за NAT (как раз твой случай) и он должен корректно передать свой белый IP, так же твой NAT должен открыть порты для входящего медиапотока и перенаправить на телефон. Так же остается проблема с кодеками, оба участника звонка должны поддерживать хотя бы один одинаковый кодек.
Для решения этих проблем тебе предлагают гонять медиапоток через PBX, но вот проблемка-то, FreeSwitch достаточно экзотичная штука и HowTo (быстрых решений) сложно найти , потому как сам FreeSwitch рассчитан на профи в этой области.
Что остается
- читать маны по FreeSwitch
- переехать на что-то (Asterisk), что может настраивать каждая собака
EVGENIJ NEFEDOV, SSL работает с разделение по доменам. При рукопожатии клиент передает домен на который ломится. С точки зрения виртуализации, правильнее будет использовать контейнер с nginx.
Но я спрашивал про софт который позволяет это сделать, мне никак не удается найти что-то внятное по этому поводу, все мои запросы приводят к софтовым методам смены МАК.
Мне не важно какой адаптер, возможно можете подсказать модель адаптера который позволяет это делать?