پرش به محتوای اصلی

راهنمای اتصال مرکز تلفن ایزابل و استریکس به حسابیکس

راهنمای اتصال مرکز تلفن به حسابیکس (Hesabix Telephony Connector)

[ویرایش | ویرایش مبدأ]

این راهنما برای مدیران سیستم، مدیران تلفن و کاربران نهایی نوشته شده است. هدف آن توضیح سادهٔ نصب، پیکربندی و استفاده از کانکتور تلفنی حسابیکس روی سرور Issabel یا Asterisk است.

این راهنما برای توسعه‌دهندگان نیست.


کانکتور چیست و چه کاری انجام می‌دهد؟

[ویرایش | ویرایش مبدأ]

Hesabix Telephony Connector یک برنامهٔ سبک است که روی سرور تلفن شما (Issabel/Asterisk) نصب می‌شود و آن را به حسابیکس وصل می‌کند.

بدون کانکتور

[ویرایش | ویرایش مبدأ]
  • حسابیکس نمی‌تواند تماس‌های ورودی/خروجی را ببیند
  • Screen Pop، Click-to-Call و تاریخچه تماس کار نمی‌کند
  • وضعیت مرکز تلفن در حسابیکس «آفلاین» می‌ماند

با کانکتور

[ویرایش | ویرایش مبدأ]
  • رویدادهای تماس از Asterisk به حسابیکس ارسال می‌شود
  • حسابیکس می‌تواند دستور تماس (مثل برقراری تماس خروجی) را به سرور تلفن بفرستد
  • اپراتورها در وب، موبایل و دسکتاپ می‌توانند:
    • هنگام زنگ خوردن، اطلاعات تماس‌گیرنده را ببینند (Screen Pop)
    • از روی پروفایل مشتری تماس خروجی بگیرند (Click-to-Call)
    • تاریخچه تماس را ببینند
    • وضعیت آنلاین/آفلاین مرکز تلفن را مشاهده کنند

نکته مهم درباره معماری

[ویرایش | ویرایش مبدأ]

کانکتور روی سرور تلفن شما نصب می‌شود، نه روی سرور حسابیکس.

نمای ساده اتصال
کاربر (اپراتور) ← → حسابیکس (ابر/سرور شما)
کانکتور ← → Issabel / Asterisk (سرور تلفن)

کانکتور فقط از سرور تلفن به سمت حسابیکس خروجی HTTPS می‌زند؛ معمولاً نیازی به باز کردن پورت ورودی روی فایروال سرور تلفن نیست.


پیش‌نیازها

[ویرایش | ویرایش مبدأ]

سخت‌افزار و شبکه

[ویرایش | ویرایش مبدأ]
  • یک سرور Issabel یا Asterisk فعال
  • دسترسی root به سرور تلفن (با یا بدون دستور sudo)
  • اتصال اینترنت از سرور تلفن به آدرس API حسابیکس (پورت ۴۴۳ / HTTPS)
  • Asterisk AMI فعال (پورت پیش‌فرض: ۵۰۳۸)

نرم‌افزار

[ویرایش | ویرایش مبدأ]

اسکریپت نصب در صورت نبود، این موارد را خودکار نصب می‌کند:

  • Python 3
  • rsync
  • curl
  • git

توزیع‌های پشتیبانی‌شده

[ویرایش | ویرایش مبدأ]
خانواده نمونه توزیع‌ها مدیر بسته
Debian Debian، Ubuntu apt-get
RHEL CentOS، Rocky، Alma، Issabel yum یا dnf

دسترسی‌های لازم در حسابیکس

[ویرایش | ویرایش مبدأ]

قبل از نصب کانکتور، در پنل حسابیکس این کارها انجام شود:

  1. افزونه تلفنی / Telephony برای کسب‌وکار فعال باشد
  2. یک مرکز تلفن (PBX) ساخته شود
  3. توکن Connector از تنظیمات مرکز تلفن کپی شود
  4. (در صورت نیاز) شناسه کسب‌وکار و شناسه مرکز تلفن یادداشت شود

آماده‌سازی در حسابیکس (قبل از نصب)

[ویرایش | ویرایش مبدأ]

گام ۱: فعال‌سازی افزونه

[ویرایش | ویرایش مبدأ]
  1. وارد حسابیکس شوید
  2. به بخش مارکت‌پلیس / افزونه‌ها بروید
  3. افزونه تلفنی (Telephony) را برای کسب‌وکار خود فعال کنید

گام ۲: ساخت مرکز تلفن

[ویرایش | ویرایش مبدأ]
  1. به بخش مرکز تلفن / Telephony بروید
  2. یک مرکز تلفن جدید بسازید (نام، توضیحات و …)
  3. نوع اتصال: Issabel / Asterisk (یا معادل آن در رابط کاربری)

گام ۳: دریافت اطلاعات اتصال

[ویرایش | ویرایش مبدأ]

از صفحهٔ تنظیمات مرکز تلفن این موارد را یادداشت کنید:

مورد توضیح مثال
آدرس API حسابیکس آدرس سرویس حسابیکس شما https://hsxn.hesabix.ir
شناسه کسب‌وکار (Business ID) عدد شناسه کسب‌وکار 12
شناسه مرکز تلفن (PBX ID) عدد شناسه مرکز تلفن 3
توکن Connector رشتهٔ امن اتصال hsx_tel_...

هشدار امنیتی: توکن را مثل رمز عبور نگه دارید. در اختیار کسی قرار ندهید.


نصب کانکتور

[ویرایش | ویرایش مبدأ]

نصب روی سرور تلفن انجام می‌شود (SSH به Issabel/Asterisk).

روش پیشنهادی: نصب یک‌خطی

[ویرایش | ویرایش مبدأ]

اگر سیستم شما sudo دارد (مثلاً Ubuntu):

curl -fsSL https://source.hesabix.ir/hesabix/arc/raw/branch/master/extraScripts/HesabixTelephonyConnector/install.sh | sudo bash

اگر sudo ندارید (مثلاً Debian یا Issabel با ورود مستقیم root):

curl -fsSL https://source.hesabix.ir/hesabix/arc/raw/branch/master/extraScripts/HesabixTelephonyConnector/install.sh | bash

تغییر آدرس API هنگام نصب

[ویرایش | ویرایش مبدأ]

پیش‌فرض آدرس API برابر https://hsxn.hesabix.ir است. اگر سرور اختصاصی دارید:

curl -fsSL https://source.hesabix.ir/hesabix/arc/raw/branch/master/extraScripts/HesabixTelephonyConnector/install.sh \
  | HESABIX_API_URL=https://my-api.example.com bash

مراحلی که اسکریپت خودکار انجام می‌دهد

[ویرایش | ویرایش مبدأ]
  1. تشخیص سیستم‌عامل (Debian/Ubuntu یا Issabel/CentOS/RHEL)
  2. نصب پیش‌نیازها در صورت نیاز
  3. دانلود کانکتور از مخزن حسابیکس
  4. نصب دستور hesabix-pbx در سیستم
  5. اجرای ویزارد پیکربندی
  6. ثبت و فعال‌سازی سرویس systemd

مسیر نصب پیش‌فرض

[ویرایش | ویرایش مبدأ]
/opt/HesabixTelephonyConnector

ویزارد پیکربندی (اولین بار)

[ویرایش | ویرایش مبدأ]

بعد از نصب، ویزارد از شما می‌پرسد:

سؤال توضیح پیش‌فرض
آدرس API حسابیکس آدرس سرویس حسابیکس https://hsxn.hesabix.ir
شناسه کسب‌وکار Business ID از حسابیکس —
شناسه مرکز تلفن PBX ID از حسابیکس —
توکن Connector از تنظیمات مرکز تلفن —
آدرس AMI معمولاً همان سرور محلی 127.0.0.1
پورت AMI پورت Asterisk Manager 5038
کاربر AMI نام کاربری AMI hesabix
رمز AMI رمز کاربر AMI —
ساخت کاربر AMI؟ آیا کانکتور کاربر را در manager.conf بسازد؟ معمولاً N مگر مطمئن نباشید

نکته: اگر Issabel از قبل کاربر AMI دارد، همان را وارد کنید. در غیر این صورت می‌توانید با پاسخ y اجازه دهید کانکتور کاربر را بسازد.

پیکربندی در این فایل ذخیره می‌شود:

/opt/HesabixTelephonyConnector/.env

تست اتصال

[ویرایش | ویرایش مبدأ]

بعد از نصب، حتماً تست کنید:

hesabix-pbx test

این دستور دو تست انجام می‌دهد:

  1. تست AMI — اتصال به Asterisk و ورود با کاربر AMI
  2. تست Heartbeat حسابیکس — ارسال سیگنال زنده به API حسابیکس

اگر هر دو موفق باشند، در حسابیکس وضعیت مرکز تلفن باید آنلاین (Online) شود.

برای مشاهده وضعیت کلی:

hesabix-pbx status

دستورات روزمره (CLI)

[ویرایش | ویرایش مبدأ]

همهٔ دستورات زیر روی سرور تلفن و با دسترسی root اجرا می‌شوند.

دستور کاربرد
hesabix-pbx status نمایش وضعیت سرویس، سیستم‌عامل، API، AMI و …
hesabix-pbx test تست AMI و اتصال به حسابیکس
hesabix-pbx configure تغییر توکن، آدرس API، تنظیمات AMI
hesabix-pbx start شروع سرویس کانکتور
hesabix-pbx stop توقف سرویس
hesabix-pbx restart ری‌استارت سرویس
hesabix-pbx update به‌روزرسانی کانکتور از مخزن حسابیکس
hesabix-pbx reinstall نصب مجدد (فایل .env حفظ می‌شود)
hesabix-pbx logs مشاهده آخرین لاگ‌ها (پیش‌فرض ۸۰ خط)
hesabix-pbx logs 200 مشاهده ۲۰۰ خط آخر لاگ
hesabix-pbx follow مشاهده زندهٔ لاگ (مثل tail -f)
hesabix-pbx uninstall حذف سرویس و دستور CLI
hesabix-pbx help نمایش راهنمای دستورات

مثال: اجرا با sudo

[ویرایش | ویرایش مبدأ]
sudo hesabix-pbx status
sudo hesabix-pbx test
sudo hesabix-pbx update

مثال: اجرا بدون sudo (کاربر root)

[ویرایش | ویرایش مبدأ]
hesabix-pbx status
hesabix-pbx test
hesabix-pbx update

به‌روزرسانی کانکتور

[ویرایش | ویرایش مبدأ]

برای دریافت آخرین نسخه:

hesabix-pbx update

این دستور:

  • پیش‌نیازها را بررسی می‌کند
  • فایل‌های جدید را دانلود می‌کند
  • سرویس را ری‌استارت می‌کند
  • فایل .env شما را حفظ می‌کند

بعد از به‌روزرسانی:

hesabix-pbx status
hesabix-pbx test

تغییر تنظیمات بعد از نصب

[ویرایش | ویرایش مبدأ]

تغییر توکن، API یا AMI

[ویرایش | ویرایش مبدأ]
hesabix-pbx configure
hesabix-pbx restart
hesabix-pbx test

موارد رایج تغییر

[ویرایش | ویرایش مبدأ]
  • توکن جدید بعد از لو رفتن توکن قبلی
  • آدرس API بعد از تغییر دامنه حسابیکس
  • رمز AMI بعد از تغییر در Asterisk

پیکربندی دستی (بدون ویزارد)

[ویرایش | ویرایش مبدأ]

اگر ترجیح می‌دهید فایل را مستقیم ویرایش کنید:

cp /opt/HesabixTelephonyConnector/config.example.env /opt/HesabixTelephonyConnector/.env
nano /opt/HesabixTelephonyConnector/.env
hesabix-pbx restart
hesabix-pbx test

نمونه محتوای فایل .env

[ویرایش | ویرایش مبدأ]
HESABIX_API_URL=https://hsxn.hesabix.ir
HESABIX_BUSINESS_ID=1
HESABIX_PBX_ID=1
HESABIX_CONNECTOR_TOKEN=hsx_tel_replace_me
AMI_HOST=127.0.0.1
AMI_PORT=5038
AMI_USER=hesabix
AMI_SECRET=change_me

کاربرد برای کاربران حسابیکس

[ویرایش | ویرایش مبدأ]

بعد از اتصال موفق، این امکانات (بسته به فعال بودن افزونه و دسترسی کاربر) در دسترس است:

برای اپراتور (فروش / پشتیبانی)

[ویرایش | ویرایش مبدأ]
  • Screen Pop: هنگام زنگ خوردن، نام مشتری، مانده حساب و اطلاعات مرتبط نمایش داده می‌شود
  • Click-to-Call: از پروفایل مشتری می‌توان تماس خروجی گرفت
  • تاریخچه تماس: مشاهده تماس‌های قبلی هر مشتری
  • ثبت نتیجه تماس: یادداشت و پیگیری بعد از مکالمه

برای مدیر تلفن

[ویرایش | ویرایش مبدأ]
  • مشاهده وضعیت آنلاین/آفلاین مرکز تلفن
  • نگاشت کاربر حسابیکس ↔ داخلی تلفن
  • تنظیمات شناسایی شماره و رفتار Screen Pop

برای مدیر سیستم

[ویرایش | ویرایش مبدأ]
  • مانیتورینگ اتصال از طریق hesabix-pbx status
  • بررسی لاگ‌ها با hesabix-pbx logs
  • به‌روزرسانی و نگهداری با hesabix-pbx update

عیب‌یابی (مشکلات رایج)

[ویرایش | ویرایش مبدأ]

۱. مرکز تلفن در حسابیکس آفلاین است

[ویرایش | ویرایش مبدأ]
  1. روی سرور تلفن: hesabix-pbx status
  2. تست اتصال: hesabix-pbx test
  3. بررسی لاگ: hesabix-pbx logs
  4. مطمئن شوید توکن، Business ID و PBX ID درست است
  5. مطمئن شوید سرور تلفن به آدرس API دسترسی HTTPS دارد

۲. تست AMI ناموفق است

[ویرایش | ویرایش مبدأ]
  • Asterisk در حال اجرا باشد
  • پورت AMI (معمولاً ۵۰۳۸) باز باشد — فقط روی localhost کافی است
  • کاربر و رمز AMI درست باشد
  • در صورت نیاز: asterisk -rx "manager reload"

۳. تست API حسابیکس ناموفق است

[ویرایش | ویرایش مبدأ]
  • آدرس HESABIX_API_URL را بررسی کنید (بدون اسلش اضافه در انتها)
  • DNS و فایروال سرور تلفن را بررسی کنید
  • توکن را در حسابیکس تجدید کنید و با hesabix-pbx configure وارد کنید

۴. دستور sudo شناخته نمی‌شود

[ویرایش | ویرایش مبدأ]

با کاربر root وارد شوید و دستور را بدون sudo اجرا کنید:

hesabix-pbx status

۵. بعد از به‌روزرسانی مشکل پیش آمد

[ویرایش | ویرایش مبدأ]
hesabix-pbx reinstall
hesabix-pbx test

۶. سرویس اجرا نمی‌شود

[ویرایش | ویرایش مبدأ]
hesabix-pbx status
hesabix-pbx logs
systemctl status hesabix-telephony-connector

نکات امنیتی

[ویرایش | ویرایش مبدأ]
  • کانکتور فقط به حسابیکس خروجی HTTPS می‌زند — نیازی به باز کردن پورت ورودی روی اینترنت نیست
  • پورت AMI (۵۰۳۸) را به اینترنت باز نکنید — فقط localhost یا شبکه داخلی
  • فایل .env حاوی توکن و رمز AMI است؛ مجوز آن 600 است
  • اگر توکن لو رفت:
    1. در حسابیکس توکن جدید بسازید
    2. روی سرور: hesabix-pbx configure
    3. سپس: hesabix-pbx restart

حذف کانکتور

[ویرایش | ویرایش مبدأ]
hesabix-pbx uninstall

در پایان از شما پرسیده می‌شود آیا فایل .env نگه داشته شود یا نه.

  • نگه داشتن .env — برای نصب مجدد بعدی مفید است
  • حذف کامل — همهٔ فایل‌ها پاک می‌شود

سوالات متداول (FAQ)

[ویرایش | ویرایش مبدأ]

آیا کانکتور روی سرور حسابیکس نصب می‌شود؟

[ویرایش | ویرایش مبدأ]

خیر. روی سرور Issabel/Asterisk نصب می‌شود.

آیا باید پورت جدیدی روی فایروال باز کنم؟

[ویرایش | ویرایش مبدأ]

معمولاً خیر. فقط خروجی HTTPS به حسابیکس لازم است.

آیا با FreePBX هم کار می‌کند؟

[ویرایش | ویرایش مبدأ]

اگر Asterisk AMI استاندارد داشته باشد، معمولاً بله. تمرکز رسمی روی Issabel است.

آدرس پیش‌فرض API چیست؟

[ویرایش | ویرایش مبدأ]

https://hsxn.hesabix.ir

چطور بفهمم همه‌چیز درست کار می‌کند؟

[ویرایش | ویرایش مبدأ]
  1. hesabix-pbx test هر دو تست را پاس کند
  2. در حسابیکس وضعیت مرکز تلفن «آنلاین» باشد
  3. یک تماس تست بگیرید و Screen Pop را در حسابیکس ببینید

خلاصه دستورات پرکاربرد

[ویرایش | ویرایش مبدأ]
# نصب (یک‌خطی)
curl -fsSL https://source.hesabix.ir/hesabix/arc/raw/branch/master/extraScripts/HesabixTelephonyConnector/install.sh | bash

# وضعیت و تست
hesabix-pbx status
hesabix-pbx test

# تغییر تنظیمات
hesabix-pbx configure
hesabix-pbx restart

# به‌روزرسانی
hesabix-pbx update

# لاگ
hesabix-pbx logs
hesabix-pbx follow