مجله افراتیک
حل مشکل فکس در Issabel 5
خلاصه سریع: اگر فکس در Issabel 5 کار نمیکند، احتمال بسیار زیادی وجود دارد که مشکل از نسخه قدیمی iaxmodem باشد. نصب نسخه ۱.۳.۴ به همراه اصلاح permissionها این مشکل را کاملاً برطرف میکند. در این مقاله یک اسکریپت آماده قرار دادهام که با یک دستور، همهچیز را اصلاح میکند.
مقدمه
Issabel یکی از محبوبترین و قدرتمندترین پلتفرمهای متنباز در حوزه VoIP است که بر پایه Asterisk 18 توسعه یافته و امکانات گستردهای برای راهاندازی سیستمهای تلفنی سازمانی، مراکز تماس و سرویسهای ارتباطی فراهم میکند.
اما مثل هر پروژه Open Source دیگری، در برخی نسخهها با باگها و چالشهایی روبرو میشویم. یکی از مهمترین آنها مشکل فکس در Issabel 5 است که بسیاری از مدیران شبکه و متخصصان VoIP را درگیر کرده است.
در این مقاله تمام جنبههای فنی این مشکل را بررسی میکنیم و یک راهحل کامل، تستشده و قابل اتکا ارائه میدهیم.
مشکل فکس در Issabel 5 چیست؟
پیش از هر چیز، بهتر است ساختار کلی پردازش فکس در Issabel را بشناسیم:
- Asterisk 18 — مدیریت تماس و مسیریابی
- iaxmodem — شبیهسازی مودم روی بستر IAX2
- HylaFAX — مدیریت، ذخیره و ارسال/دریافت فکس
📌 ریشه مشکل: نسخه پیشفرض iaxmodem 1.3.0 که همراه Issabel 5 نصب میشود، با Asterisk 18 سازگاری کامل ندارد و همین ناسازگاری باعث اختلال جدی در پردازش فکس میشود.
علائم رایج این مشکل
اگر با هر یک از موارد زیر مواجه هستید، احتمالاً درگیر همین باگ هستید:
- فکس دریافت میشود اما فایل PDF ساخته نمیشود
- فایل TIFF در مسیر spool وجود دارد ولی در لیست فکسهای دریافتی ظاهر نمیشود
- خروجی دستور
faxstatوضعیتReadyنشان نمیدهد - تماس فکس برقرار میشود اما در میانه کار قطع یا ناقص میماند
تحلیل فنی — چرا این مشکل رخ میدهد؟
این مشکل معمولاً از سه علت اصلی ناشی میشود:
۱. ناسازگاری نسخه iaxmodem
نسخه 1.3.0 دارای یک باگ در مدیریت timing است و پروتکل IAX2 را آنطور که Asterisk 18 انتظار دارد پیادهسازی نمیکند. نتیجه: ارتباط بین iaxmodem و Asterisk ناپایدار و مستعد قطعی میشود.
۲. پردازش نادرست رویدادها در HylaFAX
به دلیل همین ناسازگاری، HylaFAX رویدادهای پایان تماس را به درستی دریافت نمیکند. نتیجه عملی این است که فایل TIFF تولید میشود اما مرحله تبدیل به PDF هرگز اجرا نمیشود.
۳. مشکل Permission در Issabel 5
در تنظیمات پیشفرض Issabel 5، دو مشکل permission وجود دارد:
- فایل
fax.dbقابل نوشتن نیست - اسکریپتهای فکس در مسیر bin مجوز اجرا ندارند
اسکریپت رفع مشکل — کپی و اجرا
اسکریپت زیر تمام مراحل رفع مشکل را به صورت خودکار انجام میدهد. کافی است آن را در سرور اجرا کنید:
#!/bin/bash
echo "========================================"
echo " Issabel 5 Fax Fix Script"
echo "========================================"
if [ "$EUID" -ne 0 ]; then
echo "Run as root"
exit 1
fi
echo "[1] Installing dependencies..."
dnf -y groupinstall "Development Tools"
dnf -y install libtiff-devel libjpeg-turbo-devel ncurses-devel curl
echo "[2] Download iaxmodem 1.3.4..."
cd /usr/src || exit
curl -L -o iaxmodem-1.3.4.tar.gz \
https://sourceforge.net/projects/iaxmodem/files/iaxmodem/iaxmodem-1.3.4.tar.gz/download
echo "[3] Build..."
tar xzf iaxmodem-1.3.4.tar.gz
cd iaxmodem-1.3.4 || exit
./build static
echo "[4] Replace binary..."
cp /usr/sbin/iaxmodem /usr/sbin/iaxmodem.bak
cp iaxmodem /usr/local/sbin/iaxmodem
chmod 755 /usr/local/sbin/iaxmodem
echo "[5] Fix init script..."
sed -i 's|/usr/sbin/iaxmodem|/usr/local/sbin/iaxmodem|g' /etc/rc.d/init.d/iaxmodem
echo "[6] Fix permissions..."
chown asterisk:asterisk /var/www/db/fax.db
chmod 666 /var/www/db/fax.db
chown -R root:root /var/spool/hylafax/bin
chmod -R 755 /var/spool/hylafax/bin
echo "[7] Restart services..."
systemctl daemon-reload
systemctl restart hylafax
systemctl restart iaxmodem
echo "[8] Checking status..."
faxstat -s
echo "DONE"
نحوه اجرا
chmod +x fix-fax.sh
./fix-fax.sh
تست نهایی
پس از اجرای اسکریپت، وضعیت سرویس را با دستور زیر بررسی کنید:
faxstat -s
خروجی صحیح باید به شکل زیر باشد:
ttyIAX1 Ready
سوالات متداول
چرا فکس در Issabel 5 کار نمیکند؟
در اغلب موارد، دلیل اصلی استفاده از نسخه قدیمی iaxmodem (1.3.0) است که با Asterisk 18 سازگاری کامل ندارد. این ناسازگاری زنجیرهای از مشکلات را در پردازش فکس ایجاد میکند.
آیا بدون بهروزرسانی iaxmodem میتوان مشکل را حل کرد؟
خیر. این یک مشکل ریشهای در سطح نرمافزار است و workaroundهای سطحی مثل ریستارت سرویسها به تنهایی موثر نخواهند بود. بهروزرسانی iaxmodem به نسخه ۱.۳.۴ ضروری است.
اگر فایل TIFF ساخته شود ولی PDF خیر، مشکل از کجاست؟
این دقیقاً نشانه مشکل permission یا اختلال در event processing بین iaxmodem و HylaFAX است. اجرای اسکریپت بالا هر دو حالت را برطرف میکند.
آیا این روش برای محیط production مناسب است؟
بله. این راهحل روی چندین سرور در محیطهای عملیاتی تست و تایید شده است. همچنین اسکریپت قبل از جایگزینی، یک backup از binary قدیمی میگیرد.
جمعبندی
| مشکل | نسخه قدیمی iaxmodem (1.3.0) ناسازگار با Asterisk 18 |
| راهحل | بهروزرسانی به نسخه ۱.۳.۴ + اصلاح Permissionها |
| نتیجه | فکس پایدار، بدون خطا و قابل اتکا |
سخن پایانی
مشکل فکس در Issabel 5 شاید در نگاه اول پیچیده به نظر برسد، اما همانطور که دیدید با یک تحلیل دقیق و چند مرحله مشخص—یا حتی سادهتر، با اجرای یک اسکریپت—میتوان آن را کاملاً و پایدار برطرف کرد.
رویکرد درست در رفع مشکلات VoIP همین است: شناسایی ریشه مشکل و ارائه سادهترین، سریعترین و قابل اتکاترین راهحل ممکن—نه workaroundهای موقت.
اگر سوال یا تجربهای در این زمینه دارید، در بخش نظرات به اشتراک بگذارید.