شاید برایتان پیش آمده که با مشتری مهمی تماس گرفته‌اید. اینترنت‌تان هم ظاهراً مشکلی نداشته. آنتن و اتصال برقرار است و تماس هم قطع نمی‌شود. اما صدای طرف مقابل کمی رباتی و نامفهوم به گوش می‌رسد. چند لحظه بعد تماس دیگری می‌گیرید و این بار صدا کاملاً شفاف است. چه چیزی بین این دو تماس فرق کرده؟ شاید در نگاه اول ذهن‌تان سمت سرعت اینترنت، مودم یا کیفیت خط برود. اما یک عامل مهم دیگر هم در این میان وجود دارد که معمولاً کمتر به آن توجه می‌شود: Codec یا کدک ویپ.

Codec یا کدک چیست؟

کُدک (Codec) مخفف Coder/Decoder است و به فناوری یا الگوریتمی گفته می‌شود که داده‌های صوتی را برای انتقال یا ذخیره‌سازی، کدگذاری و فشرده‌سازی می‌کند و در مقصد دوباره آن‌ها را رمزگشایی و بازسازی می‌کند. 

در سیستم‌های VoIP، کدک صدای انسان را به داده‌های دیجیتال تبدیل می‌کند تا بتوان آن را از طریق شبکه IP منتقل کرد و در سمت گیرنده دوباره به صدای قابل شنیدن تبدیل شود. 

طبیعتاً نوع کدک روی عواملی مانند کیفیت صدا، میزان فشرده‌سازی، مصرف پهنای باند و منابع پردازشی تأثیر می‌گذارد؛ به همین دلیل انتخاب کدک مناسب یکی از عوامل مهم در طراحی و بهینه‌سازی تماس‌ VoIP است.

کدک VoIP چگونه کار می‌کند؟ از تبدیل صدای شما به داده تا بازسازی آن در مقصد

کدک در تماس‌های VoIP باید درباره‌ی یک مسئله مهم تصمیم بگیرد: چه مقدار از اطلاعات صوتی را نگه دارد و با چه نرخی آن را روی شبکه ارسال کند؟

اگر همه اطلاعات صوتی با کمترین میزان فشرده‌سازی منتقل شوند، کیفیت صدا می‌تواند بسیار خوب باشد، اما حجم داده و در نتیجه نیاز به پهنای باند افزایش پیدا می‌کند. اگر صدا بیشتر فشرده شود، حجم داده کاهش می‌یابد. اما ممکن است بخشی از جزئیات صوتی از بین برود و کیفیت مکالمه پایین‌تر بیاید. 

به همین دلیل، انتخاب Codec در واقع نوعی ایجاد تعادل میان کیفیت صدا، مصرف پهنای باند، پیچیدگی پردازش و شرایط شبکه است.

مسیر صدا در یک تماس VoIP چگونه است؟

وقتی مشتری یک شرکت با استفاده از تلفن اینترنتی VoIP با مشتری تماس می‌گیرد، صدای او توسط Codec انتخاب‌شده به داده تبدیل می‌شود. این داده در بسته‌های شبکه قرار می‌گیرد و به سمت مقصد می‌رود. در طرف مقابل، Codec مناسب آن داده را Decode می‌کند تا صدای انسان دوباره قابل پخش باشد.

بنابراین وقتی می‌گوییم «کدک روی کیفیت تماس تأثیر دارد»، منظورمان این نیست که Codec به‌تنهایی کیفیت کل تماس را تعیین می‌کند. کیفیت نهایی نتیجه عملکرد مجموعه‌ای از عوامل است؛ از Codec و نحوه فشرده‌سازی گرفته تا کیفیت شبکه، میزان Packet Loss، Jitter، تأخیر و نحوه انتقال بسته‌های صوتی.

پس هر صدای بدی در تماس VoIP الزاماً تقصیر Codec نیست. گاهی Codec کاملاً مناسب است، اما شبکه به دلیل ازدحام یا Packet Loss، بسته‌های صوتی را از دست می‌دهد و نتیجه نهایی شبیه یک مشکل Codec به نظر می‌رسد.

مهم‌ترین کدک‌های ویپ کدام‌اند؟ بررسی G.711، G.729، G.722 و Opus 

کدک‌های زیادی در دنیای ارتباطات صوتی وجود دارند، اما برای اغلب کسب‌وکارهایی که از VoIP، تلفن ابری، IP-PBX یا SIP Trunk استفاده می‌کنند، چند نام بیشتر از بقیه اهمیت دارند:

  • G.711

  • G.729

  • G.722

  • Opus

نکته مهم این است که این Codecها برای یک هدف واحد ساخته نشده‌اند. بعضی از آن‌ها با هدف سازگاری و کیفیت قابل‌اعتماد در شبکه‌های تلفنی طراحی شده‌اند، بعضی برای صرفه‌جویی در پهنای باند و بعضی دیگر برای ارتباطات مدرن و انعطاف‌پذیر روی اینترنت. بنابراین بهتر است آن‌ها را بر اساس کاربردشان بشناسیم.

مقایسه انواع کدک VoIP و ویژگی‌های آن‌ها

کدک

Bitrate اسمی

نوع صدا

مزیت اصلی

محدودیت اصلی

G.711

64 kbps

Narrowband

کیفیت مناسب و سازگاری بالا

مصرف پهنای باند بیشتر

G.729

حدود 8 kbps

Narrowband

مصرف کم پهنای باند

فشرده‌سازی بیشتر و کیفیت پایین‌تر نسبت به G.711

G.722

64 kbps

Wideband

صدای HD و طبیعی‌تر

نیاز به پشتیبانی دو طرف تماس

Opus

متغیر

Wideband تا Fullband

انعطاف‌پذیری بالا و مناسب اینترنت

پشتیبانی آن به تجهیزات و تنظیمات مسیر بستگی دارد

G.711؛ انتخابی کلاسیک با کیفیت قابل‌اعتماد

G.711 یکی از شناخته‌شده‌ترین و سازگارترین انواع کدک VoIP است. این Codec با نمونه‌برداری 8 کیلوهرتز و Bitrate اسمی 64 kbps کار می‌کند و دو گونه اصلی آن G.711 μ-law و G.711 A-law هستند. A-law در خیلی از کشورهای خارج از آمریکای شمالی و ژاپن رایج است، در حالی که μ-law در آمریکای شمالی و ژاپن کاربرد بیشتری دارد.

مزیت بزرگ G.711 سادگی و سازگاری آن است. این Codec به پردازش پیچیده‌ای نیاز ندارد و در خیلی از تجهیزات و سرویس‌های VoIP پشتیبانی می‌شود. به همین دلیل، وقتی سازگاری میان سیستم‌های مختلف، کیفیت قابل‌اعتماد و تعامل با زیرساخت‌های تلفنی اهمیت دارد، G.711 همچنان یکی از گزینه‌های اصلی است.

اما یک هزینه مشخص دارد: مصرف پهنای باند بالاتر نسبت به Codecهای فشرده‌تر. بنابراین اگر کسب‌وکاری تعداد زیادی تماس هم‌زمان دارد و ظرفیت شبکه محدود است، باید مصرف واقعی آن را در محاسبات خود لحاظ کند.

G.729؛ وقتی پهنای باند اهمیت بیشتری پیدا می‌کند...

G.729 برای شرایطی طراحی شده که پهنای باند محدود و گران بود. مهم‌ترین ویژگی آن، کاهش شدید حجم داده صوتی است: Bitrate رایج آن حدود 8 kbps است؛ یعنی به‌مراتب کمتر از 64 kbps در G.711.

این ویژگی G.729 را برای محیط‌هایی که ظرفیت شبکه محدود است جذاب می‌کند. اگر تعداد تماس‌های هم‌زمان زیاد باشد و شبکه نتواند به‌راحتی حجم بالای ترافیک صوتی را تحمل کند، کاهش Bitrate می‌تواند به کاهش فشار روی لینک کمک کند.

اما مصرف پهنای باند کمتر به معنی کیفیت بهتر نیست...

G.729 برای رسیدن به Bitrate پایین‌تر، فشرده‌سازی بیشتری انجام می‌دهد و در نتیجه کیفیت صوتی آن با G.711 یکسان نیست. همچنین برای صداهای غیرگفتاری مانند موسیقی یا برخی سیگنال‌ها، محدودیت‌های بیشتری دارد و برای DTMF و Fax نیز معمولاً به روش‌های انتقال جداگانه نیاز است.

G.722؛ وقتی کیفیت و صدای HD مهم است...

G.722 ماجرای متفاوتی دارد. این کدک ویپ برای ارائه صدای Wideband در ارتباطات صوتی طراحی شده و با نمونه‌برداری 16 کیلوهرتز می‌تواند محدوده صوتی بیشتری نسبت به Codecهای Narrowband مانند G.711 و G.729 منتقل کند. همین ویژگی یکی از دلایل اصلی استفاده از G.722 در تلفن‌های IP و ارتباطات سازمانی با عنوان HD Voice است.

تفاوت Wideband و Narrowband فقط یک عدد روی برگه مشخصات نیست. در صدای Wideband، بخشی از فرکانس‌های بالاتر گفتار حفظ می‌شوند؛ در نتیجه تلفظ حروف، صامت‌ها و جزئیات صدای انسان می‌تواند واضح‌تر و طبیعی‌تر شنیده شود.

جالب اینکه G.722 در حالت رایج 64 kbps از نظر Bitrate با G.711 یکسان است، اما به دلیل محدوده صوتی گسترده‌تر، تجربه شنیداری متفاوتی ارائه می‌دهد. بنابراین اگر دو طرف تماس، تجهیزات و مسیر شبکه از Wideband پشتیبانی کنند، G.722 می‌تواند انتخاب بسیار خوبی برای تماس‌های باکیفیت باشد.

Opus؛ یک کدک ویپ مدرن و انعطاف‌پذیر برای ارتباطات اینترنتی

Opus یکی از مهم‌ترین Codecهای نسل جدید ارتباطات صوتی است و استاندارد آن در RFC 6716 توسط IETF تعریف شده است. این Codec برای ارتباطات تعاملی مانند VoIP و ویدئوکنفرانس طراحی شده و می‌تواند در محدوده بسیار گسترده‌ای از نرخ بیت و کیفیت صوتی کار کند.

یکی از مهم‌ترین تفاوت‌های Opus با Codecهای قدیمی، انعطاف‌پذیری آن است. Opus می‌تواند برای سناریوهای مختلف از صدای Narrowband تا Wideband و حتی Fullband مورد استفاده قرار بگیرد و در شرایط مختلف شبکه، Bitrate خود را متناسب با نیاز تغییر دهد.

به همین دلیل Opus در فناوری‌هایی مانند WebRTC و خیلی از سرویس‌های ارتباطی مدرن جایگاه مهمی پیدا کرده است. این Codec علاوه بر انعطاف‌پذیری، قابلیت‌هایی برای مقابله بهتر با از دست رفتن بسته‌ها نیز دارد که در شبکه‌های متغیر اینترنتی می‌تواند مزیت محسوب شود.

البته یک نکته بسیار مهم وجود دارد... 

وجود Opus روی تلفن یا Softphone شما به این معنا نیست که هر تماس الزاماً با Opus برقرار می‌شود. Codec نهایی به قابلیت‌های دو طرف تماس، تنظیمات سیستم و فرایند مذاکره Codecها بستگی دارد.

انتخاب درست همیشه به سناریوی استفاده بستگی دارد!

یکی از اشتباهات رایج این است که فقط کدک را با کیفیت صدا مرتبط بدانیم. در عمل، چند ویژگی مهم در انتخاب کدک موثر هستند:  

  • Bitrate: مقدار داده‌ای که Codec برای انتقال صدا تولید می‌کند.

  • Sampling Rate: تعداد دفعاتی که سیگنال صوتی در هر ثانیه نمونه‌برداری می‌شود.

  • Compression: میزان فشرده‌سازی اطلاعات صوتی.

  • Latency و پیچیدگی پردازش: مقدار پردازش مورد نیاز برای کدگذاری و رمزگشایی.

  • Audio Bandwidth: محدوده فرکانسی صدایی که Codec می‌تواند منتقل کند.

  • مقاومت در برابر شرایط نامناسب شبکه: برخی Codecهای مدرن قابلیت‌هایی برای مقابله بهتر با Packet Loss دارند.

به همین دلیل نمی‌توان گفت «هرچه Bitrate کمتر باشد، Codec بهتر است» یا برعکس، «هرچه Bitrate بیشتر باشد، کیفیت تماس حتماً بهتر خواهد بود». انتخاب درست همیشه به سناریوی استفاده بستگی دارد.

دو کدک را مثال بزنیم...

مثلاً G.711 معمولاً با Bitrate برابر 64 kbps کار می‌کند و کیفیت صدایی نزدیک به تلفن‌های سنتی ارائه می‌دهد، در حالی که G.729 می‌تواند با Bitrate حدود 8 kbps کار کند و برای شبکه‌های محدودتر مناسب‌تر باشد؛ اما این کاهش مصرف داده با فشرده‌سازی بیشتر و تفاوت در کیفیت همراه است.

از طرف دیگر، Codecهایی مانند G.722 و Opus با تمرکز بر صدای Wideband می‌توانند محدوده صوتی گسترده‌تری نسبت به Codecهای Narrowband منتقل کنند؛ موضوعی که در تماس‌های HD Voice باعث می‌شود صدای مکالمه طبیعی‌تر و شفاف‌تر به نظر برسد.

یک نکته مهم درباره «پهنای باند Codec»

اگر جایی خواندید که مثلاً G.711 به 64 kbps و G.729 به 8 kbps نیاز دارد، این اعداد را نباید دقیقاً برابر با مصرف اینترنت یک تماس در نظر بگیرید.

این اعداد عمدتاً به Bitrate محتوای صوتی یا Payload مربوط می‌شوند. در دنیای واقعی، بسته‌های صوتی علاوه بر خود صدا، Headerهای RTP، UDP، IP و لایه‌های دیگر را نیز با خود حمل می‌کنند. 

بنابراین مصرف واقعی روی شبکه بیشتر از عدد خام Codec است. برای نمونه، در یک سناریوی رایج با Packetization برابر 20 میلی‌ثانیه، مصرف واقعی G.711 می‌تواند حدود 85 تا 87 kbps در هر جهت باشد، در حالی که G.729 در همان شرایط حدود 31 kbps در هر جهت مصرف می‌کند.

این تفاوت زمانی اهمیت بیشتری پیدا می‌کند که یک کسب‌وکار به‌جای یک تماس، ده‌ها تماس هم‌زمان داشته باشد. مثلاً در یک مرکز تماس، انتخاب Codec صرفاً یک تصمیم مربوط به «شفاف‌تر بودن صدا» نیست؛ بلکه می‌تواند در طراحی ظرفیت شبکه و برآورد پهنای باند مورد نیاز هم اثر بگذارد.

کدک VoIP چه تأثیری بر کیفیت صدا، پهنای باند، تأخیر و پایداری تماس دارد؟

حالا به سؤال اصلی می‌رسیم: اگر کدک ویپ فقط صدا را به داده تبدیل می‌کند، چرا انتخاب آن می‌تواند تجربه یک تماس را تا این اندازه تغییر دهد؟

پاسخ را باید در چند عامل جداگانه جست‌وجو کرد. Codec روی کیفیت ادراکی صدا، مقدار داده مورد نیاز، پیچیدگی پردازش و نحوه تحمل شرایط شبکه اثر می‌گذارد. اما در مقابل، مشکلاتی مثل Jitter و Packet Loss نیز می‌توانند کیفیت تماس را به‌شدت کاهش دهند، حتی اگر بهترین Codec ممکن انتخاب شده باشد.

1) تأثیر Codec بر کیفیت صدای مکالمه

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

Codecهای فشرده‌تر برای کاهش حجم داده، بخشی از اطلاعات صوتی را حذف یا ساده‌سازی می‌کنند. این فرآیند اگر به‌اندازه و متناسب با ویژگی‌های گفتار انجام شود، ممکن است برای کاربر تقریباً محسوس نباشد؛ اما در فشرده‌سازی‌های شدیدتر، تفاوت کیفیت می‌تواند بیشتر شنیده شود.

از سوی دیگر، باید به محدوده فرکانسی صدا نیز توجه کرد. G.711 و G.729 در دسته Narrowband قرار می‌گیرند و معمولاً با نمونه‌برداری 8 kHz کار می‌کنند؛ در مقابل G.722 و Opus می‌توانند در حالت‌های Wideband یا بالاتر کار کنند. همین تفاوت باعث می‌شود صدای Wideband معمولاً شفاف‌تر و طبیعی‌تر از صدای Narrowband به نظر برسد.

در یک تلفن ابری حرفه‌ای، این مسئله اهمیت بیشتری پیدا می‌کند، چون تماس ممکن است از چند بخش مختلف عبور کند: تلفن یا Softphone کاربر، مرکز تلفن، شبکه ارائه‌دهنده و در نهایت شبکه اپراتور یا مقصد. اگر در این مسیر Codecها با یکدیگر سازگار نباشند، ممکن است سیستم نیاز به Transcoding داشته باشد.

2) تأثیر Codec بر مصرف پهنای باند

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

  • Codec فشرده‌تر: داده صوتی کمتر: پهنای باند مورد نیاز کمتر

اما همان‌طور که گفتیم، عدد Bitrate روی مشخصات Codec با مصرف واقعی شبکه یکی نیست. هر بسته صوتی Headerهای شبکه را هم حمل می‌کند و همین سربار باعث می‌شود مصرف واقعی بیشتر باشد.

3) تأثیر Codec بر تأخیر و توان پردازشی

فشرده‌سازی بیشتر معمولاً به الگوریتم‌های پیچیده‌تر نیاز دارد. بنابراین Codec فقط منابع شبکه را مصرف نمی‌کند؛ در سمت تجهیزات، CPU و منابع پردازشی نیز اهمیت پیدا می‌کنند.

در شبکه‌های امروزی معمولاً توان پردازشی تجهیزات آن‌قدر زیاد است که این موضوع برای یک کسب‌وکار کوچک مسئله اصلی نباشد. اما وقتی تعداد تماس‌ها زیاد می‌شود یا یک سیستم باید بین چند Codec مختلف Transcoding انجام دهد، بار پردازشی می‌تواند جدی‌تر شود. زیرساخت‌های بزرگ VoIP نیز به همین دلیل در طراحی خود ظرفیت Transcoding را جداگانه در نظر می‌گیرند.

برای مثال، اگر یک تماس از Codec A به Codec B و سپس دوباره به Codec A تبدیل شود، کیفیت نهایی لزوماً به اندازه زمانی که کل مسیر با یک Codec سازگار طی می‌شد نخواهد بود. بنابراین سازگاری Codec در کل مسیر تماس یکی از اصول مهم طراحی سیستم‌های تلفنی تحت شبکه است.

آیا Codec می‌تواند باعث قطع و وصل شدن صدا شود؟

اگر Codec نامناسب باشد یا دو طرف تماس نتوانند روی یک Codec مشترک توافق کنند، برقراری صحیح تماس ممکن است با مشکل مواجه شود. 

در فرآیند SIP، دو Endpoint فهرست Codecهای مورد پشتیبانی خود را اعلام می‌کنند و بر اساس این اطلاعات، Codec مورد استفاده برای رسانه صوتی مشخص می‌شود. اگر هیچ Codec مشترکی وجود نداشته باشد، ممکن است تماس نیاز به Transcoding داشته باشد یا اصلاً برقرار نشود.

اما اگر تماس برقرار شده و مشکل شما قطع و وصل شدن، تکه‌تکه شدن یا رباتی شدن صدا است، نباید فوراً Codec را مقصر بدانید.

در این شرایط باید موارد زیر را نیز بررسی نمود:

  • Packet Loss

  • Jitter

  • Latency

  • ازدحام شبکه

  • کیفیت Wi-Fi

  • بار پردازشی تجهیزات

  • و مسیر انتقال صدا

جمع‌بندی

به طور خلاصه، از بین انواع کدک ویپ G.711 انتخابی شناخته‌شده و سازگار است و زمانی که پهنای باند کافی دارید، گزینه‌ای قابل اتکا محسوب می‌شود. G.729 زمانی اهمیت بیشتری پیدا می‌کند که محدودیت پهنای باند جدی باشد.

G.722 برای سناریوهایی که صدای Wideband و تجربه HD Voice اهمیت دارد، گزینه جذابی است؛ البته به شرط پشتیبانی دو طرف مسیر. Opus نیز Codec مدرن و انعطاف‌پذیری است که برای ارتباطات اینترنتی و کاربردهایی مانند WebRTC بسیار مناسب است.

اما خب، مهم‌تر از نام Codec این موضوع اهمیت دارد که کل مسیر تماس درست طراحی شده باشد. اگر سازمانی از تلفن ابری، شبکه ارتباطی VoIP، مرکز تماس یا سرویس‌هایی مانند CRM اختصاصی تلفنچی استفاده می‌کند، بهتر است انتخاب Codec را بخشی از طراحی کلی سیستم ارتباطی خود ببیند. اگر در این زمینه نیاز به مشاوره داشتید، می‌توانید روی خدمات مشاوره رایگان تلفنچی حساب کنید.