What is the easiest way if it is possible to determine if the person being calling is behind NAT and then start the media_proxy session. I have worked out that if the caller is behind NAT, start the media session, and it works great. But if the caller is not behind NAT, and the callee is, the phone rings and when you pick it up, no sound flows in either direction.
Thanks, Doug
Hi!
Doug Eubanks wrote:
What is the easiest way if it is possible to determine if the person being calling is behind NAT and then start the media_proxy session. I have worked out that if the caller is behind NAT, start the media session, and it works great. But if the caller is not behind NAT, and the callee is, the phone rings and when you pick it up, no sound flows in either direction.
I've been working on the same issue since I only want the calls depending on the mediaproxy for successful communication to use it.
What I see when client_nat_test() fails for the calling party (due to an external IP, yadda, yadda) but the called party needs it, is that the mediaproxy doesn't have all information (see sessions.py that comes with the mediaproxy itself) to redirect the stream.
I thought about calling use_media_proxy() on all INVITES and then just send the second use_media_proxy() from the called party if that party needs the proxy ... but it didn't work out as expected till now.
Any help appreciated though :)
I also thought about making a DB containing clients that need NAT, i.e. when you REGISTER client_nat_test() is used to see if you need it and upon INVITE both parties' NAT status can be looked up and if either one needs mediaproxy support it is turned on.
Hendrik
Remember, that the NAT flag is stored with the contact when it's registered. It is set by "lookup()" when called.
Test the flag, after the lookup, as well as the client_nat_test().
--Dave
-----Original Message----- From: serusers-bounces@iptel.org [mailto:serusers-bounces@lists.iptel.org] On Behalf Of Hendrik Scholz Sent: Monday, January 24, 2005 3:46 AM To: admin@dougware.net Cc: serusers@lists.iptel.org Subject: Re: [Serusers] Callee is behind NAT, start the mediaproxy session
Hi!
Doug Eubanks wrote:
What is the easiest way if it is possible to determine if the person being calling is behind NAT and then start the media_proxy session. I
have worked out that if the caller is behind NAT, start the media session, and it works great. But if the caller is not behind NAT, and
the callee is, the phone rings and when you pick it up, no sound flows
in either direction.
I've been working on the same issue since I only want the calls depending on the mediaproxy for successful communication to use it.
What I see when client_nat_test() fails for the calling party (due to an
external IP, yadda, yadda) but the called party needs it, is that the mediaproxy doesn't have all information (see sessions.py that comes with the mediaproxy itself) to redirect the stream.
I thought about calling use_media_proxy() on all INVITES and then just send the second use_media_proxy() from the called party if that party needs the proxy ... but it didn't work out as expected till now.
Any help appreciated though :)
I also thought about making a DB containing clients that need NAT, i.e. when you REGISTER client_nat_test() is used to see if you need it and upon INVITE both parties' NAT status can be looked up and if either one needs mediaproxy support it is turned on.
Hendrik