Browsed by
Kategori: Nasıl Yapılır

Merhaba, bu kısımda Nasıl Yapılır başlığı altındaki yazılarımı bulabilirsiniz.

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
CUCM Common Partition Nasıl Temizlenir?

CUCM Common Partition Nasıl Temizlenir?

Bazen bir Cisco Unified Communicatios Manager’da (CUCM) RTMT ekranında bakarken, “LogPartitionLowWaterMarkExceeded” diye kritik bir uyarı görebilirsiniz. Bu, CUCM common partition üzerinde boş alan azaldığında gerçekleşir.

Çoğu durumda bu sorun sistemin genel işleyişini etkilemez, ancak bazı ek paket kurulumları (örn. device pack) veya upgrade yapmak istiyorsanız diskteki bu düşük alan bir takım sorunlara neden olabilir.

CUCM common partition ayrıca log partition olarak da adlandırılır ve çoğunlukla TFTP sunucusundaki firmware dosyaları, CDR’lar ve CUCM logları ile doludur. CUCM üzerine yeni telefon firmware dosyaları eklendikçe, ya da CUCM log seçenekleri açık bırakıldıkça bu kısım zamanla dolmaya başlar ve bir süre sonra RTMT üzerinden uyarı almaya başlarsınız.

LogPartitionLowWaterMarkExceeded, log partition disk alanı yüzdesi “Low WaterMark” eşiğine ulaştığında gerçekleşir. Bu, disk alanını temizlemeniz için bir erken uyarıdır. CUCM, “High WaterMark” değerine ulaşana kadar bir otomatik temizleme işlemi yapmaz.

CUCM Common Partition ı Temizlemek İçin Ne Yapmalıyım?

Common partition’daki alanı boşaltmak ve boş yer açmak için aşağıdaki işlemleri uygulayabilirsiniz:

  • LogPartitionLowWaterMarkExceeded değerini % 50, ve LogPartitionHighWaterMarkExceeded değerini %60 olarak değiştirin ve ardından “Cisco Log Partition Monitoring Tool” servisini yeniden başlatın. Birkaç saat sonra CUCM temizlik yapacak ve kullanılan alanın azaldığını göreceksiniz.
  • RTMT üzerindeki Trace / Log Central fonksiyonunu kullanarak “Delete Collected Log Files from Server ” seçeneği ile log / trace dosyalarını toplayarak kullanılmayan log dosyalarını silin (bu işlem hem aktif hem de aktif olmayan bölümler içindir). Sunucu üzerindeki tüm kullanılmayan logları silmek için Relative Range‘i 8-9 yıl olarak seçin.
  • Kullanılmayan eski telefon firmware dosyalarını TFTP sunucusundan silin.
  • Tüm dosyaları etkin olmayan common partition’dan silen “ciscocm.free_common_space_v1.1.cop.sgn” (cisco.com’da bulabilir ve indirebilirsiniz) adlı CUCM scriptini kullanın. Ancak bu scripti kullandıktan sonra, önceki CUCM sürümüne geçemeyeceğinizi lütfen unutmayın.

CUCM common partition kullanımını azaltmak istiyorsanız, aşağıdaki işlemleri uygulayabilirsiniz:

  • Çok lazım olmadıkça Detail / Debug trace seviyesini devre dışı bırakın.
  • Saklanacak trace dosyalarının sayısını azaltın.
  • CDR için: High Water Mark değerini azaltın, kullanılacak disk alanını azaltın ve CDR’ların saklanacağı gün sayısını azaltın.
Cisco IP Telefon Ekran Görüntüsünü Almak

Cisco IP Telefon Ekran Görüntüsünü Almak

Cisco IP Telefon modellerinde bulunan ekran görüntüsü alma fonksiyonu özellikle uzaktan destek gerektiren bazı durumlarda çok işinize yarayabilir. Aşağıdaki yazımda Cisco 7800 ve 8800 serisi telefonlar için ekran görüntüsü alma prosedürünü bulabilirsiniz.

İlk önce, Cisco Unified Communications Manager (CUCM) üzerine birkaç ayarı doğrulayalım.

CUCM Ayarları

Bir Cisco IP Telefonun ekran görüntüsünü alabilmek için öncelikle o telefonun bir CUCM kullanıcısı (End User) ile eşleştirilmesi ve telefon ayarlarından web erişiminin (Web Access) açılmış olması gereklidir. Bu ayarları CUCM Administration sayfasından Device -> Phone menüsünü kullanarak ve ilgili telefonu seçerek yapabilirsiniz.

Öncelikle telefonun web arayüzünü açmak gerekiyor. Bunun için Product Specific Configuration Layout başlığındaki Web Access i Enable etmek yeterli.

Cisco IP Telefon Web Erişimi Ayarları

Daha sonra IP Telefon ile kullanıcıyı eşleştirmemiz gerekiyor. Yine aynı sayfada Owner User ID kısmında ilgili kullanıcıyı seçiyoruz.

Cisco IP Telefon ile Kullanıcıyı Eşleştirme

Kullanıcıyı seçtikten sonra User Management -> End User menüsünden ilgili kullanıcıyı seçin ve Device Information başlığındaki Controlled Devices bölümünde ilgili telefonun eklenmiş olduğundan emin olun.

End User Bölümünde Kullanıcı – IP Telefon Eşleştirme

Bu ayarları yaptıktan sonra System -> Enterprise Parameters menüsüne girerek telefonun web arayüzüne erişirken kullanacağı kullanıcı doğrulama URL’lerini kontrol edelim. İlgili ayarlar Phone URL Parameters ve Secure Phone URL Parameters başlıklarında bulunabilir.

IP telefonlarda kimlik doğrulama aşağıdaki URL biçimi ile çalışır:

http(s)://cucmcip/authenticate.jsp?UserID=<kullanıcıadı>&Password=<şifre>&devicename=<cihazadı>

Eğer girilen bilgiler uygun ise, tarayıcı basit bir “AUTHORIZED” mesajı, eğer bilgilerde tutarsızlık varsa “UN-AUTHORIZED” mesajı görüntüler. Aşağıda örnek bir URL ve çıktısını bulabilirsiniz:

CUCM Kullanıcı Adı ve Şifrenizi Bu Şekilde de Kontrol Edebilirsiniz

İpucu: Eğer telefonlarda kimlik doğrulama işlemini by-pass etmek istiyorsanız Enterprise Parameters altındaki Authentication URL‘lerini her halikarda “AUTHORIZED” olarak cevap verecek bir web sayfasına yönlendirebilirsiniz 🙂

Web Tarayıcı Üzerinden Ekran Görüntüsü Almak

Eğer yukarıda anlatılan adımların hepsini düzgün bir şekilde yaptıysanız artık IP telefonunuzun ekran görüntüsünü alabilirsiniz demektir. Bunun için aşağıdaki URL’i kullanabilirsiniz:

 http://cucmip/CGI/Screenshot 

Kullanıcı adı ve şifreyi girdikten sonra aşağıdaki gibi bir görüntü alacaksınız:

Web Tarayıcı Üzerinden Alınan Cisco 7821 IP Telefon Ekran Görüntüsü

Sorun Giderme

Eğer web tarayıcızınızda şunun gibi bir hata mesajı alırsanız:

 <CiscoIPPhoneError Number=”4” /> 

Bu sorun büyük ihtimalle kimlik doğrulama ile ilgilidir. Telefonun bir kullanıcının kontrolünde olduğunu ve kullanıcının kimlik bilgilerinin doğru olduğunu doğrulayın. Bunu kolayca görebilmek için yukarıdaki authentication URL biçimini kendi telefonunuza göre uyarlayıp test edebilirsiniz. URL çalışıyor ancak telefonun web sayfası hala aynı hatayı gösteriyorsa, telefonu sıfırlayın ve tekrar deneyin.

 <CiscoIPPhoneError Number=”0” /> 

Bu hata ise telefonun kimlik doğrulama için CUCM’de sağlanan URL’e bağlanamadığını gösterir. Buna neden olabilecek birçok şey olabilir, hemen hemen hepsi erişilebilirlik ile ilgilidir. IP telefonlardan CUCM’e (ya da doğrulama sunucusuna) doğru DNS, yönlendirme, vs. gibi tanımları kontrol etmeniz gerekecektir.

Cisco IP Telefon XML Uygulama Geliştirmek

Cisco IP Telefon XML Uygulama Geliştirmek

Cisco IP telefonlarda bulunan XML görüntüleyici özelliği sayesinde telefonlara ek servisler yazabilir ve ek uygulamalar geliştirerek IP telefonlarınıza yeni özellikler ekleyebilirsiniz. Bu yazımda Cisco IP telefon XML servislerinin nasıl çalıştığını ve ufak XML uygulamalarının nasıl yapılabileceğini bulabilirsiniz.

Cisco IP Telefon XML uygulamaları tahmin edeceğiniz üzere bir web sunucusu üzerinden çalışmaktadır. IP telefonlar bu web sunucusuna bir istekte bulunur ve sunucudan dönen XML dosyasını ayrıştırıp kullanıcının okuyabileceği hale getirirler. Burada dikkat edilmesi gereken nokta ise, web sunucunun CUCM tarafından değil, IP telefonlar tarafından erişilebilir olması gerekliliğidir.

Cisco IP Telefonların XML Uygulamaları ile Haberleşmesi

Cisco IP telefonların bilgileri ayrıştırıp okunabilir hale getirebilmesi için bir takım XML nesneleri kullanılmaktadır. Aşağıdaki tabloda Cisco IP telefonlar tarafından desteklenen XML nesnelerini bulabilirsiniz:

  • CiscoIPPhoneMenu
  • CiscoIPPhoneText
  • CiscoIPPhoneInput
  • CiscoIPPhoneDirectory
  • CiscoIPPhoneImage
  • CiscoIPPhoneImageFile
  • CiscoIPPhoneGraphicMenu
  • CiscoIPPhoneGraphicFileMenu
  • CiscoIPPhoneIconMenu
  • CiscoIPPhoneIconFileMenu
  • CiscoIPPhoneStatus
  • CiscoIPPhoneStatusFile
  • CiscoIPPhoneExecute
  • CiscoIPPhoneResponse
  • CiscoIPPhoneError

Not: Her XML nesnesi her IP telefon modeli tarafından desteklenmeyebilir. XML nesneleri ile ilgili daha detaylı bilgiyi bu sayfadaki “Cisco Unified IP Phone Services Application Development Notes” dokümanlarından bulabilirsiniz.

XML uygulamalarının çalışma prensibini kısaca özetledikten sonra dilerseniz basit bir uygulama ile devam edelim.

İlk XML Uygulama: Hello World!

Yazılım dünyasının gelmiş geçmiş en büyük klişesi “Hello World” ü anmamak olmaz. Dilerseniz bunu IP telefonların ekranlarına bastıralım. İlk olarak yapmamız gereken bir XML dosyası oluşturmak. Herhangi bir metin editörü ile bir XML dosyası (hello.xml) oluşturun ve içine şunları ekleyin:

Hello World XML Kodu

Burada göreceğiniz üzere CiscoIPPhoneText, Title ve Text nesnelerini kullanıyoruz. Bunlar sırası ile Bir yazı göstereceğimizi, yazının başlığını ve yazının içeriğini belirtiyor.

Dosyayı oluşturduktan sonra bir web sunucusuna koyun (dosyaynın ve sunucunun çalıştığından emin olmak için dosyanın bulunduğu URL i web tarayıcısına yazıp deneyebilirsiniz) ve CUCM Administration sayfasından Device > Device Settings > Phone Services menülerine girin ve Add New‘a basarak yeni servisi tanımlama sayfasını açın.

CUCM Administration Phone Services Menüsü

Açılan sayfada Service Name, Service URL zorunlu olmak üzere ilgili alanları doldurun ve Enable‘ı seçerek Save‘e basın.

CUCM – XML Servis Eklemek

XML servisini CUCM’e ekledikten sonra bu servisi hangi telefonda çalıştırmak istiyorsanız Device > Phone menüsüne gelerek ilgili telefonu seçin ve telefonun konfigürasyon sayfasının sağ üst köşesindeki drop-down menüden Subscribe / Unsubscribe Services‘ı seçin.

CUCM – IP Telefon Subscribe Services Menüsü

Açılan sayfadaki drop-down menüden eklediğiniz servisi seçin, Next ve ardından Subscribe düğmesine basın.

CUCM – Servis Ekleme

Save e basıp ilgili pencereyi kapatın ve telefonun ayarlarını kaydedin. Artık IP telefonunuzda servisler tuşuna bastığınızda bu servisi görmeye başlayacaksınız.

IP Telefon Servis Tuşu ve Servis Menüsü

İlgili servisi seçtiğinizde IP telefon web sunucudan XML sayfasını çağıracak ve ekranda gösterecektir.

Hello World XML Uygulaması

Dinamik XML Uygulamaları Geliştirmek

Düz XML sayfalar ile kolayca statik sayfalar oluşturabilirsiniz, eğer dinamik servisler ve değişken içerikler sunmak isterseniz PHP, Javascript, CGI gibi web dillerini kullanarak da XML sayfaları oluşturabilirsiniz. Aşağıda PHP kullanarak oluşturulan basit bir XML uygulama örneğini bulabilirsiniz.

Örnek: Zar Uygulaması

Üstte yapmış olduğumuz XML içeriğini bu kez PHP ekleyerek oluşturalım. IP telefonların PHP sayfalarını işleyebilmesi için ilk başta text/xml etiketini kullanmamız gerekiyor. 1’den 6’ya kadar rastgele bir sayı gösteren PHP kodumuzu da içerikteki Text nesnesinin içine PHP etiketleri ile yerleştiriyoruz:

Cisco IP Telefon – PHP & XML Zar Uygulaması Kodu

Kodun alt kısmında bulunan SoftKeyItem nesneleri ile IP telefon ekranlarının alt kısmına fonksiyon tuşları ekleyebiliyoruz. Bu örnekte sayfayı tekrar yüklemeyi sağlayan Update ve servisten çıkmaya yarayan Exit olmak üzere iki farklı tuş ekledik. Dosyayı .php uzantısı ile kaydedip web sunucusuna koyduktan sonra yine üstteki adımları uygulayarak IP telefonlara bir servis olarak ekleyebilirsiniz. Aşağıda zar uygulamasının IP telefon üzerindeki görüntüsünü görebilirsiniz:

Cisco IP Telefon – PHP & XML Zar Uygulaması
CUCM IP ve Hostname i Değiştirmek

CUCM IP ve Hostname i Değiştirmek

Merhaba, bu yazıda CUCM IP adresi ve hostname ini değiştirmek için gerekli adımları ve ekstra dikkat etmeniz gereken noktaları bulabilirsiniz.

CUCM IP Adresi ve Hostname’i Değiştirmek

Not 1: Başlamadan önce, eğer hostname i de değiştirecekseniz ilgili DNS kayıtlarının da güncellendiğinden emin olun, aksi takdirde iletişim sorunları yaşayabilirsiniz.

Not 2: Eğer bir CUCM cluster’ı üzerindeki tüm node ların IP adreslerini veya hostnamelerini değiştirecekseniz ilk önce Publisher’dan başlayın, işlem tamamlandıktan sonra Subscriber’ları tek tek değiştirin.

Uyarılarımızı da yaptıktan sonra artık başlayabiliriz:

1. CUCM’e SSH üzerinden bağlanın ve hostname i değiştirmek için aşağıdaki komutu kullanın:

 admin:set network hostname 
 
ctrl-c: To quit the input.
 
         ***   W A R N I N G   ***
Do not close this window without first canceling the command.
 
This command will automatically restart system services.
The command should not be issued during normal operating
hours.
 
=======================================================
 Note: Please verify that the new hostname is a unique
       name across the cluster and, if DNS services are
       utilized, any DNS configuration is completed
       before proceeding.
=======================================================
 
Security Warning : This operation will regenerate
       all CUCM Certificates including any third party
       signed Certificates that have been uploaded.

Not: Hostname değişikliklerinde eğer CUCM’iniz ya da cluster’ınız bir CA tarafından imzalanmış sertifikalar kullanıyor ise, bu sertifikaları yeni hostname’e göre tekrar imzalatmanız ve CUCM’e yüklemeniz gerekecektir. Self-signed sertifikalar kullanılıyor ise bu işlem otomatik olarak yenilenecek ve uç cihazlarınız yeni ITL dosyasını alabilmek için resetlenecektir.

2. Uyarıları okuduktan sonra hostname’i girin:

Enter the hostname:: cucm

3. Eğer IP adresi, subnet mask ve default gateway i de değiştirecekseniz yes diyip ilgili bilgileri girerek devam edin:

Would you like to change the network ip address at this time [yes]:: yes
 
Warning: Do not close this window until command finishes.
 
ctrl-c: To quit the input.
 
           ***   W A R N I N G   ***
=======================================================
 Note: Please verify that the new ip address is unique
       across the cluster.
=======================================================
   
Enter the ip address:: 192.168.0.137
Enter the ip subnet mask:: 255.255.255.0
Enter the ip address of the gateway:: 192.168.0.1

4. Girdiğiniz bilgiler ekranda gösterilecektir. İnceleyip eğer doğru ise yes yazarak değişim işlemini başlatabilirsiniz

 Hostname:       cucm                                                   
IP Address:     192.168.0.137
IP Subnet Mask: 255.255.255.0
Gateway:        192.168.0.1
 
Do you want to continue [yes/no]? yes
 
calling 1 of 5 component notification script: ahostname_callback.sh                     
Info(0): Processnode query returned =
name      
==========
bldr-vcm18
updating server table from:'oldHostname', to: 'newHostname'
Rows: 1
updating database, please wait 90 seconds
updating database, please wait 60 seconds
updating database, please wait 30 seconds
Going to trigger /usr/local/cm/bin/dbl updatefiles --remote=newHostname,oldHostname
calling 2 of 5 component notification script: clm_notify_hostname.sh                   notification
Verifying update across cluster nodes...
platformConfig.xml is up-to-date: bldr-vcm21
 
cluster update successfull
calling 3 of 5 component notification script: drf_notify_hostname_change.py   
calling 4 of 5 component notification script: regenerate_all_certs.sh                     
calling 5 of 5 component notification script: update_idsenv.sh                 
calling 1 of 2 component notification script: ahostname_callback.sh                      
Info(0): Processnode query returned =
name
====
Going to trigger /usr/local/cm/bin/dbl updatefiles --remote=10.10.10.28,10.67.142.24
calling 2 of 2 component notification script: clm_notify_hostname.sh                  
Verifying update across cluster nodes...
Shutting down interface eth0:

CUCM’iniz ya da cluster’ınız mixed-mode da ise bu işlemi CTL Client ile yaptıysanız client ı tekrar çalıştırıp CTL dosyasını güncelleyin. Eğer tokenless CTL kullanıyorsanız komut satırından utils ctl update CTLFile komutunu çalıştırarak CTL dosyasının güncellenmesini sağlayın.