Идея звонить домой внутри расширения службы ошибочна, потому что если по какой-то причине HTTP-вызов не проходит внутри расширения (например, неправильный прием соты, сбой сервера, ...), у вас нет возможности предотвращение доставки уведомления:
Расширение службы [..] не может отбросить это уведомление или предотвратить его отображение.
Как уже упоминалось в этом докладе WWDC 17: Рекомендации и что нового в уведомлениях пользователей
Лучшим способом было бы отправить тихое уведомление пользователю. Это разбудит ваше приложение в фоновом режиме на устройстве пользователя, позволяя вам сделать HTTP-вызов. Если вызов завершится успешно , вы можете запланировать локальное уведомление. В случае сбоя (или если молчаливое уведомление никогда не доставлялось) пользователь находится в автономном режиме, и вы можете вместо этого отправить SMS.
Имейте в виду: Apple рассматривает тихие уведомления как низкоприоритетные, поэтому, чтобы предотвратить локальное уведомление по тихому уведомлению, которое было доставлено после SMS-сообщения, вы должны реализовать какое-то Вызов API может использоваться вашим приложением для запроса о том, отправлено ли уже SMS сообщение.