[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Linphone-users] Linphone and VPN
From: |
Andrew Timonin |
Subject: |
[Linphone-users] Linphone and VPN |
Date: |
Thu, 3 Sep 2015 14:38:01 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 |
I've hit an old problem with using Linphone over a VPN.
As I can see (from sources) Linphone is doing assumptions about source
address
for audio (and video) streams only once and it is not a good solution,
especially
if I have a number of interfaces and routes (and VPN is such a case).
The root of the problem is that I don't know my counterpart IP address
(only proxy address)
until I finish negotiations about audio/video streams (via proxy).
As for me the proper solution would be to assume that counterpart is
reachable
via the same interface (and route) as proxy (at least it is reachable
from proxy).
So the source address for audio/video streams should be computed "on the
fly",
while constructing SDP message.
Implementation could be simple: getsockname(proxy_socket,....), BUT only
if proxy_socket it
connected (connect(proxy_socket,...) then send(proxy_socket)
Unfortunately it's not the case with Linphone.
The other (and harder) possibility is to simulate connect()
functionality (regarding source address)
using code like in "ip route get" via RTNETLINK socket:
get route to proxy from kernel, get address from interface, select a
proper one if there are many etc...
Is it possible to implement such a functionality?
--
Sincerely,
--
Andrew Timonin
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Linphone-users] Linphone and VPN,
Andrew Timonin <=