Jasmin e Kannel sono i due gateway SMS open source più noti. Jasmin è scritto in Python sul framework Twisted, parla SMPP e HTTP su entrambi i lati e include routing, billing, una CLI di gestione e una REST API. Kannel è un gateway più vecchio in C per SMS e WAP che si collega ai centri SMS via SMPP 3.4, UCP/EMI e CIMD, e ai modem GSM. Jasmin è più vicino a ciò che serve subito a un'attività A2P moderna; Kannel è leggero e collaudato, ma richiede più lavoro intorno.
Cos'è il gateway SMS Jasmin?
Jasmin è un gateway SMS open source rilasciato con licenza Apache 2.0. La sua documentazione descrive:
- Protocolli: client e server SMPP, client e server HTTP.
- Routing: statico, round-robin, failover e least cost routing, con filtri per utente, connettore e logica Python personalizzata, modificabile a caldo.
- Interceptor: punti di aggancio per modificare o bloccare i messaggi in transito.
- Billing: saldi e quote per utente.
- Gestione: jCli (una console a riga di comando) e una REST API; il backend web è venduto con licenza commerciale.
- Architettura: store-and-forward tramite un message broker AMQP, con Redis per le ricevute di consegna.
- Installazione: pacchetti per Ubuntu e RHEL/CentOS, PyPI, Docker e Kubernetes.
Cos'è il gateway SMS Kannel?
Kannel si presenta come un gateway WAP e SMS open source compatto. È rilasciato con una licenza in stile BSD, è scritto in C e gira come processi separati: bearerbox mantiene le connessioni ai centri SMS, smsbox gestisce i servizi SMS e l'interfaccia HTTP di invio, e wapbox gestisce il WAP. Secondo la pagina di stato del progetto supporta CIMD 1.3 e 2.0, SMPP 3.4 e UCP/EMI 4.0, può usare telefoni e modem GSM come pseudo centro SMS, gestisce dati a 7 bit, 8 bit e Unicode con le ricevute di consegna e può funzionare da aggregatore. L'ultima versione stabile indicata sul sito del progetto è la 1.4.5, del 2018. Per accettare connessioni SMPP dai tuoi clienti, Kannel di solito si abbina a un componente aggiuntivo come OpenSMPPBox.
Jasmin o Kannel: quale è meglio?
| Jasmin | Kannel | |
|---|---|---|
| Linguaggio | Python (Twisted) | C |
| Licenza | Apache 2.0 (backend web commerciale) | In stile BSD |
| Lato fornitori | SMPP, HTTP | SMPP 3.4, UCP/EMI, CIMD, modem GSM, HTTP |
| Lato clienti | Server SMPP e HTTP API integrati | HTTP integrato; server SMPP tramite componente aggiuntivo |
| Routing e billing | Integrati (LCR, failover, quote) | Routing di base; billing da costruire a parte |
| Gestione | jCli, REST API | File di configurazione, stato HTTP e comandi di amministrazione |
| Dipendenze | Broker AMQP, Redis | Poche; database opzionale per salvare i DLR |
| Uso ideale | Piattaforma da rivenditore o aggregatore con molti account cliente | Connettore leggero verso operatori o modem, dietro la tua applicazione |
Se stai costruendo una piattaforma da rivenditore o aggregatore, Jasmin ti dà account cliente, server SMPP e routing senza codice in più. Se ti serve solo un collegamento affidabile tra la tua applicazione e pochi centri SMS, o ti servono UCP/EMI o CIMD, Kannel è più leggero.
Un gateway SMPP open source basta per un'attività?
Il software è la parte minore del lavoro. Un'attività SMS in produzione richiede anche il monitoraggio del tasso di consegna per rotta, la mappatura dei codici di errore dei fornitori, la gestione delle tariffe, i processi di registrazione dei sender ID, controlli antifrode e qualcuno reperibile. I gateway open source non includono le rotte: ti servono comunque fornitori a cui collegarti. Prima di scegliere leggi SMPP o HTTP per gli SMS e bind SMPP e TPS, e tieni a portata di mano gli elenchi dei codici di errore SMPP e dei codici di stato DLR mentre configuri.
Come collegare un gateway alle rotte SMS
- Ottieni da ogni fornitore le credenziali SMPP: host, porta, system ID, password, tipo di bind e TPS consentiti.
- Comunica ai fornitori i tuoi IP pubblici fissi da mettere in whitelist.
- Configura un connettore per fornitore e una rotta di failover per destinazione.
- Invia messaggi di prova a telefoni reali e confrontali con i DLR (vedi come testare una rotta SMS).
La parte commerciale della gestione di una piattaforma è trattata in come avviare un'attività di bulk SMS.
Rotte per il tuo gateway
VoIPMatcher cerca rotte SMS A2P wholesale via SMPP o HTTP presso i suoi carrier e le gestisce per te. Richiedi una rotta SMS indicando destinazioni e volumi.
Domande frequenti
Il gateway SMS Jasmin è gratuito?
Il core di Jasmin è open source con licenza Apache 2.0, quindi puoi usarlo e modificarlo senza pagare licenze. Il backend web del progetto è offerto con licenza commerciale. Restano comunque a tuo carico server, manutenzione e le rotte SMS che colleghi.
Jasmin ha un'interfaccia web?
Il core open source si gestisce con jCli, una console a riga di comando, e con una REST API. Esiste un backend web, ma è offerto con licenza commerciale. Anche alcuni pannelli di terze parti si collegano a Jasmin tramite la sua API. Verifica licenze e aggiornamenti di sicurezza prima di esporre un pannello su internet.
Kannel è ancora mantenuto?
Il sito di Kannel indica la versione stabile 1.4.5 del 2018 e un ramo di sviluppo più vecchio, e le distribuzioni Linux lo pacchettizzano ancora. È ancora usato come connettore verso gli SMSC, ma i rilasci sono lenti, quindi controlla mailing list e repository prima di contarci per nuove funzioni.
Kannel può collegarsi a un modem GSM?
Sì. Kannel può usare telefoni e modem GSM come pseudo centro SMS, oltre a collegarsi ai centri SMS degli operatori via SMPP, UCP/EMI e CIMD. I modem vanno bene per volumi bassi e test; il traffico aziendale deve passare su rotte A2P registrate.
Quali altri gateway SMS open source esistono?
Oltre a Jasmin e Kannel esistono librerie e simulatori SMPP open source per Java, Python e altri linguaggi, e progetti di gateway più piccoli. Quasi tutti sono kit di strumenti più che piattaforme complete, quindi valuta quanto routing, billing e gestione clienti dovresti costruire da solo.
Ti serve una rotta?
Mandaci destinazione, tipo di rotta e tariffa target. Ti rispondiamo con quello che possiamo offrirti.