Hello there, 
 
I am trying to setup a Kamailio (3.3) + Linphone + Jitsi based private calling system (users can call each other but not call out of the network). 
 
Agents can be behind NAT (think Verizon cellphone or home-users behind their router).  I started with the default setup and have tried different settings for NAT/rtpproxy. Currently, all my users register onto the Kamailio server. Users who are not behind a NAT (Jitsi on the internet) i.e. with Public IPs are able to successfully make audio/video calls. 
 
I have RTP proxy setup / running as well, and calls to rtpproxy_manage() as required. The process is running and Kamailio is configured to know that the RTPproxy is listening.
 
I had to switch to using TCP on some of the my UAs because of provider blocking UDP traffic. So they are able to register, yet calls are not completed. The call looks like it connects but no media (audio or video goes through). 
 
I have read a lot of the forums on NAT - and am trying to solve for a couple of big issues:
1. Figuring out when a UA is behind a NAT, and handling the RTPProxying appropriately. 
2. while ngrep-ing UDP packets occassionally I see "Warning: 399 sipalg "Unauthorized" or Bad request.  based on what I saw on the internet, it has to do with the service provider (Verizon) messing with the packet. Is there a way arount this?
 
Any help is greatly appreciated! 
 
Thanks
Pranv