Il tuo operatore telefonico è sicuramente in grado di indicare chi ha inviato il testo, poiché i server del mittente del server sono ovviamente collegati a quelli del tuo operatore per recapitare il messaggio e tutto è stato registrato.
Semplicemente non vogliono passare lo sforzo di immergersi in file di log che richiederebbero il pagamento del tempo di ingegnere perché le persone che lavorano al loro servizio clienti sono addestrate a vendere roba e non sanno nemmeno cos'è un "SMS falsificati" (la spiegazione errata che ti hanno detto lo dimostra, non importa quale software ha inviato il messaggio, dovrebbe comunque avere un registro di provenienza del messaggio, indipendentemente dal fatto che si tratti della rete o di un altro operatore).
Il tuo amico dovrebbe agire in giudizio per furto d'identità, quindi la polizia costringerà il tuo corriere a rivelare qualsiasi informazione che ha su quel SMS, incluso il corriere di origine, da lì a contattare quel corriere e dovrebbero essere in grado di dare loro il identità della persona che ha inviato il testo (o quantomeno un eventuale IP anonimo se si tratta di un provider di API SMS, ma vale comunque la pena provarlo).
L'ID chiamante o il mittente SMS è solo un campo stringa senza alcun significato particolare, mentre non puoi falsarlo con il tuo piano mobile perché il tuo operatore mette sempre il tuo numero in quel campo dalla loro parte, puoi sicuramente spoofarlo se sei tu stesso un operatore e hai connessioni dirette con altri corrieri, nel qual caso puoi praticamente mettere qualcosa lì dentro e la tua chiamata / SMS verrà consegnata perfettamente con quell'identificatore / mittente del chiamante (falsificato). La maggior parte delle API SMS offre questo servizio come servizio in modo che le aziende possano inviare messaggi di marketing provenienti da "nome azienda" anziché da un numero di telefono, ma ovviamente l'effettivo mittente è registrato sui loro server per ovvi motivi.