Каким бы аккуратным это ни было, я думаю, вы ошиблись.
Если ваше приложение установлено на обеих сторонах, вы можете написать службу для периодической проверки связи с центральным сервером с информацией телефона и его IP-адресом (неявно). Это будет похоже на количество динамических DNS-приложений.
При этом мобильные телефоны не являются хорошими серверами. Соединение увеличивается и уменьшается, IP-адрес часто меняется, и телефон может оказаться в сети WiFi с NAT.
Гораздо лучше, чтобы оба телефона работали через надежный сервер-посредник, который будет хранить и пересылать запросы между устройствами.