Quá trình đàm thoại

Một phần của tài liệu TÌM HIỂU HỆ THỐNG VOIP TRÊN ASTERISK (Trang 33 - 36)

b. Định hƣớng cuộc gọi SIP

4.4.2Quá trình đàm thoại

Sau khi phiên đàm thoại đƣợc khởi tạo, ở cả 2 softphone sẽ thực hiện mã hóa tín hiệu rồi truyền đi theo giao thức RTP. Đầu tiên chúng ta tìm hiểu khái niệm giao thức RTP: RTP ( viết tắt của Real-time Transport Protocol) là một giao thức Internetchuẩn đƣợc sử dụng rộng rãi trong các ứng dụng thời gian thực nhƣ điện thoại Internet, video streaming. Giao thức RTP định nghĩa cách thức cho phép các ứng dụng quản lý việc truyền tải thông tin với thời gian thực (real-time transmission).

Dƣới đây là cấu trúc khung của một gói tin RTP:

Hình 4-5: Cấu trúc khung của gói tin RTP

- Header RTP gồm các thông tin cần thiết cho ứng dụng đích cấu trúc lại mẫu tiếng nói đã đƣợc chia nhỏ để truyền trên đƣờng truyền.

 V (Version): Chỉ ra version của RTP – 2bit

 P (Padding) : Cho biết có các byte đệm ở cuối vùng payload hay không ( Do chiều dài vùng payload của gói RTP phải là bội số của 32) – 1 bit

 X (Extension) : Cho biết header RTP có phần header extension hay không – 1bit

 CSRC count: Cho biết số nhận diện nguồn phát trong vùng CSRC – 4bit

 M (Marker): Đánh dấu khi bắt đầu truyền dữ liệu thoại. Hỗ trợ tính năng loại bỏ khoảng lặng – 1bit

 PT (Payload Type): Chỉ ra loại chuẩn mã hóa đƣợc dùng để mã hóa dữ liệu thoại trong vùng payload – 7bit

 Sequence number: Số thứ tự của các gói RTP đƣợc gửi đi Giúp đầu thu xác định đƣợc sự mất gói và thứ tự gói. Giá trị ban đầu đƣợc thiết lập ngẫu nhiên – 16bit

RTP packet

Nhóm 1-Đ07VTA1 Page 34

 Timestamp: Chỉ ra thời điểm mà mẫu đầu tiên trong payload đƣợc tạo ra (Thời điểm lấy mẫu đƣợc tham chiếu tới đồng hồ xung clock). Giá trị ban đầu của timestamp là một giá trị ngẫu nhiên – 32bit

 Synchonization Source Identifier (SSRC): Giúp đầu thu nhận dạng đồng bộ phía đầu phát – 32bit

 Contributing source (CSRC): Chứa một giá trị SSCR cho một thành phần tham gia vào phiên giao dịch Vùng này đƣợc sử dụng khi dòng RTP xuất phát từ một bộ trộn – 32bit

- Header Extension: Sử dụng cho các dạng tin yêu cầu thêm thông tin đặc biệt nào đó – 32bit

- Payload: Dữ liệu cần truyền trong một gói RTP, trong trƣờng hợp VoIP dữ liệu này là tín hiệu thoại đã đƣợc mã hóa – bội số của 32bit

Sau đây chúng ta sẽ bắt một gói tin RTP trong quá trình thực hiện đàm thoại để phân tích:

Gói tin đƣợc bắt là gói tin thứ 49 trong số các gói tin giao tiếp giữa hai máy trong quá trình thiết lập cuộc gọi: Máy nguồn PBX có địa chỉ IP: 10.10.10.10 gọi tới máy đích có địa chỉ IP: 10.10.10.5

Nhóm 1-Đ07VTA1 Page 35

Giao thức RTP nằm bên trên giao thức UDP trong cấu trúc của một khung Ethernet mà chúng ta bắt đƣợc Dƣới đây là phần gói tin RTP dƣới dạng các ký tự hệ hexa:

Ý nghĩa của các byte trong gói tin bắt đƣợc:

So sánh với cấu trúc khung đƣợc đƣa ra ở trên, gói tin bắt đƣợc có:

- V=2, tức là RFC 1889 version 2

- P = 0 : Không có đệm ở cuối vùng payload

- X = 0 : Không có phần header extension (phần mở rộng header)

- CSRC count = 0: Do không có bộ trộn (mixed)

- M=0: Đây không phải là gói đầu tiên trong luồng tiếng nói.

- Payload type = 0: Chuẩn mã hóa dữ liệu trong vùng payload là ITU-T G.711

PCMU (adsbygoogle = window.adsbygoogle || []).push({});

- Sequence number = 37116: Số thứ tự của gói tin RTP này là 37116

- Timestamp = 3025776: Mốc thời gian của mẫu đầu tiên trong payload

- Synchronization Source Identifier = 4be8f7e4 (1273559012) : Giá trị đầu thu

sử để nhận dạng nguồn đồng bộ tại phía đầu phát.

- Do không sử dụng bộ trộn (mixed) nên không cần trường Contributing source

(CSRC)

Nhóm 1-Đ07VTA1 Page 36

Các bản tin RTP nhƣ vậy đƣợc trao đổi qua lại cho đến khi kết thúc phiên đàm thoại.

Một phần của tài liệu TÌM HIỂU HỆ THỐNG VOIP TRÊN ASTERISK (Trang 33 - 36)