A method of operating a peer-to-peer collaboration system in which a plurality of peers (112, 114, 122, 124) each broadcast collaboration information to other peers (112, 114, 122, 124) of the plurality of peers, the method comprising: determining, by a first peer of the plurality of peers, address information with which the first peer of the plurality of peers may directly receive packets from other peers of the plurality of peers through a Network Address Translation, NAT, device; sharing, by the first peer, the address information with at least a second peer of the plurality of peers; maintaining, by the second peer of the plurality of peers, a routing table identifying a plurality of groups (350, 360) of peers (352A, 352B, 352C, 352D, 362E, 362F, 362G, 362H) in the plurality of peers, wherein each peer in each group is able to directly send a packet to at least one other peer in the group, wherein the second peer uses the routing table to determine addressing information to broadcast a packet to other peers in a collaboration session, wherein one or more peers in a group are behind a NAT device for which other peers in the group have received address information that allow them to traverse the NAT to reach the one or more peers with direct peer-to-peer communication, and wherein the first peer belongs to one of said plurality of groups; selecting, by the second peer, using the routing table, at least one peer within each group of the plurality of groups to receive a packet; and transmitting, by the second peer, the packet to the selected at least one peer within each group of the plurality of groups, comprising transmitting the packet to a third peer in a first group of the groups and forwarding, by the third peer, using a routing table of the third peer, the packet from the third peer to each of a plurality of other peers in the first group and, comprising transmitting the packet to a fourth peer in a second group of the groups and forwarding, by the fourth peer, using a routing table of the fourth peer, the packet to at least one other peer in the second group, the packet forwarded to the at least one other peer being directly addressed to the at least one other peer in the second group. determining, by a first peer of the plurality of peers, address information with which the first peer of the plurality of peers may directly receive packets from other peers of the plurality of peers through a Network Address Translation, NAT, device; sharing, by the first peer, the address information with at least a second peer of the plurality of peers; maintaining, by the second peer of the plurality of peers, a routing table identifying a plurality of groups (350, 360) of peers (352A, 352B, 352C, 352D, 362E, 362F, 362G, 362H) in the plurality of peers, wherein each peer in each group is able to directly send a packet to at least one other peer in the group, wherein the second peer uses the routing table to determine addressing information to broadcast a packet to other peers in a collaboration session, wherein one or more peers in a group are behind a NAT device for which other peers in the group have received address information that allow them to traverse the NAT to reach the one or more peers with direct peer-to-peer communication, and wherein the first peer belongs to one of said plurality of groups; selecting, by the second peer, using the routing table, at least one peer within each group of the plurality of groups to receive a packet; and transmitting, by the second peer, the packet to the selected at least one peer within each group of the plurality of groups, comprising transmitting the packet to a third peer in a first group of the groups and forwarding, by the third peer, using a routing table of the third peer, the packet from the third peer to each of a plurality of other peers in the first group and, comprising transmitting the packet to a fourth peer in a second group of the groups and forwarding, by the fourth peer, using a routing table of the fourth peer, the packet to at least one other peer in the second group, the packet forwarded to the at least one other peer being directly addressed to the at least one other peer in the second group.