ابدأ هنا
KatoCall هو مقسم هاتفي بمحرك فوترة مدمج. يجري عملاؤك المكالمات عبره؛ فيتحقق من رصيدهم، ويختار أرخص مسار للخروج، ويوقّت المكالمة ويفوترها — تلقائيًا.
تشتري الدقائق من مشغّل بسعر وتبيعها للعملاء بسعر أعلى. يحفظ KatoCall السعرين ويحتفظ بالفرق في كل مكالمة.
معلومة مفيدة: KatoCall لا يحوّل العملات. اختر عملة واحدة في الإعدادات (الدولار الأمريكي افتراضيًا) واستخدمها للشراء والبيع، فيكون كل هامش عملية طرح بسيطة.
الجزء 1
يتم هذا مرة واحدة، على خادم جديد تمامًا. إن أعدّ شخص تقني الخادم لك، فأعطه هذا الجزء.
| خادم | Debian 12 (Bookworm)، 64 بت — جديد. أي VPS جيد يفي بالغرض (OVH، Hetzner، DigitalOcean، Vultr). |
|---|---|
| المواصفات | نواتا معالج، 4 غيغابايت ذاكرة، 20 غيغابايت قرص. 2 غيغابايت ذاكرة هي الحد الأدنى. |
| عنوان IP عام | يحتاج الخادم إلى عنوانه الخاص على الإنترنت — يوفّره مزوّدك. |
| الدخول إلى الخادم | كلمة مرور root، أو مستخدم لديه sudo. |
| من مشغّلك | وصلة SIP (مضيفها، وعنوان IP مسموح أو اسم مستخدم/كلمة مرور)، إضافة إلى أي أرقام (DID) لديك. |
| اسم نطاق (اختياري) | فقط إن أردت قفل https. يمكنك البدء بدونه وإضافته لاحقًا. |
انسخ katocall-1.0.0.tar.gz إلى الخادم وشغّل هذه الأوامر واحدًا تلو الآخر. يعرض كل أمر ما يفعله ويتوقف برسالة واضحة إن نقص شيء.
الأمر الأول لا يغيّر شيئًا — يؤكد أن الخادم جاهز ويخبرك إن نقص شيء.
# unpack the package tar -xzf katocall-1.0.0.tar.gz cd katocall-1.0.0 # يفحص الخادم (آمن — لا يغيّر شيئًا) sudo bash install/00-preflight.sh
شغّلها واحدًا تلو الآخر. الرقم 01 يبني محرك الهاتف ويستغرق 10–20 دقيقة؛ والبقية سريعة.
sudo bash install/01-install-asterisk.sh # محرك الهاتف (10–20 دقيقة) sudo bash install/02-install-base-stack.sh sudo bash install/03-setup-admin-panel.sh sudo bash install/04-configure-ami.sh sudo bash install/05-production-hardening.sh sudo bash install/06-configure-did-forwarding.sh sudo bash install/07-configure-fail2ban.sh sudo bash install/08-configure-nat.sh sudo bash install/09-configure-outbound.sh sudo bash install/11-configure-backups.sh sudo bash install/12-configure-dialer.sh # فقط إن أردت المتصل الآلي
من 01 إلى 09 إلزامية. الخطوة 12 للمتصل الآلي فقط — تجاوزها ويظل كل شيء آخر يعمل.
يجري نحو 65 فحصًا — كل خدمة، الجدار الناري، النسخ الاحتياطية، الأمان — ويحدّد ما يجب إصلاحه لأي فشل.
sudo bash install/verify.sh PASS 66 WARN 1 FAIL 0
افتح عنوان الخادم في متصفح وسجّل الدخول. يفرض كلمة مرور جديدة فورًا — لا شيء يعمل حتى تضبطها.
http://your-server-address/adminKatocallقبل المكالمات الحقيقية: فعّل HTTPS. حتى تفعل، تعمل اللوحة على http عادي وينتقل تسجيل دخولك عبر الإنترنت دون حماية. حين يشير نطاق إلى الخادم، شغّل:
sudo bash install/10-configure-tls.sh panel.yourcompany.com you@yourcompany.com
الجزء 2
أنت الآن في اللوحة. أنشئ هذه الأشياء الستة بهذا الترتيب — كل منها يستخدم سابقه. كل شيء في القائمة الجانبية.
المورّد (Supplier) هو مشغّل تشتري منه الدقائق. ابدأ هنا لأن كل شيء آخر يشير إليه. افتح Suppliers → New Supplier وأعطه اسمًا.
بطاقة الأسعار (Rate Card) قائمة أسعار، سطر لكل وجهة (بادئة مثل 1 للولايات المتحدة أو 44 للمملكة المتحدة). أنشئ نوعين:
لا تكتب مئات البادئات: افتح البطاقة واضغط Import CSV لتحميل ملف أسعار مشغّلك دفعة واحدة.
معلومة مفيدة: تُحفظ الأسعار حتى 4 خانات عشرية؛ ويُقرَّب ملف من 5 خانات عند الاستيراد.
الوصلة (Trunk) هي الاتصال الحي بمورّد. افتح Trunks → New Trunk. أمران مهمان:
بعد الحفظ، استخدم Test Call للتأكد من أنها تطلب قبل توجيه العملاء إليها.
اسم الوصلة لا يمكن أن يحتوي مسافات — استخدم IDT-GOLD وليس IDT GOLD.
تقول مجموعة التوجيه: لهذا النوع من الأرقام، جرّب هذه الوصلات، بهذا الترتيب. مؤشران:
إن كانت الوصلة الأولى مشغولة أو فشلت، ينتقل KatoCall إلى التالية. استخدم Preview لكتابة رقم ورؤية أي وصلة سيستخدم.
الحساب (Account) هو عميل واحد. افتح Accounts → New Account. الخيارات المهمة:
معلومة مفيدة: كل حساب يجري مكالمات صادرة يحتاج إلى Rate Card للعميل تغطي البادئات التي تبيعها — وإلا تُرفض تلك المكالمات (ولا تُفوتر بصفر أبدًا).
DID رقم يتصل به الناس للوصول إلى أحد عملائك. افتح الحساب، اذهب إلى DIDs → Add DID، اكتب الرقم ووجهة التحويل. (احفظ الحساب أولًا.)
كل حقل في اللوحة بجانبه علامة ? صغيرة تشرح وظيفته، بكل اللغات العشر. Settings → Network يرسل إعداداتك إلى محرك الهاتف بعد التغييرات الكبيرة.
الجزء 3
يتصل المتصل الآلي بقائمة أرقام، ويشغّل رسالة مسجّلة، ويتيح للناس الضغط على مفتاح للتوصيل أو طلب معاودة الاتصال أو إلغاء الاشتراك. يجب أولًا إتمام الخطوة 12 من التثبيت.
اعرف ما هو: هذا متصل آلي بالقوة (power dialer)، وليس تنبؤيًا. لا كشف لآلة الرد (البريد الصوتي يُحتسب مُجابًا) ولا وتيرة تلقائية — أنت تحدّد عددًا ثابتًا من المكالمات المتزامنة. يعمل على خادم واحد في كل مرة.
افتح Dialer Campaigns → New Campaign. اختر الحساب الذي تُفوتر عليه، وسمّها، واضبط الوتيرة: Max Concurrent Calls وMax Attempts وRetry gap.
ارفع Prerecorded Message التي تُشغَّل عند الرد. ثم ابنِ IVR Menu — ماذا يفعل كل مفتاح:
في قسم Contacts بالحملة، اضغط Upload CSV — ملف بسيط بأرقام الهواتف.
اضغط Start فيبدأ الطلب خلال ثوانٍ؛ وPause يوقفه بالسرعة نفسها. عند الانتهاء، يعطي Download Results ملفًا يبيّن ما جرى لكل رقم.
الجزء 4
أربعة أوامر تغطي معظم ما ستفعله على الخادم.
sudo bash install/verify.sh # هل كل شيء سليم؟ sudo /usr/local/sbin/katocall-backup # خذ نسخة احتياطية الآن sudo bash install/upgrade.sh # طبّق إصدارًا أحدث sudo bash install/uninstall.sh # أزله (يحتفظ ببياناتك)
نسخك الاحتياطية على القرص نفسه الذي تحميه. انسخها إلى مكان آخر بانتظام، وإلا فإن عطل القرص يأخذ البيانات ونسختها الوحيدة معًا.
قبل أن تثق بتقرير إيرادات، يمكنك إثبات أن الدفاتر متطابقة إلى القرش:
sudo -u softswitch admin/backend/venv/bin/python admin/backend/manage.py verify_ledger
الجزء 5
مهما كانت المشكلة، sudo bash install/verify.sh هو أول ما يُشغَّل. يفحص نحو 65 أمرًا ويسمّي السكربت الواجب إعادة تشغيله.