CHƯƠNG V: CÁC BỘ RTP TRANSLATORS VÀ RTP MIXERS
5.2. HOẠT ĐỘNG CỦA BỘ TRANSLATORS:
Khi gúi dữ liệu RTP được chuyển tiếp qua cỏc bộ “mixer” và “translator”, nú cú thể bị sửa đổi, khi đú ta phải co xử lý đối với cỏc gúi RTCP. Trong nhiều trường hợp, chỳng tỏch cỏc gúi ghộp RTCP được nhận từ cỏc hệ thống đầu cuối, tập hợp cỏc thụng tin SDES và sửa đổi cỏc gúi SR và RR. Sự truyền lại cỏc thụng tin này cú thể gõy ra “trigger” do khoảng thời điểm đến của cỏc gúi tin hoặc do bản thõn bộ “mixer” và “translator” gõy ra.
Hỡnh 5.2: Hoạt động của Translator.
Nếu bộ “translator” chỉ thực hiện chuyển đổi giữa địa chỉ multicast và địa chỉ Unicast, khụng sửa đổi gỡ cỏc gúi dữ liệu thỡ đối với cỏc gúi RTCP nú cũng khụng phải sửa đổi. Khi một bộ “translator” thay đổi dạng của phần tải RTP theo một cỏch nào đú thỡ nú cũng phải thay đổi cỏc thụng tin trong gúi SR và RR một cỏch tương ứng. Để cú thể đảm bảo cỏc gúi này vẫn phản ỏnh được cỏc thuộc tớnh của gúi RTP 76
được gởi đi (đối với gúi SR), chất lượng nhận cỏc gúi RTP (đối với gúi RR). Cỏc gúi RTCP khụng chỉ được chuyển tiếp một cỏch đơn thuần.
Chỳ ý: thường thỡ “translator” khụng kết hợp cỏc gúi SR và RR từ cỏc nguồn khỏc vào một gúi chung, bởi vỡ như vậy sẽ làm giảm độ chớnh xỏc của việc đo thời gian trễ lan truyền dựa trờn cỏc trường LSR và DLSR.
Bõy giờ ta sẽ tỡm hiểu cụ thể tỏc động của “translator” tới cỏc loại gúi tin RTCP:
a. SR (thụng tin người gởi): Một bộ “translator” sẽ khụng tạo ra gúi SR của riờng mỡnh, nú chỉ nhận SR từ một “cloud” rồi chuyển tiếp đến cỏc “cloud” khỏc. Trong đú trường SSRC được giữ nguyờn, nhưng cỏc trường mụ tả thụng tin người gởi cú thể bị thay đổi nếu cần thiết.
• khi bộ “translator” thay đổi cỏch mó hoỏ dữ liệu thỡ nú phải thay đổi giỏ trị của trường đếm số byte của người gởi ( sender's byte count).
• Nếu bộ “translator” thực hiện việc ghộp nhiều gúi dữ liệu đầu vào thành một gúi dữ liệu đầu ra, nú sẽ phải thay đổi trường đếm số gúi mà người gởi đó phỏt đi (sender's packet count).
• Nếu “translator” thay đổi nhón thời gian trong gúi RTP thỡ nú cũng phải thay đổi trường "RTP timestamp" trong gúi SR.
α. Cỏc khối thụng bỏo SR/RR:
Một bộ “translator” nhận một bản tin bỏo nhận từ một “cloud” chuyển tiếp đến cỏc “cloud” khỏc, với trường SSRC khụng đổi. Chỳ ý rằng, luồng cỏc bản tin bỏo nhận cú chiều ngược với chiều của luồng dữ liệu RTP.
• Nếu trước đõy “translator” kết hợp nhiều gúi RTP đầu vào thành một gúi RTP ghộp tại đầu ra và đó thực hiện việc thay đổi số thứ tự của gúi, thỡ nú phải thực hiện chuyển đổi ngược tương ứng với cỏc trường “packet loss” và "extended last sequence number”. Điều này cú thể là phức tạp.
• Trong một số trường hợp, khụng cú cỏch nào hiệu quả để chuyển đổi cỏc bản tin bỏo nhận, “translator”sẽ tổng hợp cỏc bản tin bỏo nhận của từng đầu cuối rồi tạo ra một bản bỏo nhận mới để chuyển đi.
Một “translator” khụng bắt buộc cú một định danh SSRC riờng, tuy nhiờn cũng nờn cú một giỏ trị SSRC dựng với mục đớch gởi đi cỏc thụng bỏo nú đó nhận được những gỡ. Cỏc bản tin này sẽ được gởi tới tất cả cỏc “cloud” kết nối với “translator” đú. Mỗi “cloud” sẽ nhận cỏc bản tin này rồi truyền multicast cỏc thành viờn của nú.
c. SDES: Thường thỡ “translator” sẽ chuyển tiếp cỏc gúi tin SDES từ một “cloud” đến cỏc “cloud” khỏc mà khụng hề thay đổi gỡ. Trong trường hợp băng thụng hạn chế “translator” sẽ chặn cỏc gúi SDES. Cỏc gúi CNAME phải luụn được chuyển tiếp vỡ nú được dựng để xỏc định xung đột SSRC trờn mạng.
Khi một bộ “translator” cú tạo ra cỏc gúi RR của riờng mỡnh thỡ phải gởi đi cỏc thụng tin về SDES, CNAME của nú.
d. BYE:
“translator” chuyển tiếp gúi BYE, khụng hề thay đổi gỡ. khi một bộ “translator” dừng việc chuyển tiếp cỏc gúi tin (RTP/RCTP) thỡ nú sẽ gởi gúi BYE đến tất cả cỏc “cloud” mà nú kết nối. Trong gúi BYE này sẽ chứa danh sỏch tất cả cỏc SSRC mà nú đó từng chuyển tiếp đến “cloud” đú, bao gồm cả SSRC của chớnh nú (nếu như nú cũng đó gởi đi cỏc bản thụng bỏo của riờng mỡnh).
e. APP: Gúi này được chuyển tiếp hoàn toàn khụng thay đổi gỡ.