1 (17.01.2014 21:56:33 отредактировано Cruiser78)

Привет всем!

Более сложный вопрос.
Дано:
1. Собственно Андроид 4.1.1.
2. Для доступа к серверам фирмы используем технологию openVPN, и продукт андроидовый "openVPN для Android" c гугольплея. Настроено все нормально, пинги во внутреннюю сеть ходят, подключиться к smb-серверу фирмы могу. tcpdump, запущенный на целевом хосту, показывает, что активность тушки через openVPN идет именно с того адреса, который прописан в конфигурации openVPN. До этого момента нет ни проблем, ни сложностей.
3. Для создания VoIP-аккаунта на моей тушке применяем программу SIPDroid. Ну выпилили инженеры HTC эту возможность из своего "шелла". Итак, настраиваем, и если находимся в LAN фирмы (доступ по WiFi) добираемся к своему астериску и вполне себе можно говорить со своего смартфона через офисную АТС... Здесь тоже нет проблем.
Проблема:
4. Выходим из фирмы, теряем WiFi-соединение с LAN фирмы, включаем режим "мобильного интернета" по 3G. Включаем openVPN. все работает (пинги идут, на сервер зайти по CIFS можно). Но вот сипдроид засылает свои пакеты в openVPN-канал не с адресом, определенным для данного канала (у меня - 192.168.128.34) а с адресом, который, похоже, достался от 3G-интерфейса  - 100.121.50.146. Нет, соврал. Мегафон дает совсем иной внешний адрес тушке. А что это за адрес - понятия не имею, но именно с него происходит попытка регистрации в астериске... Далее, эти пакеты долетают до астериска через openVPN по одному интерфейсу, а ответы он отправляет на интерфейс другой (для внешнего мира)... Соответственно мне - полный обломайтис.

Вопрос традиционный - какого рожна SIP не хочет идти в openVPN с адреса openVPN (в отличие от всего остальных приложений) и что с этим можно поделать?...

--------------------
С непонятными адресами разобрался. Это вполне себе серые адреса, которые девайс получает от провайдера (или WiFi-роутера). Но вот почему эти адреса при завороте в openVPN не изменяются на адрес tun-интерфейса для SIP-трафика (для остального - меняются) - вот это непонятно совершенно...
=================
И еще дополнение - привычный linphone коннектится нормально, с совершенно правильным openVPN-адресом. Правда, мне не удалось научить его принимать входящий на смартфон трафик. Что то там в кодеках не согласуется...