Methods are described that enable host devices of a multicast IP network
to reliably join multicast group address(es) in talkgroup or
point-to-point calls. For a talkgroup call, a sourcing host sends "hello"
packets or payload to one or more network devices, addressed to a
multicast group address. The receiving host issues a join command to the
one or more network devices in an attempt to reliably join the multicast
group address. If any packets are received by the receiving host within a
designated time period associated with the attempt, the receiving host is
reliably joined to the multicast group address. For a point-to-point
call, a controller sends a pair of multicast group addresses, one
designated for sourcing packets and the other designated for receiving
packets, to a first and second host participating in the point-to-point
call. The designated "source" and "receive" multicast group address are
complementary for the first and second hosts. When the first or second
host is acting as a source, it sends hello packets or payload addressed
to its designated "source" multicast group address. When the first or
second host is acting as a receiver, it attempts to join its designated
"receive" multicast group address. The first or second host acting as a
receiver knows that it is reliably joined to its designated "receive"
multicast group address if it receives any packets addressed to that
address within a designated time period.