Browsed by
Etiket: WebRTC

coTURN Kurulum ve Yapılandırma Adımları

coTURN Kurulum ve Yapılandırma Adımları

Bu blog sayfası, SIP veya WebRTC projeleriniz (Jitsi Meet gibi) için güvenlik duvarlarının veya proxy’lerin arkasındaki kullanıcıların bağlanmasına izin vermek için coTURN sunucusunun kurulum ve yapılandırma adımları kapsar.

TURN Nedir?

TURN, Traversal Using Relays around NAT‘ın kısaltmasıdır. STUN’a benzer şekilde, Internet’teki eşler arasında iletişim kurmak için olası yolların keşfedilmesine yardımcı olmak için kullanılan bir ağ protokolü / paket biçimidir (IETF RFC 5766). Paketleri eşler arasında aktarmak için ortak bir röle sunucusu kullanması nedeniyle STUN’dan farklıdır. TURN, başka bir seçenek olmadığında medya paketlerini eşler arasında ulaştırmak için bir ara sunucu olarak kullanılır. TURN’ün kullanılması durumunda artık bağlantı p2p olmayacağından sunucu kaynakları tüketilir ve eşler arası bağlantıda fazladan bir hop eklenmesi nedeniyle gecikme süresi (latency) artar.

TURN’ü eşlerden birinin simetrik bir NAT’ın arkasında, diğeri ise simetrik bir NAT’ın veya port tabanlı NAT’ın arkasında olduğunda kullanmanız gerekir. Bu durum genelde toplam bağlantıların %10’unda karşımıza çıkar. Geri kalan bağlantıların çoğunda STUN tek başına yeterlidir.

CoTURN Sunucusunu Yüklemek

Ses / Video tabanlı servisler, WebRTC için kullanılan çeşitli UDP portlarını kullanır. NAT arkasındaki ya da sunucunuza doğru UDP bağlantılarını kısıtlayan bir güvenlik duvarı kullanımının olduğu bazı ağlarda kullanıcılar medya sunucunuzla UDP üzerinden bağlantı kuramayabilir.

TURN protokolü, istemciyi TURN sunucusuna bağlanmaya zorlayarak UDP iletişim akışlarının NAT veya güvenlik duvarlarını atlamasına izin vermek ve ardından TURN sunucusunun hedeflerine kendi adına bağlanması için tasarlanmıştır.

Kontrolünüz altında bir TURN sunucusu kullanmak, multimedya uygulamanızla olan bağlantıların başarısını ve aynı zamanda bir proxy gibi davrandığından kullanıcı gizliliğini artırır; böylece eşlerin IP adres bilgilerini artık halka açık bir STUN sunucusuna göndermemiş olursunuz.

Gerekli Donanım

TURN protokolü çok fazla CPU veya RAM’e ihtiyaç duymaz. Buna ek olarak, yalnızca bağlantı kurulumu sırasında (STUN için) kullanıldığında bant genişliği gereksinimleri yüksek değildir. TURN sunucunuz bir medya proxy olarak kullanıldığında eşlerin gönderdiği akışlar kadar giriş ve çıkış bant genişliği ihtiyacı olacaktır. Orta sayıda bağlantı için, tek bir küçük VPS yapılandırması genellikle yeterlidir. CoTURN kurulum için kaynak önerilerimi aşağıda bulabilirsiniz:

  • En az iki vCPU
  • 4GB RAM.
  • 20GB HDD. SSD kullanılabilir, ancak zorunlu değildir.
  • Ağ performansı:
    • Düşük jitter (30ms’den az)
    • Düşük gecikme süresi (latency) (150ms’den az)
    • Her iki yöndeki medya akışlarını karşılayabilmek için yeterli bant genişliği.

Sunucunun NAT arkasında olmasında (Amazon EC2’de olduğu gibi) bir sorun yoktur, ancak herhangi bir porta (TCP 80 & 443, UDP 3478, 10000-20000) gelen tüm UDP ve TCP bağlantılarının coTURN sunucusuna iletilmesi gerekmektedir.

coTURN Gerekli Yazılım ve Kurulum Adımları

coTURN için Debian Netinst veya Ubuntu ile minimal bir sunucu kurulumu işinizi görecektir. CoTURN yazılımı TCP 443 portunu kullandığından, coTURN’ün yükleneceği sunucuda çalışan başka bir web uygulaması olamaz. (farklı bir portta olabilir tabi :))

coTURN, Debian ve Ubuntu repolarında mevcuttur ve apt-get ile kurulabilir:

$ sudo apt-get update
$ sudo apt-get install coturn

coTURN konfigürasyonu tamamlanıncaya kadar coTURN’un otomatik olarak başlamayacağını lütfen unutmayın. Konfigürasyon adımlarını aşağıda bulabilirsiniz.

CoTURN İçin DNS Girişi

CoTURN sunucunuzun harici IP adresini çözen tam bir alanı adı (FQDN) ayarlamanız gerekir. Aynı zamanda bir TLS sertifikası oluşturmak için de bu alanı adını kullanacaksınız.

TLS Sertifikaları Üretmek

Ücretsiz bir TLS sertifikası oluşturmak için Let’s Encrypt’i kullanan certbot‘u kullanabilirsiniz. Certbot’u kurmak için coTURN sunucunuzda aşağıdaki komutları girin:

$ sudo add-apt-repository ppa:certbot/certbot 
$ sudo apt-get update 
$ sudo apt-get install certbot

Daha sonra, TURN sunucunuza sertifikayı oluşturmak için alan adı adresinizi kullanarak aşağıdaki gibi bir certbot komutu çalıştırabilirsiniz:

$ sudo certbot certonly --standalone --preferred-challenges http \
    --deploy-hook "systemctl restart coturn" \
    -d turn.fatiherikci.com

Certbot komutunun mevcut sürümleri varsayılan olarak sertifikalarınızı otomatik olarak yeniler. Certbot sertifikayı yenilediğinde, coTURN servisini yeniden başlatacağını, böylece coTURN’nin güncellenmiş sertifika dosyalarını kullanmaya başlayacağını unutmayın. Bu işlem, sunucunuzun aktif olarak üzerinden geçirdiği TURN bağlantılarında kesintiye neden olacaktır. Bu durumu engellemek için isterseniz, sertifika yenileme zamanlamasını değiştirebilir veya otomatik yenilemeyi devre dışı bırakabilirsiniz.

CoTURN’ü Yapılandırmak

coTURN yapılandırması /etc/turnserver.conf dosyasında depolanır. Bu dosya için çok fazla seçenek mevcuttur ve bu seçenekler ile ilgili açıklamaları yorum satırlarında bulmanız mümkündür. Aşağıdaki örnekte, önerilen ayarlar olarak yorumların yanı sıra, özelleştirmenin gerekli olduğu yerlerde notların bulunduğu örnek bir yapılandırmayı bulabilirsiniz.

/etc/turnserver.conf dosyasının içeriğini aşağıdaki dosyayla değiştirebilir ve aşağıdaki değişiklikleri yapabilirsiniz:

  • turn.fatiherikci.com adresini TURN sunucunuzun ana bilgisayar adıyla değiştirin.
  • Diğer kalın harfler ile belirtilen satırları kendi sunucunuza göre değiştirin.

Aşağıda bir örnek yapılandırma dosyası görebilirsiniz:

server-name=turn.fatiherikci.com
realm=turn.fatiherikci.com
cert=/etc/letsencrypt/live/turn.fatiherikci.com/cert.pem
pkey=/etc/letsencrypt/live/turn.fatiherikci.com/privkey.pem
fingerprint 
listening-ip=0.0.0.0 
external-ip= 1.2.3.4/192.168.0.1 #ya da sadece dış IP yazın
listening-port=3478 
min-port=10000 
max-port=20000 
log-file=/var/log/turnserver.log 
verbose 
user=myusername:mypassword 
lt-cred-mech

Konfigürasyonu tamamladıktan sonra coTURN’ü çalıştırmak için aşağıdaki komutu kullanabilirsiniz:

$ systemctl start ​​coturn

CoTURN’u Servis Olarak Çalıştırmak

Debian / Ubuntu için olan coTURN paketini başlangıçta etkinleştirmek için /etc/default/coturn dosyasını açarak aşağıdaki satırın commentini açın:

TURNSERVER_ENABLED = 1

Bu kadar! coTURN kurulum adımlarımız tamamlandı. Artık çalışır durumda bir TURN sunucunuz var!

TURN Sunucunuzu Test Etmek

CoTURN sunucunuzu test etmek için Trickle-Ice test aracını kullanabilirsiniz. Trickle ICE’ın web sayfasına gidin ve aşağıdakileri girin:

  • STUN veya TURN URI: turn:PublicIPAdresiniz:3478
  • TURN username: kullanıcıadı
  • TURN password: şifre

Ardından Add Server düğmesini ve ardından Gather Candidates düğmesini tıklayın. Her şey yolunda giderse, sonuç olarak Done görmelisiniz.

WebRTC Nedir?

WebRTC Nedir?

WebRTC adını son zamanlarda oldukça fazla duymaya başladık. Aslında çok da yeni bir teknoloji değil, 2011 yılından beri kullanıma açık olan WebRTC, eş zamanlı olarak medya iletişimi (sesli ve/veya görüntülü) sağlayan bir teknolojidir. Pek çok avantaja sahip olan WebRTC’nin en büyük özelliği ise ek bir yazılım gerektirmeden bir çok popüler tarayıcı üzerinde doğrudan çalışabilmesidir.

WebRTC’nin açılımı Web Based Real Time Communication‘dır.  HTML5 ve Javascript API’leri kullanarak multimedya uygulamaları tasarlanabilir.

WebRTC’de kullanılan iletişim biçimini eşler arası (peer-to-peer) olarak tanımlayabiliriz. Bu iletişim doğrudan eşler arasında olduğundan her hangi bir medya sunucusuna ihtiyaç duymazsınız. WebRTC ücretsizdir ve BSD lisansına sahiptir, yani ücretsiz olarak WebRTC uygulamaları geliştirebilirsiniz. (Örneğin bu adreste WebRTC ile yapılmış bir video konferans sanal odasına girip görüşme yapabilirsiniz)

WebRTC Destekleyen Tarayıcılar

Günümüzde aşağıdaki tarayıcılar WebRTC desteklemektedir:

  • PC & MAC
    • Microsoft Edge 12+
    • Google Chrome 28+
    • Mozilla Firefox 22+
    • Safari 11+
    • Opera 18+
    • Vivaldi 1.9+
  • Android
    • Google Chrome 28+
    • Mozilla Firefox 24+
    • Opera Mobile 12+
  • iOS
    • MobileSafari/WebKit (iOS 11+)
  • Chrome OS
  • Firefox OS
  • BlackBerry 10
  • Tizen 3.0

WebRTC Bileşenleri

WebRTC’de 3 ana bileşen vardır:

1. MediaStream API

MediaStream API, javascript kullanarak kullanıcıdaki kamera, mikrofon veya ekrana erişim fonksiyonunlarını sağlar.

2. RTCPeerConnection API

RTCPeerConnection API, NAT traversal, Codec işleme, karşılıklı SDP anlaşması, medya iletimi ve eşler arasındaki güvenli bağlantı fonksiyonlarını sağlar.

3. RTCDataChannel API

RTCDataChannel API, eşler arasında çift yönlü veri aktarım kanalları kurulması fonksiyonlarını sağlar.

Eşler Arası Bağlantının Kurulması

Sinyaleşme, eşler arasındaki bağlantıyı oluşturan bir süreçtir. WebSocket, XMPP, SIP veya herhangi bir mekanizmayla elde edilebilir. WebRTC teknolojisi, RTP, STUN, SIP ve ICE gibi önemli protokollerden yararlanır.

WebRTC Sinyalleşme Süreci

Session Description Protocol (SDP)

SDP olarak da bilinir, Bir bağlantı kurmadan önce eşler arasındaki medya yeteneklerini (ses kodekleri, IP ve port bilgileri vs.) birbirlerini iletmek ve karşılıklı ortak noktada buluşmak için kullanılan bir protokoldür.

Interactive Connectivity Establishment (ICE)

ICE, NAT traversal mekanizması için kullanılan bir frameworktür. ICE mevcut tüm adayları toplar (yerel IP adresleri, dönüş IP adresleri STUN ve iletilen IP adresleri – TURN). Toplanan tüm adresler daha sonra SDP aracılığıyla uzak eşlere gönderilir.

STUN Sunucusu

STUN sunucusu, eşlerin genel (public) IP adreslerini, kullandıkları NAT türlerini ve NAT tarafından belirlenen yerel port bilgisi ile ilişkilendirilen Internet tarafı port bilgisi arasındaki ilişkiyi bulmalarını sağlar.

TURN Sunucusu

TURN sunucusu STUN kullanımı mümkün olmadığında, medya akışlarını bir TURN sunucusu üzerinden iletmek için (proxy gibi düşünebilirsiniz) kullanılır.

WebRTC her zaman eşler arası (P2P) değildir, çoklu iletişim durumlarında ise (ör. video konferans) farklı çözümler mevcuttur. Şimdi bunlara bir göz atalım.

Çoklu Nokta İletişim Türleri

1. Mesh

Mesh ağında, tüm eşler akışlarını doğrudan ağdaki diğer bağlı eşlere ayrı ayrı gönderir.

Mesh Topolojisinde Tüm Eşler Birbirleri İle İletişim Halindedir

Bu yapı tamamen dağıtık bir yapı olduğundan merkezde her hangi bir medya sunucusu bulunmasına gerek yoktur. Mesh yapısının dezavantajı ise yüksek bant genişliği kullanımıdır. Mesh yapısı kullanılan bir çoklu video görüşmesinde her kullanıcı 1 Mbps lik bir akış ürettiiği taktirde kullanıcı başına alınan ve gönderilen veri miktarı 4 er Mbps olacaktır.

2. SFU

SFU, Selective Forwarding Unit (Seçici İletme Birimi) anlamına gelir. Bir SFU gelen medya akışlarını tüm kullanıcılardan alır ve daha sonra hangi kullanıcılara gönderileceğine karar vererek iletimini sağlar.

SFU Merkezden Tüm Eşlere Ayrı Ayrı Aktarım Yapar

Bu yapıda her kullanıcı kendi ürettiği medya akışını SFU sunucusuna iletir. SFU sunucusu kim hangi akışı istiyorsa ona gönderebilir. Bu sayede bant genişliği daha efektif kullanılmış olur. Mesh örneğinde olduğu gibi burada da her kullanıcı 1 Mbps lik bir akış üretirse kullanıcı başına toplam gönderim miktarı 1 Mbps, toplam alım miktarı ise maksimum 4 Mbps olacaktır.

3. MCU

MCU, Multipoint Conferencing Unit (Çok Noktalı Konferans Birimi) anlamına gelir. Bir MCU gelen medya akışlarını tüm kullanıcılardan alır, hepsini çözer (decode), yeni bir düzen oluşturur ve tüm kullanıcılara tek bir akış olarak gönderir.

MCU Tüm Eşlerin Medyalarını Birleştirerek Eşlere Tek Bir Akış Gönderir

Bu yapının SFU dan farkı ise her kullanıcıya kombine tek bir akış gönderileceği için kullanıcı başı toplam gönderim ve alım miktarı 1 er Mbps olacaktır. Bu yapının da dezavantajı tahmin edebileceğiniz üzere merkezde bulunan yüksek işlem gücüne sahip olan MCU maliyetidir.

Jitsi Meet Debian 10’a Nasıl Kurulur?

Jitsi Meet Debian 10’a Nasıl Kurulur?

Jitsi Meet, çok kullanışlı ve basit, WebRTC tabanlı açık kaynaklı çok platformlu bir video konferans çözümüdür. Jitsi Meet’i bulut tabanlı veya kendi sunucularınızda da kullanabilirsiniz. Bu blog yazımda, Jitsi sunucusunu Debian veya Ubuntu tabanlı linux platformunuza nasıl kuracağınızı açıklayacağım.

Başlamadan önce, Jitsi üzerinden görüntülü görüşme deneyimini merak ediyorsanız, bu URL’yi tıklamanız ve meet.jit.si tarafından desteklenen görüntülü görüşme sayfama gitmeniz yeterli.

Jitsi Meet’i Ubuntu veya Debian linux platformuna kurmak oldukça kolaydır. Bu kılavuzda, Jitsi sunucusunu Debian 10 üzerinde .deb paketlerini kullanarak nasıl kurulacağını bulabilirsiniz.

Ben Debian’ı net kurulum paketinden (netinst) yüklemeyi tercih ediyorum, çünkü bu sayede paketleri güncel olan minimum bir kurulum yapabiliyorum. Bu kurulum yazısında sizin Debian’ı kurabileceğinizi farz ediyorum ve Jitsi kurulumuna temel kurulum noktasından devam edeceğim.

Öncelikle, sudo & ssh gibi temel paketleri kuralım. Konsoldan root olarak oturum açın, ardından gerekli paketleri kurun.

apt-get install -y ssh sudo ufw apt-transport-https

Root olmayan kullanıcınızı (benimki ferikci) /etc/sudoers dosyasına ekleyin.

ferikci  ALL=(ALL:ALL) ALL 

Artık sudo komutlarını kullanarak mevcut kullanıcınızla devam edebilirsiniz.

Opsiyonel: UFW güvenlik duvarını etkinleştirin ve gereken portları açın:

sudo ufw allow in ssh 
sudo ufw allow in http 
sudo  ufw allow in https 
sudo  ufw allow in 10000:20000/udp 
sudo  ufw enable 

Eğer linux makinenize SSH ile bağlıysanız, “ufw allow ssh” komutunu girdikten sonra “ufw enable” komutunu girin, aksi takdirde mevcut SSH bağlantınızı kaybedebilirsiniz.

Ardından linux makinenizi yeniden başlatın:

reboot

Şimdi kurulumun geri kalanında mevcut kullanıcınızla SSH üzerinden tekrar oturum açın.

Jitsi GPG anahtarını ekleyin.

 wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add - 

Jitsi deposunu ekleyin ve apt yi güncelleyin

sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
sudo apt-get -y update 

Jitsi-Meet Kurulumu

Artık Jitsi sunucu kurulumuna hazırsınız. Jitsi-meet’i bağımlılıklarıyla birlikte kurmak için aşağıdaki komutu kullanın:

sudo apt-get -y install jitsi-meet

Kurulum esnasında bilgisayar adınız (hostname) sorulacak ancak, sadece bilgisayar adınızı yazmayın, bu alana bilgisayar adınızı FQDN olarak yazmalısınız, aksi takdirde bağlantı ile ilgili sorunlarla karşılaşabilirsiniz. Bu arada, FQDN’nin DNS sunucuları tarafından çözüğlebildiğinden emin olun. (Ya da FQDN’i bilgisayarınızın hosts dosyanıza ekleyebilirsiniz.).

Jitsi Hostname (FQDN) Ayarları

Kurulumda bundan sonra sertifika istenecektir. Ben bu kurulumda kendinden imzalı SSL sertifikası kullanacağım, bu yüzden ilk seçeneği seçiyorum.

Jitsi SSL Sertifika Konfigürasyon Menüsü

Kurulum bir süre sonra tamamlanacak ve komut istemine geçecektir.

Şimdi video konferans GUI’nize bağlanma zamanı geldi. Jitsi sunucusunun ana sayfasına gitmek için https://FQDN adresini kullanın:

https://jitsi.test.local

Oda adı giriş alanına sahip bir ana sayfa göreceksiniz. Bir oda adı girin ve Go düğmesine tıklayın.

Jitsi Meet Ana Sayfa

Hepsi bu kadar! Aynı prosedürle veya https://FQDN/odaadı URL’sini kullanarak odanıza daha fazla katılımcı ekleyebilirsiniz.

https://jitsi.test.local/testroom
Ve Jitsi Meet Çalışır

Jitsi’yi Bir NAT Arkasında Çalıştırmak

Jitsi sunucunuzu iç IP ile bir NAT arkasında kullanmak istiyorsanız, yönlendiricinizi aşağıdaki portları Jitsi Meet sunucunuza yönlendirecek şekilde yapılandırmanız (port forwarding) gerekir:

  • 80/TCP
  • 443/TCP
  • 10000-20000/UDP

Ardından /etc/jitsi/videobridge/sip-communicator.properties dosyasına iç ve dış IPlerinizi içeren aşağıdaki satırları eklemeniz gerekir:

org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=[İÇ.IP.ADRESİ]
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=[DIŞ.IP.ADDRESİ]

Örnek olarak kendi konfigürasyonum şöyle:

org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=192.168.1.20
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=95.9.74.32
CMS (Cisco Meeting Server) İncelemesi

CMS (Cisco Meeting Server) İncelemesi

Merhaba, bu yazımda size Cisco’nun çoklu konferans sunucusu CMS i tanıtmaya çalışacağım. 

Belki bilenler vardır, Cisco 2009 yılında Tandberg’i satın alıp video konferans alanında bir oyuncu olduğunda Tandberg’den ayrılan bir ekip Acano adıyla başka bir firma kurarak ürün geliştirmeye devam ettiler. Piyasaya sürdükleri Acano Server, güçlü birlikte çalışabilirlik (interoperability) yetenekleri, multi-tenant yapısı, WebRTC desteği ve yüksek kapasite sunması yüzünden genelde servis sağlayıcılarına hitap eden bir ürün olarak sektörde yer alıyordu. 
Yakın geçmişte video konferans üreticileri kendilerine özgün ürün özelliklerinden ziyade birlikte çalışılabilirliğe odaklanmıştı. O dönemde Cisco, MCU olarak Telepresence Server ailesi altında çeşitli (şasi, donanım ve sanal sunucu) ürünlere sahipti fakat bu ürünlerde WebRTC ve Skype for Business (eski adıyla Lync) desteği ya yoktu ya da farklı gatewayler ile kısıtlı olarak sağlanıyordu. 2016 yılında Cisco Acano’yu 700M$ karşılığında satın aldığını duyurarak kendi ürün gamına kattı ve Telepresence Server ailesinin end-of-sale duyurusunu yaptı. Acano Server yeni adıyla CMS olarak sektörde yerini aldı.

Bu  kadar tarihçeden sonra ürün özelliklerine geçelim isterseniz. CMS, 1000 (1U Server Appliance)  ve 2000 (6U Blade Server Appliance) olmak üzere iki farklı donanım olarak karşımıza çıkıyor. İsterseniz kendi sanal sunucu kaynaklarınıza da kurabiliyorsunuz. 
 

CMS 1000 vs. 2000

Kapasite olarak 1000 serisi 96, 2000 ise 500 eş zamanlı HD (720p) çözünürlükte görüşmeyi destekleyebiliyor (Ve bu kapasitenin tamamını dilerseniz kullanabiliyorsunuz, nasıl olduğunu lisanslama bölümünde anlatacağım). Eğer sadece sesli konferans yapılacaksa bu sayı her iki donanım için de 3000 eş zamanlı katılımcıya kadar çıkıyor. Bilinen video standartlarının (H.261, H.263, H.264) yanı sıra Microsoft RTV, WebM, VP8 (WebRTC) desteği de mevcut. H.265 desteği henüz yok ama yakın zamanda gelecektir diye düşünüyorum. CMS cluster yapıda da çalışabiliyor bu da hem yedeklilik hem de ölçeklenebilirlik anlamında avantaj sağlıyor. Interoperability ve S4B uyumluluğundan yukarıda bahsetmiştik zaten.

CMS WebRTC Giriş Ekranı


Ürünü daha detaylı incelemek isterseniz datasheet bilgilerine buradan ulaşabilirsiniz.

CMS Lisanslama Modeli (SMP & PMP)

CMS’in lisanslama modeli ise apayrı bir konu. Geleneksel MCU lisanslama modellerinde eş zamanlı toplantı cihazı (port) sayılıyordu. Basitçe anlatmak gerekirse örneğin 12 port lisanslı bir MCU ile toplamda 12 katılımcılı bir toplantı yapabiliyordunuz. CMS’te ise lisanslama toplam eşzamanlı sanal toplantı odasına göre yapılıyor. Örneğin sizin 5 tane SMP veya PMP lisansınız var ise aynı anda katılımcı sayısından bağımsız (daha doğrusu donanım kapasitesi kadar) olarak toplamda 5 toplantı yapabilirsiniz. Biraz daha açmak gerekirse örneğin 96 HD port kapasiteli CMS 1000 kullanıyorsunuz ve 5 SMP lisansınız var. 1. toplantı 12 HD katılımcılı, 2. toplantı 25 HD katılımcılı, 3. toplantı 22 HD katılımcılı, 4. toplantı 33 HD katılımcılı ve 5. toplantı 4 HD katılımcılı olacak şekilde cihazı kullanabilirsiniz. Şimdi de lisanslama türlerine bakalım: 

Shared Multiparty Lisansı (SMP), daha çok ortak kullanılan video konferans cihazları olan kurumlar için uygun, daha doğrusu CUCM üzerinde video konferans cihazlarını herhangi bir LDAP kullanıcısı ile eşleştirmediğiniz durumda yapılan toplantılar için. Katılımcı sayısı donanım kapasitesi ile sınırlı olmak kaydıyla toplantı odası başına 1 adet SMP lisansı gerekiyor.

Personal Multiparty Lisansı (PMP) ise bir kullanıcıya ait video uç cihazı ile yapılan toplantılar için kullanılıyor. Örneğin kendi LDAP kullanıcınıza ait bir Jabber yazılımınız ile toplantı yaptığınızda 1 adet PMP kullanıyorsunuz. PMP lisansları ortak kullanılamıyor, CMS konfigürasyonunda hangi LDAP kullanıcılarının PMP lisans kullanabileceğini belirtiyorsunuz. Bu arada örneğin bir yöneticinin kendi video konferans cihazı var ise onu kullanıcı ile eşleştirip PMP lisans kullanmasını sağlayabilirsiniz. Yalnız burada dikkat edilmesi gereken bir şey var, PMP lisansları CMS üzerinde API ile kullanıcılara atandığı için (niyeyse?) randevulu konferanslarda (statik odalarda) kullanılamıyor, bu lisansın kullanılabilmesi için API ile bir etkileşim olan konferansa (Ad-hoc veya TMS üzerinden rezerve edilmiş olabilir.) katılmanız gerekiyor. 

Sizlerin de tahmin edebileceğiniz gibi PMP lisansı SMP lisansından daha düşük fiyatlı olarak satılıyor. Eğer yeni bir video konferans cihazı sipariş edecekseniz SMP lisansını cihaz ile bundle olarak daha uygun fiyata alabiliyorsunuz. Mevcut Cisco MCU ya da Telepresence Server’a sahip kurumlar da CMS migration lisanslarını kullanarak (mevcut yatırımı koruyarak) CMS’e geçiş yapabilirler. 

Bu lisansların yanında görüşmelerin kayıt edilebilmesi ve WebRTC arayüzünün kişiselleştirilebilmesi için de recording ve branding lisansları bulunuyor.

Cluster Mimarisi

Yedeklilik özellikleri ve kapasiteyi arttırmak adına birden çok CMS i cluster bir biçimde çalıştırabiliyorsunuz. Yalnız burada dikkat edilmesi gereken şey yedeklilik için minimum 3 adet sunucuya ihtiyacınız var. Sunuculardan biri master database verisini tutarken diğer ikisini yedekli olarak çağrı işlemleri için konfigüre edebilirsiniz. 

 
Tipik CMS Cluster Mimarisi

Kurulum & Konfigürasyon

CMS’i eğer bir appliance şeklinde aldıysanız zaten kurulu bir şekilde geliyor, siz komut satırından gerekli konfigürasyonları yaptıktan sonra web arayüzünü açıp konfigürasyona oradan devam edebiliyorsunuz. İleri seviye konfigürasyonlar için (PMP lisansı kullanacak kullanıcıları belirtmek gibi) API kullanmanız gerekiyor. Burada bir eleştiri olarak bunun pek de kolay olmadığını belirtebilirim. CMS ile ilgili tüm konfigürasyon dokümanlarını bu linkte bulabilirsiniz.
 
CMS ile CUCM’i birlikte çalıştırmak için aralarında SIP trunk tanımlamanız gerekmekte. Ad-hoc konferanslar için de bu trunk ın güvenli yani encrypted olması gerekiyor, bu da işin içine sertifikaların dahil olması demek. Yukarıda belirttiğim linkte sertifikaların nasıl oluşturulacağı ile ilgili dokümanları da bulabilirsiniz. Trunk tanımlarını yaptıktan sonra ilgili route patternleri de ayarlayarak artık çağrıları CMS’e teslim edip konferans görüşmelerini yapabilir hale geliyorsunuz.

Son Söz

CMS, S4B desteği, WebRTC gibi getirdiği yeni özellikler sayesinde kurumların ve kurumlar arası iletişimin çok daha esnek olabilmesine olanak sağlıyor. Sanal yapıda çalışması, düşük donanım ihtiyacı ve uygun lisanslama modeli ile de diğer üreticilerden öne çıkıyor. Her ne kadar kurulumu biraz uğraştırsa da kullanımı oldukça kolay.
Ücretsiz Bulut Tabanlı Yazılımsal Video Konferans Çözümleri

Ücretsiz Bulut Tabanlı Yazılımsal Video Konferans Çözümleri

Merhaba, bu yazımda zamandan ve maliyetlerden tasarruf ettirmenin yanı sıra iletişim ve işbirliğini geliştirerek kısa sürede güçlüklerden çözüme gitmeye yardımcı olabilecek, girişimcilerin, startupların ve küçük-orta işletmelerin kullanabileceği ücretsiz bulut tabanlı video konferans çözümlerini tanıtmaya çalışacağım.

Video? Ne Gereği Var?

Biz zaten işimizi e-posta ile görüyoruz değil mi? Acil bir şey olursa da telefonla arıyoruz zaten. Evet ama daha iyisi var, nedenlerini kısaca özetleyelim:

  • İnsan beyni daha çok görsel çalışır. Kendi hayatınızı düşünün, ne kadar süre kitap okuyorsunuz ve buna karşı ne kadar video (Film, TV, Youtube vs.) izliyorsunuz? Görsel uyaranlar zihnimizde daha çok yer ediyor. 
  • Video sözel olmayan iletişimi de iletir. E-posta ve telefon ile iletemediğimiz vücut dilini ve mimikleri görsel olarak iletebiliyoruz. Bu da anlaşılabilirliği arttırıyor.
  • Video dikkati üzerinize çeker. Hepimizin telefonla konuşurken başka bir şeylerle meşgul olduğu durumlar olmuştur. Maalesef bu durumlarda karşımızdakini pek dinlemiyoruz ve dolayısı ile de iletişimimiz sağlıksızlaşıyor. 
  • Video diğer iletişim türlerini de kapsar. Görüntülü görüşme ile hem yazılı hem de sesli iletişimimizi zaten sağlayabiliyoruz.
  • Video hızlı ve zengin içerik sunar. Mesela karşınızdakine iki makina parçasını nasıl birleştireceğini anlatmanız gerekiyor. E-posta veya telefonla ne kadar hızlı anlatabilirsiniz? DIY videolarının ne kadar etkili olduğunu hatırlayın.
  • Video hızlı ve çabuk toplantı yapmanızı sağlar. Artık hepimizin elinde veya cebinde en az iki kameralı cihazlar var, bu da size zamandan ve mekandan bağımsız bir şekilde toplantı yapmanızı sağlıyor. Bir toplantı yapmak için ertesi gün saat 3’te A bloktaki Mykonos (odanın ismi havalı olmalı) toplantı odasında buluşmak mı kolay, telefonunuzu cebinizden çıkarmak mı?

Evet artık ikna olduğunuza göre bunu size ücretsiz sunanlara bir göz atalım : 

Google Hangouts

Sanırım en yaygın olarak kullanılan/kullanılabilecek ürünümüz bu. Hemen hemen herkesin bir Google hesabı vardır muhakkak, dolayısı ile herkes Hangouts üzerinden konferans yapabilir. Hangouts cihazlar konusunda çok esnek, hızlıca toplantı oluşturup bulunduğunuz toplantı odasını bir link ile paylaşabiliyorsunuz. Arayüzleri de oldukça sade.

Skype

Bir zamanların uzakları yakın eden yazılımı Skype eski popülerliğini yitirse de özellikle yurt dışında hala sıkça kullanılıyor. Grup video özelliği sayesinde 25 kişiye kadar eş zamanlı görüntülü görüşme yapabilirsiniz. 

Facebook Messenger 

Ülkemizde an itibari ile 44 milyon Facebook kullanıcısı var. Sahte hesapları çıkarsak bile neredeyse nüfusun yarısı kullanıyor diyebiliriz. Ekran/sunum paylaşımı desteklenmediği için küçük toplantılarda fikir alış-verişleri için uygundur diyebiliriz.

Whatsapp

Whatsapp da bir diğer yüksek kullanıcıya sahip platformumuz. Hemen hemen her akıllı telefonda yüklü olması sebebiyle dünyada çok fazla kullanıcıya hitap ediyor. Video özelliğini sadece mobil uygulamalarda kullanabildiğiniz için ufak çaplı toplantılarda kullanılabilir.

Appear.in

Appear.in ile ilgili söyleyebileceğim ilk şey inanılmaz kolay olması. Siteye girdikten sonra hesap oluşturup bir toplantı başlatmanız toplam 2 dakika sürüyor. appear.in sitesine girerek profilinizi ve odanızı oluşturuyorsunuz. Daha sonra bu odanın URL ini istediğiniz kişiyle paylaşıp onları da konferansa dahil edebiliyorsunuz. 

ezTalks

ezTalks piyasada oldukça yaygın kullanılan bir video konferans hizmeti. Diğerlerinden farklı olarak  anket, beyaz tahta, toplantı kaydı gibi ekstra özellikler sunabiliyor. Ücretsiz sürümde toplantılar 40 dk. ile sınırlandırılıyor (kendi fikrim 20 dk dan uzun toplantılar zaten verimsiz oluyor, 40 dk. gayet yeterli bir süre) WebRTC desteği olmadığı için bilgisayarınıza bir yazılım kurarak toplantılara dahil olabilirsiniz. Mevcut toplan

Zoom

Zoom da bu işin duayenlerinden. Eş zamanlı olarak 100 katılımcıya kadar toplantı yapabiliyorsunuz. Diğer uygulamalarda olmayan çoklu ekran paylaşma özelliği ile bir toplantıda aynı anda birden fazla kişi ekranını paylaşarak daha fazla içeriği görüntüleme şansınız oluyor.

Cisco Webex Teams

Webex Teams‘i diğerlerinden ayıran özellikler ise SIP URI ile bir video konferans adresini arayabilir ve sohbet odalarına chatbotlar entegre edebilirsiniz (ör. IFTTT botu ile IoT cihazlarınızı bu oda üzerinden kontrol edebilirsiniz). Ayrıca beyaz tahta özelliği ile bir doküman, çizim, tasarım üzerinde ortaklaşa çalışabiliyorsunuz.

Yukarıda anlattığım ürünler ile ilgili özellik karşılaştırma tablosunu aşağıda bulabilirsiniz:

Ücretsiz Video Konferans Ürünleri Karşılaştırma Tablosu

Not: Bu tabloda sadece ürünlerin ücretsiz versiyonlarının özelliklerini belirttim. Ücretli versiyonlarında takdir edersiniz ki daha fazla özellik sunabiliyorlar.

Fark edeceğiniz üzere ezTalks bu yarışta önde gidiyor. Neyse biz marka holiganlığı yapmayalım, ihtiyacınıza hangisi en doğru cevabı veriyorsa onu kullanın diyelim.