بحث‌های مرتبط به Jitter Buffer در سیستم متن باز Asterisk برای مدت‌های زیادی است که مطرح شده است اما احتمالاً این موضوع و نحوه استفاده از موارد مقابله با Jitter همچنان برای بسیاری از دوست‌داران مباحث VOIP به حالت مبهم باقی مانده است.


Jitter Buffer چیست؟
در همین ابتدای مقاله می‌خواهم عبارت تقدم و تأخر را جایگزین کلمه Jitter کنم. منظور از تقدم و تأخر در VOIP در واقع ارسال پکت‌های صوتی به ترتیب ناصحیح‌اش به مقصد است. این موضوع باعث خواهد شد که کیفیت صوت به شدت افت کند. Jitter Buffering در واقع میان ابزاری است که پکت‌های ارسالی را براساس زمانی که بر روی هر پکت نشان شده است در یک صف منظم قرار می‌دهد. سیستم تلفنی Asterisk از دو نوع Buffering ثابت و متغیر پشتیبانی می‌کند. اولی براساس یک زمان ثابت و دومی براساس منطق داخلی است که سیستم Asterisk از آن پیروی می‌کند. Buffering متغیر در عملکرد دستگاه فکس،‌ مودم و پوز‌ها تأثیر منفی داشته و عملکرد آن‌ها را مختل خواهد کرد لذا در صورت استفاده از چنین دستگاه‌هایی قطعاً این مورد باید در نظر گرفته شود. در بحث Buffering متغیر Asterisk از داده‌های به دست آمده از پروتکل RTCP و سرویس NTP برای تشخیص زمان پکت استفاده می‌کند. این سرویس می‌تواند با استفاده از الگوریتم تشخیص جهش صوتی، فواصل بی‌صدا را تشخیص دهد و به افزایش کیفیت مکالمه کمک کند.


در چه مواقع Jitter Buffering به شما کمک خواهد کرد؟
در مواقعی که امکان از بین رفتن پکت یا Jitter در شبکه شما وجود داشته باشد بهتر است این سرویس را فعال کنید. در مواقعی که پکت مفقودی داشته باشید این سیستم به جای پکت مفقودی یک پکت خالی دیگری را تزریق کرده و به سمت هسته Asterisk ارسال می‌کند. سیستم Asterisk در این مرحله سعی در پنهان‌سازی یا اصلاح پکت مفقودی را خواهد داشت. باید توجه داشته باشید که فعال‌سازی Jitter Buffering می‌تواند تأثیر عکسی در عملکرد صوتی شما به علت تأخیری که در ارسال پکت‌ها دارد، داشته باشد لذا تنظیم صحیح مقدار Jitter از موارد مهم استفاده از Jitter خواهد بود. اندازه Buffer بستگی بسیار زیادی به شرایط شبکه و مقدار پکت‌های مجازی است که می‌تواند در شبکه مفقود گردد. مقدار زیاد Buffering در Jitter باعث افزایش تأخیر و کاهش از دست رفتن پکت‌ها خواهد شد. هر چند طبق استاندارد Tia 116a امروزه مقدار مجاز پکت‌های مفقودی می‌بایست کمتر از یک درصد باشد اما هرچه مقدار Buffering در شبکه ما کمتر از ۲۵۰ میلی ثانیه و نزدیک به عدد ۱۷۸ میلی ثانیه باشد صدای قابل قبول‌تری را دریافت خواهیم کرد. مقدار Jitter موجود در شبکه در صورتی که بیشتر از ۴۰۰ میلی ثانیه باشد مکالمه به هیچ عنوان قابل قبول نبوده و می‌بایست بستر شبکه اصلاح گردد. البته لازم به ذکر است در صورت فعال بودن Buffering متغیر، در صورتی که مقدار Jitter بیشتر از ۲۵۰ میلی ثانیه شود به صورت اتوماتیک پکت‌ها را حذف خواهد کرد تا این مقدار همچنان کمتر از ۲۵۰ میلی ثانیه باقی بماند و با در نظر گفتن این موضوع که Buffering سیستم Asterisk نهایتاً اجازه حذف پکت تا ۵٪ کل پکت‌ها را خواهد داد بنابراین در صورتی که شبکه همواره در این حد از Jitter را داشته باشد سیستم Asterisk دیگر قادر به تصحیح پکت‌ها را نخواهد داشت. با این حال حتی در شبکه‌های استاندارد نیز توصیه می‌شود به مقدار کمی Buffering را در سیستم تلفنی فعال کنید.


بحث بسیار مهم‌تر از Jitter Buffering، استانداردسازی بستر شبکه و اجرای موضوع QOS در آن است. راه‌اندازی این سرویس و اولویت‌بندی به پکت‌های صوتی در مسیر شبکه بهترین راه برای افزایش همیشگی کیفیت مکالمات است.


منبع: VOIPIRAN