Не знаю как там устроено с смс( не пробовал пока). Но думаю нет никакой сложности проверять переменную на соответствие условиям и если надо то повторять предыдущий действия. Можно переходом к метке или сделать цикл который будет выполняться пока условие не выполниться.
@rg вариант 1 - делать запросы к серверу через хттп клиен, сохранять id обращения в глобальную переменную, потом продолжать в другом потоке.
Вариант 2 - не городить огород, а работать в одном потоке