İçereği Atla

FortiGate ve SIP: NAT Problemleri, SIP ALG Ayarları ve Çözümleri

SIP ALG kapatma, NAT ayarları ve tek yönlü ses sorunları için rehber
11 Mart 2026 yazan
FortiGate ve SIP: NAT Problemleri, SIP ALG Ayarları ve Çözümleri
Engin Dede
| henüz yorum yok

IP santral veya bulut santral kullanıyorsanız ve ağınızda bir FortiGate firewall varsa, büyük ihtimalle SIP ile ilgili sorunlarla karşılaşmışsınızdır. Tek yönlü ses, kayıt problemi, aramaların kopması veya gelen aramaların çalmaması gibi sorunların çoğunun arkasında SIP ALG ve NAT yapılandırması yatmaktadır.

Bu rehberde FortiGate üzerinde SIP trafiği ile ilgili karşılaşılan sorunları, yapılması gereken ayarları ve en iyi uygulamaları detaylı bir şekilde ele alacağız.


SIP ALG Nedir ve Neden Sorun Yaratır?

SIP ALG (Application Layer Gateway), FortiGate'in SIP paketlerinin içeriğini okuyup değiştirmeye çalıştığı bir özelliktir. Teoride NAT arkasındaki cihazların SIP trafiğini düzgün iletmesine yardımcı olması gerekir. Ancak pratikte durum çok farklıdır.

SIP ALG'nin Yarattığı Tipik Sorunlar

  • Tek yönlü ses: Arayan duyar ama aranan duymaz, ya da tam tersi
  • Kayıt (Register) başarısızlığı: IP telefonlar santrala kayıt olamaz
  • Aramaların 30 saniye sonra kopması: SIP session timeout problemi
  • Gelen aramalar çalmıyor: INVITE paketleri hedefe ulaşamıyor
  • Ses kalitesi bozuklukları: RTP paketlerinin yanlış yönlendirilmesi
  • Çağrı transferi çalışmıyor: Re-INVITE paketlerinin bozulması
  • Faks gönderim/alım sorunları: T.38 paketlerinin değiştirilmesi

Bunun nedeni basit: SIP ALG, SIP paketlerinin header ve SDP kısımlarındaki IP adreslerini ve port numaralarını değiştirir. Modern IP santraller (Yeastar dahil) NAT traversal'ı kendi bünyesinde zaten çözebilir. FortiGate'in bu paketlere müdahale etmesi işleri karmaşıklaştırır ve bozar.


FortiGate'te SIP ALG Nasıl Devre Dışı Bırakılır?

Yöntem 1: CLI Üzerinden (Önerilen)

FortiGate CLI'a bağlanın ve aşağıdaki komutları sırayla çalıştırın:

config system settings
    set sip-helper disable
    set sip-nat-trace disable
    set default-voip-alg-mode kernel-helper-based
end

Ardından SIP session helper'ı da kaldırın:

config system session-helper
    show

Bu komut size mevcut session helper listesini gösterecektir. SIP (port 5060) satırını bulun ve numarasını not alın. Genellikle 13 numaralıdır ama farklı olabilir:

    edit 13
        set name sip
        set protocol 17
        set port 5060
    next

Bulduktan sonra silin:

config system session-helper
    delete 13
end

Yöntem 2: VoIP Profili Üzerinden

Eğer SIP ALG'yi tamamen kapatmak istemiyorsanız, VoIP profili üzerinden de kontrol edebilirsiniz:

config voip profile
    edit "default"
        config sip
            set status disable
        end
    next
end

Veya belirli bir firewall policy'sine özel VoIP profili atayabilirsiniz:

config voip profile
    edit "sip-passthrough"
        config sip
            set status disable
            set rtp disable
        end
    next
end

Yöntem 3: FortiOS 7.x ve Üzeri

FortiOS 7.x sürümlerinde ALG yönetimi biraz farklılaşmıştır:

config system settings
    set default-voip-alg-mode proxy-based
end

Ardından VoIP profilinde:

config voip profile
    edit "no-alg"
        config sip
            set status disable
        end
    next
end

⚠️ Önemli: SIP ALG değişikliklerinden sonra FortiGate'i yeniden başlatmanız gerekir. Sadece ayarı değiştirmek yetmez — mevcut session'lar eski ayarlarla devam eder.


Senaryo 1: IP Santral İçerideyken (On-Premise)

IP santraliniz (örneğin Yeastar P560, P570) yerel ağınızda, FortiGate'in arkasında bulunuyorsa:

Gerekli Port Yönlendirmeleri (Port Forwarding / VIP)

Dışarıdan gelen SIP ve ses trafiğinin santrala ulaşması için aşağıdaki portların açılması gerekir:

Protokol Port Aralığı Açıklama
UDP 5060 SIP Signaling (varsayılan)
TCP 5060 SIP Signaling (TCP kullanılıyorsa)
UDP 5061 SIP TLS (şifreli SIP)
UDP 10000-12000 RTP (ses trafiği)*
TCP 8088 / 8089 Web yönetim paneli (opsiyonel)
UDP 4569 IAX2 (kullanılıyorsa)

*RTP port aralığı santral ayarlarına göre değişebilir. Yeastar varsayılan olarak 10000-12000 kullanır.

FortiGate VIP (Virtual IP) Oluşturma

config firewall vip
    edit "SIP-Santral-5060"
        set extip <WAN_IP>
        set mappedip <SANTRAL_IC_IP>
        set extintf "wan1"
        set portforward enable
        set protocol udp
        set extport 5060
        set mappedport 5060
    next
    edit "RTP-Santral"
        set extip <WAN_IP>
        set mappedip <SANTRAL_IC_IP>
        set extintf "wan1"
        set portforward enable
        set protocol udp
        set extport 10000-12000
        set mappedport 10000-12000
    next
end

Firewall Policy Oluşturma

config firewall policy
    edit 0
        set name "SIP-Inbound"
        set srcintf "wan1"
        set dstintf "internal"
        set srcaddr "all"
        set dstaddr "SIP-Santral-5060" "RTP-Santral"
        set action accept
        set schedule "always"
        set service "ALL"
        set utm-status disable
        set voip-profile ""
        set nat disable
    next
end

⚠️ Kritik: Inbound SIP policy'sinde NAT'ı devre dışı bırakın (set nat disable) ve VoIP profili atamayın (set voip-profile ""). Aksi takdirde FortiGate SIP paketlerine müdahale eder.

Santral Tarafında NAT Ayarları (Yeastar)

Santralin de NAT arkasında olduğunu bilmesi gerekir:

  1. Yeastar Web Panel → Ayarlar → SIP → NAT
  2. NAT Type: External IP Address
  3. External IP: WAN IP adresinizi girin
  4. Local Network: 192.168.1.0/255.255.255.0 (iç ağınız)
  5. NAT Mode: Tek bir WAN IP'niz varsa "External IP", dynamicse "STUN" kullanın
  6. STUN Server: stun.l.google.com:19302 (gerekirse)

Senaryo 2: Bulut Santral Kullanıldığında

Yeastar Cloud PBX veya başka bir bulut santral kullanıyorsanız, durum biraz daha basittir çünkü SIP trafiği içeriden dışarıya doğru akar.

Yapılması Gerekenler

1. SIP ALG'yi yine kapatın — Bu her senaryoda geçerlidir.

2. Outbound SIP trafiğine izin verin:

Bulut santralde port forwarding gerekmez ama outbound policy'nin SIP trafiğini engellemediğinden emin olun:

config firewall policy
    edit 0
        set name "SIP-Outbound"
        set srcintf "internal"
        set dstintf "wan1"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "SIP" "RTP"
        set voip-profile ""
        set nat enable
    next
end

3. Consistent NAT (Sabit NAT) Etkinleştirin:

SIP için FortiGate'in aynı kaynak portunu koruması önemlidir:

config system settings
    set sip-tcp-port 5060
    set sip-udp-port 5060
end

config firewall central-snat-map
    edit 0
        set srcintf "internal"
        set dstintf "wan1"
        set protocol 17
        set orig-port 5060
        set nat-port 5060
        set nat-ip <WAN_IP>
    next
end

4. Session Timeout Ayarları:

SIP registration'ların düşmemesi için UDP timeout süresini artırın:

config system session-ttl
    config port
        edit 0
            set protocol 17
            set start-port 5060
            set end-port 5060
            set timeout 3600
        next
    end
end

5. IP Telefonların DNS Ayarları:

Bulut santral kullanımında IP telefonların DNS çözümlemesi düzgün çalışmalıdır. FortiGate'in DNS trafiğini engellemediğinden veya yönlendirmediğinden emin olun.


Sık Karşılaşılan Sorunlar ve Çözümleri

Sorun 1: Tek Yönlü Ses

Belirtiler: Arayan konuşuyor ama karşı taraf duymuyor, veya tam tersi.

Nedenler ve Çözümler: - ✅ SIP ALG'yi kapatın - ✅ RTP portlarının açık olduğunu doğrulayın (10000-12000 UDP) - ✅ Santral NAT ayarlarını kontrol edin (External IP doğru mu?) - ✅ FortiGate'te set nat disable inbound policy'de

Teşhis:

diagnose sniffer packet any "udp port 5060" 4 0 l
diagnose sniffer packet any "udp portrange 10000-12000" 4 0 l

Sorun 2: Kayıt (Register) Başarısız

Belirtiler: IP telefon "Kayıt Başarısız" veya "No Service" gösteriyor.

Çözümler: - ✅ SIP ALG kapalı mı kontrol edin - ✅ 5060 portunun açık ve yönlendirilmiş olduğunu doğrulayın - ✅ FortiGate policy loglarını kontrol edin — trafik drop ediliyor olabilir - ✅ IP telefonun DNS sunucusu doğru ayarlanmış mı?

Teşhis:

diagnose debug application sip -1
diagnose debug enable

Sorun 3: Aramalar 30-32 Saniye Sonra Kopuyor

Belirtiler: Arama kurulur, ses gelir ama tam 30-32 saniye sonra düşer.

Neden: Bu genellikle SIP ALG'nin ACK paketini bozmasından kaynaklanır.

Çözümler: - ✅ SIP ALG'yi kapatın ve FortiGate'i yeniden başlatın - ✅ Session timeout değerini artırın - ✅ SIP session helper'ın silindiğini doğrulayın

Sorun 4: Gelen Aramalar Çalmıyor

Belirtiler: Dışarıdan arıyorsunuz, çalma sesi yok, timeout alıyorsunuz.

Çözümler: - ✅ VIP (port forwarding) doğru yapılandırılmış mı? - ✅ SIP trunk sağlayıcısının IP'lerinden gelen trafik izinli mi? - ✅ SIP trunk kayıt (registration) durumunu santralden kontrol edin - ✅ FortiGate'te set nat disable inbound rule'da

Sorun 5: Çağrı Transferi Çalışmıyor

Belirtiler: Transfer başlatılıyor ama ses gitmiyor veya arama düşüyor.

Neden: SIP ALG, Re-INVITE ve REFER mesajlarını bozuyor.

Çözüm: - ✅ SIP ALG'yi tamamen kapatın - ✅ RTP port aralığının yeterince geniş olduğundan emin olun

Sorun 6: Uzak Ofis / VPN Üzerinden SIP Sorunları

Belirtiler: VPN bağlantısı üzerinden IP telefonlar düzgün çalışmıyor.

Çözümler: - ✅ VPN policy'lerinde SIP ve RTP trafiğinin izinli olduğundan emin olun - ✅ Split tunnel kullanılıyorsa SIP trafiğini tunnel'a dahil edin - ✅ VPN üzerinde MTU sorunlarını kontrol edin (SIP paketleri fragmentasyona uğrayabilir) - ✅ Linkus VPN uygulamasını değerlendirin (Yeastar kullanıyorsanız)


FortiGate SIP Kontrol Listesi

Aşağıdaki listeyi FortiGate üzerinde SIP yapılandırması yaparken kontrol noktası olarak kullanabilirsiniz:

  • [ ] SIP ALG devre dışı bırakıldı mı?
  • [ ] SIP session helper silindi mi?
  • [ ] SIP NAT trace kapatıldı mı?
  • [ ] FortiGate yeniden başlatıldı mı? (ALG değişikliği sonrası)
  • [ ] Inbound policy'de nat disable ayarlandı mı?
  • [ ] Inbound policy'de VoIP profili boş mı?
  • [ ] SIP portu (5060 UDP/TCP) açık ve yönlendirilmiş mi?
  • [ ] RTP port aralığı (10000-12000 UDP) açık ve yönlendirilmiş mi?
  • [ ] Session timeout yeterli mi? (en az 3600 saniye)
  • [ ] Santral tarafında NAT ayarları yapıldı mı?
  • [ ] DNS çözümlemesi düzgün çalışıyor mu?
  • [ ] SIP trunk sağlayıcı IP'lerinden gelen trafik izinli mi?

Teşhis Komutları Özeti

Komut Açıklama
diagnose sniffer packet any "udp port 5060" 4 SIP paketlerini yakala
diagnose sniffer packet any "udp portrange 10000-12000" 4 RTP paketlerini yakala
diagnose sys session filter dport 5060 SIP session filtresi
diagnose sys session list Aktif session'ları listele
diagnose debug application sip -1 SIP debug logları
diagnose debug enable Debug'ı başlat
diagnose debug disable Debug'ı kapat
get system session-helper Session helper listesi
show full-configuration system settings \| grep sip SIP ayarlarını göster

Sonuç

FortiGate güçlü bir firewall platformudur ancak SIP trafiği söz konusu olduğunda varsayılan ayarları genellikle sorun yaratır. SIP ALG'yi kapatmak, neredeyse tüm SIP sorunlarının çözümünde ilk adımdır.

İster on-premise Yeastar IP santral kullanın, ister bulut santral tercih edin — FortiGate ayarlarınızı doğru yapılandırdığınızda kesintisiz ve kaliteli ses iletişimi sağlayabilirsiniz.

Bilginet Telekom olarak Yeastar IP santral ve Tegsoft çağrı merkezi çözümlerinde kurulum, yapılandırma ve teknik destek hizmeti sunuyoruz. FortiGate veya herhangi bir firewall arkasında SIP sorunları yaşıyorsanız bizimle iletişime geçin.

📞 İletişim için tıklayın


Bu yazı Bilginet Telekom teknik ekibi tarafından hazırlanmıştır.
Son güncelleme: Mart 2026

Giriş to leave a comment
Yeastar Linkus ile Yazılı İletişim: WhatsApp, Live Chat, Facebook ve Dahili Mesajlaşma
WhatsApp, Facebook, Live Chat ve dahili mesajlaşma — hepsi Linkus'ta, sıfır ek maliyet