Cấu trúc bản tin SIP:

Một phần của tài liệu giao thức khởi tạo phiên sip trong mạng ngn (Trang 33 - 40)

b. Bản tin phúc đáp (Response):

2.7.Cấu trúc bản tin SIP:

Cả hai loại bản tin trên đều sử dụng chung một định dạng cơ bản được quy định trong RFC 2822 với cấu trúc gồm một dòng khởi đầu (start - line),một số trường tiêu đề và một phần thân bản tin tuỳ chọn (hình 4.2). Cấu trúc này được tóm tắt như sau:

generic-message = start-line *message-header

[ message-body ] Với

start-line = Request-Line / Status-Line

Hình 4.2. Cấu trúc bản tin SIP

Trong đó, dòng bắt đầu, các dòng tiêu đề hay các dòng trắng phải được kết thúc bằng một ký tự xuống dòng (CRLF) và phải lưu ý rằng dòng trắng vẫn phải có để ngăn cách phần tiêu đề và phần thân của bản tin ngay cả khi phần thân bản tin là rỗng.

* Start line: Mỗi bản tin SIP được bắt đầu với một Start Line, Start Line vận chuyển loại bản tin (phương thức trong các Request, và mã đáp ứng trong cácbản tin đáp ứng) và phiên bản của giao thức. Start line có thể là Request-Line (trong các request) hoặc là Status-Line (trong các response).

* Headers: Các trường Hearder của SIP được sử dụng để vận chuyển các thuộc tính của bản tin và để thay đổi ý nghĩa của bản tin. Chúng tương tự như các trường tiêu để của bản tin HTTP theo cả cú pháp và ngữ nghĩa (thực tế có một vài tiêu đề được mượn từ HTTP) cho nên chúng luôn có khuôn dạng như sau:

<Name>:< Value>.

Thứ tự các trường tiêu đề khác tên là không quan trọng (nhưng các tiêu đề mà được sử dụng để định tuyến bởi các proxy sẽ được đặt trước). Thứ tự các tiêu đề có cùng tên là quan trọng.

- Tiêu đề chung. - Tiêu đề Request. - Tiêu đề Response. - Tiêu đề thực thể.

* Body: Thân bản tin được sử dụng để mô tả phiên được khởi tạo (ví dụ: trong một phiên multimedia phần này sẽ mang loại mã hóa audio và video, tốc độ lấy mẫu …), hoặc nó có thể được sử dụng để mang dữ liệu dưới dạng text hoặc nhị phân (không được dịch) mà liên quan đến phiên đó. Phần thân bản tin có thể xuất hiện trong cả bản tin yêu cầu và đáp ứng. Các loại Body bao gồm:

- SDP: Session Description Protcol ( Giao thức mô tả phiên) - MIME: Multipurpose Internet Mail Extentions.

- Các phần khác: được định nghĩa trong IETF.

2.8.Thiết lập và huỷ cuộc gọi SIP

Phiên gọi SIP giữa 2 điện thoại không qua Proxy:

- Máy được gọi gửi trả một thông tin hồi đáp 100 – Thử.

- Khi máy được gọi bắt đầu đổ chuông, một tín hiệu hồi đáp 180 – Đổ chuông được gửi trả

- Khi bên gọi nhấc máy, máy được gọi gửi một tín hiệu hồi đáp 200 - OK - Máy gọi hồi đáp với ACK – tiếp nhận

- Lúc này cuộc gọi đích thực được truyền dưới dạng dữ liệu thông qua RTP - Khi người gọi dập máy, một yêu cầu BYE được gửi đến cho máy gọi - Máy gọi phản hồi với tín hiệu 200 - OK.

Hoạt động của Proxy server được trình bày như trong hình ở trên Client SIP cuong@gmail.com gửi bản tin INVITE cho tuan@yahoo.com để mời tham gia cuộc gọi.

Các bước được mô tả như sau:

• Bước 1: cuong@gmail.com gửi bản tin INVITE cho tuan@yahoo.com ở miền yahoo.com, bản tin này đến Proxy server SIP của miền yahoo.com (bản tin INVITE có thể đi từ Proxy server SIP của miền gmail.com và được Proxy SIP này chuyển đến Proxy server của miền yahoo.com).

• Bước 2: Proxy server của miền Yahoo.com sẽ tham khảo server định vị(Location server) để quyết định vị trí hiện tại của tuan.

• Bước 3: Server định vị trả lời lại vị trí hiện tại của tuan (giả sử là

tuan@yahoo.com).

• Bước 4: Proxy server gửi bản tin INVITE tới tuan@yahoo.com .Proxy server thêm địa chỉ của nó trong một trường của bản tin INVITE.

• Bước 5: UAS của tuan đáp ứng cho server Proxy với bản tin 200 OK.

• Bước 6: Proxy server sẽ gửi bản tin 200 OK đáp trả về chocuong@gmail.com

• Bước 7:cuong@gmail.com gửi bản tin ACK cho tuan@yahoo.com thông qua Proxy Server.

• Bước 8: Proxy server chuyển bản tin ACK cho tuan@yahoo.com . (adsbygoogle = window.adsbygoogle || []).push({});

• Bước 9: Sau khi cả 2 bên đồng ý tham gia cuộc gọi, thiết lập một kênh RTP/RTCP giữa 2 điểm cuối để truyền tín hiệu thoại.

• Bước 10: Sau khi quá trình truyền dẫn hoàn tất, phiên làm việc bị xóa bằng cách sử dụng bản tin ACK và BYE giữa 2 điểm cuối.

Hoạt động của máy chủ chuyển đổi địa chỉ (Redirect Server):

• Bước 1: Redirect server nhận được yêu cầu từ cuong@gmail.com (Yêu cầu này có thể đi từ 1 Proxy server khác).

• Bước 2: Redirect server truy vấn đến Location Server để định vị địa chỉ của tuan.

• Bước 3: Location Server trả lại địa chỉ của tuan cho Redirect server.

• Bước 4: Redirect server trả lại địa chỉ của tuan đến người gọi cuong.Nó không phát yêu cầu INVITE như Proxy Server.

• Bước 5: User Agent Client cuong gửi lại bản tin ACK cho Redirect Server để xác nhận sự trao đổi thành công.

• Bước 6: Người gọi cuong gửi yêu cầu INVITE trực tiếp đến địa chỉ được trả bởi Redirect Server (ở đây là đến tuan).Người bị gọi tuan đáp ứng với chỉ thị thành công (200 OK), và người gọi đáp trả bản tin ACK để xác nhận.Cuộc gọi được thiết lập.

Tổng quát lại trong mạng SIP quá trình thiết lập và hủy một phiên kết nối:

• Đăng ký, khởi tạo và xác định vị trí người sử dụng.

• Xác định băng thông cần thiết được sử dụng.

• Xác định sự sẵn sàng của phía được gọi, phía được gọi phải gửi 1 bản tin phản hồi thể hiện sự sẵn sàng để thực hiện cuộc gọi: chấp nhận hay từ chối.

• Cuộc gọi được thiết lập.

• Chỉnh sửa cuộc gọi (ví dụ như chuyển cuộc gọi) và duy trì.

• Kết thúc cuộc gọi.

Một phần của tài liệu giao thức khởi tạo phiên sip trong mạng ngn (Trang 33 - 40)