Robienie tego ręcznie to sporo roboty. Ja się tutaj kiedyś bawiłem: https://blog.marcinchwedczuk.pl/fun-with-at-commands-and-old-modem
Generalnie potrzebujesz modemu "palucha" oraz jakiejś libki do niego (generalnie wszystko obsługuje komendy AT). Musisz napisać drobny wrapper na lib'a tak żeby wystawiał funkcjonalność przez REST + jakieś security (znowu może być już taki produkt).
Zgodnie z prawem telekomunikacyjnym wysyłanie wiadomości ze zwykłej karty sim tego typu (np. marketingowych) jest nielegalne. Trzeba wykupić inną taryfę żeby to robić. Jak wyślesz < 500 to pewnie nikt się nie przyczepi.
Największy problem to wystawić RPI na necie tak żeby nikt Ci się nie włamał i potem aktualizację i inny admin stuff. Najlepiej to dać za modemem w DMZcie i port forward na to publiczne API.
Jeżeli to jest komercha to będzie lepiej (i być może taniej) wykupić po prostu jedną z usług typu https://hostedsms.pl/pl/ - tego jest w H dużo, ceny też konkurencyjne jak się dobrze poszuka.
Na koniec jedna uwaga - wysyłka z konsumenckiej karty SIM ma taką wadę że zawsze widnieje numer nadawcy, wyłanie przekabaconego payloadu w ramce może się spotkać ze wściekłością ze strony "szafy" czyli centralki i najprawdopodbniej SMS zostanie odrzucony. Wysyłka przez serwisy lub przez api "szafy" daje możliwość np. ustawienia tytułu "MORAWIECKI POZDRO - Nowy podatek" zamiast numeru. Takich SMSów też nie daje się blokować.