FreeSWITCH, telefon çağrıları ve medya uygulamaları için modüler bir iletişim motorudur. SIP uçlarını bağlama, konferans, ses işleme ve uygulama kontrollü çağrı senaryolarında kullanılabilir. Resmi proje deposu, kaynak kodu ile ticari destekli dağıtım seçeneklerini ayrı ele alır.
Hazır bir web yönetim UI’ı gerekiyorsa FusionPBX değerlendirilebilir. XML dialplan ve Event Socket gibi arayüzler özel çağrı akışları ve uygulama entegrasyonları için kullanılır. Bunlar birbirini dışlayan seçenekler değildir; panel kullanıldığında özel yapılandırmanın panelle uyumu korunmalıdır. FreeSWITCH’i seçmek, operatör bağlantısı, güvenlik sınırı ve arıza davranışını kendiliğinden çözmez.
FreeSWITCH mi Asterisk mi?
Her iki platform da çağrı akışı ve ses uygulamaları için kullanılabilir. Seçimi yalnız eşzamanlı çağrı sayısına indirgemek yerine, mevcut entegrasyonları ve ekibin işletim modelini karşılaştırın.
| İhtiyaç | Karar kriteri |
|---|---|
| Mevcut Asterisk/FreePBX altyapısını sürdürme | Dialplan, modül ve cihaz uyumu korunabiliyorsa motor değişimi gerekmeyebilir. |
| FreeSWITCH üzerinde panel yönetimi | FusionPBX ile domain ve kullanıcı yönetimi değerlendirilir. |
| Uygulama kontrollü çağrı akışı | Entegrasyon arayüzü, olayların işlenmesi ve bağlantı kesildiğinde davranış karşılaştırılır. |
| Konferans ve codec dönüşümü | Aynı codec, kayıt politikası ve trafik profiliyle yük testi yapılır. |
Asterisk PBX ile karşılaştırmada bir motorun varsayılan kurulumunu diğerinin optimize edilmiş kurulumuyla ölçmek yanıltıcıdır. Yeni çağrı kabulü, devam eden görüşmeler, kayıt bütünlüğü ve bakım penceresi iki tarafta da aynı kabul kriterleriyle sınanmalıdır.
Temel bileşenler
| Bileşen | Rolü |
|---|---|
| Sofia SIP profilleri | SIP bağlantıları, gateway ve sinyalleşme ayarları |
| XML dialplan | Çağrı eşleştirme ve yürütülecek işlemler |
mod_conference | Konferans oturumları |
mod_lua | Çağrı akışında betik tabanlı iş kuralları |
mod_event_socket ve ESL | Dış uygulamalara komut/olay arayüzü |
fs_cli komut satırı istemcisidir. mod_event_socket komut/olay arayüzünü sunar; ESL ise uygulamaların bu arayüzü kullanmasını kolaylaştırır. Bunların hiçbiri tek başına FusionPBX gibi bir web UI değildir.
FreeSWITCH’in SIP katmanını Asterisk’in PJSIP sürücüsüyle karıştırmamak gerekir. Resmi SIP profil örneği, codec, dış SIP/RTP adresleri ve TLS ayarlarının ayrı parametreler olduğunu gösterir. Örnek dosya, üretime değiştirilmeden kopyalanacak güvenlik politikası değildir.
Tipik üretim mimarisi
Temel akış SIP trunk veya istemci → FreeSWITCH → hedef uç/uygulama şeklindedir. Birden fazla medya sunucusunda yönlendirme katmanı eklenebilir; ancak yeni çağrı dağıtımı ile devam eden görüşmelerin sürekliliği farklı gereksinimlerdir.
Uygulama ESL üzerinden çağrı olaylarını izliyorsa yeniden bağlantı, yinelenen olaylar ve uygulamanın erişilemediği durumda izlenecek yol tasarlanır. CDR, uygulama olayları ve ses kayıtları ayrı depolanabilir; aralarındaki ilişki çağrı kimliğiyle korunmalıdır.
Event Socket ve ağ güvenliği
Örnek Event Socket yapılandırması bir dinleme adresi, port ve parola içerir. Üretimde bu arayüz internete açılmaz: erişim yerel veya kısıtlı özel ağla sınırlandırılır, varsayılan parola değiştirilir ve ACL/firewall uygulanır.
SIP profillerinde operatör ve kullanıcı trafiği ayrı güven sınırlarıyla ele alınır. TLS/SRTP desteği uçlar arasında doğrulanır; yalnız sunucuda TLS açılması bütün çağrı yolunun şifrelendiğini göstermez. WebRTC için sinyalleşme, sertifika, ICE ve gerektiğinde TURN erişimi ayrı test edilir.
Yaygın sorunlar ve çözümler
- Yüksek CPU: Önce codec dönüşümü, konferans karıştırma ve kayıt yükünü ayırın; yalnız sunucu sayısını artırmak sorunun kaynağını açıklamaz.
- Tek yönlü ses: SIP/RTP dış adresleri, firewall ve istemci NAT davranışını inceleyin.
- ESL bağlantısı kopuyor: Uygulama timeout’u, bağlantı sayısı ve yeniden deneme davranışını kontrol edin; yeniden deneme aynı çağrı işlemini iki kez yürütmemelidir.
- Konferansta ses bozuluyor: Paket kaybı, jitter, codec uyumu ve sunucu yükünü ölçün; örnekleme hızını körlemesine düşürmeyin.
- Yeni çağrı alınamıyor: Oturum limitleri, dosya tanıtıcıları ve sistem kaynaklarını birlikte değerlendirin.
Değişiklik, yedekleme ve uygunluk
Konfigürasyon, betikler, ses dosyaları, gerekli veritabanları ve erişimi kısıtlı anahtarlar yedeklenir. Yeni sürüm/modül bileşimi pilot ortamda sınanır. Geri dönüş yalnız paket sürümünü değil, yapılandırma ve veritabanı uyumunu da kapsamalıdır.
Basit bir ofis santrali için özel bir medya platformu geliştirmek gereksiz işletim yükü yaratabilir. FreeSWITCH; uygulama entegrasyonu ve medya davranışı üzerinde kontrol ihtiyacı, bu sistemi sürdürecek ekiple birlikte bulunduğunda anlamlıdır.

