FreeSWITCH - FreeSWITCH

ÜcretsizSWITCH
FreeSWITCH Logosu
Orijinal yazar(lar) Anthony Maden Satışı
Geliştirici(ler) Farklı katkıda bulunanlar
kararlı sürüm 1.10.6 (25 Mart 2021 ; 2 ay önce ) [±] ( 2021-03-25 )
depo Bunu Vikiveri'de düzenleyin
Yazılmış C
İşletim sistemi Linux , macOS , Solaris , FreeBSD , NetBSD , OpenBSD , DragonFly BSD , Windows
platformu Çapraz platform
Uygun çok dilli
Tür VoIP yazılımı , Softswitch
Lisans Mozilla Kamu Lisansı (MPL)
İnternet sitesi serbest anahtar .com Bunu Vikiveri'de düzenleyin

FreeSWITCH , gerçek zamanlı iletişim , WebRTC , telekomünikasyon , video ve İnternet Protokolü Üzerinden Ses ( VoIP ) için ücretsiz ve açık kaynaklı bir uygulama sunucusudur . Multiplatform, Linux , Windows , macOS ve FreeBSD üzerinde çalışır . Bu yapı için kullanılan PBX sistemleri, IVR servisleri video konferans ile sohbet ve ekran paylaşımı , toptan en düşük maliyetli yönlendirme , Oturum Sınır Denetleyicisi (SBC) ve gömülü haberleşme cihazları . Şifreleme , ZRTP , DTLS , SIPS için tam desteğe sahiptir . PSTN , SIP , WebRTC ve diğer birçok iletişim protokolü arasında bir ağ geçidi görevi görebilir . Temel kitaplığı olan libfreeswitch, diğer projelere gömülebilir. Ücretsiz bir yazılım lisansı olan Mozilla Public License (MPL) kapsamında lisanslanmıştır .

Tarih

FreeSWITCH projesi ilk olarak Ocak 2006'da O'Reilly Media'nın ETEL Konferansında duyuruldu . Haziran 2007'de FreeSWITCH, Truphone tarafından kullanım için seçildi ve Ağustos 2007'de Gaboogie, konferans platformu olarak FreeSWITCH'i seçtiğini duyurdu.

FreeSWITCH'in ilk resmi 1.0.0 sürümü (Phoenix) 26 Mayıs 2008'deydi. Küçük bir 1.0.1 yama sürümü 24 Temmuz 2008'de çıktı. ClueCon 2012'de Anthony Minessale, FreeSWITCH sürüm 1.2.0'ın yayınlandığını ve FreeSWITCH'in geliştirme ekibi, ayrı kararlı (sürüm 1.2) ve geliştirme (sürüm 1.3) dallarını benimsemişti.

2014'ün başlarında piyasaya sürülen FreeSWITCH 1.4, Websocket ve WebRTC üzerinden SIP'yi destekleyen ilk sürümdür.

FreeSWITCH 1.6, video kod dönüştürme ve video konferans, WebRTC için Verto protokolü ve tüm WebRTC kodekleri ve standartları için destek ekledi.

FreeSWITCH 1.8, projede daha fazla güncelleme ve kararlılık geliştirmesi ile 2018'de ClueCon'da piyasaya sürüldü.

SignalWire Inc, esnek bir FreeSWITCH çekirdeği kullanan ticari bulut telekomünikasyon hizmetleri sağlamak ve FreeSWITCH'in kurucuları tarafından kontrol edilen açık kaynak projesi için kalıcı bir ticari sponsor sağlamak üzere 2018 yılında kuruldu. Daha sonra FreeSWITCH Solutions'ı satın aldı.

Tasarım

Baş tasarımcı Anthony Minessale'e göre , FreeSWITCH, bir durum makinesi tarafından sürülen, sağlam bir çekirdeğin üzerine inşa edilmiş bir yumuşak anahtar olarak tasarlanmıştır . Projenin belirtilen hedefleri arasında kararlılık, ölçeklenebilirlik ve soyutlama yer alır .

Karmaşıklığı azaltmak için FreeSWITCH, gerekli işlevleri gerçekleştiren ücretsiz olarak kullanılabilen yazılım kitaplıklarını kullanır . Bazı bağımlılıklar şunlardır:

Bu yazılım bağımlılıklarının tümü, temel serbest anahtar uygulamasını oluşturmak için gerekli değildir , ancak kodekler gibi çeşitli harici modüllerin bağımlılıklarıdır. FreeSWITCH, modüllerin işlevselliği artırabildiği, ancak soyutlama katmanının modüller arası bağımlılığı önlediği modüler bir uygulamadır. Amaç, bir modülün diğerini yüklemek için gerekli olmamasını sağlamaktır.

Özellikleri

FreeSWITCH, konferans , canlı aramaların XML-RPC kontrolü, etkileşimli sesli yanıt (IVR), konuşma sentezi ve konuşma tanıma , analog ve dijital devreler için genel anahtarlamalı telefon ağı (PSTN) arabirimleri, ses Oturum Başlatma Protokolü (SIP), Verto, Skinny Client Control Protocol (SCCP), H.323 , Genişletilebilir Mesajlaşma ve Durum Protokolü (XMPP), GoogleTalk , T.38 ve diğerleri dahil olmak üzere IP protokolleri üzerinden .

FreeSWITCH, çağrı kontrolü ve IVR işlevselliği için temel öğeleri ortaya çıkaran bir uygulama programlama arabirimi sağlar. Uygulamalar C dilinde, C++ , Python , Perl , Lua , JavaScript , Java ve Microsoft .NET'te Microsoft'un CLR'si veya Mono aracılığıyla yazılabilir .

Çağrı kontrol uygulamaları, dilden bağımsız bir arayüz sağlayan FreeSWITCH içinde İnternet soketi tabanlı bir iletişim tesisi olan Olay Soketini kullanabilir . Event Socket Library (ESL) ve "ESL-wrappers" Erlang , JavaScript, Lua, Perl, PHP, Python ve Ruby için mevcuttur .

FreeSWITCH sürüm 1.4'ten itibaren WebRTC için destek mevcuttur .

FreeSWITCH 1.6'da Video muxing ve eksiksiz WebRTC , wss, dtls, SIP.js, Verto.js, Opus 48 kHz - 8 kHz için destek eklendi , %40'a kadar paket kaybına dayanıklı.

Ana FreeSWITCH 1.6 özellikleri:

  • WebRTC desteği
  • Merkezi Kullanıcı/Etki Alanı Dizini (directory.xml)
  • Nanosaniye CDR ayrıntı düzeyi
  • Çağrı kaydı (Stereo arayan/arayan sol/sağda)
  • Yüksek Performanslı Çok İş parçacıklı Çekirdek motor
  • HTTP sunucunuza (mod_xml_curl) cURL aracılığıyla yapılandırma.
  • Kolay ayrıştırma için XML Yapılandırma dosyaları.
  • Protokolden Agnostik
  • Şeffaf RTP tabanlı anahtar değişimi ve şifreleme için ZRTP desteği
  • Yapılandırılabilir RFC 2833 Yük türü
  • Bant içi DTMF üretimi ve tespiti.
  • Yazılım tabanlı Konferans (donanım gereksinimi yok)
  • Geniş Bant Konferans
  • Medya / Medya Yok modları
  • Dahili uygun ENUM/ISN araması
  • XML'de ayrıntılı CDR
  • yarıçap CDR
  • abonelik sunucusu
  • Paylaşılan Hat Görünümleri
  • Köprülü Çizgi Görünümleri
  • Enterprise/Carrier sınıfı Eventing Engine. (XML Olayları, Ad Değeri Olayları, Çok Noktaya Yayın Olayları)
  • Yüklenebilir Dosya biçimleri ve akış
  • Shoutcast ve Icecast'e akış yapın ve buradan oynayın
  • Çok Dilli Konuşma İfade Arayüzü
  • ASR/TTS desteği (yerel ve MRCP aracılığıyla)
  • Temel IP/PBX özellikleri
  • Otomatik Görevli
  • Özel Zil Geri Tonları (Erken Medya)
  • XML-RPC desteği
  • Desteklenen çoklu format CDR'leri
  • SQL Engine, oturum kalıcılığı sağlar
  • Konu İzolasyonu
  • paralel avcılık
  • seri avcılık

WebRTC desteği

  • FreeSWITCH, tarayıcılardan şifrelenmiş medyayı kabul edebilen, dönüştürebilen ve farklı kodlayıcılar ve şifrelemeler kullanan diğer iletişim ağları ile değiş tokuş edebilen bir WebRTC Ağ Geçidi'dir, örneğin: PSTN, mobil taşıyıcılar, eski sistemler, vb. FreeSWITCH arasında ağ geçidi olabilir. SIP ağı ve masaüstü bilgisayarlar, tabletler ve akıllı telefonlardaki uygulamalar ve tarayıcılar.
  • FreeSWITCH, herhangi bir ağ geçidi veya üçüncü taraf kullanmadan video konferanslar, IVR'ler, Çağrı Merkezleri gibi tarayıcılara yerel hizmetleri doğrudan sağlayabilen bir WebRTC Uygulama Sunucusudur. FreeSWITCH, yerel WebRTC protokolleri olan Secure WebSocket (WSS), SRTP ve DTLS aracılığıyla doğrudan hizmet sağlayabilir.
  • FreeSWITCH, Verto ile tarayıcılar bir sesli aramayı veya görüntülü aramayı en kolay şekilde başlatıp alabilir ve arka uç uygulamalara gerçek zamanlı olarak sohbet edebilir, ekran paylaşabilir, veri alıp gönderebilir, çünkü FreeSWITCH ek bir Sinyalleme Düzlemi sunar. Verto, Javascript'te XMPP veya SIP'ye bir alternatiftir. FreeSWITCH, SIP ve Verto'da sinyalleme kullanan istemcilere paralel ve aynı anda aynı uygulamayı sunabilir.

Video konferans desteği

FreeSWITCH, yıllar önce son derece ölçeklenebilir bir sesli konferans köprüsü olarak başlayarak her zaman konferans için güçlü bir platform olmuştur. FreeSWITCH'in yaratıcısı Anthony Minessale II, Chicago Illinois'deki ClueCon 2015'te bir atılımda, video kod dönüştürme, karıştırma, manipülasyon ve Çok Noktalı Kontrol Birimi (MCU) işlevselliği için desteği duyurdu. FreeSWITCH artık en gelişmiş ve olgun video konferans özelliklerine sahiptir:

  • Çoklu video codec desteği ve kod dönüştürme
  • Çoklu video düzeni
  • Ekran bölmeleri
  • Fotoğraf içinde fotoğraf
  • Ekran paylaşımı
  • Video üst üste bindirme (alt yazılar, logolar vb.)
  • Video karıştırma
  • Video efektleri ve gerçek zamanlı manipülasyon
  • Chroma-Key (arka planı karıştıran video)
  • SIP, WebRTC, VERTO, ISDN katılımcıları

kodek desteği

FreeSWITCH, çeşitli ses ve video kodeklerini destekler:

G.723.1 , H263 ve H264 , geçiş modunda desteklenir. Ham sıkıştırılmış veriler, arayanlar arasında herhangi bir işlem yapılmadan iletildiğinden, bu, patent veya diğer lisans sorunları nedeniyle ücretsiz olarak sağlanamayan bazı kodekler için destek sağlar.

Yazılım, Sangoma tarafından üretilenler gibi donanım kod dönüştürme kartlarını destekler. Bunlar, donanımdaki kodekleri uygulayarak sunucunun CPU kullanımını azaltır. Bu codec bileşenlerinden bazıları tam lisanslıdır ve yukarıdaki geçiş seçeneklerine bir alternatif sunar.

Protokol desteği

  • mod_sofia ile SIP
    • Tam SIP uyumluluğu için UDP, TCP, SCTP ve TLS aktarımları.
    • Tam WebRTC uyumluluğu için xiWS ve WSS aktarımları.
    • SIP v.2.0 (RFC 3261)
    • IPv6 Desteği
    • SIP Oturum zamanlayıcıları
    • RTP Zamanlayıcıları
    • RFC 3263 (SRV ve NAPTR)
    • RFC 3325
    • RFC 4694
    • SDES aracılığıyla SRTP (Polycom, Snom, Linksys ve Grandstream ile çalışır)
    • Kör SIP Kaydı
    • STUN Desteği
    • titreşim tamponu
    • NAT Desteği
    • Dağıtılmış SIP kayıtları
    • Geç Codec Pazarlığı
    • Kullanıcı hesabı başına birden çok SIP kaydı.
    • Çoklu Kiralama - Çoklu SIP UA'ları
    • SIP Yeniden Davet Ediyor.
    • SBC (Oturum Sınır Denetleyicisi) olarak görev yapabilir
    • Durumu Yönet
    • SIP/BASİT (diğer sohbet protokollerine ağ geçidi yapabilir)
    • Linksys ve Snom için SIP Çok Noktaya Yayın Çağrı desteği
    • İnterkom/Otomatik Cevap desteği.
    • Çağrı Bekletme (Yeniden DAVET), Kör Aktarma (REFER), Çağrı Yönlendirme (302) gibi çağrı özellikleri.
  • mod_skinny - Sıska Çağrı Kontrol Protokolü (SCCP)
  • mod_verto - VERTO WebRTC Sinyal Protokolü

Uygulama desteği

  • sesli mesaj
    • Çoklu Kiralama - Kurumsal/Operatör yapılandırması
    • Günün Saati
    • Acil Mesaj Etiketleme
    • E-posta Teslimatı
    • Teslimattan önce mesajları oynatın ve yeniden kaydedin.
    • Anahtarlar şablonlardır, böylece ihtiyaçlarınıza göre yeniden düzenleyebilirsiniz.
    • Dahili sesli postadan geri arama desteği.
    • Sesli Posta Podcast'i (RSS)
    • Mesaj Bekleme Göstergesi (MWI)
  • Kuyruk Desteği (mod_fifo veya mod_callcenter aracılığıyla)
  • Otopark (mod_fifo üzerinden)
  • Konferans
    • Herhangi bir donanım gereksinimi olmadan yazılım tabanlı Konferans.
    • Geniş bant konferanslar.
    • Giriş/çıkış duyuruları ile birden fazla isteğe bağlı veya planlanmış konferans
    • Dosyaları konferansta veya tek bir üyede oynatın.
    • ilişkiler
    • TTS entegrasyonu
    • transferler
    • Giden Arama
    • Yapılandırılabilir Tuş Düzeni
    • Çağrı başına Ses, Kazanç ve Enerji seviyesi.
    • Köprüden Konferansa geçiş
    • Çok Taraflı giden arama.
    • UA'lar için RFC 4579 SIP CC Konferans
    • Otomatik veya isteğe bağlı kayıt
  • RSS Okuyucu
  • Faks uç noktası, ağ geçidi ve geçiş modu.
    • Eskiden mod_fax olarak bilinen T.30 (G.711) Sesli Faks (mod_spandsp aracılığıyla).
    • T.38 fakslama (ağ geçidi, uç nokta ve geçiş)

Şifreleme desteği

Metin-konuşma ve Otomatik Konuşma Tanıma desteği

İşletim ve yapı sistemi desteği

  • Debian Linux, kütüphanelerinde FreeSWITCH'i lisans kısıtlamaları olmadan çalıştırmak için gereken en geniş desteği sağladığı için tercih edilen işletim sistemidir.
  • RHEL ve CentOS gibi diğer Linux sistemleri
  • Solaris 10 UNIX ( Solaris Stüdyosu )
  • FreeBSD (gmake)
  • macOS (gmake)
  • Windows (yerel)

Diğer telefon yazılımlarıyla karşılaştırma

FreeSWITCH, Kamailio ve OpenSIPS gibi çağrıları basitçe yönlendiren saf anahtarlar ile Asterisk ve türevleri gibi öncelikli olarak PBX veya IVR işlevselliği sağlayanlar arasında bir boşluk kaplar . FreeSWITCH, PBX, sesli posta sistemi, konferans sistemi veya arama kartı gibi uygulamaların desteklenen dillerden herhangi biri kullanılarak oluşturulabileceği yapı taşları sağlar .

türetilmiş ürünler

FreeSWITCH, kutu ticari ürünlerde ve açık kaynaklı projelerde birçok PBX'in temel bileşenidir . Ticari ürünlerden bazıları, üreticinin yazılımı açık kaynak olarak desteklediği ve yayınladığı donanım ve yazılım paketleridir.

Ayrıca bakınız

Referanslar

serbest geçiş gui uygulaması