A user terminal associated with a first user, the user terminal comprising a communication client application for managing and performing communications with at least one further user terminal over a first network, the communication client application being configured to: determine information associated with at least one further communication client application installed on the user terminal by generating a dummy call URI, passing the dummy call URI to a user terminal operating system and receiving from the user terminal operating system native communication client component information identifying the at least one further communication client application, the at least one further communication client application being for managing and performing communications with the at least one further user terminal over a second network; determine with respect to at least one outgoing call whether a further user terminal among the at least one further user terminal at the call end point of the at least one outgoing call comprises the communication client application; and manage and perform the placement of the call based on the determination of whether the further user terminal at the call end point comprises the communication client application, such that the communication client application is configured to manage and perform the placement of the call using the communication client application over the first network when the further user terminal at the call end point comprises the communication client application and hand off the placement of the call to the identified at least one further communication client application otherwise by generating a call URI comprising the native communication client component information identifying the at least one further communication client application; wherein the communication client application is configured to determine with respect to the at least one outgoing call whether the further user terminal at the call end point comprises the communication client application by: receiving an outgoing call event notification, the outgoing call event notification comprising an identifier identifying a user of the at least one further user terminal; generating a search request comprising the identifier for a communication client application database; and receiving a response to the search request determining whether the at least one further user terminal at the call end point comprises the communication client application. determine information associated with at least one further communication client application installed on the user terminal by generating a dummy call URI, passing the dummy call URI to a user terminal operating system and receiving from the user terminal operating system native communication client component information identifying the at least one further communication client application, the at least one further communication client application being for managing and performing communications with the at least one further user terminal over a second network; determine with respect to at least one outgoing call whether a further user terminal among the at least one further user terminal at the call end point of the at least one outgoing call comprises the communication client application; and manage and perform the placement of the call based on the determination of whether the further user terminal at the call end point comprises the communication client application, such that the communication client application is configured to manage and perform the placement of the call using the communication client application over the first network when the further user terminal at the call end point comprises the communication client application and hand off the placement of the call to the identified at least one further communication client application otherwise by generating a call URI comprising the native communication client component information identifying the at least one further communication client application; wherein the communication client application is configured to determine with respect to the at least one outgoing call whether the further user terminal at the call end point comprises the communication client application by: receiving an outgoing call event notification, the outgoing call event notification comprising an identifier identifying a user of the at least one further user terminal; generating a search request comprising the identifier for a communication client application database; and receiving a response to the search request determining whether the at least one further user terminal at the call end point comprises the communication client application. receiving an outgoing call event notification, the outgoing call event notification comprising an identifier identifying a user of the at least one further user terminal; generating a search request comprising the identifier for a communication client application database; and receiving a response to the search request determining whether the at least one further user terminal at the call end point comprises the communication client application.