p2p video chat

Hello

I'm interested in microsoft p2p technology recently.

Now I want to make simple p2p video chat program.

I wonder that microsoft p2p will work perfectly for video chat.

I wonder about...

1. I guess user's system is usually xp still, not vista.
so I going to make users install xp sp2 & pnrp ver2.0 update.
will it work fine on xp?

2. I worry if microsoft p2p requires NAT's uPnp function enabled? or some security hole?

3. I test text chat sample. so I'm sure that video chat will be possible too. but how to implement is too sophisticated for me. will video streaming on microsoft p2p be complicated? is there any useful article about that?

4. now I'm testing p2p sdk grouping chat sample. it's working fine between computers within same NAT. but when I tried it between different NAT's computers, each computer didn't find each other's group, even thought each group was listening perfectly on Global_ cloud. I don't have any idea about this problem. could you give me any idea?

[1081 byte] By [pasadena] at [2008-1-29]
# 1

(1) Hopefully users have already upgraded to XPSP2. PNRP v2.0 and Peer-to-Peer Grouping and Graphing were tested on XPSP2 as part of their release criteria. If a user cannot upgrade his machine to XPSP2 then he cannot install the Peer-to-Peer platform.

(2) None of the P2P platform uses uPnP to configure your firewall or NAT.

(3) The P2P APIs do not include any special support for streaming. You can set-up direct connections to other peers to do the video streaming but this is not the most efficient method. A more efficient and much more complicated method would be building a distribution tree out of the set of peers. This sounds like it is more complicated than what you want to deal with.

(4) There are a few things to check. First you should check that the peers behind the different NATs can successfully resolve each other in PNRP. You use "netsh p2p pnrp peer add reg 0.foo" to register one peer in PNRP and then use "netsh p2p peer resolve 0.foo" on the other peer to try to resolve the PNRP name 0.foo. If this works then the problem may lie in connecting to the Group. Are you using anonymous (password secured) or regular (certificate based) Group invitations?

EliotFlannery-MSFT at 2007-9-25 > top of Msdn Tech,Windows Networking Development,Peer-to-Peer Networking...
# 2

Thanks a lot for your instruction.

I succeeded to resolve Global_ peer name as I followed the instruction at article "Teredo Overview"

I used "netsh interface ipv6 install" and "netsh interface ipv6 set teredo enterpriseclient"

after that, I checked Global_ cloud by using "netsh p2p pnrp cloud show init",

Global_ cloud's state changed from "alone" to "active" and resoving peer name worked fine. group chat sample too.

But I don't know why I should use "netsh interface ipv6 install" command even though Ipv6 was already installed in my computer.

What does this command mean exactly?

when I tested group chat sample with one computer(A) behind NAT and the other(B) connected to public internet directly. It worked fine.

But when both of them(A,B) were behind each NAT, it didn't work.

I simply moved computer(B) from public internet to behind NAT. so computer's configuration would not be wrong. doesn't it?

when I checked teredo by using "netsh interface ipv6 show teredo",

computer(B)'s NAT was just restricted NAT.(I heard that teredo doesn't work behind symmetric NAT )

Could you give some suggestion to solve my problem again?

Thanks.

pasadena at 2007-9-25 > top of Msdn Tech,Windows Networking Development,Peer-to-Peer Networking...