A computing device providing a communication service, the computing device comprising: a processor; a memory, the memory storing instructions, which when executed by the processor, cause the computing device to perform operations comprising: at a pre specified time relative to a start time of a network-based communication session, automatically, at the computing device of the communication service hosting the network-based communication session: identifying a first communication application from a plurality of registered communication applications of a participant, the first communication application executing on a first computing device of the participant; determining a network address of the first computing device based upon a previously received packet received from the first computing device; sending a polling packet to the first communication application on the first computing device, the polling packet requesting a response packet and addressed to the network address of the first computing device; determining that no response packet has been received from the first communication application for the polling packet after a threshold amount of time has passed since sending the polling packet; responsive to determining that no response packet has been received: selecting a second communication application from the plurality of registered applications using connectivity data of the participant; causing a connection request to be sent to the second communication application; receiving a connection confirmation from the second communication application; and responsive to receiving the connection confirmation, joining the second communication application with the network-based communication session by sending media packets of the network-based communication session to the second communication application. a processor; a memory, the memory storing instructions, which when executed by the processor, cause the computing device to perform operations comprising: at a pre specified time relative to a start time of a network-based communication session, automatically, at the computing device of the communication service hosting the network-based communication session: identifying a first communication application from a plurality of registered communication applications of a participant, the first communication application executing on a first computing device of the participant; determining a network address of the first computing device based upon a previously received packet received from the first computing device; sending a polling packet to the first communication application on the first computing device, the polling packet requesting a response packet and addressed to the network address of the first computing device; determining that no response packet has been received from the first communication application for the polling packet after a threshold amount of time has passed since sending the polling packet; responsive to determining that no response packet has been received: selecting a second communication application from the plurality of registered applications using connectivity data of the participant; causing a connection request to be sent to the second communication application; receiving a connection confirmation from the second communication application; and responsive to receiving the connection confirmation, joining the second communication application with the network-based communication session by sending media packets of the network-based communication session to the second communication application. identifying a first communication application from a plurality of registered communication applications of a participant, the first communication application executing on a first computing device of the participant; determining a network address of the first computing device based upon a previously received packet received from the first computing device; sending a polling packet to the first communication application on the first computing device, the polling packet requesting a response packet and addressed to the network address of the first computing device; determining that no response packet has been received from the first communication application for the polling packet after a threshold amount of time has passed since sending the polling packet; responsive to determining that no response packet has been received: selecting a second communication application from the plurality of registered applications using connectivity data of the participant; causing a connection request to be sent to the second communication application; receiving a connection confirmation from the second communication application; and responsive to receiving the connection confirmation, joining the second communication application with the network-based communication session by sending media packets of the network-based communication session to the second communication application. selecting a second communication application from the plurality of registered applications using connectivity data of the participant; causing a connection request to be sent to the second communication application; receiving a connection confirmation from the second communication application; and responsive to receiving the connection confirmation, joining the second communication application with the network-based communication session by sending media packets of the network-based communication session to the second communication application.