1) Each client checks for internal and external IPs and saves them. That list is transmitted to your friends every time you update them with other data. It automatically manages this list of possible places to reach you.
2) There will be indexers for these cases which can be used as relay points. C would merely be a match-maker, telling each host which IP address and port is currently open. No data is sent through C.
>1) Each client checks for internal and external IPs and saves them. That list is transmitted to your friends every time you update them with other data. It automatically manages this list of possible places to reach you.
According to the link, "supernodes" route connections and provide matchmaking between Skype callers. How do you find the "supernodes"? "If this file is not present, SC tries to establish a TCP connection with each of the seven Skype maintained default SNs IP address on port 33033."
>2) There will be indexers for these cases which can be used as relay points. C would merely be a match-maker, telling each host which IP address and port is currently open. No data is sent through C.
"If caller and receiver are behind a UDP-restricted firewall they will need a relay (node) in between to establish TCP connection to and then the traffic (including media) will go through from one side to the other."
Skype's protocol would use host C as an intermediary.
You didn't address my point about initial discovery being maintained by Skype.
Also, could you please point out to me the method you have developed for initial discovery? I've yet to see it in your source code. This is a very tough nut to crack and if you've got it done already then I'm impressed.
Show me one place in your code right now where you have done something innovative with peer discovery, that no network engineer, or researcher has tried before, doesn't use a central meeting point, and is successful at discovering peers in a reasonable amount of time. I'll start work immediately. I'm pretty sure more people will join in on it too if this is the case.
2) There will be indexers for these cases which can be used as relay points. C would merely be a match-maker, telling each host which IP address and port is currently open. No data is sent through C.
Skype does this.