VoIPدانشنامهشبکه و اینترنت

مفاهیم پیشرفته VoIP

آموزش مفاهیم پیشرفته VoIP

بعد از آموزش مقدماتی VoIP در این قسمت اقدام به آموزش مفاهیم پیشرفته خواهیم کرد. در ادامه با اکتومگ همراه باشید.

پروتکل های تشکیل دهنده ی یک ارتباط صوتی

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

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

بعد از اینکه یک ارتباط بین دو تلفن برقرار شد وارد فاز دوم می شویم که data transfer نام دارد. در این فاز صدا بین دو تلفن انتقال پیدا می کند. پروتکل هایی که وظیفه انجام این فاز را دارند به پروتکل های RTP معروف می باشند.

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

پروتکل های Signaling

پروتکل های سیگنالینگ، بخشی از فناوری voip و به عبارت بهتر بخش آدرس دهی آن می باشند که وظیفه اصلی آن برقراری و کنترل وضعیت ارتباطی بین ترمینال های ویپ (مانند آی پی فون) می باشد. اگر در یک شبکه مبتنی بر آی پی بخواهیم یک ارتباط صوتی و تصویری را داشته باشیم، باید اطلاعاتی را برای رسیدن به طرف مقابل داشته باشیم و اصول برقراری این ارتباط را بدانیم، پروتکل های سیگنالینگ این وظایف را برای ما انجام می دهند.

در زیر لیستی از پروتکل های Signaling را می بینیم:

SIP – H.323 – H.248(Megaco) – MGCP – Skinny(SCCP) – SGCP – Jingle – Q.931 – NBAP – R1 – R2 – QSIG – ALOHA – DTMF – SS5 – SS7

در ادامه مباحث، در مورد هرکدام از این پروتکل ها، توضیحات کاملی ارائه می گردد.

پروتکل های سیگنالینگ در دو سرفصل اصلی تقسیم بندی می شوند:

• Session Control Protocols

• Media Control Protocols

پروتکل های کنترل Session، مسئول برقراری، حفظ و نگهداری و قطع کردن ارتباطات را بر عهده دارند. آنها همچنین مسئول رد و بدل کردن پارامترهایی مانند Codec، tone و Bandwidth capability نیز می باشند. پروتکل های SIP و H.323 از این نوع می باشند.

پروتکل های کنترل Media، مسئول ساخت و قطع ارتباط Media می باشند، به عبارت بهتر برای باز و بسته کردن مسیر ترافیک عبوری بر روی پورت های باز شده بر روی VoIP Gateway یا همان pin-hole و پردازش اخطاریه های ارسالی از طرف این گیتوی ها، از این پروتکل ها استفاده می شود. پروتکل های MGCP و Megaco از این نوع می باشند.

عموما در پروتکل های سیگنالینگ برای کارایی بهتر از پروتکل UDP برای ارسال اطلاعات استفاده می شود.

پروتکل RTP

پروتکل RTP و یا همان Real-time Transport Protocol که گاهی اوقات از آن با نام RTTP نیز یاد می کنند، تشکیل شده از مجموعه استانداردهایی که وظیفه تحویل صدا و تصویر را در شبکه های آی پی، برعهده دارد. هر فناوری که بر روی بستر آی پی و در جهت Streaming media فعالیت می نماید، این قابلیت را می تواند داشته باشد که برای انتقال صدا و تصویر از مجموعه استاندارد های RTP استفاده نماید. این تکنولوژی ها شامل نرم افزارهای تلفنی و ویدیو کنفرانس، سرویس های تلویزیونی و نرم افزارهای با قابلیت push-to-talk می باشند.

RTP در سال ۱۹۹۶ توسط دپارتمان مخصوص به خود در IETF تحت استانداردی با نام RFC 1889 عرضه شد و در سال ۲۰۰۳ استاندارد آن با RFC 3550 جایگزین شد.

پروتکل RTP در پیوستگی کامل با RTCP که مخفف RTP Control Protocol می باشد مورد استفاده قرار می گیرد. همانطور که از نام آن پیداست وظیفه RTCP ارسال پیغام های کنترلی در یک تماس می باشد و بدین ترتیب می تواند با استفاده از این پیغام ها، بازخوردهای لازم در وضعیت کیفیت سرویس ایجاد شده توسط RTP را مورد سنجش قرار دهد.

یکی از مباحث مهم برای برنامه هایی که مبتنی بر RTP فعالیت می کنند، تحویل به موقع صدا و تصویر به طرف مقابل می باشد و برای رسیدن به این هدف مطمئنا باید تحمل از بین رفتن میزانی از اطلاعات ارسالی که شامل صدا و تصویر می باشد را داشته باشند. ولی این از دست رفتن اطلاعات باید تا حد امکان به قدری نامحسوس باشد که کیفیت صدای دریافتی به طور کلی از بین نرود. پس با توجه به اینکه اگر از پروتکل TCP برای ارسال استفاده شود بطور کلی اصل تحویل به موقع صدا زیر سوال می رود، عموما برنامه ها از این پروتکل استفاده نمی نمایند و از جایگزین آن یعنی پروتکل UDP برای ارسال اطلاعات استفاده می کنند.

پروتکل RTP برای ارسال اطلاعات از قالب های مختلف رمزنگاری و یا همان Payload format برای صدا و تصویر، استفاده می نماید. اما سوال اینجاست که تعداد بیشمار نرم افزارهای انتقال صدا و تصویر و همچنین تلفن ها با برندهای مختلف، امروزه در حال فعالیتند، هر کدام از آنها دارای نیازمندی های متفاوتی می باشند و از قالب های رمز نگاری متفاوتی پشتیبانی می نمایند. پس چگونه است که ما بدون اینکه بدانیم گیرنده صدا از چه نرم افزار و یا تلفنی استفاده می نماید، به راحتی می توانیم با او صحبت کنیم؟

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

هر بسته RTP دارای یک هدر می باشد، یکی از اجزای مهم این هدر که شامل ۳۲ بیت می باشد، Timestamp نام دارد که تشکیل شده از یک نمونه فوری از قسمت اول صدا و یا تصویر موجود در آن بسته. لازم به ذکر است که اساس کار سیستم صوتی دیجیتال بر مبنای نمونه برداری در بازه زمان است و به همین دلیل باید یک منبع دقیق و دائمی برای زمان تعیین نماییم تا از این اطلاعات در یکسری محاسبات خاص مانند محاسبه Jitter استفاده شود.

از اطلاعات دیگر هدر RTP می توان از Sequence number نام برد که شامل ۱۶ بیت می باشد و از آن برای بازیابی اطلاعات از دست رفته و ارسال مجدد آن استفاده می گردد. این فیلد یک عدد بصورت تصادفی در ابتدا گرفته و با ارسال هر بسته یک عدد به آن اضافه می گردد بدین ترتیب بسته های دریافت نشده توسط گیرنده به راحتی مشخص می گردند.

پروتکل SIP

پروتکل SIP و یا همان Session Initiation Protocol یکی از انواع پروتکل های کنترل Session در سیگنالینگ می باشد که در لایه Application، برای ایجاد، کنترل و پایان ارتباطات Multimedia نظیر تماس های صوتی و تصویری بر روی شبکه های آی پی، استفاده می گردد.

پروتکل SIP در سال ۱۹۹۶ توسط Henning Schulzrinne و Mark Handley به عنوان یک پروتکل ارتباطی عرضه شد و در سال ۲۰۰۲ توسط دپارتمانIETF تحت استانداردی با نامRFC 3261 قرار گرفت.

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

پیغام های ایجاد شده به دو دسته تقسیم می شوند:

– Request

– Response

SIP یک پروتکل مبتنی بر متن و ترکیب شده از المان های HTTP و SMTP می باشد. Text-based بودن این پروتکل باعث راحت شدن اشکال زدایی آن توسط برنامه نویس و ادمین شبکه می گردد. در مقایسه با پروتکل H.323 می توان گفت که Sip یک پروتکل بیش از حد ساده و قدرتمند می باشد.

Sip می تواند بر روی بسترهای IPv4 و IPv6 و بصورت tcp و udp و در لایه Application کارکند ولی برای به حداقل رساندن overhead و بالاتر رفتن کارایی آن، از پروتکل udp برای ارسال پیغام ها استفاده می گردد.

با اینکه دو تلفنی که از پروتکل sip پشتیبانی می کنند، به راحتی می توانند یک ارتباط مستقیم با یکدیگر داشته باشند، ولی برای مختصر کردن پیاده سازی تنظیمات تلفن ها و از بین بردن فعالیت های اضافی، باید از یک Sip proxy در بین تلفن ها استفاده نماییم. بدین ترتیب وقتی بطور مثال داخلی ۲۰۴ را می گیریم با اینکه تلفن خود به تنهایی این قابلیت را دارد که آن داخلی را به آدرس آی پی و محل تلفن مقصد تبدیل و تماس را حاصل نماید، ولی به دلایلی که گفته شد این درخواست به سمت Sip proxy ارسال می گردد. وظیفه اصلی سیپ پراکسی این است که با توجه به تنظیمات انجام شده، تشخیص بدهد که داخلی ۲۰۴ چه مفهومی دارد؟ آیا فقط یک تلفن است و یا یک گروه از تلفن ها می باشد که همه باید با هم زنگ بخورند؟ و یا ….

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

عکس 171

در پروتکل سیپ هر تلفن دارای یک آدرس منحصر به فرد می باشد که با SIP URI آن را می شناسیم که بطور مثال بدین شکل می باشد : sip:204@sip.voipyar.com . ولی شخصی که می خواهد از keypad تلفن استفاده نماید فقط داخلی ۲۰۴ را وارد می نماید و این وظیفه تلفن است که آدرس را به SIP URI تبدیل نماید.

یکی دیگر از قابلیت های منحصر به فرد Sip، قابلیت registration می باشد. بدین ترتیب تلفن ها دیگر محدود به قرار گرفتن در یک مکان خاص برای کار کردن نیستند. کاربر در هر جایی که باشد تنها نیاز دارد تلفن خود را برای اتصال به سیپ پراکسی به شبکه متصل نماید، ادامه مراحل برای ثبت تلفن در registration server بصورت اتوماتیک انجام می شود.

IAX – Inter-Asterisk eXchange

یک پروتکل ارتباطی برای PBX مبتنی بر استریسک می باشد که توسط مارک اسپنسر و تیم تخصصی استریسک منتشر شده است. تعداد محدودی از برندهای دیگر PBX و تلفن ها، از این پروتکل پشتیبانی می نمایند و امروزه تعداد آن ها در حال افزایش می باشد. نسخه شماره یک این پروتکل که با نام IAX شناخته می شود دیگر امروزه مورد استفاده قرار نمی گیرد و جایگزین آن IAX2 می باشد که تحت استاندارد RFC 5456 در سال ۲۰۱۰ قرار گرفته است.

تفاوت IAX با سایر پروتکل های سیگنالینگ مانند SIP و یا H.323 در این است که هم Signaling و هم Media توسط این پروتکل حمل می شود در صورتی که سایر پروتکل ها عموما جریان های جدایی برای Signaling و Media دارند. در نتیجه در پروتکل IAX اگر ارتباط سیگنالینگ برقرار شود بدون شک انتقال صدا نیز انجام می گردد. همچنین IAX تنها از یک پورت UDP که معمولا پورت ۴۵۶۹ می باشد برای ارتباطات خود استفاده می نماید و این قابلیت برای سازمان هایی که از NAT استفاده می نمایند بسیار مناسب می باشد.

هدف نهایی استفاده از این پروتکل، کمتر کردن استفاده از پهنای باند در انتقال media می باشد و طوری طراحی شده است که نحوه استفاده از آن در پشت فایروال بسیار راحت می باشد.

یکی از مزیت های IAX نسبت به SIP، استفاده از قابلیت Jitterbuffer می باشد که باعث افزایش کیفیت صدا در لینک هایی که کیفیت مناسبی ندارند مانند ADSL می گردد.

Dial Plan چیست ؟

مرکز قانون گذاری و فیلترینگ در سیستم VoIP را با نام Dial plan می شناسیم. کلیه تماس هایی که از داخل و یا خارج وارد سیستم می شوند باید به اجبار ابتدا از این مرکز فیلترینگ عبور کرده و اگر تطابقی با قوانین موجود در آن داشته باشند به راحتی مسیر آن مشخص می گردد و اگر با هیچ کدام از قوانین سازگار نباشند آن تماس reject می گردد.

Dial Plan تشکیل شده از یک اسکریپت که می تواند بر روی IP Phone، ATA، Softphone و یا مرکز تلفن یا همان PBX تعریف گردد. عموما استفاده از Dial Plan در مرکز تلفن به دلیل راحتی و مرکزیت آن نسبت به سایر تجهیزات رایج تر می باشد.

بطور خلاصه مزایای استفاده از Dial Plan عبارتند از:

– مطمئن می شویم که شماره وارد شده صحیح می باشد، زیرا اگر شماره اشتباه باشد تماس Reject می گردد.

– می توانیم برای ایجاد محدودیت در بعضی از تماس ها استفاده نماییم برای مثال گروهی از افراد نتوانند با خارج از کشور تماس بگیرند.

– برای شرکت هایی که دارای مرکز تماس هستند، شرایط مختلفی را می توان برای نوع اتصال مشتریان تعیین نمود.

بعد از یادگیری مفاهیم VoIP به جرات می توان مباحث مربوط به Dial Plan را مهمترین قسمت در راه اندازی یک مرکز تلفن دانست. نحوه نوشتن این قوانین و فیلترها در فایل اسکریپت مربوطه به Dial Plan در هر کدام از مراکز تلفن متفاوت است، ولی باید در نظر داشت که اگر مفاهیم آن را در یکی از مراکز تلفن رایج مانند Asterisk بیاموزیم، به راحتی می توانیم با سایر مراکز تلفن نیز آشنایی پیدا کنیم.

 


بیشتر بدانید:


نمایش بیشتر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا