Самый простой способ - подключайтесь по имени, а не по IP.
В файле hosts роутера пропишите соответствие имени внутреннему IP.
Вообще можно гуглить по - Hairpin NAT
Устройство(телефонбноутбук) находиться во внутреней сети(192.168.1.0/24), и когда я из этой сети пытаюсь подключиться к внешнему IPу(xxx.xxx.xxx.xxx), то конект не проходит.
Разумеестя.
У вас компьютеры за натом, вы обращаетесь по белому адресу, который вообще то назначен роутеру, а не вашему серверу.
Пакет попадает на роутер - там есть правило которое перенаправляет пакеты на нужный сервер, но оно работает только для пакетов из внешней сети, а вам надо добавить правило проброса портов для пакетов приходящих из внутренней сети. Ну и чтобы потом ответ пришел с того же адреса, надо еще маскарадинг включить и при отправке пакета по локалке подменять свой внутренний адрес на белый, чтобы клиент не удивился пакету пришедшему с левого IP и не отбросил его.
Но повторю - гораздо проще пользоваться именами и разруливать эту проблему на уровне имен.