Loading AI tools
Da Wikipedia, l'enciclopedia libera
FreeSWITCH è un server gratuito e open source per la comunicazione in tempo reale attraverso WebRTC e VoIP.
FreeSWITCH software | |
---|---|
Genere | Voice over IP |
Sviluppatore | Più sviluppatori |
Ultima versione | 1.10.12 (3 agosto 2024) |
Sistema operativo | Linux |
Linguaggio | C |
Licenza | Mozilla Public License (MPL) (licenza libera) |
Sito web | freeswitch.com |
Il software viene distribuito per sistemi operativi Linux, Windows, macOS e FreeBSD. Viene utilizzato per costruire sistemi PBX, servizi IVR, servizi di videoconferenza con chat e condivisione dello schermo, servizi di least-cost routing, Session Border Controller (SBC) e dispositivi di comunicazione embedded. Possiede pieno supporto per la crittografia, ZRTP, DTLS e SIPS. Può fungere da gateway tra la rete telefonica generale, il SIP, il WebRTC e molti altri protocolli di comunicazione. La sua libreria principale, libfreeswitch, può essere incorporata in altri progetti.
È concesso in licenza Mozilla Public License, una licenza di software libero.
Il progetto FreeSWITCH è stato annunciato per la prima volta nel gennaio 2006 alla conferenza ETEL di O'Reilly Media.[1]
Nel giugno 2007 FreeSWITCH è stato selezionato da Truphone per essere implementato nei propri servizi[2] e nell'agosto 2007 Gaboogie ha annunciato di aver selezionato FreeSWITCH come piattaforma per le conferenze.[3]
La prima versione ufficiale di FreeSWITCH 1.0.0 (Phoenix) è stata rilasciata al pubblico il 26 maggio 2008.[4] La patch 1.0.1 è stata rilasciata il 24 luglio 2008.[5]
Al ClueCon del 2012 Anthony Minessale ha annunciato il rilascio di FreeSWITCH 1.2.0[6][7] e che il team di sviluppo di FreeSWITCH avrebbe creato un ramo software stabile (versione 1.2) e uno di sviluppo (versione 1.3) separati.
FreeSWITCH 1.4, rilasciato all'inizio del 2014, è la prima versione che supporta il protocollo SIP su Websocket e WebRTC.
FreeSWITCH 1.6 ha aggiunto il supporto per la transcodifica video e le videoconferenze, il protocollo Verto per WebRTC e tutti i codec e gli standard WebRTC.
FreeSWITCH 1.8 è stato rilasciato al ClueCon del 2018 con ulteriori aggiornamenti e miglioramenti alla stabilità del progetto.
SignalWire Inc è stata fondata nel 2018 per fornire servizi di telecomunicazione cloud commerciale utilizzando un nucleo elastico FreeSWITCH e fornire uno sponsor commerciale permanente per il progetto open source controllato dai fondatori di FreeSWITCH. La società ha successivamente acquisito la FreeSWITCH Solutions.[8]
Secondo il lead designer, Anthony Minessale,[9] FreeSWITCH è concepito per essere un softswitch costruito su un core compatto, pilotato da una macchina a stati.[10] Gli obiettivi dichiarati del progetto includono stabilità, scalabilità e astrazione.
Per ridurre la complessità della codebase, FreeSWITCH utilizza librerie software disponibili gratuitamente che eseguono alcune delle funzioni necessarie. Alcune dipendenze sono:[11]
Non tutte queste dipendenze software sono necessarie per compilare l'applicazione principale freeswitch, ma sono dipendenze di vari moduli esterni, come i codec. FreeSWITCH è un'applicazione modulare, in cui i moduli possono estenderne la funzionalità, ma il livello di astrazione impedisce la dipendenza tra moduli. L'obiettivo è garantire che il caricamento di un modulo non sia necessario ai fini del caricamento di un altro.[12]
FreeSWITCH include diversi moduli che forniscono una moltitudine di applicazioni di telefonia come:
FreeSWITCH fornisce un'API che espone le primitive per il controllo delle chiamate e la funzionalità IVR. Le applicazioni che utilizzano le API possono essere scritte in linguaggio C, C++, Python, Perl, Lua, JavaScript, Java e Microsoft.NET tramite Microsoft CLR o tramite Mono.[14]
Le applicazioni di controllo delle chiamate possono utilizzare l'Event Socket, una funzione di comunicazione basata su un socket Internet all'interno di FreeSWITCH che fornisce un'interfaccia indipendente dal linguaggio. La Event Socket Library (ESL) e gli "ESL-wrapper" sono disponibili per Erlang, JavaScript, Lua, Perl, PHP, Python e Ruby .
A partire dalla versione 1.4 FreeSWITCHsupporta il protocollo WebRTC.[15]
In FreeSWITCH 1.6 è stato aggiunto il supporto per il video muxing ed è stato completato il supporto di WebRTC, wss, dtls, SIP.js, Verto.js, Opus 48 kHz a 8 kHz, resiliente fino al 40% di perdita di pacchetti.
Caratteristiche principali di FreeSWITCH 1.6:
FreeSWITCH è sempre stata una potente piattaforma per le conferenze, nata molti anni fa come bridge per conferenze audio estremamente scalabile. In una svolta al ClueCon 2015 a Chicago, Illinois, il creatore di FreeSWITCH Anthony Minessale II ha annunciato il supporto per la transcodifica video, il missaggio, la manipolazione e la funzionalità Multipoint Control Unit (MCU). FreeSWITCH ora ha le funzionalità di videoconferenza più avanzate e mature:
FreeSWITCH supporta una varietà di codec audio e video:[18]
G.723.1, H263 e H264 sono supportati in modalità pass-through. Poiché i dati compressi grezzi vengono trasmessi tra i chiamanti senza alcuna elaborazione, ciò consente il supporto per alcuni codec che non possono essere forniti gratuitamente a causa di brevetti o altri problemi di licenza.
Il software supporta schede di transcodifica hardware, come quelle prodotte da Sangoma.[20] Questi implementano i codec nell'hardware, riducendo l'utilizzo della CPU del server. Alcuni di questi codec sono dotati di licenza completa, fornendo un'alternativa alle opzioni pass-through sopra.
FreeSWITCH occupa uno spazio tra gli switch puri che instradano semplicemente le chiamate, come Kamailio e OpenSIPS, e quelli che forniscono principalmente funzionalità PBX o IVR, come Asterisk e i suoi derivati. FreeSWITCH fornisce elementi costitutivi da cui è possibile creare applicazioni, come un PBX, un sistema di posta vocale, un sistema di conferenza o una scheda telefonica, utilizzando una qualsiasi delle lingue supportate.[22]
FreeSWITCH è un componente fondamentale in molti prodotti commerciali PBX in a box e progetti open-source. Alcuni dei prodotti commerciali sono bundle hardware e software, per i quali il produttore supporta e rilascia il software come open source.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.