(SIP) စစ် နဲ့ ငြိမ်းချမ်းရေး
🛡️SIP Protocol အကြောင်းရေးမယ်ဆိုတော့ ကျောင်းသားဘဝတုန်းက.. What ဆိုတာ ဘာလဲ ။ ဘာလဲဆိုတာ What ? ဆိုပြီး စ..နောက်ခဲဲ့ကြဘူးတာလေးတခု သွားသတိရမိတယ်။
အဲ့တော့ SIP ဆ်ိုတာ ဘာလဲပေါ့???
🛡️SIP ဆိုတာဘာလဲဆိုရင်တော့ the Session Initiation Protocol လို့ဆိုရမှာဖြစ်ပြီး Session Initiation Protocol ကဘာလဲဆိုရင်တော့ A protocol to initiate a Session လို့ဆိုရမှာပါ။ Session တခု Initiate လုပ်နိုင်ဖို့အတွက်သုံးတဲ့ Protocol ဆိုတဲ့ အဓိပ္ပာယ်ရပါတယ်။
What is a session?
🛡️ Session ဆိုတာက ( ဆက်သွယ်ရေး ) Communication Session ကိုဆိုလိုတာဖြစ်ပြီး IP network ပေါ်မှာ အသုံးပြုနေတဲ့ IP telephony devices (VoIP Phones,Video Endpoints) တွေတခုနဲ့ တခု ကြားမှာအသုံးပြုတဲ့ Multimedia IP Communication Session ကိုဆိုလိုရင်းဖြစ်ပါတယ်။
Key Terms: 🗝️
🛡️ အနည်းငယ်ဖြည့်စွက်ရရင်တော့ SIP ဟာ User Agent (UA),(User Agent Client (UAS) (Server/Client) အလုပ်လုပ်တဲ့ ပုံစံဖြစ်ပြီး (Voice, Video ,Instant messaging) စတဲ့ (real-time multimedia IP communications session) တွေကို Initiation, (အစပြု) Maintaining (ထိန်းသိမ်း) နဲ့ Terminating (အဆုံးသတ်) လုပ်ပေးနိုင်တဲ့ (text-encoded) Signaling Protocol ဖြစ်ပါတယ်။ Singnaling Port အနေနဲ့ non Encrypted SIP traffic မှာဆိုရင် TCP, UDP ပေါ်မှာ Port:5060 နဲ့သုံးပြီး Secure SIP(sSIP) အတွက် Port no: 5061 ကို TLS (Transport Layer Security) ပေါ်မှာ Encrypted လုပ်ပါတယ်။SIP မှာ Early Offer နဲ့ Delay Offer ဆိုပြီး SIP method types ၂ မျိုးရှိပါတယ်။
🛡️Singnaling Protocol ဖြစ်တာကြောင့် SIP ဟာ Media ကိုတော့ Control လုပ်နိုင်ခြင်း မရှိပါဘူး။ Media ကို Control လုပ်တဲ့ Protocol တွေကတော့ (RTP,RTCP,SRTP) ဖြစ်ပြီး အများအားဖြင့် User Data Gram Protocol (UDP) ပေါ်မှာ Base On လုပ်ပါတယ်။ ပိုရှင်းသွားအောင် Peer-Peer Basic Call flow Session လေးတခုနဲ့ ထပ်ရှင်းပါရစေ။
What is a call Flow?
🛡️Call Parties (Caller, Callee) နှစ်ခုကြားမှာ အသုံးပြုသွားတဲ့ messages (Dialogs) Flow Diagram တွေဟာ Call တခုရဲ့Flow (Call Flow) ပဲဖြစ်ပါတယ်။
What is Caller & Callee ?
🛡️SIP phone call တခု အပြန်အလှန် ဖုန်းပြော ကြတယ်ဆိုပါတော့။ တခြားဘက်ကလူ (Party) ကို စ မိတ်ဆက် (Invite) လုပ်တဲ့သူဟာ Caller ဖြစ်ပြီး Callee ကတော့ Invitation လုပ်လာသူက်ို (ဖုန်း) လက်ခံ (Accept) ဖြေဆိုတဲ့သူဖြစ်ပါတယ်။
📌ဒါကို Collaboration မှာ Caller & Callee Parties ရယ်လို့သုံးပါတယ်။ ( ဒီအခေါ်အဝေါ်လေးတွေက လွယ်ကူပေမယ့် T-Shooting လိုက်တဲ့နေရာမှာတော့ အရမ်းအသုံးဝင်ပါတယ်)
🛡️ကောင်းပါပြီ။ ဥပမာ အနေနဲ့ User Agent (Tesla) ကနေ User Agent (Monica) ကို Phone Call တခုစခေါ်တဲ့ Communication လုပ်တဲ့ Peer to Peer Basic Call Flow session (A simple establishment) လေး နဲ့သွားရအောင်။ ဒီနေရာမှာ Tesla က Call စတင်ခေါ်ဆိုသူဖြစ်တဲ့ အတွက် Caller ဖြစ်ပြီး လက်ခံဖြေဆိုသူ Monica က Callee ပါ။ အောက်ဆုံးမှာပြထားတဲ့ figure လေးနဲ့ တွဲကြည့်မှသာ ပိုမြင်သာမှာပါ။ကဲ စပါပြီ။
INVITE: SIP
🛡️ Tesla ဘက်က Calling (Inviting) ဖုန်းစတင်ခေါ်လိုက်တာနဲ့ Monica ဆီကို SIP invite Message ကိုသုံးပြီး Message Exchange တွေစတင်ပါပြီ။
180 RINGING: SIP
🛡️ 180 Ringing ဆိုတာကတော့ SIP/2.0 Ringing Structure ကိုသုံးပြီး Monica ဘက်က Response ပြန်တာဖြစ်ပါတယ်။ ဆိုလိုတာက Mocina က ငါ့ဖက်မှာတော့ Phone Ringသံ မြည်နေပြီ ဆိုတဲ့ Message Tesla ဆီကို ပြန်ပို့တာဖြစ်ပါတယ်။
200 OK: SIP
🛡️ 200 OK ဆိုတာ Called Party ဖြစ်တဲ့ Monica က Phone ကိုင်ဖို့လက်ခံလိုက်တဲ့ Success Class Response message body ဖြစ်ပါတယ်။
ACK:
🛡️ ဒီ Step ကတော့ Tesla ကတော့ Monica ရဲ့ Response ကို လက်ခံလိုက်တာဖြစ်ပါတယ်။ Media Session ကို Confimed လုပ်ဖို့ Monica ဆီကို ACK request လုပ်တာဖြစ်ပါတယ်။
Media Session: (RTP, RTCP)
🛡️ Media Session မှာတော့ Tesla နဲ့ Monica (Dialog) စကားတွေ အပြန်အလှန်ပြောကြမယ်ပေါ့ဗျာ။ Media Session မှာ SIP ရဲ့ အခန်းကဏ္ဍပါတော့မှာ မဟုတ်ဘဲ RTP ,RTCP Protocol တွေက ဆက်လက်လုပ်ဆောင်သွားမှာ ဖြစ်ပါတယ်။
Bye (SIP)
🛡️ စကားတွေလည်းပြောလို့ဝသွားပြီ Moica ဘက်က Phone ကို Drop (Terminate) လုပ်လိုပ်ပြီဆိုတာနဲ့ Media Session ကို End ဖို့Tesla ဆီကို Bye message ပို့လိုက်မှာပါ။ Call Terminatation မှာတော့ SIP ရဲ့ အခန်းကဏ္ဍပြန်ပါဝင်လာပါပြီ။ SIP ဟာ Media ကလွဲလို့ Session တခုလုံးကို Matain လုပ်နေပြီး Session Initiation နဲ့ Termination အပိုင်းတွေကို တာဝန်ယူလုပ်ဆောင်လို့ပဲ ဖြစ်ပါတယ်။
200OK (SIP)
🛡️ 200 OK ကတော့ Monica ရဲ့ BYE message ကို Tesla က Response confirmation ပြန်တာပဲဖြစ်ပါတယ်။ သူကလည်း BYE BYE ပါပေါ့ဗျာ။ ဒါဟာ SIP message call flow လေးတခုဖြစ်ပါတယ်။ ပိုရှင်းသွားအောင် အနည်းငယ် ထပ်ရှင်းပါရစေ။
🛡️ Tesla နဲ့ Monica ဖုန်းပြောတာ မဟုတ်ဘဲ face to face conversation လုပ်ကြတယ်ဆိုပါတော့။
▪️Tesla - Hey Monica ( SIP Invite)
▪️Monica - What's Up.(SIP OK Response)
▪️Tesla- blah blah blah (Media)RTP/RTCP
▪️Monica - blah blah blah (Media) RTP
▪️Tesla- blah blah blah (Media) RTP/RTCP
▪️Monica -blah blah blah (Media) RTP/RTCP
▪️Tesla- Thanks. Bye! (SIP -BYE)
▪️Monica-OK Bye! (SIP-200OK response)
🛡️Human World မှာတော့ Audio Packet တွေရဲ့ Medium က Air ဖြစ်ပြီး IP world မှာတော့ (Audio, Video ) တွေရဲ့ Medim က IP Network ဖြစ်သွားတာပါပဲ။ ဒါ SIP ရဲ့ အကောင်းဆုံး ဥပမာလို့ထင်ပါတယ်။
ရေးလက်စနဲ့ SIP User Agent တွေအကြောင်း နည်းနည်းလောက် ပြန်သွားရအောင်ဗျာ။
What is User Agent?
🛡️Communication Session တခုမှာ Participate လုပ်နိုင်တဲ့ Sip Phones, SIP soft Client, WebTRC စတဲ့ ဘယ် Endpoint တိုင်းကိုမဆို User Agent လို့ခေါ်ဆိုနိုင်ပါတယ်။
🛡️User Agent မှာ Modes နှစ်ခု ရှိပါတယ်။
၁- UAC - User Agent Client (UAC)
2- UAS - User Agent Sever (UAS) တို့ပဲ ဖြစ်ပါတယ်။ အနည်းငယ် ဆက်ရှင်းပါမယ်။
What is UAC?
+ UAC : who requests something in a SIP session.
What is UAS?
+ UAS: who responds after serving the request from UAC
🛡️ ခုန Call Session မှာပဲ Telsa က Monica ကို I do love You လို့ ချစ်ခွင့်ပန်တယ်ဆိုပါစို့..ဥပမာနော် 😄
လက်ရှိ Message တွေအရ Telsa က UAC ပုံစံ request acting လို့ပြောနိုင်ပြီးး Monica ကတော့ Telsa (UAC)ဘက်က(request) လုပ်လာတာကို လက်ခံနိုင်(Approve) , ငြင်းဆန်နိုင်တဲ့( not Approve) Respond authority ရှိတာကြောင့် UAS ( User Agent Server) လို့ပြောရမှာပါ။
Monica ဘက်က Telsa ဆီကို " အဖြေက ဘယ်တော့လိုချင်တာတုန်း" (Respond) ပြန်မေးလိုက်ပြီဆိုတာနဲ့ Monicaက UA Client ဖြစ်သွားပြီး Tesla က User Agent Server ပြန်ဖြစ်သွားမှာဖြစ်ပါတယ်။ SIP session ရဲ့ UAC, UAS ကလည်း ဒီသဘောပါပဲ။ ဆိုလိုချင်တာက Single Call Set Up တခုမှာ ဘယ်သူကတော့ UAC,UAS ဖြစ်တယ်ဆိုတာက Sending လုပ်နေတဲ့ Entire Message တွေအပေါ်အမြဲ မူတည်နေတယ်ဆိုတာသိရမှာဖြစ်ပါတယ်။
🎉ကျွန်တော်ရေးတာတွေက SIP နဲ့ ပတ်သတ်လို့ တကိုယ်တော်ရေးတဲ့ က ကြီး ခ ခွေး ပဲရှိနေပါသေးတယ်။ SIP Protocol အကြောင်းအရာ အသေးစိတ်ဆိုတာက ချစ်ခြင်းတရားလိုပဲ လွန်စွာကျယ်ပြန့်လှပါတယ်။ နောက် Article တွေကျမှ ထပ်ဆုံကြတာပေါ့ဗျာ။
Min Ko | Mo King
The art of UC
No comments:
Post a Comment