Professional Documents
Culture Documents
გრინეტის გასაუბრებისთვის
გრინეტის გასაუბრებისთვის
SIP მუშაობს მოთხოვნა პასუხის ჩარჩოში (request/response) და ასახავს HTTP - ის მსგავს მოდელს,
SIP მოთხოვნის ინიციატორი არის UAC (user agent client მომხმარებელი აგენტი კლიენტი),
ხოლო რომელიც მოთხოვნას ამუშავებს და აგზავნის მინიმუმ ერთ პასუხს ეწოდება UAS (user
agent server მომხმარებელი აგენტი სერვერი) კონცეპტი SIP ტრანზაქციისა და SIP დიაოგის არის
ურთიერთქმედებები UAC და UAS - ს შორის. SIP ტრანზაქციის პასუხები მოთხოვნაზე შეიძლება
შეიცავდეს ნულს ან მეტ საბოლოო პასუხებს (1XX, 2XX, 3XX, 4XX, 5XX, 6XX) რასაც მოგვიანებით ამ
დოკუმენტში ავღწერ.
SIP დიალოგი მომხმარებელსა და აგენტს შორის არის peer-to-peer. ერთი SIP დიალოგი
შეიძლება შეიცავდეს მრავალ SIP ტრანზაქციას, გარიგება შედგება მოთხოვნისა და პასუხისგან
ამ მოთხოვნაზე.
მოცემულ დიალოგში რომელიც ფოტოზეა ასახული UAC აგზავნის invite შეტყობინებას UAS -
თან სესიის დამყარების მიზნით, შემდეგ UAS-ი რომელიც იღებს invite შეტყობინებას,
უბრუნებს 200 OK პასუხს, UAC-მა უნდა მიიღოს 200 OK შეტყობინება invite ტრანზაქციისთვის
და შემდეგ ის აგზავნის ACK მოთხოვნას. ამ ეტაპის შემდეგ სესია დამყარებულია და ის
გრძელდება მანამ სანამ ერთ ერთი მხარე არ გადაწყვეტს სესიის დასრულებას და როდესაც ეს
მოხდება, ერთი მხარე აგზავნის BYE შეტყობინებას ამ შემთხვევაში UAC. UAS ღებულობს BYE
შეტყობინებას და პასუხობს 200 OK.
SIP იყენებს TCP ან UDP პროტოკოლს მაგრამ ხშირ შემთხვევაში გამოიყენება UDP პროტოკოლი,
იქიდან გამომდინარე რომ TCP უფრო ხაზს უსვამს სანდოობას ვიდრე დროულობას.
-----
SIP ქსელში რესურსები იდენტიფიცირებულია ერთიანი რესურსების იდენტიფიკატორის
მიერ (URI) Uniform Resource Identifier რომლის ზოგადი ფორმატია
SIP:username:password@host:port
SIP Devices
SIP მოწყობილობები მოიხსენიება როგორც user agents (მომხმარებლის აგენტები) და
შეიძლება იყოს მოწყობილობები როგორიცაა აიპი ტელეფონები, ქოლსერვერები, ფაქს
სერვერები, გეითვეები.
B2BUA: არის მოწყობილობა რომლებსაც აქვთ როგორც UAC ასევე UAS ფუნქციონირეა და
შეუძლიათ გადააგზავნონ მოთხოვნები და დაამუშაონ ისინი.
SIP Requests
INVITE : დამრეკი აგზავნის ამ შეტყობინებას რომ მოითხოვოს სხვა მოწყობილობასთან SIP
სესიის დამყარება.
4XX - კლიენტის შეცდომა: მოთხოვნა შეიცავს ცუდ სინტაქსს (malformed headers) ან ვერ
შესრულდება სერვერზე. მაგალითად, თუ სერვერმა ვერ იპოვა მოთხოვნილ URI-ში
მითითებული ნომერი.
SIP CALL
სანამ დეტალურად გავივლით თუ როგორ ხდება საკომუნიკაციო სესიის დამყარება SIP-ის
მეშვეობით, მნიშვნელოვანია იმის გაგება, თუ როგორ ქმნის მოთხოვნას ინიციატორი UAC
და როგორ ამუშავებს UAS საბოლოო მოთოვნას, SIP-ის სტანდარტებზე დაფუძნებული
მოთხოვნის ფორმებია:
Allow : რეკომენდირებულია რომ allow ჰედერის ველი იყოს SIP INVITE -ში. ამ ჰედერის
ველი რეკლამირებს SIP-ის სხვადასხვა მეთოდებს, რომელთა მიღება შესაძლებელია UAC-
ზე SIP INVITE-ის მოთხოვნით ინიცირებული დიალოგის ფარგლებში. Allow ველის
შევსება საშუალებას აძლევს UAS-ს გაიგოს მოთხოვნების ტიპები, რომლებიც შეიძლება
გაიგზავნოს UAC-თან SIP დიალოგის დროს. მაგალითდ, თუ UAS-სურს DTMF
ინფორმაციის გადაცემა SIP INFO შეტყობინების გამოყენებით, მას შეუძლია ამის გაკეთება
მხოლოდ იმ შემთვევაში თუ UAC-ის SIP INFO შეტყობინებაში მხარდაჭერა არის INVITE-
ის ჰედერის ველში. მაგალითდ: Allow: INVITE, ACK, CANCEL, BYE, REGISTER, REFER,
INFO, SUBSCRIBE, NOTIFY,PRACK, UPDATE, OPTIONS. მიუხედავად იმისა, რომ
რეკომენდირებულია UAC-მა Allow ჰედერ ველში შეიტანოს INVITE მოთოვნა, შეიძლება
არსებობდეს შემთხვევები როცა ამ ჰედერის ველში INVITE არაა შეტანილი, ასეთ
შემთვევაში UAS-მა არ უნდა ჩათვალოს, რომ UAC არ უჭერს მხარს არცერთ მეთოდს, ის
უნდა განიმარტოს როგორც UAC-ის სურვილის. UAS-s შეუძლია გააგზავნოს მოთოვნები,
რომლებიც საჭიროა კომუნიკაციის სესიის შემდგომი ინსვლისთვის, თუმცა თუ მთოდი
არ არის დაფიქსირებული UAC-ის მიერ ეს მოთხოვნები უარყოფილი იქნება 405 -
მეთოდის გამოყენებით Not allowed response.
Accept : UAC შეიძლება შეიცავდეს Accept ჰედერის ველს, რათა მიუთითოს კონტენტის
ტიპები, რომლებიც მისთვის მისაღებია მოთხოვნების საპასუხოდ ან დიალოგის
ფარგლებში ახალი მოთხოვნებით. ეს ჰედერის ველი საშუალეას იძლევა მომხმარებლის
აგენტებმა მოახდინონ აღწერილობა სხვადასხვა სესიის ფორმატის მხარდაჭერაზე.
სესიის აღწერა
პროტოკოლი აღწერს სესიას, როგორც ველების ჯგუფს ტექსტზე დაფუძნებული
ფორმატით, თითო ველი თითო სტრიქონზე თითოეული ველის ფორმა ასეთია:
<character>=<value><CR><LF>
Session Description
o= (originator and session identifier : username, id, version number, network address)
One or more time descriptions ("t=" and "r=" lines; see below)
Time Description
t= (time the session is active)
Media Description
m= (media name and transport address)
a=* (zero or more media attribute lines — overriding the Session attribute lines)
Real-Time Transport Protocol
რეალურ დროში სატრანსპორტო პროტოკოლი
RTP - ს აქვს peer პროტოკოლი Real-Time Control Protocol (RTCP), რომელიც უზრუნველყოფს
მედიის მიღების ანალიზს დაკავშირებული RTP ნაკადისთვის. RTP - ის ფუნქციონირების
ცენტრალური ნაწილია RTP სესიის კონცეფცია. RTP სესია არის მონაწილეთა ჯგუფი,
რომლებიც ურთიერთქმედებენ RTP - ზე, ისე რომ მოცემული მონაწილე შეიძლება
ერთდროულად იყოს რამდენიმე სხვადასხვა RTP სესიის ნაწილი. მაგალითად საბოლოო
წერტილებს შეიძლება ჰქონდეს როგორც აუდიო RTP სესია, ასევე ვიდეო RTP სესია. RTP სესია
იდენტიფიცირებულია ქსელის მისამართისა და პორტის კომბინაციით, რომელზეც ტრაფიკი
იგზავნება და მიიღება. სხვადასხვა პორტი შეიძლება გამოყენებული იქნას RTP და RTCP
თითოეული სესიისთვის, ან ორივე პროტოკოლი შეიძლება იყოს მულტიპლექსირებული
საერთო UDP პორტზე. RTP სესია შეიძლება იყოს უნიქასთ ან მულტიქასთი. RTP პაკეტი
შედგება ორი ნაწილისგან RTP header და RTP payload. RTP პაკეტის ფორმატი ასე გამოიყურება:
Padding (P): ამ ჰედერის ველში როდესაც 1-ია მითითებული, მიანიშნებს იმაზე რომ არსებობს
დამატებითი ოქტეტები, რომელიც გამოიყენება RTP დატვირთვაზე. ეს დამატებითი ოქტეტი
არ არის Payload - ის ნაწილი და პირველ რიგში ჩასმულია იმის ურუნველსაყოფად, რომ
დაშიფვრის ალგორითმები ყოველთვის მუშაობენ მონაცემთა ფიქსირებულ ბლოკებზე.
Extension (X): ეს ველი მიუთითებს RTP ჰედერის გაფართოების არსებობაზე, RTP ჰედერის
გაფართოებები საჭიროა დამატებითი მულტიმედიური სესიის ინფორმაციის
გადასატანად, რომლებიც არ შეიძლება დაშიფრული იყოს სტანდარტულ RTP ჰედერებში ან
Payload - ში. ტიპიური მაგალითები მოიცავს RTP ჰედერის გაფართოებებს audio-level
ინფორმაციისთვის RTP ნიმუშებში. მიუხედავად იმისა, რომ სათაურის გაფართოებები
ხშირად არ გამოიყენება, მნიშვნელოვანია, რომ სპეციფიკაცია ითვალისწინებს
შესაძლებლობას ამ იშვიათი შემთხვევებისთვის.
Marker Bit (M): ამ ჰედერის ველი გამოიყენება მედია სესიის დროს მნიშვნელოვანი
მოვლენების დასანიშნად მაგალითად, Marker Bit - მა შეიძლება მიუთითებდეს ახალი DTMF
მოთხოვნის დაწყებაზე. M - ველის კიდევ ერთი გამოყენება არის ის, როდესაც Payload -
ფორმატი იცვლება მედია სესიის დროს, მაგალითად, მედია სესიამ შეიძლება მოლაპარაკება
მოახდინოს G711-ზე და დაიწყოს RTP პაკეტების გადაცემა კომუნიკაციის სესიის დროს.
მოთხოვნის ურთიერთქმედებისას შეიძლება მოხდეს კოდეკის ცვლილება G729-ზე
(ცვლილებას თან ახლავს სესიის აღწერილობის პროტოკოლის (SDP) შეთავაზება და პასუხი
(request/response) )
Payload Type (PT): ეს ველი მიუთითებს იმაზე, თუ როგორ უნდა მოხდეს RTP - პაკეტის
დამუშავება და ინტერპრეტაცია მიმღებში. Payload ტიპის მნიშვნელობები დაკავშირებულია
Payload - ის კონკრეტულ ფორმატებთან (მაგალითდ, PCMU, G729, H.264) RTP - პროფილების
გამოყენებით. SIP - ის პერსპექტივიდან, ეს კოლერაცია ხორციელდება SDP request/response -
ით.
Timestamp: ამ ჰედერის ველი არის 32 - ბიტიანი, რომელიც აღნიშნავს RTP პაკეტში მედიის
Payload პირველი ოქტატის მომენტალურ შერჩევას. შერჩევა მყისიერად მიმდინარეობს media
clock - იდან. სიჩქარე დამოკიდებულია Payload ფორმატზე და ზოგჯერ შესაძლოა
მნიშვნელოვნად განსხვავდებოდეს მედიის ფორმატის მიხედვით, Timestamp ველი
გამოიყენება მიმღების მიერ, რათა დადგინდეს პაკეტის დაკვრის მოთხოვნა. Timestamp
ჰედერის ველის მნიშვნელობა პირველ პაკეტში არჩეულია შემთხვევით და მოძრაობს Payload
ფორმატით განსაზღვრული სიჩქარით.
Synchronization Source (SSRC) identifier: ეს 32 ბიტიანი ველი ემსახურება RTP სესიის მონაწილეს.
SSRC value ყოველთვისუნდა შეირჩეს შემთხვევით RTP სესიის მონაწილეების მიერ, რადგან RTP
- ს თითოეულ სესიას აქვს საკუთარი უნიკალური SSRC სივრცე. თუ RTP სესიის ერთ ან მეტ
მონაწილეს აქვს იგივე SSRC - ე value (ეს შესაძლებელია რადგან value შემთხვევით აირჩევა)
მოხდება შეჯახება (კოლიზია) და ეს მოგვარდება შემდეგნაირად, end point - ები აგზავნიან
RTCP BYE პაკეტს და შემდეგ ამას მოყვება ახალი შემთხვევითი SSRC value - ის არჩევა, ასევე
აუდიო და ვიდეო სესიისთვის SSRC value უნდა იყოს უნიკალურიორივე მედია სესიაზე.
ზოგიერთი სცენარი რამაც შეიძლება გამოიწვიოს SSRC - ის შეცვლა საკომუნიკაციო სესიის
განმავლობაში, არის შემდეგი: Application restarts (აპლიკაციის გადატვირთვა), SSRC collisions
(SSRC შეჯახება), ცვლილებები RTP სატრანსპორტო მისამართებზე (ქსელის მისამართი,
პორტი).
RTP-ეს peer პროტოკოლი RTCP მოიცავს შემდეგ ფუნქციებს: 1. საშუალებას აძლევს მიმღებს და
გამომგზავნს მიაწოდოს, ხარისხის შესახებ ინფორმაცია reciver report - ის საშუალებით. ეს
რეპორტი საშუალებას აძლევს გამგზავნს, მიიღონ ქსელის მახასიათებლები და შესაძლოა
შეცვალონ მათი გადაცემის ნიმუშები ისე როგორც საჭიროება მოითხოვს. 2. RTCP
განსაზღვრავს transport-level იდენტიფიკატორს, სახელწოდებით კანონიკური სახელი
canonical name (CNAME), რომელიც ემსახურება სოურსის მიერ გადაცემულ ყველა მედია
ნაკადს. ასევე ეხმარება მიმღებს მრავალი ნაკადის კოლერაციაში მოცემულ მონაწილესთან და
მედიის სინქრონიზაციის მიღწევაში მონაწილის მიერ გადმოცემულ მრავალ ნაკადში. 3. RTCP
მოითხოვს ყველა მონაწილის რეპორტების გაცვლას, მიუხედავად იმისა არიან თუ არა ისინი
აქტიური გამგზავნები. ეს უზრუნველყოფს RTP სესიის გლობალურ ხედვას. RTCP
უზრუნველყოფს დიაგნოსტიკას და თითოეულ მონაწილეს აძლევს RTP სესიის მონაწილეების
შეფასებას. 4. RTCP - ს შეუძლია სურვილისამებრ, გადასცეს დამატებითი ინფორმაცია
მონაწილის იდენტობის, ელ.ფოსტა და ადგილმდებარეობის ინფორმაცია.
იმის გათვალისწინებით, რომ ყველა მონაწილემ უნდა გაუშვას RTCP ტრაფიკი , გადაცემა
პერიოდული უნდა იყოს დაშექმნილია ისე, რომ არ გადააჭარბოს სესიის გამტარიანობას. RTCP
ტრაფიკი ყოველთვის უნდა გამოიყოს მთლიანი სესიის გამტარუნარიანობის პროცენტული
მაჩვენებლით RTCP - ისთვის გამტარუნარიანობის რეკომენდირებული პროცენტი 5%-ს
შეადგენს.
1. Version: (V)
2. Padding: (P)
3. Reciver Count/Source Count: (RC/SC)
4. Packet Type (PT)
5. Lenght
Padding (P): როდესაც მითითებულია Padding ეს ბიტი მიგვანიშნებს იმაზე, რომ პაკეტი
შეიცავს დამატებით მონაცემთა ოქტეტს პაკეტის ბოლოს. ეს პირველ რიგში საჭიროა
როცა დაშიფვრის შიფერები მოითხოვს მონაცემთა ფიქსირებულ ბლოკებს.
ყველა RTCP პაკეტი უნდა გაიგზავნოს ნაერთი RTCP პაკეტის სახით, რომელიც მოიცავს
კომბინაციას პაკეტების სხვადასხვა RTCP ტიპს და მიყვება ძალიან მკაცრი შეკვეთის
წესის სქემას. RTCP პაკეტების ხუთი განსხვავებული ტიპებია:
პაკეტის გამგზავნის რეპორტიორი SSRC ველი მოიცავს წყაროს SSRC- ს, რომელიც გადასცემს
RTCP SR პაკეტს და ეს არის 32-ბიტიანი ველი. ამის შემდეგ არის 64-ბიტიანი ქსელის დროის
პროტოკოლი (NTP) Timestamp ველი. ამ სფეროში დრო გამოხატულია NTP ფორმატით, რაც
არის წამების რაოდენობა, ეს ველი მიუთითებს იმ დროზე, როდესაც RTCP SR პაკეტი
გაიგზავნა.
32-ბიტიანი RTP Timestamp ჰედერის ველი იმავე დროს კოდირებს, რასაც NTP Timestamp
ჰედერის ველი, მაგრამ გამოხატულია RTP დროის ფორმატში. მიმღები იყენებს NTP Timestamp
და RTP Timestamp ჰედერის ველებს გამგზავნისგან სხვადასხვა ნაკადების მედია საათების
სინქრონიზაციისთვის, რაც საშუალებას გვაძლევს აუდიო და ვიდეო მედიის ნაკადების
სინქრონიზაციას. RTP Timestamp ველის შემდეგ არის Sender's Packet Count და Sender's Octet
Count ველები. Sender's Packet Count ველი იღებს RTP მონაცემთა პაკეტების საერთო
რაოდენობას, რომლებიც გადაეცემა გამგზავნის მიერ სესიის დაწყებიდან RTCP SR პაკეტის
გადაცემით. Sender's Octet Count ველი იღებს RTP სესიის დაწყებიდან გაგზავნილი მონაცემთა
ჯამურ რაოდენობას, RTCP SR პაკეტის გადაცემით. ეს არ ითვალისწინებს RTP ჰედერებს და
padding- ს და მხოლოდ აღელვებს octets- ის რაოდენობა, რომლებიც იგზავნება RTP პაკეტის
Payload - ის გამოყენებით.
RTCP RR პაკეტში სურათის მიხედვით Packet Type ჰედერის ველში მითითებულია 201-ი, ხოლო
რეპორტების ბლოკების რაოდენობა მითითებულია RC-ი ჰედერის ველში. RTCP RR პაკეტის
გამგზავნის ვინაობა აღინიშნება SSRC ჰედერის ველში. RTP გამაგზავნი, რომლის შესახებაც
სტატისტიკა იგზავნება, მითითებულია SSRC Source_N ველში. შესაძლებელია RTP სესიის
ერთმა მონაწილემ RTP პაკეტები მიიღოს მრავალი წყაროდან, ამ შემთხვევაში მიღების
სტატისტიკის რეპორტში უნდა იყოს მოხსენიებული თითოეული წყარო. RTCP RR პაკეტში
სულ შესაძლებელია მითითებული იყოს 31 მიმღების რეპორტი. თუ არსებობს 31-ზე მეტი
წყარო მაშინ მოხსენება უნდა იყოს ამის შესახებ. Loss Fraction ჰედერის ველი აღნიშნავს RTP
მედია პაკეტების ნაწილს რომლებიც დაიკარგა კონკრეტული წყაროდან წინა SR ან RR პაკეტის
გადაცემის შემდეგ. ეს value გამოხატულია როგორც fixed-point ნომერი. Cumulative Number of
Packets Lost - ამ ჰედერის ველი არის 24 ბიტიანი მთელი რიცხვი, რომელიც აღნიშნავს
მიღებული პაკეტების რაოდენობას გამოკლებული მოსალოდნელი პაკეტების რაოდენობა.
მოსალოდნელი რაოდენობა განისაზღვრება ბოლოს მიღებული sequence number-ი,
გამოკლებულია დასაწყისიდან მიღებულ sequence number-ზე. პაკეტის დუბლიკატების
შემთხვევაში Cumulative Number ჰედერის ველს აქვს უარყოფითი value. Extended Highest
Sequence Number Received ჰედერი ველი არის 32 ბიტიანი, სადაც ქვედა 16 ბიტი მიუთითებს
RTP მედია პაკეტში მიღებულ უმაღლეს მიმდევრობის რიცხვს მოცემული წყაროდან. ზედა 16
ბიტი მიუთითებს თუ რამდენჯერ არის დანომრილი თანმიმდევრობა RTP-ში 65535-იდან 0-
ამდე. Interarrival Jitter ველი უზრუნველყოფს RTP გარემოს სტატისტიკური დისპერსიის
შეფასებას. დროს პაკეტის მოსვლას შორის. ამ ჰედერის ველი იზომება დროის ერთეულებში
და გამოიხატება როგორც მთელი რიცხვი. Last SR (LSR) ჰედერის ველი იჭერს NTP-ში
მიღებული 64 ბიტიდან შუა 32-ს, წინა SR პაკეტის TimeStamp ჰედერის ველიდან, რომელსაც ეს
RR ბლოკი შეესაბამება. თუ წყაროდან არ არის მიღებული RTCP SR პაკეტები, ამ ველში იქნება
მითითებული 0 ნული. The Delay Since Last SR (DSLR) ჰედერის ველი არის 32-ბიტიანი ველი,
რომელიც გამოხატულია 1/65,536 ერთეულებში, წამები რითაც გამოითვლება წყაროდან
მიღებული last SR პაკეტის დაყოვნება (რომელსაც ეს RR ბლოკი შეესაბამება) და გაგზავნა ამ RR
ბლოკის. თუ არ ყოფილა ჯერ SR პაკეტი მიღებული შესაბამისი წყაროდან, მაშინ ამ ჰედერის
ველში მითითებულია 0 ნული.
NAME SDES ელემენტის ტიპს აქვს value 2-ი და საჭიროა მონაწილისთვის სახელის
მისაწოდებლად. ჩვეულებრივ ეს დასახლებულია მომხმარებლის მიერ და შეიძლება იყოს
შემდეგი ფორმატით წარმოდგენილი მაგალითად, სახელი გვარი. აპლიკაციებს შეუძლიათ
გამოიყენონ NAME SDES პუნქტი კონფერენციების სიების შესავსებად, როდესაც მონაწილეები
შეუერთდებიან.
EMAIL SDES ელემენტის ტიპს აქვს value 3-ი და საჭიროა მონაწილისთვის ელ. ფოსტის
გადასაცემად და შეიძლება იყოს შემდეგი ფორმატით წარმოდგენილი მაგალითად,
tsotne.kapanadze@example.com
PHONE SDES ელემენტის ტიპს აქვს value 4-ი და ასახავს ტელეფონის ნომერს საერთაშორისო
ფორმატით.
LOC SDES ელემენტის ტიპს აქვს value 5-ი და შიფრავს მონაწილეთა მდებარეობას სხვადასხვა
ხარისხის დეტალებით. კორპუსი 11 საბურთალო, მოქმედებს კოდირება.
TOOL ელემენტის ტიპს აქვს value 6-ი და გამოიყენება პროდუქტის ან აპლიკაციის სახელის
გამოსავლინებლად რომელიც წარმოქმნის ნაკადს. ეს ძირითადად გამოიყენება
მარკეტინგისთვის და არ აქვს რაიმე გავლენა RTP სესიაზე.
NOTE SDES ელემენტის ტიპს აქვს value 7-ი და გამოიყენება ზოგადი აღნიშვნის
უზრუნველსაყოფად, როგორიცაა სტატუსი (მაგ. ტელეფონზე). მიუხედავად იმისა, რომ ეს
კარგია გამოყენებისთვის, ის ამაინც რ უნდა იქნას გამოყენებული საკომუნიკაციო სესიაზე
შეტყობინებების მიწოდებისთვის, რადგან RTCP პაკეტების გაცვლა იშვიათად ხდება
მონაწილეებს შორის.
PRIV SDES ელემენტის ტიპს აქვს value 8-ი და გამოიყენება ექსპერიმენტული მიზნებისთვის.
RTCP BYE პაკეტი გადაიცემა როდესაც მონაწილე ტოვებს RTP სესიას ან როდესაც აღმოჩენილია
SSRC შეჯახება. მონაწილეებს აქვთ გარკვეული დროის მოსაზრებები რომელიც უნდა
გავითვალისწინოთ RTCP BYE შეტყობინებების გადაცემისას, რათა თავიდან აიცილოთ
გადატვირთულობა.
RTCP BYE პაკეტის ფორმატი გამოსახულია სურათზე, მას აქვს პაკეტის ტიპის value 203. SC
ჰედერის ველი ასახავს SSRC/CSRC იდენტიფიკატორების რაოდენობას მოცემულ RTCP BYE
პაკეტში. optional 8-ბიტიანი ველი, ასახავს ოქტეტების რაოდენობას, რომლებიც გამოხატულია
Lenght და Reason for Leaving ჰედერის ველებში. ჰედერის ველი Reason for Leaving იძლევა
ტექსტურ აღწერას თუ რატომ გადაწყვიტა წყარომ RTP სესიის დატოვება. ამ ველის მაგილითი
შეიძლება იყოს “camera not operational.”
RTCP Transport
UDP და მსგავსი სატრანსპორტო ფენის პროტოკოლებისთვის, აპლიკაციებმა უნდა
გამოიყენონლუწი პორტის ნომერი RTP-სთვის და შემდეგი უფრო მაღალი (კენტი) პორტის
ნომერი RTCP-სთვის. აპლიკაციებს შეუძლიათ გამოიყენონ SDP ატრიბუტი a=rtcp:<udp-port>
სხვა RTP პორტის დასადგენად, შემდეგი UDP უმაღლესი პორტის ნაცვლად. გარდა ამისა, RFC
5761-მა შემოიღო RTP/RTCP მულტიპლექსირების კონცეფცია ერთი UDP პორტით. ეს არის
გადმოცემული SDP ატრიბუტის გამოყენებით a=rtcp-mux.
Dual-Tone Multifrequency
DTMF Relay
Voice over IP-ის (VoIP) გამოჩენასთან ერთად, კლავიატურის კლავიშების ტონის საიმედო
გადაცემა პრობლემად იქცა, რადგან აუდიო კოდეკები არ იყო ოპტიმიზირებული ამ ტიპის
მონაცემთა დამახინჯების გარეშე გადაცემისთვის. საჭირო გახდა ახალი ტონის გადაცემის
გზის პოვნა, რომელიც გათვალისწინებდა თანამედროვე ქსელების ყველა სირთულეს.
საბედნიეროდ, ინდუსტრია IETF და ITU-T ხელმძღვანელობით შემუშავებული იქნა DTMF relay
რომელიც თანამდეროვე ქსელებში კარგად მუშაობს. DTMF იყენებს ორი ტონის კომბინაციას:
მაღალი სიხშირის ტონს და დაბალი სიხშირის ტონს კლავიატურაზე (0–9, *, #) ან ასოს
(A,B,C,D) გამოსაყენებლად. მოწყობილობა, რომელიც მხარს უჭერს DTMF-ს აქვს 4×4
მატრიცული კლავიატურის განლაგება, ისე, რომ თითოეული მწკრივი წარმოადგენს ბგერის
დაბალი სიხშირის კომპონენტს და თითოეული სვეტი წარმოადგენს მაღალი სიხშირის
სიგნალის ტონალურ კომპონენტს.
ნაბიჯი პირველი. ITSP და CUBE აწარმოებენ მოლაპარაკებას in-band RTP-NTE DTMF მეთოდზე
და DTMF ციფრი გადადის CUBE-ზე ITSP-დან.
ნაბიჯი მეორე. CUBE და Unified CM მოლაპარაკებას აწარმოებენ out-of-band (OOB) SIP KPML DTMF
მეთოდზე და DTMF ციფრი გადადის Unified CM-ზე.
ნაბიჯი მესამე. Unified CM და UCCX თანხმდებიან DTMF მეთოდზე როგორც JTAPI მოვლენები
და DTMF მეთოდი გადაეცემა IVR აპლიკაციას ანალიზისთვის და მოქმედებისთვის.
In-band: In-band DTMF relay-ის ეხება ტონების გადაცემა RTP (მედია) ნაკადში.
ორივე მეთოდს აქვს თავისი დადებითი და უარყოფითი მხარეები და, როგორც VoIP-ის
მრავალი სხვა ასპექტის შემთხვევაში, საუკეთესო DTMF relay მეთოდის განხორციელების
არჩევანი დამოკიდებულია ქსელზე.
■ ზოგიერთ ტონს (როგორიცაა ANSAM ტონი მოდემის ზარებისთვის) აქვს ფაზის შეცვლა. ამ
ფაზის შებრუნებები შეუძლებელია ზუსტად იქნას გადატანილი აუდიო პაკეტების სახით IP
ქსელში. named telephony events-ის გამოყენება ასეთი ტონების წარმოსადგენად
მნიშვნელოვნად ამარტივებს პროცესს.
NTE Payload სტანდარტულ RTP პაკეტებში ისე, რომ იგივე sequence number და timestamp
სივრცე გამოიყენება როგორც აუდიო კოდირებული პაკეტებისთვის, ასევე NTE
პაკეტებისთვის.
განვიხილოთ თუ როგორ ხდება NTE პაკეტის RTP პაკეტში გატარება, რომელიც ატარებს NTE
Payload-ს. სამი სხვადასხვა ტიპის პაკეტი იგზავნება თითო მოვლენაზე NTE სქემაში:
■ პაკეტი, რომელიც მიუთითებს DTMF მოვლენის დაწყებაზე. საწყის RTP პაკეტში მარკერის
ბიტი (M) ყოველთვის არის 1-ზე. RFC 2833-ში შეიძლება იყოს სამი პაკეტი მარკერის ბიტით
დაყენებული true-ზე, ხოლო RFC 4733-ში DTMF მოვლენაში მხოლოდ პირველ პაკეტს უნდა
ჰქონდეს მარკერის ბიტის ნაკრები true-ზე
■ Event: ეს არის რიცხვი 0-დან 255-მდე, სადაც თითოეული რიცხვი აღნიშნავს კონკრეტულ
ივენთს, როგორც ეს აღწერილია RFC 2833-ში და RFC 4733-ში. თუმცა, DTMF-ისთვის ივენთ ID-
ებს შეუძლიათ მიიღონ რიცხვი 0-დან 15-მდე. ცხრილში ჩამოთვლილია რიცხვები და ასოები
რომბლებსაც შეესაბამება რიცხვები 0-იდან 15-ამდე:
ასო A-დან D-მდე არის სამხედრო აპლიკაციებისთვის და ჩვეულებრივ არ გამოიყენება
კომერციულ პროგრამებში.
■ End (E) bit: როდესაც ეს ბიტის მნიშვნელობა დაყენებულია 1-ზე, ის აღნიშნავს DTMF
მოვლენის დასასრულს; აუცილებელია, რომ ეს ბიტი არ იყოს დაყენებული 1-ზე იმ
პაკეტებისთვის, რომლებიც ან მიუთითებენ ივენთის დაწყებას ან ანახლებენ პაკეტებს,
რომლებიც იგზავნება ყოველ 50 მილიწამში.
მიუხედავად ამისა, ჯერ კიდევ არის ზოგიერთი სერვისის პროვაიდერი, რომელიც იყენებს
DTMF გადაცემის ამ მეთოდს. ქვემოთ მოყვანილ სურათზე ნაჩვენებია NTE და RAW მეთოდით
DTMF ტონის გადაცემა.
Out-of-Band DTMF Relay
Out-of-Band DTMF Relay ეყრდნობა სასიგნალო არხს ციფრების დაჭერისთვის კომუნიკაციაში.
ზარის კონტროლის პროტოკოლებს, როგორიცაა SIP და H.323, აქვთ სპეციალიზებული
მექანიზმები და გაფართოებები DTMF ინფორმაციის კომუნიკაციისთვის. DTMF Relay-ის ამ
მეთოდით, გადიან სასიგნალო გზას, რომელიც შეიძლება მოიცავდეს აგენტების გამოძახებებს
და პროქსებს, სხვა მოწყობილობებს შორის. შემდეგი სურათი ასახავს განსხვავებას in-band და
out-of-band DTMF-ს შორის.
JITTER
გლობალური მიღების ჰიბრიდულმა მუშაობამ ხაზი გაუსვა VoIP-ისა და ვიდეოს
მნიშვნელობას, როგორც პირველადი საკომუნიკაციო გადაწყვეტილებებს. ძალიან
მნიშვნელოვანია, რომ თქვენი ქსელი ოპტიმალურად ფუნქციონირებდეს ნებისმიერ დროს და
ყველა მოწყობილობასა და მდებარეობაზე. თუმცა, ერთ-ერთი ყველაზე გავრცელებული
გამოწვევა არის ქსელის ცუდი ხარისხი, რაც გავლენას ახდენს VoIP ზარის ხარისხზე და ამ
დროს ვიდეოს ხარისხიც დაბალია. Jitter არის დროის დაყოვნების ცვალებადობა სიგნალის
გადაცემისა და ქსელის კავშირის საშუალებით მიღებისას, რაც ზომავს ცვალებადობას პინგში.
ეს ხშირად გამოწვეულია ქსელის გადატვირთულობით, ტექნიკის ცუდი მუშაობით და
პაკეტების პრიორიტეტიზაციის შეუსრულებლობით. VoIP და ვიდეო სერვისების
შესრულებისას ნეგატიურად მოქმედებს რაც უფრო დიდია დაგვიანება და მაღალმა ჯიტერმა
შეიძლება გამოიწვიოს წყვეტილი და არათანმიმდევრული საუბარი ზარისას - ან საერთოდ
გაითიშოს ზარი.
Data packets: ქსელში ჯიტერის დასადგენად, საქმე ეხება მონაცემთა პაკეტებს და პაკეტის
დაკარგვას. ქსელის მონაცემთა პაკეტების უმეტესობა დაყოფილია სამ ნაწილად:
Trailer ეუბნება მიმღებ მოწყობილობას, რომ მიაღწია პაკეტის ბოლოს. მას ასევე შეიძლება
ჰქონდეს გარკვეული ტიპის შეცდომის შემოწმება. შეცდომის ყველაზე გავრცელებული
შემოწმება, რომელიც გამოიყენება პაკეტებში, არის ციკლური სიჭარბის შემოწმება (CRC).
ჯიტერის მაგალითები
Short term delay variation დაყოვნების ზრდა, რომელიც გრძელდება გარკვეული რაოდენობის
პაკეტებისთვის და შეიძლება თან ახლდეს პაკეტიდან პაკეტის დაყოვნების ცვალებადობის
ზრდა. ამ ტიპის ჯიტერი ჩვეულებრივ გამოწვეულია გადატვირთულობით და მარშრუტის
ცვლილებებით.
ზოგიერთ აპლიკაციას და სერვისს აქვს უფრო მაღალი დონის ტოლერანტობა jitter-ის მიმართ,
ვიდრე სხვებს. რა არის მისაღები ქსელის ჯიტერი? მაგალითად, ჯიტერი არ ახდენს გავლენას
ელ.წერილების გაგზავნაზე ისე, როგორც ეს VoIP ზარებზეა დამოკიდებული, ასე რომ, ეს
დამოკიდებულია იმაზე, თუ რა გვინდა მივიღოთ თქვენი ინტერნეტ სერვისის
პროვაიდერისგან, როგორც დარღვევები და რყევები მონაცემთა გადაცემაში. მაგრამ ცუდი
აუდიო ხარისხი VoIP ზარებსა და ვიდეოს ხარისხში იწვევს მომხმარებლის ცუდ
გამოცდილებას და შეიძლება გავლენა იქონიოს ორგანიზაციის ხაზზე. ყველა ქსელი
განიცდის გარკვეულ შეყოვნებას, განსაკუთრებით ფართო არეალის ქსელები. იდეალურ
შემთხვევაში, ნორმალურად მოქმედ ქსელში, პაკეტები მოძრაობენ თანაბარი ინტერვალებით,
პაკეტებს შორის 10 ms დაგვიანებით. მაღალი ჟიტერის შემთხვევაში, ეს შეიძლება გაიზარდოს
50 ms-მდე, რაც სერიოზულად არღვევს ინტერვალებს და გაურთულებს მიმღებ კომპიუტერს
მონაცემთა დამუშავებას.
იდეალურ შემთხვევაში, ჯიტერი უნდა იყოს 30 ms-ზე ნაკლები. პაკეტის დაკარგვა არ უნდა
იყოს 1%-ზე მეტი, ხოლო ქსელის შეყოვნება არ უნდა აღემატებოდეს 150 ms ცალმხრივი (300
ms დაბრუნება). თუ თქვენ მხოლოდ ერთ ბოლო წერტილს აკონტროლებთ, შეგიძლიათ
შეასრულოთ პინგ ჯიტერის ტესტი საშუალო ორმხრივი დროისა და მინიმალური ორმხრივი
დროის გაანგარიშებით პაკეტების სერიისთვის ხოლო თუ თქვენ გაქვთ კონტროლი ორივე
ბოლო წერტილზე, მაშინ შეგიძლიათ შეამოწმოთ ჯიტერი იმით, რაც ცნობილია როგორც
მყისიერი ჯიტერის გაზომვა( instantaneous jitter). ეს ეხება განსხვავებას გადაცემისა და
მიღების ინტერვალებს შორის ერთი პაკეტისთვის. ამ შემთხვევაში, ჯიტერი გამოითვლება,
როგორც საშუალო სხვაობა მყისიერად ჯიტერის წაკითხვასა და საშუალო მყისიერ ჯიტერს
შორის მრავალ პაკეტში.
Traffic shaping - ხელოვნურად ზრდის დაყოვნებას, რათა შეამციროს ვარდნა Frame Relay-ში ან
ATM ქსელში.
ზოგადად Traffic shaping (ან packet shaping) არის გამტარუნარიანობის შეზღუდვის ტექნიკა,
რომელიც შეიძლება მოხმარდეს გარკვეულ აპლიკაციებს კრიტიკული აპლიკაციების მაღალი
შესრულების უზრუნველსაყოფად.
Single Endpoint
Double endpoint
ამ დროს საზომი არის მყისიერი ჯიტერი(instantaneous jitter), ანუ ცვალებადობა ერთი პაკეტის
გადაცემისა და მიღების ინტერვალებს შორის. Jitter არის საშუალო განსხვავება მყისიერად
გაზომილ ჯიტერსა და საშუალო მყისიერ ჯიტერს შორის მონაცემთა პაკეტების სერიის
გადაცემის განმავლობაში.
Bandwidth Testing
Jitter buffering - VoIP ბოლო წერტილები, როგორიცაა სამაგიდო ტელეფონები და ATA, როგორც
წესი, შეიცავს ჯიტერ ბუფერებს, რათა განზრახ შეაფერხოს შემომავალი მონაცემთა პაკეტები.
Jitter ბუფერი უზრუნველყოფს, რომ მიმღებ მოწყობილობას შეუძლია შეინახოს პაკეტების
გარკვეული რაოდენობა და შემდეგ გაასწოროს ისინი სათანადო თანმიმდევრობით, ისე, რომ
მიმღებმა განიცადოს ხმის მინიმალური დამახინჯება. Jitter ბუფერები არის ერთ-ერთი გზა
ქსელის ჯიტერისა და შეყოვნების მოსაგვარებლად, მაგრამ ყოველთვის არ იმუშავებს. თუ
jitter ბუფერი ძალიან მცირეა, მაშინ ძალიან ბევრი პაკეტი შეიძლება განადგურდეს, რაც
ნიშნავს ცუდი ზარის ხარისხს. თუ ჯიტერის ბუფერი ძალიან დიდია, მაშინ დამატებით
შეფერხებამ შეიძლება გამოიწვიოს საუბრის სირთულე. ტიპიური jitter ბუფერის
კონფიგურაცია არის 30ms-დან 50ms-მდე ზომის. თქვენ შეგიძლიათ გაზარდოთ თქვენი
ჯიტერის ბუფერის ზომა მაგრამ, როგორც წესი, ისინი ეფექტურია მხოლოდ 100 ms-ზე
ნაკლები დაყოვნებისთვის.
გამტარუნარიანობის გაზრდა
• გადახდა.yourdomain.com
• ავტორიზაცია.yourdomain.com
• ელ.ფოსტა.yourdomain.com
• გადმოწერა.yourdomain.com
• ნებისმიერი.yourdomain.com
• www.example.com
• example.org
• mail.this-domain.net
• example.anything.com.au
• checkout.example.com
• secure.example.org
• ვოიპ ტელეფონია
• ვიდეო და მედია კონფერენცია
• მყისიერი გუნდური ჩეთის შეტყობინებები
• მომხმარებელთა საკონტაქტო ცენტრი
• გარე აპლიკაციები
• მონაცემთა ინტეგრაცია
Cisco UC Components
ცისკოს ერთიანი კომუნიკაციის კომპონენტები
Application Layer
აპლიკაციების ფენა
ცისკოს აპლიკაციები დამოუკიდებლად მუშაობს ზარის მართვის ფუნქციებისგან და ხმის
დამუშავების ფიზიკური ინფრასტრუქტურისგან. ამის ნაცვლად აპლიკაციები
ინტეგრირებულია აიპის მეშვეობით, რაც მათ საშუალებას აძლევს იყოს ნებისმიერ ადგილას
ქსელში. ზოგიერთ პოპულარულ აპლიკაციას მიეკუთვნება Cisco Unified MeetingPlace, Cisco
Emergency Responder, Cisco Unified Presence და სტანდარტული პროტოკოლის ინტერფეისები,
მათ შორის სატელეფონო აპლიკაციის პროგრამირების ინტერფეისი, Java სატელეფონო
პროგრამის ინტერფეისი და მარტივი ობიექტზე წვდომის პროტოკოლი.
Endpoints Layer
საბოლოო წერტილების ფენა
ღია და თავსებადი
CUCM - თან შესაძლებელია მესამე მხარის ინტეგრაცია. ცისკოს გიგანტური ქსელით
სარგებლობით, მომხმარებლებს შეუძლიათ ისარგებლონ ცისკოს კოლაბორაციის მდიდარი
ინსტრუმენტებით, ეს ასევე მოიცავს პარტნიორობას მსხვილ კომპანიებთან როგორიცაა
Microsoft, Amazon Web Services, Google, Saleforce, Dropbox. მაგალითად Webex Cloud-Connected
UC - სერვისებისაშუალებას იძლევა ნრავალ საიტიან ბიზნესს ქონდეს ცენტრალიზირებული
კონტროლი ერთიან კომუნიკაციებზე. ეს მოიცავს ფუნქციებს , როგორიცაა განახლებები,
ანალიტიკა და პრობლემის აღმოფხვრა საიტის სპეციფიკური ზედამხედველობის გარეშე.
უსაფრთხოება
ანალიტიკა
ცისკო გვთავაზობს ანალიტიკური ინტეგრაციის ფართო სპექტრს რათა კლიენტებმა მიიღონ
მონაცემები, რომლებიც მათ სჭირდებათ რათა გააუმჯობესონ საკომუნიკაციო არხების ფრომა
და ფუნქციონირება, ძირითადი ანალიტიკური შემოთავაზებები მოიცავს:
Call Routing
ზარის მარშუტიზაცია
Call Queuing
ზარის რიგი
Call Recording
ზარის ჩაწერა
CUCM - ს აქვს მხარდაჭერა ზარის ჩაწერის სამი ტიპის და ხელმისაწვდომია როგორც ერთ
კლასტერულ ასევე მრავალ კლასტერულ გარემოში.
1. ავტომატური ჩუმი ჩაწერა, იწყებს ზარის ჩაწერას ყველა ზარზე, ტელეფონზე არ არის
ვიზუალური მითითება რომ ზარის ჩაწერა მიმდინარეობს
2. შერჩევითი ჩუმი ჩაწერა ჩართულია ზედამხედველის მიერ CTI - ზე, შესაძლებელია
ავტომატური ჩაწერისთვის წინასწარ განვსაზღვროთ წესები მოვლენების საფუძველზე
3. მომხმარებლის შერჩევითი ჩაწერა, მომხმარებელი ირჩევს რომელი ზარები ჩაიწეროს.
როდესაც ჩართულია მომხმარებლის შერჩევითი ჩაწერა, ტელეფონი აჩვენებს რომ
ჩაწერის სესია აქტიურია
Auto-Attendant
Integration
ინტეგრაცია
CUCM - შექმნილია ცისკოს აპარატურასა და პროგრამულ უზრუნველყოფასთან უკეთესად
ინტეგრირებისთვის, თუმცა ის ასევე თავსებადია მესამე მხარის მოწყობილობებთან და
ბიზნეს საკომუნიკაციო აპლიკაციებთან. Cisco end point ტექნიკის ინტეგრაცია მოიცავს Cisco ip
ტელეფონებს, Webex დაფებს, Webex room სერიებს, Webex ყურსასმენებს, Webex desk pro - ს და
კიდევ ბევრ სხვა ცისკოს მოწყობილობას. მესამე მხარის ინტეგრაცია მოიცავს Poly და Yealink IP
ტელეფონებს, Jabra headsets და სხვა. CUCM ინტეგრირდება ცისკოს ბიზნეს საკომუნიკაციო
გადაწყვეტილებებთან როგორიცაა:
• Webex Meetings
• Webex Calling
• Cisco Jabber
• Cisco Unified Mobility
• Webex Events
• Cisco UC Manager IM and Presence Service
• Cisco Webex Messenger
• Cisco Unified Contact Center Enterprise
• Cisco Business Edition 7000
• Cisco Business Edition 6000
• Cisco Network Route Director
• Cisco UC Integration for Microsoft Lync
• Cisco Expressway Series
• Cisco Unified Border Element
• Cisco Emergency Responder
• Cisco Office Manager
• Cisco Paging Server
• Cisco RSVP Agent
• Cisco Unified CallConnectors
• Cisco Unified Communications Widgets
• Cisco WebAttendant
• Inbound voice
• Outbound campaign
• Agent email
• Web chat
• Next-generation historical and real-time reports and dashboards
Unified CCX Engine ასრულებს Contact Center Express-ის ძირითად ფუნქციებს, რომელიც
მოიცავს:
CTI Server
CTI სერვერი პასუხისმგებელია ზარების თვალყურის დევნებაზე, აგენტის მდგომარეობებზე
და ყველა CTI კლიენტთან სოკეტის კავშირების შენარჩუნებაზე. ის ასევე ამუშავებს CTI
კლიენტების მოთხოვნებს და აგზავნის განახლებებს, როდესაც ხდება ცვლილებები. CTI
კლიენტები უკავშირდებიან და ურთიერთობენ CTI სერვერთან/CCX ძრავთან ერთიანი CCX CTI
პროტოკოლის მეშვეობით. CTI პროტოკოლის გამოყენებით, აპლიკაციებს შეუძლიათ: