Вы можете установить прямое соединение с UDP или TCP, но у вас возникнут проблемы с логистикой. Например, если вы находитесь в той же сети Wi-Fi, все будет хорошо. Но если один телефон находится в сети Wi-Fi с адресом NAT, а другой - с публичным адресом, у вас будут проблемы, так как частный адрес NAT не может маршрутизироваться. Если личный телефон знает IP-адрес общедоступного телефона, частный IP-телефон может установить первоначальный контакт.
Вот почему люди используют сервер, чтобы иметь одно центральное место для всех, чтобы встретиться, и соединения могут быть установлены.