یکی از نیازمندی های اصلی در یک سیستم تلفنی، امکان ارسال و دریافت فکس می باشد. البته امروزه با توسعه بیش از پیش ابزار های ارتباطی همچون ایمیل، روش های سنتی مانند فکس کمتر مورد استفاده قرار می گیرند؛ ولی هنوز کاملا جایگزین نشده اند. بنابراین با بکارگیری سیستم های تلفنی مبتنی بر VoIP نیز باید برای این مهم راهکار مناسبی ارائه گردد.
در سیستم های سنتی برای ارسال و دریافت فکس از پروتکل T.30 استفاده می شود. با استفاده از این پروتکل فایل مورد نظر ابتدا به یک تصویر (فرمت .g3) تبدیل شده و سپس هر سطر از این تصویر به صوت تبدیل شده و ارسال می گردد. طبیعی است در سمت دریافت کننده عکس این عمل انجام شده و فایل مورد نظر دریافت می شود. این مکانیزم در شبکه های VoIP کاربردی نخواهد بود، چرا که در شبکه های دیتا jitter، delay و packet loss اجتناب ناپذیر بوده و در پروتکل فکس T.30 برای حل این مشکلات مکانیزمی تعبیه نشده است. به عنوان مثال اگر تاخیر ۲۰ میلی ثانیهای در دریافت بسته ها بروز کند، دریافت فکس خاتمه یافته و یا به صورت کاملا ناخوانا دریافت می شود. علاوه بر این در اغلب شبکه های VoIP از کدک های فشرده مانند G.729 یا GSM استفاده می شود؛ در این پروتکل ها دیتای صوت دست خوش تغییرات شده و به دلیل نرخ پایین انتقال، برای ارسال و دریافت فکس مناسب نخواهند بود. همچنین از دیگر مواردی که در انتقال فکس در شبکه های VoIP می بایست به آن توجه کرد، مبحث Echo Cancelation است. در صورت فعال بودن این مکانیزم، انتقال فکس قطعا با مشکل همراه خواهد بود.
از دیگر مکانیزم هایی که با انتقال فکس در شبکه های IP تناقض دارد، مبحث Silence Suppression است. در صورت فعال بودن این ویژگی، با توجه به تغییراتی که در جریان صوت و وقفه های آن صورت می پذیرد، فکس قابل استفاده نخواهد بود.
البته شاید ارسال فکس با استفاده از پروتکل T.30 و کدک G.711 در شبکه هایی که تاخیر کمی دارند، قابل استفاده باشد اما قطعا قابل اعتماد نخواهد بود و با توجه به وضعیت شبکه، ممکن است میزان قابل توجهی از فکس ها به درستی ارسال و یا دریافت نشوند.
با توجه به این محدودیت ها، سعی گردید تا برای انتقال فکس بر روی شبکه IP، پروتکل مناسبی ارائه شود. در ابتدا پروتکل T.37 که به Store and Forward یا iFax نیز مشهور است، بکارگرفته شد. در این پروتکل ابتدا فکس دریافت و ذخیر شده و سپس از طریق پروتکل SMTP، فکس برای سمت مقابل ایمیل می شود. عدم بلادرنگ بودن این پروتکل و ارسال از طریق ایمیل با توجه به مشکلات امنیتی ممکن، از نقاط ضعف این پروتکل بشمار می آید. به منظور رفع این نقاط ضعف، پروتکل T.38 ظهور یافت. این پروتکل جهت انتقال فکس به صورت بلادرنگ در شبکه های IP (FoIP) طراحی شده و از ویژگی های مهم آن قابل اعتماد بودن عملکرد آن و صحت اتقال داده های فکس میباشد. این پروتکل از بسته هایی با عنوان UDPTL بر روی پروتکل UDP جهت انتقال داده فکس استفاده می نماید.
فکس در استریسک:
در سیستم تلفنی محبوب استریسک، از نسخه ۱٫۴ پشتیبانی از پروتکل T.38 اضافه گردید. در این نسخه فکس به صورت pass-through بر روی T.38 پیاده سازی شد یعنی سمت ارسال کننده و دریافت کننده می بایست از این پروتکل پشتیبانی می کردند.
در نسخه ۱٫۶ امکان termination و origination نیز اضافه گردید. یعنی فکس دریافتی به صورت T.38، قابلیت ذخیره به صورت یک فایل TIFF را داشت و همچنین امکان ارسال فایل TIFF از طریق این پروتکل فراهم شد.
در نسخه ۱۰ این نرم افزار، امکان T.38 Gateway افزوده شد. یعنی امکان انتقال فکس میان شبکه PSTN (No T.38) و شبکه IP (T.38) به وجود آمد و دیگر نیازی به ایجاد دو مکالمه یکی برای دریافت فکس و یکی برای ارسال فکس با فرمت TIFF نخواهد بود. بدیهی است در نسخه ۱۳ این قابلیت، بلوغ بیشتری نسبت به نسخه ابتدایی آن یافته است.
در سیستم های تلفنی مبتنی بر استریسک همچون الستیکس، با توجه به اینکه از نسخه های پایین استریسک بهره می بردند و با توجه به تاریخچه ای که در در بالا اشاره شد، از پروژه های متن باز فکس سرور همچون Hylafax برای ارسال و دریافت فکس میان شبکه VoIP و PSTN استفاده شد. به همین دلیل بسیاری از کاربران این سیستم ها، فکس را در VoIP با Hylafax می شناسند. از طرفی پروژه هایی همچون AvantFax نیز با ارائه واسط گرافیکی تحت وب، بکارگیری سرور فکس Hyla را راحت تر کرده اند.
هدف از این مقدمه، مروری بر تاریخچه فکس در سیستم های تلفنی IP به خصوص سیستم های مبتنی بر استریسک بود؛ چرا که در ادامه قصد داریم روش راه اندازی فکس بر روی FreePBX را آموزش دهیم.