Heya,
I'm trying to understand the logic in the python side of the media proxy. Specifically, I have a user with a public IP address that is behind NAT. This would seem to be okay, except for this check:
elif not caller.signedInAddress and caller.local and address[0]==caller.visibleIP: self.signIn(caller, address, data) sender = 0 destination = called.address elif not called.signedInAddress and called.local and address[0]==called.visibleIP: self.signIn(called, address, data) sender = 1 destination = caller.address
I don't really understand the logic of this. Reading some more source, local is defined if the SDP header has a local media stream setting in it's m= header, but I do not understand why this would affect this part of the peer logic.
If I removed this local check, my mediaproxy would be able to match incoming RTP streams from users with public IP addresses (visibleIP == public IP) behind NAT to their RTPPeer correctly. But I need to understand the implications of doing this, or whether there might be a better way for me to go?
Any suggestions?
Cheers, Chris.