İlk bağlantınız.
MonoSIP’i Linux sunucunuzda çalıştırın, temel ayarları yapın ve ilk dahilinizi bağlayın.
Doğru sunucuyla başlayın
Desteklenen üretim yolu, bir Linux sanal makinede Docker’dır. Hazır imaj linux/amd64 için yayımlanır; paketlenmiş EMA konuşma bağımlılıkları AMD64’e özeldir. macOS laboratuvarı paneli gezmek için işe yarar, önerilen SIP/RTP kurulumu değildir.
| Gereksinim | Yön |
|---|---|
| İşletim sistemi | x86-64 üzerinde Debian 12/13 veya Ubuntu 22.04+, Docker Engine ve Compose v2 ile. |
| İşlemci ve bellek | Yaklaşık 20 dahililik küçük bir ofis için 2–4 vCPU ve 4–8 GB RAM ayırın. Konuşma sentezi santral işlemcisini kullanır. |
| Kimlik | Herkese açık bir IPv4 adresi ve sunucuyu gösteren bir alan adı. |
| Depolama | Hepsi bir arada imaj için /data üzerinde gerçek bir kalıcı birim. Kayıt ve yedekleri saklama politikanıza göre boyutlandırın. |
Seçenek 1: hazır Docker imajı
Hepsi bir arada imaj web panelini, API’yi, Asterisk’i, gömülü PostgreSQL’i ve konuşma motorlarını içerir. Aşağıdaki komut 1.8.0 sürümünü sabitler. 203.0.113.10 ve pbx.example.com değerlerini kendi herkese açık IP’niz ve alan adınızla değiştirin.
docker run -d --name monosip \
--restart unless-stopped \
-p 3000:3000 \
-p 10000-10100:10000-10100/udp \
-v monosip-data:/data \
-e EXTERNAL_IP=203.0.113.10 \
-e PUBLIC_HOST=pbx.example.com \
ghcr.io/monosip/monosip:1.8.0
Uygulama portu 3000’i, herkese açık alan adınız için bir HTTPS ters vekilinin arkasına alın. Tarayıcıdan arama HTTPS, çalışan WSS sinyali ve erişilebilir ortam portları ister. İmaj, DATABASE_URL ile yönetilen bir PostgreSQL de kullanabilir.
/data birimini ve /data/.monosip-secrets dosyasını yedekleyin. Veritabanı, üretilen yapılandırma, ses kayıtları ve şifreli sırları okumak için gereken anahtarlar buradadır. Herkese açık bir alan adıyla açılış, veri dizininin gerçek bir birim olduğunu kontrol eder.
Seçenek 2: Docker Compose ile derleyin
Compose, servisleri nginx ve coturn ile çalıştırır. Kenar ve ortam yığınının tamamını kontrol etmek için belgelenen yol budur. Aşağıdaki sertifika betiği bir laboratuvar sertifikası üretir. Herkese açık işletimde alan adınızı, güçlü sırları ve güvenilen bir HTTPS sertifikasını ayarlayın.
git clone https://github.com/MonoSIP/MonoSIP.git
cd MonoSIP
git checkout v1.8.0
cp .env.example .env
chmod +x scripts/gen-certs.sh
./scripts/gen-certs.sh
docker compose up --build -d
Laboratuvar paneli https://localhost adresinde açılır. Üretim için yığını başlatmadan .env dosyasını düzenleyin. EXTERNAL_IP, PUBLIC_HOST, PUBLIC_URL, SIP_DOMAIN, SIP_WSS_URL, veritabanı kimlik bilgileri, oturum ve şifreleme anahtarları ile yönetici parolasını koyun. Tam yapılandırma için VPS rehberine bakın.
Sinyali ve sesi bağlayın
Açılan bir web paneli, arama sesinin çalıştığını göstermez. SIP sinyali, tarayıcı WSS’i ve RTP ortamı ayrı yollardan gider. SIP erişimini mümkün olduğunca ofis, VPN ve operatör adresleriyle sınırlayın.
| Port / yol | Amaç | Kurulum notu |
|---|---|---|
| 3000/TCP | Hepsi bir arada uygulama / API | Güvenilen bir HTTPS vekilinin arkasında yayınlayın. Tarayıcı sinyali için /asterisk-ws yolunu vekilleyin. |
| 443/TCP | Herkese açık HTTPS ve WSS | Compose’ta bunu nginx karşılar. Compose, 443 üzerinde TURNS’ü de çoğullayabilir. |
| 80/TCP | ACME HTTP-01 / yönlendirme | Otomatik Let’s Encrypt HTTP-01 kullanıyorsanız sunucuya ulaşmalıdır. |
| 10000–10100/UDP | Asterisk RTP sesi | Yayınlayın ve EXTERNAL_IP’yi doğru koyun; güvenlik duvarını gereken ortam uçlarına daraltın. |
| 5060/UDP veya TCP | Masa telefonu / operatör SIP | Hızlı komut bunu yayınlamaz; gerektiğinde ekleyin ve kaynakları kısıtlayın. |
| TURN / TURNS | Uzak WebRTC ortam aktarımı | Compose coturn içerir. Yalnızca bir HTTPS vekili, ortam aktarımının yerini tutmaz. |
Compose ALPN çoğullaması olmayan bir platform kenarında, RTP gerçekten yayınlanıyorsa kurulum rehberi MONOSIP_RTP_PUBLISHED=1 değerini, bilinçli yalnızca STUN kurulumu için MONOSIP_TURNS_ON_443=0 değerini belgeler. İkisini de uygulamadan önce ağınızı gözden geçirin.
Web sayfasını değil, santrali kontrol edin
v1.7.5’ten beri sağlık ucu, veritabanı, Asterisk ve üretilen arama planı hazır olana kadar sağlıksız kalır. Kayıt denemeden veya arama yapmadan önce bunu bekleyin.
curl --fail https://pbx.example.com/api/v1/health
Kendi alan adınızı kullanın. Uç sağlıklı değilse, erişilen bir giriş sayfasını çalışan santral saymadan önce konteyner günlüklerine ve kalıcı birime bakın.
İlk konuşmayı kurun
- Yönetici paneline girin. Laboratuvar varsayılanları
[email protected]/Admin123!; kurulumu açmadan önce bunları değiştirin. - Alan adını koyun ve güvenilen HTTPS’i ayarlayın. Compose kurulumunda Yönetici → Ayarlar → Alan adı ve SSL, otomatik Let’s Encrypt sertifikası sunar.
- SIP operatörünüzü ekleyin, sonra gelen DID’leri ve giden rotaları yapılandırın.
- Dahilileri oluşturun veya gözden geçirin. Her dahili, portal ve SIP için tek parola kullanır. Ekilen laboratuvar parolalarını değiştirin.
- Bir dahiliyle portala girin. Mikrofon iznini verin, kaydı doğrulayın ve sesi iki yönde de deneyin.
- Başka bir dahiliyi arayın, sonra gerçek operatör rotanızı, kuyruğunuzu, mesai dışı hedefinizi ve kayıt politikanızı deneyin.
Bu site kurulumu belgeler; santralinizi çalıştırmaz veya denemez. Kesintisiz geçişten önce operatörü, NAT’ı, sesi, arayan kimliğini ve kurtarma yolunu kendi altyapınızda doğrulayın.
Durumu kaybetmeden güncelleyin
Önce yedek alın. Seçilen imaj etiketini çekin ve konteyneri aynı ortam, portlar ve kalıcı birimle yeniden oluşturun. Yalnızca imaj çekmek çalışan konteynerin yerini almaz.
docker pull ghcr.io/monosip/monosip:1.8.0
# Servisi aynı /data birimi ve yapılandırmayla yeniden oluşturun.
Compose’ta adlandırılmış birimler, yeniden derlemelerde durumu tutar. docker compose down birimleri korur; -v eklemek onları siler. Taşıma ve yedek ayrıntıları için kurulum rehberine bakın.