[Bölüm 2] FreePBX 13 Kurulum Sonrası Yapılandırma

Merhabalar. Blog’un ve FreePBX yazı serimin ilk yazısına gösterdiğiniz ilgi ve yorumlarınız için teşekkür ederek başlamak istiyorum bu yazıya. Ve lafı çok uzatmadan devam etmek istiyorum.

İlk yazımda CentOS 6.8 üzerine kurulumunu yaptığımız FreePBX 13’ün yapılandırılması konusuyla devam edeceğim bu yazıda. Devam ederken araştırıyorum, kendi sunucuma uyguluyorum ve öyle yayınlıyorum. Bunu da eklemek isterim. Yine sorularınız için yorum alanını kullanabilirsiniz. Büyük bir heyecanla takip ediyor olacağım 🙂

Hatırlarsanız DigitalOcean’daki en düşük sunucu paketi olan 512MB RAM’e sahip sunucu üzerinde CentOS 6.8 64 bit sistem ile çalıştığımı söylemiştim. FreePBX ufak tefek dursa da ciddi anlamda bellek harcayan bir yapı ve bunu göz önünde bulundurarak biraz performans iyileştirmesiyle başlayalım.

Aslında cümleye çok ihtişamlı başlasam da sadece swap alanı oluşturacağım, öyle büyük şeyler değil şimdilik 😀

Malum, DigitalOcean ön tanımlı olarak sunucularında swap alanı getirmez. Kullanıcılara da isteğe bağlı, bir dosya vasıtasıyla bu alanı oluşturup kullanabilme izni verir. Partition olarak oluşturmamıza izin vermez (mantıken öyle olsa DC’ı üzerimize yapmaları gerekirdi zaten, sonrası DO CEO’larıyla ense tokat olmaktır :P). Şaka bir yana, durum böyle. Bu arada adı sık geçmeye başlamışken “Swap Nedir?” diyen dostlarımı şöyle alayım ve devam edeyim.

Bu arada SSH girişini root ile yaptığınızı varsayarak anlatıyorum. Eğer root değilseniz “sudo su” ile root’a çıkın veya her komutun başına “sudo” ekleyerek devam edin.

Şu komutla önce mevcut swap alanlarını kontrol etmenizi öneririm. Belki mevcut bir swap vardır sistemde, emin olalım:

swapon -s

Boş bir satır dönerse swap yoktur. Eğer swap alanınız varsa bu alanı atlayabilirsiniz. Çoklu swap olabileceğini duymuş olmama rağmen pek performanslı olmadığını da duymuştum. Araştırıp uygulamak size kalmış 🙂

Genelde 4GB RAM’li sistemlere kadar mevcut RAM’in iki katı, 4GB RAM’li sistemde 4GB swap kullanımı önerilir, ki bu değerler maksimum olarak belirtilir. 8GB ve üstü RAM’lerde swap önerilmez. Unutmayın; swap alanı disk üzerinde RAM gibi çalışan bir alandır ve ne olursa olsun RAM kadar hızlı olamaz. Ayrıca disk aktiviteleri sistemin hızını düşürecektir. Makine rahatlasın derken daha da yormayalım, dikkat edin! 🙂

Ben 1GB’lık swap alanı oluşturacağım.

Önce swap dosyamızı kök dizinde oluşturalım:

dd if=/dev/zero of=/swapfile bs=1024 count=1024k

Burada, kök dizinde “swapfile” isimli (of=/swapfile), 1024 bayt’lık (bs=1024) bloklardan oluşan, 1GB (count=1024k) boyutunda bir dosya oluşturduk.

Şimdi ise sisteme, bu dosyanın swap için kullanılacağını bildirelim:

mkswap -f /swapfile

Bu işlem de tamamsa sisteme bu dosyayı swap amacıyla kullanmaya başlamasını bildirelim:

swapon /swapfile

Artık swap alanımız çalışıyor(dur inşallah). Kontrol etmek için tekrar şu komutu yazın:

swapon -s

Hala bir sorun görmüyorsanız, ne mutlu! Bir de swap alanımızı her reboot sonrası aktifleşecek şekilde ayarlayalım. Şu komutu uygulayıp /etc/fstab içine her açılışta bu dosyayı swap olarak mount etmesini söyleyelim:

echo "/swapfile swap swap defaults 0 0" >> /etc/fstab

Swap dosyamıza gerekli sahiplikleri tanımlayıp yetkileri verelim:

chown root:root /swapfile 
chmod 0600 /swapfile

Ne eksik ne fazla, tam lazım olduğu şekilde ayarladık herşeyi! Bir konuda bilgi vermek istiyorum. İnternette bazı kaynaklar swap alanı önceliği konusunda da fikirler vermektedir. Bu konudan bahsetmedim çünkü sistemin ön tanımlı değeri bana makul geldi. İlerleyen zamanlarda değişiklik yapmanız gerekirse ilgili komutları yorum alanından sorabilir veya küçük bir Google’lama ile kıyamet gibi sonuca ulaşabilirsiniz 🙂

Şimdi sunucuyu reboot edip tekrar kontrol etmenizi öneririm. Şart değil fakat tavsiyemdir:

reboot now

Sunucumuz geri döndüyse devam edelim.

İlk olarak tarayıcımızdan sunucumuzun IP adresini veya alan adını yazarak FreePBX Yönetimi’ne geliyoruz. Yönetim için karşınıza çıkan 3 ikondan soldakine (FreePBX Administration) tıklıyoruz, kurulum sonunda oluşturduğumuz kullanıcı adı ve şifremizi girerek sisteme giriş yapıyoruz.

Capture

 

Giriş yaptığımızda görünen ekranı ve bizim için temelde gerekli olan alanlardan bahsetmek isterim. Yani her alanı illaki bir işe yarar ama bazıları daha çok kullanacağımız alanlar olacak 🙂

Capture

Aslında böyle kocaman resim atmama da pek gerek yokmuş. Sadece sağdaki haber alanları dışındaki alanlara dikkat etmemiz gerekiyor 😀

System Overview: Kısaca sunucunun ne halde olduğunu özetliyor bize. Hangi servisler çalışıyor, hangilerinde sorun var, hangileri çalışmıyor bilgilendirmesini o kutu içindeki sol alandan görebiliyoruz. Sağında ise bu bilgilerin son güncellenme zamanı ve kritik bir uyarı olup olmadığı konusunda bilgi veren bir alan mevcut. Burada gördüğümüz hatanın/hataların detaylarını da aynı kutunun en altından görebiliyor, onun da detaylarını görmek için hatanın üstüne tıklıyoruz. Bu alanda gördüklerimizin hepsi kritik hata olmak zorunda değil, bazen bilgilendirmeler, başarılı olunan durumlar hakkında da bu alandan bilgi alacağız. Renkler önemli yani 🙂

Uptime: Bu alandan sunucunun son başlatmadan bu yana ne kadar zamandır açık kaldığı bilgisini ve işlemciye binen yük ortalamasını takip edebiliriz.

FreePBX Statistics: Bu alan ise geçmiş zamandan bugüne kadar kaydedilmiş istatistikleri görmenize yarıyor. Ben bugüne kadar hiç kararlı çalıştığını görmedim aslında (reboot sonrası bir süre dışında). Ama yine de anlatayım, belki güncellemelerle iyileştirilir bu özellik 🙂
Soldan seçtiğiniz başlığa ait istatistikleri gösteren bir alan burası. Hangi kalemleri göreceğini aynı kutunun üstünde gösteriyor. Ayrıca zaten seçim yaparken zaman periyodunu da seçmen gerekiyor. Neticede seçtiğin zaman ile bugün arasında istatistik veriyor.

Çok uzattım sanırım, özür diliyorum. Asıl odak noktamıza gelelim. İlk kurulan sistemde mümkün mertebe hataları düzeltmemiz gerek yola koyulmadan, ki ileride stabilite sorunları yaşamayalım. Aynı zamanda bazı ince ayarları yapmaya çalışalım.

Önce aktivasyonu tamamlayalım

Muhtemelen benim gibi commercial repo’yu kurup panele giriş yapanları önce bir aktivasyon aşaması karşılayacak. Bu aşama çok açık ve sistemsel karın ağrılarından uzak olduğu için uzun uzun anlatmıyorum. Bir önceki sunucumu tekrar kurduğum için mevcut aktivasyon kodunu kullanarak devam ediyorum. Siz de ne çıkar, hiç bir fikrim yok. Tecrübelerinizi yorumda belirtirseniz sevinirim 🙂

Sırada: Modül Yönetimi

FreePBX bu kurulumda çok ıssız geldi bana. İlk tecrübemi hatırlamıyorum fakat bu kadar boş değildi sanki. Bu düşünce yüzünden önce Admin > Module Admin ekranına attım kendimi. Standart repo seçiliyken “Check Online”a bastım. Repo’lardaki bana uygun modüller gelmiş oldu. Bazı modülleri yüklemedim ve bunları, nedenleriyle aşağıda belirttim.

Yüklemediğim modüller ve nedenleri:

  • Admin altındaki
    • Digium Addons (şimdilik ihtiyacım olmadığı ve her kurulumda sıkıntı çıkarttığı için)
    • UCP Node Server (şimdilik ihtiyacım olmadığı için ve önceki kurulum girişimlerimde başarısız olduğum için)
    • iSymphonyV3 (şimdilik ihtiyacım olmadığı için ve önceki kurulum girişimlerimde başarısız olduğum için)
  • Connectivity altındaki
    • Digium Phones Config (ihtiyacım olmadığı ve her kurulumda sıkıntı çıkarttığı için)
    • SIPSTATION (ihtiyacım olmadığı ve ücretli kullanım imkanı olan bir modül olduğu için)

Tüm modülleri seçmek için sağ üstteki “Download all” butonuna basabilir, yüklemek istemediğiniz paketleri bularak “No Action” butonuna basabilirsiniz. Yüklemeye hazır olduğunuzda, yine sağ üstte bulunan “Process” butonuna basın.

Sonraki sayfada size hangi modüllerin yükleneceğini (veya hangi aksiyonları seçtiyseniz onların yapılacağını) gösteren bir liste gelecek. Bir problem yoksa “Confirm”e basarak ilerleyebilirsiniz. Karşınıza gelecek bir modal box, o anda hangi işlemin yapıldığını size gösteriyor olacak. Kırmızı noktalara dikkat edin, kurulum bittiğinde o “hata mesajları”na ihtiyacınız olacaktır muhakkak. Süreç tamamlandığında “Return” butonu gelecek, buna basarak Modül Yönetimi sayfasına geri dönebilirsiniz.

Şükürler olsun ki hiç bir hatayla karşılaşmadan bu aşamaya kadar geldim. Umarım siz de gelmişsinizdir. Bundan sonra pencerenin sağ üstündeki kırmızı “Apply Config” butonuna basıp yapılandırma değişikliklerini kullanılabilir hale getirmeniz gerekiyor.

Tam da bu işlem sırasında, FreePBX’in kronikleşmiş bir hatasıyla karşılaştım. Sanırım duayı erken ettik! 🙂

Reload failed because retrieve_conf encountered an error: 1
exit: 1
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)
Exception: Unable to connect to Asterisk through the CLI in file /var/lib/asterisk/bin/retrieve_conf on line 43
Stack trace:
  1. Exception->() /var/lib/asterisk/bin/retrieve_conf:43

Bu hata aslında asterisk’in çalışmadığını söylüyor. Fakat Dashboard’a döndüğünüzde Asterisk’in yanında (eğer reboot edeli 10 dakikayı geçmişse) yeşil tik varsa sorunun bu olmadığı aşikarlaşıyor. FreePBX topluluk yöneticilerinden biri, bu sorunun Asterisk’in bağımsız çalışmasına bağlıyor ve ekliyor:

Asterisk’i mutlaka fwconsole üzerinden çalıştırın! – TheJames

Bu durumda yapılacak en güzel şey, sistemin açılışına ilgili satırları ekleyerek her reboot sonrası Asterisk’in fwconsole ile çalışmaya başlamasını sağlamak.

Şimdilik bu çözüm işe yarıyor mu diye bakalım ve şu komutları SSH üzerinden sunucuya gönderelim:

asterisk -rx 'core stop now'
fwconsole start

Eğer bu işlemde hata almamışsanız (fail2ban ile ilgili bir hata alırsanız şimdilik önemsemeyin) ve bu işlemi yaptıktan sonra tekrar “Apply Config”i denemiş ve başarılı olmuşsanız, bu satırları sistemin açılışında çalışacak şekilde tayin edelim:

chkconfig asterisk off
echo "fwconsole start" >> /etc/rc.d/rc.local

Şimdi kontrol etmek için sunucumuzu reboot edebiliriz. Bakalım geri döndüğünde, bir “Apply Config” krizi daha yaşatacak mı bize. 🙂

reboot now

Bir kaç deneme sonucunda yaptıklarımızın sorunu çözdüğüne kanaat getirdim açıkçası. Umarım ne bu ne de başka bir sorunla karşılaşırız 🙂

Bu arada modüllerle ilgili bir dip not eklemekte fayda var. Yüklemek istediğiniz bir modül başka bir modüle ihtiyaç duyuyor olabilir, bu nedenle ilgili Action’ı bulamıyor olabilirsiniz. Bu tip durumlarda modül bağımlılığı kırmızı renkle detay kısmında gösterilir. Önce bağımlılığı yükleyip sonra ilgili modülü yüklemeyi deneyin.

Bu arada modüller arasında gördüğümüz XMPP modülünü yüklemek istediğinizde şöyle bir hata alıyor olmalısınız:

The File "/usr/bin/prosody" must exist.

Bu durumda şu komut ile prosody uygulamasını sunucumuza kuralım. Unutmadan; eğer ilk yazının sonunda belirttiğim kurumsal repo yüklüyse prosody yüklenecektir. Yüklemediyseniz bir önceki yazıya dönüp ilgili repo’yu eklemeniz gerek. Devam edelim:

yum -y install prosody

Bu aşamayı tamamladıysak Dashboard’a bir bakalım. Muhakkak bizi bekleyen hatalar olacaktır 🙂

Ki evet, hatalar var. Baştan sona doğru sıralamak ve açıklamak istiyorum:

No Conference Room App
Neither app_meetme nor app_confbridge is configured in Asterisk, conferencing, paging and other functionality will not work properly

Bu hatanın çözümüyle ilgili düzgün bir kaynak bulamadım. Deneme yanılma ile şunları uyguladım ve çalıştı:

nano /etc/asterisk/confbridge.conf

Burada include edilebilir halde fakat yorum satırıyla engellenmiş iki yapılandırma bağlantısı buldum ve yorum özelliklerini kaldırdım.

#include confbridge_additional.conf
#include confbridge_custom.conf

Kaydedip çıktıktan sonra önce FreePBX’i reload ettim:

fwconsole reload

Web arayüzüne döndüğümde sayfanın üstünde bazı hatalarla karşılaştım. Aslında az önce bozduğumuz yapılandırma dosyalarının sonucunda bu hatayı alıyoruz. Dosyaların kaynaktan tekrar oluşturulması ve imzaların kontrol ettirilip düzeltilmesi için şu komutu uyguladım:

fwconsole ma refreshsignatures

Bu sırada Conferences kısmında hata döndüğünü ve dosyaları onardığını gördüm. Bu işlemden sonra FreePBX’i tekrar reload ettim:

fwconsole reload

Yönetim arayüzüne döndüğümde sorunun çözülmüş olduğunu gördüm.

Bazı kaynaklar Advanced Settings içinde Conference Room App değerini app_meetme olarak değiştirdiğimizde hatanın ortadan kalktığını söylemiş. Fakat gördüğüm kadarıyla app_meetme sistemde tam olarak kurulu değil. Yani bu işlem sadece hatayı maskelemiş oluyor, hata ortadan kalkmıyor. Ayrıca app_confbridge modülünün Asterisk 13 için hazırlanmış olduğunu biliyorum. Her zaman en uyumlu ve güncel (kararlı olması da önemli) olan yazılımları kullanmak daha sağlıklıdır diye düşünüyorum. Takdir sizindir 🙂

Gelelim sonraki uyarıya:

OpenCNAM Requires Authentication
Unauthenticated calls to the OpenCNAM API will soon fail. You will need an Open CNAM account to continue using their API

Bu aslında tamamen uyarı. Eğer arayan kimliğini OpenCNAM ile sorgulamak istiyorsanız API bilgilerini girmemizi istiyor. Bildiğim kadarıyla bu servis sorgu başına ücret alıyor. İsteyen olursa ayrıca anlatabilirim, yorumlarda belirtin lütfen.

Uyarıyı kutunun yanındaki çarpı ikonuna basarak kapatabiliyoruz. OpenCNAM erişimini tamamen kaldırmak için ise üst menüden Admin > CallerID Lookup Sources menüsüne girerek OpenCNAM karşısındaki çop kovası ikonuna tıklayın.

Bu satırları yazarken hiç kullanmadığım J harfi klavyeden fırladı çıktı bu arada. Hadi hayırlısı, devam edelim:

Unable to set timezone
Unable to set timezone to UTC/UTC because PHP does not support that timezone, the timezone has been temporarily changed to UTC. Please set the timezone in Advanced Settings.

Bunu en başında yapmak gerekirdi aslında ama neyse. Söylemişken yapalım. Bu uyarı bize sistemin zaman diliminde bir sorun olduğunu ve bu nedenle zaman diliminin geçici olarak UTC olarak değiştirildiğini söylüyor.

Hemen sol alttaki Resolve linki ile devam edelim. Advanced Settings sayfası gelecek. Bu sayfada System Setup bölümünü bulun ve bu bölümdeki PHP Timezone kısmını “Europe/Istanbul” olarak değiştirip kaydedin.

Bir sonraki bilgi mesajımıza gelelim:

Memory Limit Changed
Your memory_limit, 128M, is set too low and has been increased to 256M. You may want to change this in you php.ini config file

Bu uyarı PHP’nin kullandığı bellek limitinin yetersiz olabileceği ile ilgili. Şu komutu SSH ile uygulayalım ve php.ini dosyamızı düzenleyip httpd servisimizi restart edelim:

sed -i 's/\(^memory_limit = \).*/\memory_limit = 256M/' /etc/php.ini
service httpd restart
Web arayüzüne dönüp Dashboard’umuzu yenilediğimizde bu uyarının kaybolduğunu görüyorsak, bu sorunu da aştık demektir. Helal olsun bize! 🙂
Durmadan bir sonraki uyarıyla devam edelim:
Missing HTML5 format converters
You are missing support for the following HTML5 codecs: mp3,m4a. To fully support HTML5 browser playback you will need to install programs that can not be distributed with FreePBX. If you’d like to install the binaries needed for these conversions click ‘Resolve’ in the lower left corner of this message. You can also safely ignore this message but browser playback might not work in your browser.
Bu uyarı çağrı kayıtları gibi olaylar başta olmak üzere tarayıcının HTML5 çözücülerine uygun çözücüleri sunucu tarafına yüklememiz gerektiğiyle ilgili. Cümle biraz sıkıntı olmuş olabilir ama özetle deneyimin iyileştirilmesini hedefleyen bir uyarı mesajı bu. Önceki yüklememde karşılaşmamıştım bu uyarıyla ve muhtemelen çağrı kayıtlarını dinleyememe sebebim buydu, şimdi anlamış oldum 🙂
Öncelikle dokümana göre 4 uzantımız var ve 3 farklı çözücü yüklememiz gerek. Hangi uzantıya neyin lazım olduğunu aşağıya iliştirelim:
  • WAV/OGG (OGA): SOX
  • MP3: LAME
  • MP4 (M4A): FFMPEG

Önce en kolayından başlayalım, SOX. Muhtemelen yüklüdür ama tekrar kontrol edelim ve yoksa yükleyelim:

yum -y install sox

İsteyenler için şu komutlarla LAME’i indirip derleyelim. Komutların ne olduklarını açıklamıyorum, merak ettiğiniz noktalarla ilgili yoruma yazabilirsiniz:

cd /usr/src
wget https://sourceforge.net/projects/lame/files/latest/download?source=files
mv download\?source\=files lame-latest.tar.gz
tar -xzf lame-latest.tar.gz
rm -rf lame-latest.tar.gz
cd lame-*
./configure
make 
make install

Ve son olarak FFMPEG’i yükleyelim:

cd /usr/src
yum -y install yasm nasm git
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
./configure
make 
make install

Ben bir sonraki kurulumumda bunu tekrar kurmadım, çünkü tarayıcı üzerinden MP4 dinlemeyi düşünmüyorum. Ayrıca FFMPEG kurulurken CPU ağlıyor, bu nedenle işleminiz uzun sürerse meraklanmayın.

(Yarım saat kadar sonra) Geri döndüm ve kurulum tamamlanmıştı. Umarım başarıyla tamamlanmıştır 🙂 Uyarının gitmediğini gördüm ve pek önemsemedim açıkçası, uyarıyı kapatıp bir sonrakine geçtim:

Collecting Anonymous Browser Stats
The FreePBX project is collecting anonymous browser statistics using google analytics. These are used to focus development efforts based on real user input. All information is anonymous. You can disable this in Advanced Settings with the Browser Stats setting.

Bu tamamen bilgi mesajı. FreePBX’in anonim tarayıcı istatistiklerini Google Analytics kullanarak topladığını söylüyor. Eğer kapatmak isterseniz Settings > Advanced Settings > System Setup altında Browser Stats seçeneğini kullanabilirsiniz. Devam edelim:

Default bind port for CHAN_PJSIP is: 5160, CHAN_SIP is: 5060
The default bind ports for FreePBX have changed. Please keep this is mind while configuring your devices. You can change this in SIP Settings. CHAN_PJSIP is: 5160, CHAN_SIP is: 5060

Bu da bir bilgi mesajı. PJSIP ve CHAN sürücülerinin hangi portlarda çalıştığını söylüyor bize. Kapatıp geçebiliriz.

Bu arada gözüme ilişen ve az önce şimdilik görmezden gelelim dediğim bir Fail2Ban hatası var System Overview içinde. Bu hatanın bendeki nedeni, fail2ban servisinin epel repo’ları üzerinden yüklenmesiymiş. Önce hata mesajını yazalım da Google’layan insanlar da çözümü bulabilsin 🙂

"Fail2Ban should always be running"

Hatayı görünce ilk aklıma gelen; servisi chkconfig ile açılışta başlatılacak şekilde yapılandırmak oldu. Bu komutu uyguladığımda hata almadım fakat asıl olay servisi başlatırken çıktı meydana.

ERROR  Found no accessible config files for 'filter.d/asterisk-security' under /etc/fail2ban

ile başlayan bir hata aldım (hata tam olarak bu olmayabilir ama çok benziyordu. Hatayı çözmeye odaklandığım için hata mesajını not etmeyi unuttum.). Bazı jail’ler kayıp falan diyordu. Topluluk yöneticilerinden biri bu hatanın commercial repo’lardan yüklenmediğinde ortaya çıktığını söylemiş. Eğer epel veya başka bir repo’da güncel sürüm varsa yum doğrudan o repo’yu kullanarak yüklüyor. Şu komutlarla mevcut yüklemeyi kaldırıp commercial repo’lar ile yüklemeyi yapalım:

yum -y erase fail2ban
yum -y install fail2ban --disablerepo="*" --enablerepo="schmooze-commercial"

Burada bir handikaptan bahsetmek gerek. Yukarıdaki şekilde yükleme yaptığınızda sorun çözülür fakat yum update komutu uyguladığınızda muhtemelen epel’deki güncel sürümü tekrar çekecektir. Bu nedenle “lüzumsuzsa söndür” politikasını uygulamamız gerek. Epel repo’ları devre dışı bırakıp lazım olduğunda kullanmak faydalı olacaktır. Ya da tamamen silebilirsiniz de, seçim sizin. (Daha iyi bir alternatifi olan dostlar yorum kısmında belirtirse test edip yazıyı güncelleyebilirim, bu yapı çok angarya geldi bana. Elbet bir yolu olmalı, bu böyle gitmez.)

yum-config-manager --disable epel

Artık epel repo’ları yum tarafından okunmuyor. Lazım olursa şu komutla tekrar kullanılabilir hale getirebilirsiniz:

yum-config-manager --enable epel

Şimdi de fail2ban’ı açılışta başlatılacak şekilde ayarlayıp servisi başlatmak:

chkconfig --level 345 fail2ban on
service fail2ban start

Tekrar kontrol ettiğimizde Dashboard’da yeşil tik’i görüyor olmalıyız. Şimdi başka dertlerimiz çıkacak mı, emin olmak için sunucumuzu yeniden başlatalım:

reboot now

Geri döndüğümüzde tüm uyarıları sonunda tamamladığımızı farkettim. Bu arada kurulum sırasında Firewall yapılandırmayı es geçmiştim, şimdi hangi aşamada karşıma çıktığını hatırlamıyorum.

Yapılandırmaya başlamadan önce Asterisk SIP Settings içinden Network yapılandırmanızı sunucunuza göre oluşturun. Öncelikle General SIP Settings altından Detect Network Settings butonunu kullanarak gelen ayarları düzenledim (düzenlenecek bir şey yoktu gerçi). Siz de bu yolu kullanabilirsiniz. Daha sonra Chan SIP Settings altından NAT özelliğini never konumuna alın. Tabi bunu sizin de DigitalOcean sunucularında çalıştığınızı varsayarak söylüyorum. Eğer sunucunuz NAT arkasındaysa ona göre yapılandırmanız gerekli. Eğer buraya kadar sorun yoksa (saçma bir şekilde) Connectivity menüsü altından Firewall’a gidin (Firewall’un connectivity menüsünde ne işi var hala anlamadım. Bu kafayla network ayarlarının da burada olması gerekirdi, ama değil.). Firewall’umuzu etkinleştirip devam edelim.

Firewall Enable Ekranı

Dashboard’a döndüğümüzde Trusted Interface Detected başlıklı bir hata belirdiğini görüyoruz. Bu hata etkinleştirme sonrası tüm ağ kartlarının trafiğinin güvenilir olarak ayarlanmasından dolayı karşımıza çıkıyor. Başlangıçta böyle olması iyi, çünkü başka bir grup ayarlanmış olsaydı muhtemelen arayüze erişemiyor olacaktık. Sorun yaşamamamız ve güvenlik açıklarını minimize etmemiz için çok ince ayar yapmamız gerekiyor.

Firewall’u yapılandırma konusunu, tüm sistemi hazır hale getirene kadar yapmayı düşünmüyorum. Eğer “ben doğru biçimde yapılandırabilirim” diyorsanız takdiri size bırakıyorum. Sunucu tamamen hazır olana kadar sadece Fail2Ban kullanacağım. Yapıyı tamamen çözersem bu yazıyı güncelleme ihtimalim olacaktır. Umarım cortlamayız o zamana kadar 🙂

Bir sonraki yazımda trunk bağlama ve extension tanımlama gibi konulara girmeyi düşünüyorum. Belki IVR olaylarına da girerim ama sonraki konu için sözüm olmasın 🙂

Okuduğunuz için teşekkür ederim. Aklınıza takılan noktaları yorum kısmından sorabilirsiniz. Şimdiden kolay gelsin 🙂
Semih Kıroğlu

3 Comments

  1. İsa Kaan Erdoğan

    21 Ağustos 2016 at 17:15

    Tebrikler hocam konuya güzel bir yazı ile devam etmişsiniz. Yazılarınızın devamını bekliyorum. Takipçinizim 🙂

    1. Semih Kıroğlu

      21 Ağustos 2016 at 17:16

      Teşekkür ediyorum hocam 🙂

  2. Alief Kusumaningtyas Krishnanti

    7 Şubat 2019 at 09:04

    It is very cool. can the program be made on the iOS application?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.