Normalizzare il mittente al gateway, e smettere di chiamare un rifiuto riutilizzabile

OtherVOIPService
Spegnimento
7 settembre 2026 alle ore 04:15 UTC
Autore
Kamo
Impegno
bf2edd9

Il commit precedente ha normalizzato il numero del mittente in cui è memorizzato nel numero inventario e sul vettore, e l'invio ancora fallito con lo stesso Errore del vettore. Era una quarta copia: VOIP CONVERSATIONS porta la propria DA PHONE NUMBER, scritto quando il filo è aperto, e /send non consulta mai il risolutore a tutti -- handleOutbound legge che ha memorizzato la copia e la consegna dritto al vettore. Il filo dal vivo era stato aperto mentre l'inventario ancora tenuta `9492989960`, così ha mantenuto quella forma per la vita del filo. upsertConversation's javadoc ha affermato "la scrittura è normalizzata" dal momento che era scritto, ed era -- per esternoPhoneNumber. Il mittente accanto a esso è stato memorizzato esattamente come consegnato. Entrambi attraversano il cetriolo. Fissare la quarta scrittura è ancora fissare una scrittura. Il mittente è memorizzato in quattro tabelle, scritte da una configurazione del vettore, dalla scoperta dei numeri, da un membro assegnazione, e sulla riga di conversazione. Quindi SmsGateway.send... ogni testo in uscita passa attraverso -- ora normalizza il mittente e il destinazione stessa e non si fida di nessuna copia memorizzata. E164.normalizzare rifiuta piuttosto che indovinare, quindi un numero insostituibile mantiene il suo testo grezzo invece di essere girato in un diverso, reale, comporre uno. Secondo difetto, e la ragione per cui questo ha richiesto due giri per trovare: ogni vettore rifiuto è stato segnalato al membro come "Il messaggio non poteva essere inviato. Riprova in un momento." La ricerca era senza speranza per costruzione -- il vettore si rifiutava il numero del mittente e lo rifiuterebbe ogni volta. SmsFailureCode.REGETTO già esisteva con il giusto significato; nulla ha portato il segnale a esso, perché SendTextResult non poteva dire un rifiuto da un timeout. Porta il codice e il verdetto del vettore ora, preso dalla classe di stato piuttosto che un tabella dei codici per-carrier: 4xx è il vettore che declina una richiesta compreso, 5xx e un timeout sono quello che un retry è effettivamente per. Un rifiuto è ora non curabile e lo dice, a parole un membro può agire; il vettore proprio la frase rimane nel registro dell'operatore dove stava già andando. Le righe di conversazione live sono state riparate direttamente, quindi il testo funziona prima di questo schieramenti. Nessun mittente non E.164 rimane in nessuna delle quattro tabelle.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo