آموزشی

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

گام ۱ – معماری SIP

اجزای شبکه ی SIP

 

از نقطه نظر معماری ، اجزای فیزیکی یک شبکه SIP می توانند در دو مجموعه طبقه بندی شوند:

 

Client ها و server ها . که به آنها ( UAC) User Agent Client وUser Agent Server (UAS) نیز گفته می شود . یک end-point  SIP قادر است هر دو نقش UAC و UAS را ایفا کند ، اما در هر انتقال فقط باید یک نقش داشته باشد . اینکه یک نقطه انتهایی به عنوان UAS یا UAC عمل کند وابسته به UA ی است که تقاضا را شروع کرده است

SIP Client

 

یک client ( که به آن User Agent Client  نیز گفته میشو د) یک برنامه کاربردی است که درخواست sip را می فرستد.  & شامل موارد زیر است :

تلفنها : تلفنها می توانند به عنوان یک UAC یا UAS عمل کنند.

Soft  phone ها (PC هایی که قابلیت phone را نصب کرده اند) و

Cisco SIP IP phone ها می توانند درخواست SIP را آغاز کنند و به ان پاسخ دهند.

Gateway: کنترل call را فراهم می کند. Gateway ها سرویسهای بسیاری مهیا می کنند. رایج ترین آنها عملیات ترجمه

 

بین end-point  SIPها و انواع ترمینالهای دیگر در یک گفتگو است . این عمل شامل ترجمه فرمتهای انتقال و پردازه های ارتباط است

 

.

SIP Server ها :

 

چهار نوع مختلف server وجود دارد:

PROXY  Server:

یک وسیله واسط است که در خواستهای SIP را از یک مشتری دریافت میکند و سپس یا آنها را خودش مدیریت می کند و یا ، احتمالا بعد از مهیاکردن برخی ترجمه ها ، به یک server  دیگر فوروارد می کند . proxy  که در خواستها را دریافت کرده و آنها را می فرستد، در واقع هر دو نقش client و server  را ایفا می کند. Proxy server ها می توانند اعمالی نظیر تصدیق ، اجازه کنترل و دسترسی به شبکه ، مسیریابی ، ارسال مجدد درخواست به صورت معتبر و امنیت را میسر کنند.

 

 

این نوشته را هم از دست ندهید :   NAT چگونه کار می کند ؟

•redirect server :

 

• یک redirect server ، سروری است که درخواست های SIP  را

•می پذیرد،آدرس مقصد را به آدرس جدید تبدیل می کند، و آن را به درخواست کننده بر می گرداند. سپس ، درخواست کننده درخواست را با آدرس برگردانده شده از redirect server می فرستد. یک redirect server هیچ درخواست SIP  را خودش  شروع نمی کند. شکل زیر نمونه ای از عملیات یک redirect server را نشان می دهد.

 

•User agent server:

 

• serverی است که درخواستهای SIP را دریافت کرده و با کاربر ارتباط برقرار می کند . در واقع یک وسیله    SIP(مثل یک تلفن با قابلیت SIP ) که همه به عنوان یک UAC و هم به عنوان یک UAS عمل خواهد کرد. در صورتیکه بتواند درخواستهای SIP را آغاز کند . بعنوان یک UAC عمل می کند و در صورتیکه بتواند درخواستها را دریافت کرده و به انها پاسخ دهد، به عنوان یک UAS عمل می کند.

 

• Registrar server:

 

• server ی است که درخواستهای SIP Register  را می پذیرد. SIP مفهومی به نام ثبت کاربر دارد به این معنی که یک کاربر تعیین می کند که در شبکه در یک آدرس خاص در دسترسی است . این ثبت از طریق انتشار یک درخواست R  از طرف کاربر به register server انجام می شود . یک register server می تواند با یک Proxy server یا redirect server ترکیب شود .

 

•انواع پیغامها

 

 

 

•SIP  پروتکلی است که syntax آن بر پایه text است که از مجموعه کرکترهای SIO 1046 استفاده می کند و شباهتی با پروتکل HTTP دارد ، یک مزیت این روش این است که در برنامه های طرح شده برای تشریح HTTP نسبتا به سادگی می توانند برای استفاده با SIP وفق یابند. یک عیب آشکار در مقایسه با کدینگ باینری ، این است که پیغام ها پهنای باند بیشتری مصرف می کنند.

این نوشته را هم از دست ندهید :   ماهی ها چگونه حرکت می‌کند؟

 

•پیغام های SIP  یا درخواستهایی از یک clientبه server ویا پاسخهایی از server به client ( که معمولا به عنوان پیغام های وضعیت نیز شناخته می شوند) هستند.

•آدرس دهی SIP

•مثل هر پروتکل signaling ، درخواستها و پاسخها به آدرس ویژه ارسال می شوند . در SIP ، این آدرسها به عنوان SIP URL شناخته می شوند. این آدرسها به فرم user@host  هستند ، که شبیه آدرس e-mail است . در اکثر حالتها ، یک ادرس SIP ی کاربر معین در واقع می تواند از روی آدرس e-mail کاربر حدس زده شود ، یا اینکه آنها شبیه به نظر می رسند ، اما متفاوت هستند در حالیکه یک آدرس e-mail از کی mailto  URL استفاده می کند ( مثلmailto:collection@home.net  ) ، یک SIP URL چنین syntax دارد، sip:Collection@home.net .

 

 

•پروتکل توصیف جلسه (SDP)

•بدنه پیغام حاوی اطلاعاتی در مورد media ی مبادله شده ، مثل نوع RTP payload ، آدرسها و پورتها است .

•ساختار SDP

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

•پس پارامترهای session –level و media-level را داریم .

•پارامترهای session-level :

•نام و هدف جلسه

•زمانهایی که جلسه فعال است .

•اطلاعاتی در مورد پهنای باندی که توسط جلسه استفاده می شود .

•اطلاعات تماس برای شخص مسئول جلسه

این نوشته را هم از دست ندهید :   مانیتورینگ دما در اتاق سرور چگونه است ؟

 

•پارامترهای    media-level:

•نوع media ، مثل video و audio.

•پروتکل لایه انتقال ، مثل RTP/UDP/IP و H.320

فرمت media  ، مثل H.260  video و MPEG video

 

 

 

•Media-level  :

•توصیف media (m)

•اطلاعات media ( i) ( اختیاری )

•اطلاعات اتصال  (c) ( اختیاری است اگر در سطح جلسه تعیین شده باشد )

•اطلاعات پهنای باند (b) ( اختیاری )

•کلید encryption ( k) ( اختیاری )

•صفات (a) ( اختیاری )

•در شکل زیر یک پیغام INVITE و پاسخ آن با توجه به جزئیات فیلدهای SDP آورده شده است  .