Browsed by
Kategori: Video Konferans

Video konferans teknolojileri ve çözümleri ile ilgili yazılar.

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.

ENUM Nedir? ENUM Sözdizimi

ENUM Nedir? ENUM Sözdizimi

ENUM (Telephone Number Mapping, E.164 Number to URI Mapping), telefon numaralarını URI formatına (isim@domain) çeviren bir adresleme protokolüdür. Bu sayede bir telefon numarasını çevirerek bir SIP, H.323 veya başka bir İnternet telefon kullanıcısına erişebilirsiniz.

ENUM fonksiyonunu kullanıcıların dünyanın her yerinde aynı numarayla, en kaliteli ve en ucuz yolla, ulaşılabilir olmasını amaçlar. ENUM, bir telefon numarasını DNS sisteminde bulunan bir İnternet adresi ile eşleştirir. Böylece, bir ENUM numarasına sahip olan bir kullanıcı, çağrının yönlendirileceği DNS kaydını yayınlayabilir. Hatta farklı arama türleri için (faks, video vb.) farklı yollar tanımlanabilir.

Bir ENUM kaydını bir alan adı alır gibi edinmeniz mümkün. Günümüzde pek çok kayıt hizmeti veren yer ve VoIP servis sağlayıcıları üzerinden bu kaydı ücretsiz olarak edinebilirsiniz.

ENUM Sözdizimi

ENUM, normal telefon (E.164) numaralarının, e164.arpa ile biten DNS adları olarak gösterilmesini sağlar. Bir numara önceden tanımlanmış bir veya daha fazla servis için çözülebilir.

Örneğin, +90-312-555-1234 telefon numarası, aşağıdaki kuralları RFC 3761‘de tanımlanan ve aşağıda belirtilen kurallardan geçtikten sonra 4.3.2.1.5.5.5.2.1.3.0.9.e164.arpa olarak gösterilir:

  1. Rakamlar hariç tüm karakterleri kaldırılır. (“+90-312-555-1234”, “903125551234” olur)
  2. Her sayı arasına nokta (“.”) koyulur. (“9.0.3.1.2.5.5.5.1.2.3.4”)
  3. Rakamların sırası ters çevirilir. (“4.3.2.1.5.5.5.2.1.3.0.9”)
  4. Dizinin sonuna “.e164.arpa” eklenir. (“4.3.2.1.5.5.5.2.1.3.0.9.arpa”)

Bu sözdiziminin cevaplandırılabilmesi için DNS sunucusunda şuna benzer bir kaydın bulunması gerekir:

$ORIGIN 4.3.2.1.5.5.5.2.1.3.0.9.arpa.
   NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:fatih.erikci@fatiherikci.com!" .
   NAPTR 10 101 "u" "E2U+h323" "!^.*$!h323:fatih.erikci@fatiherikci.com!" .
   NAPTR 10 102 "u" "E2U+msg" "!^.*$!mailto:fatih.erikci@fatiherikci.com!" . 

Bu kayıtta 4.3.2.1.5.5.5.2.1.3.0.9.arpa alanı için sıralı olarak üç farklı yönlendirme görüyorsunuz. 1. olarak SIP, ikinci H.323 ve üçüncü olarak SMTP cevabı dönmektedir, ilgili cihaz bu kayıtları kullanarak hangi servis ile iletişim kuracağını seçer.

Nasıl Çalışır?

ENUM’ın çalışma prensibi aslında Internet’te sürekli kullandığımız DNS sorgularına benzer. Sorgularda DNS NAPTR kaynak kayıtları kullanılır.

Bir ENUM Sorgusu ve Çağrısı
Bir ENUM Sorgusu ve Çağrısı
  1. Telefon bir E.164 numarası arar (+90-312-555-1234)
  2. Gateway bunu bir sözdizimine çevirir (4.3.2.1.5.5.5.2.1.3.0.9.e164.arpa) ve DNS sunucusuna sorar.
  3. DNS sunucusu bu sorguya bir URI (sip:fatih.erikci@fatiherikci.com) ile karşılık verir.
  4. Gateway artık çağrıyı bir SIP URI çağrısı olarak SIP sunucusuna gönderir.
  5. SIP sunucusu URI ile kayıtlı olan IP telefonu çaldırır.
Cisco Headset 730 Kulaklık

Cisco Headset 730 Kulaklık

Cisco 2019 Partner Summit’te yeni Webex serisi işbirliği ürünlerinin yanı sıra 700 serisi kulaklıklarını da tanıttı.

Bildiğiniz üzere, tümleşik iletişim alanında bir çok ürün ve teknoloji sunan Cisco, geçtiğimiz yıllarda 500 serisi ile Jabra, Plantronics ve Sennheiser gibi büyük oyuncuların olduğu telefon kulaklık pazarına giriş yapmıştı. Bu yıl da iş ortakları zirvesinde biraz daha mobil çalışan segmentini hedefleyen 700 serisini tanıtmış oldu.

Cisco Headset 730 Özellikleri

700 serisi kulaklıklar temel olarak seyahat eden mobil çalışanları hedefleyen bir seri. Özellikle kalabalık ortamlarda, gürültü önleme mekanizmaları ile hem kulaklığı kullanan hem de görüşme yapılan karşı taraf için oldukça temiz berrak bir iletişim sağlanabiliyor. Bunun yanı sıra BT 5.0, çoklu bağlantı gibi ek özellikler sunan Cisco 700 serisi kulaklıkların detaylı özelliklerini bulabilirsiniz:

  • Bluetooth 5.0 , USB-A ve 3.5mm Üzerinden Bağlantı
  • Premium Kodek Desteği (SBC, AAC, aptX, aptXHD)
  • 4 Mikrofon ile Aktif Arka Plan Gürültü Azaltma
  • 2 Elektret Kondenser Mikrofon ile Berrak Ses İletimi
  • Akıllı Sensör Teknolojisi (Kulaklığı Çıkarınca Sessize Alma)
  • Patlama Önleyici Mikrofon
  • Kulak Üstü Kontrolleri
  • Sesle Aktive Edilebilen Yapay Zeka
  • Özelleştirilmiş Deneyim için Cisco Headset Uygulaması (App Store & Google Play)
  • Otomatik Ürün Yazılım Yükseltmeleri

Cisco 700 serisi kulaklıkların 500 serisi ile karşılaştırmasının olduğu tabloyu aşağıda bulabilirsiniz:

700 Serisi500 Serisi
Kimler İçin Uygun?Mobil / Ofis ÇalışanlarıOfis / Çağrı Merkezi Çalışanları
Ana Bağlantı TürüBluetooth 5.0Kablo / DECT
Konuşma Süresi15+ Saat9 Saat
Eş Zamanlı Bağlantı Sayısı 2 BT + 1 USBBaz İstasyonuna Bağlı
Kablosuz Kapsama Alanı65+ mt.90+ mt.
Kulağa Takma BiçimiSadece Binaural Binaural & Monaural
Renk SeçenekleriPlatin & Karbon SiyahSiyah
Aktif Gürültü EngellemeVarYok
Gürültü Azaltıcı MikrofonVarVar
RJ-9 BağlantıYokVar
Cisco 730 Serisi Kulaklıklar 2 Renk Seçeneği ile Geliyor

Daha detaylı bilgi için Cisco 730 serisi kulaklıkların datasheet sayfasına buradan ulaşabilirsiniz.

Fiyatı

Henüz çok yeni tanıtılan Cisco 730 serisi kulaklığın fiyatı belirlenmiş değil ama 560 serisi kablosuz kulaklıkların liste fiyatının 600$ seviyesinde olduğunu düşünürsek, kendi tahminimce liste fiyatı 800$ – 900$ bandında olacaktır.

Son Söz

Cisco 730 serisi kulaklığı ile hem tüketici pazarını hedefleyen hem de iş amaçlı kullanılabilecek profesyonel bir çözüm sağlamış. Özellikle sık seyahat edenler için oldukça kullanışlı bir ürün olmuş.

Cisco Webex Desk Pro İnceleme

Cisco Webex Desk Pro İnceleme

Cisco 6 Kasım 2019’da yaptığı 2019 Partner Summit etkinliğinde Webex Desk Pro yu duyurdu.

Yapılan etkinlikte işbirliği çözümlerini hem bulutta hem de kurum içinde kurulabilen sistemlerin tek bir altyapı altında birlikte çalışabilecek bir çözüm olarak anons etti. Arama, mesajlaşma, toplantı, cihazlar ve çağrı merkezini de içinde barındıran bu tek altyapının adı sanırım artık Webex olarak adlandırılacak.

Bununla birlikte entegrasyon anlamında oldukça esnek bir hale bürünen Webex altyapısı başta Microsoft olmak üzere, Google, Slack, Salesforce gibi iş araçları ile de birlike entegre çalışabilecek.

Webex Desk Pro Lansmanı

Altyapı lansmanından sonra cihaz kategorisinde Webex Desk Pro ve Webex Panorama adlı iki ürün lanse edildi. (Webex Panorama’yı daha detaylı incelemek istediğim için onu başka bir yazıma saklıyorum)

Cisco Webex Desk Pro Özellikleri

Webex Desk Pro hali hazıdaki DX80‘e benzer bir yapıya sahip kişisel bir işbirliği cihazı. Tabi ki DX80 den ayrışaan yeni özellikleri de mevcut. İsterseniz bunları kısaca özetleyelim:

  • 27″ 4K Dokunmatik Ekran
  • 71 Derece Görüş Açılı HD Kamera
  • Gelişmiş Yapay Zeka ve Analitik Uygulamaları
  • Gürültü Önleme Mekanizmalı Mikrofon Dizisi
  • Premium Ses Sistemi
  • USB-C Bağlantı
  • Web Uygulamaları Desteği
Webex Desk Pro Dokunmatik Ekrana Sahip

Webex Desk Pro’nun önceki modellere göre önemli özellikleri yüz tanıması ve yapay zeka olarak adlandırabiliriz. Bu sayede cihaz karşısında kimin olduğunu tanıyor ve kişiye ismi ile hitap edebiliyor. Ayrıca duruş pozisyonunuza göre de kamerasını ayarlayabiliyor. İsterseniz kamera görüntüsünün arka planı bulanıklaştırmanız veya başka bir görüntü ile değiştirebilmeniz de mümkün. Kişisel asistan Webex Assistant‘ı da unutmamak lazım.

Cisco Webex Desk Pro’da kamerayı ekran çerçevesinin içine gömerek önceki DX ve EX serilerinde sıkça yaşanan kamera flex kablosunun hasar görmesi ve kameranın menteşelerinin yıpranması problemlerini artık yaşamayacağız gibi geliyor. Ayrıca USB-C bağlantısıyla Cisco Webex Desk Pro bir docking station ve dokunmatik özellikli monitör olarak da kullanılabiliyor.

Cisco – Microsoft İşbirliği

Etkinlikte bu yeniliklerin ve ürünlerin yanı sıra Cisco – Microsoft işbirliğine de değinildi .İlk başlarda Webex’in rakibi gibi gözüken Microsoft Teams ürünü artık Webex odaları ile doğrudan birlikte çalışabilir olacak. (zamanında Skype for Business ile CUCM‘i entegre etmeye çalışanlara selam olsun 🙂 )

Hardware as a Service (HaaS)

Cisco, IP telefon, masa üstü ve oda tipi işbirliği cihazları için bir hizmet olarak donanım (Hardware as a Service- HaaS) opsiyonunu da duyurdu. Bu hizmet kapsamında isteyen kurumlar donanımları satın almak yerine uzun dönem üyelik anlaşmaları ile kullanabilecekler.

HaaS Flex Plan ile birleştirildiğinde kurumlar için yatırım maliyetinin olmadığı, tamamen operasyonel maliyetler ile sahip olunabilen bir modele dönüşüyor, bu da KOBİ lerden büyük kurumlara bir çok işletme için sevindirici bir haber. Kim ayda 5$ a Cisco IP telefon ya da 60$ a bir Webex video konferans sistemi sahibi olmak istemez ki?

HaaS yönteminde eğer 3 yıllık üyelik modeli ile ilerlerseniz 3 yılın sonunda yıllık olarak hizmeti sürdürebiliyorsunuz ya da üyeliğinizi 3 yıl daha uzatırsanız cihazlar yenileri ile değiştiriliyor. Eğer cihazlar 3 yılın sonunda EoS olmuşsa da yeni modeller ile de değiştirebiliyorsunuz.

HaaS şimdilik sadece Amerika içinde sunuluyor ama kısa sürede bir çok ülkeye de bu hizmetin verilmesi düşünülüyor.

Son Söz

İşbirliği alanında bir çok öncü teknolojiye ve konsepte imza atmış olan Cisco yine heyecanlandıran bir ürün çıkarmış. Kişisel işbirliği ve üretkenlik ürünü olan Webex Desk Pro, 2020 Şubat’ta satın alınabilecek.

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.