Giao thức khởi tạo phiên SIP

Một phần của tài liệu xây dựng trung tâm quà tặng âm nhạc trên nền asterisk (Trang 36 - 44)

SIP (Session Initiation Protcol ) là giao thức báo hiệu điều khiển lớp ứng dụng đƣợc dùng để thiết lập, duy trì, kết thúc các phiên truyền thông đa phƣơng tiện (multimedia). Các phiên multimedia bao gồm thoại Internet, hội nghị, và các ứng dụng tƣơng tự có liên quan đến các phƣơng tiện truyền đạt (media) nhƣ âm thanh, hình ảnh, và dữ liệu.

SIP là một công cụ hỗ trợ hấp dẫn đối với điện thoại IP vì các lý do sau :

 Nó có thể hoạt động vô trạng thái hoặc có trạng thái. Vì vậy, sự hoạt động vô trạng thái cung cấp sự mở rộng tốt do các server không phải duy trì thông tin về trạng thái cuộc gọi một khi sự thực hiện (transaction) đã đƣợc xử lý.

 Nó có thể sử dụng nhiều dạng hoặc cú pháp giao thức chuyển siêu văn bản HTTP (Hypertext Transfer Protocol), vì vậy, nó cung cấp một cách thuận lợi để hoạt động trên các trình duyệt.

 Bản tin SIP (nội dung bản tin) thì không rõ ràng, nó có thể là bất cứ cú pháp nào. Vì vậy, nó có thể đƣợc mô tả theo nhiều cách. Chẳng hạn, nó có thể đƣợc mô tả với sự mở rộng thƣ Internet đa mục đích MIME (Multipurpose Internet Mail Extension) hoặc ngôn ngữ đánh dấu mở rộng XML (Extensible Markup Language).

 Nó nhận dạng một ngƣời dùng với bộ định vị tài nguyên đồng nhất URL (Uniform Resource Locator), vì vậy, nó cung cấp cho ngƣời dùng khả năng khởi tạo cuộc gọi bằng cách nhấp vào một liên kết trên trang web.

Nói chung, SIP hỗ trợ các hoạt động chính sau :

 Định vị trí của ngƣời dùng.

 Định media cho phiên làm việc.

 Định sự sẵn sàng của ngƣời dùng để tham gia vào một phiên làm việc.

 Thiết lập cuộc gọi, chuyển cuộc gọi và kết thúc.

2.5.2.2.2Tính năng của SIP

Chương II : Tổng quan về VOIP và mạng NGN

 Tích hợp với các giao thức đã có của IETF.

 Đơn giản và có khả năng mở rộng.

 Hỗ trợ tối đa sự di động của đầu cuối.

 Dễ dàng tạo tính năng mới cho dịch vụ và dịch vụ mới.

2.5.2.2.3Các thành phần trong hệ thống SIP

Hai phần tử cơ bản trong hệ thống SIP là tác nhân ngƣời sử dụng (user agent) và các máy phục vụ mạng (network server). Bên chủ gọi và bị gọi đƣợc nhận dạng bằng các địa chỉ SIP.

User agent

Client (UAC): Khởi tạo các yêu cầu SIP và đóng vai trò nhƣ tác nhân chủ gọi của ngƣời dùng.

Server (UAS): Nhận các yêu cầu và thay mặt cho ngƣời sử dụng gửi trả các

đáp ứng, đóng vai trò nhƣ tác nhân bị gọi.

Network Server Redirect Server Location Server Registrar Server

User Agent Gateway

SIP Components Proxy Server Proxy Server PSTN Hình 2.9 :Các thành phần hệ thống SIP

Chương II : Tổng quan về VOIP và mạng NGN

Máy chủ ủy quyền (Proxy server): là một chƣơng trình trung gian, hoạt

động nhƣ là một server và một client cho mục đích tạo các yêu cầu thay mặt cho các client khác. Các yêu cầu đƣợc phục vụ bên trong hoặc truyền chúng đến các server khác. Một proxy có thể dịch và nếu cần thiết có thể tạo lại các bản tin yêu cầu SIP trƣớc khi chuyển chúng đến server khác hoặc một UA. Trong trƣờng hợp này trƣờng Via trong bản tin đáp ứng, yêu cầu chỉ ra các proxy trung gian tham gia vào tiến trình xử lý yêu cầu .

Máy chủ định vị (Location Server): là phần mềm định vị thuê bao, cung

cấp thông tin về những vị trí có thể của thuê bao bị gọi cho các phần mềm máy chủ ủy quyền và máy chủ chuyển đổi địa chỉ.

Máy chủ chuyển đổi địa chỉ (Redirect Server): là phần mềm nhận yêu cầu

SIP và chuyển đổi địa chỉ SIP sang một số địa chỉ khác và gửi lại cho đầu cuối. Không giống nhƣ máy chủ ủy quyền, máy chủ chuyển đổi địa chỉ không bao giờ hoạt động nhƣ một đầu cuối, tức là không gửi đi bất cứ yêu cầu nào. Máy chủ chuyển đổi địa chỉ cũng không nhận hoặc huỷ cuộc gọi.

Máy chủ đăng ký (Register Server): là phần mềm nhận các yêu cầu đăng

ký. Trong nhiều trƣờng hợp máy chủ đăng ký đảm nhiệm luôn một số chức năng an ninh nhƣ xác nhận ngƣời sử dụng. Thông thƣờng máy chủ đăng ký đƣợc cài đặt cùng với máy chủ ủy quyền và máy chủ chuyển đổi địa chỉ hoặc cung cấp dịch vụ định vị thuê bao. Mỗi lần đầu cuối đƣợc bật lên ( ví dụ máy điện thoại hoặc phần mềm SIP) thì đầu cuối lại đăng ký với máy chủ. Nếu đầu cuối cần thông báo cho máy chủ về địa điểm của mình thì bản tin REGISTER cũng đƣợc gửi đi. Nói chung các đầu cuối đều thực hiện việc đăng ký lại một cách định kỳ.

2.5.2.2.4 Các bản tin của SIP

SIP là một giao thức dựa trên ký tự văn bản với cú pháp bản tin và các trƣờng mào đầu đồng nhất với giao thức truyền siêu văn bản HTTP (Hypper Text Transfer Protocol). Các bản tin của SIP truyền trên cùng một kết nối TCP hoặc bó dữ liệu UDP.

Chương II : Tổng quan về VOIP và mạng NGN

Hình 1.12 :Các thành phần hệ thống SIP 29

Hình 2.10 Một số trƣờng header đơn giản

INVITE : Để chỉ thị rằng thuê bao hoặc dịch vụ đƣợc mời tham gia vào một

phiên. Nó bao gồm một mô tả phiên và đối với các cuộc gọi song công thì bên chủ gọi chỉ thị phƣơng thức truyền thông (media) trong bản tin này. Theo phƣơng pháp đơn giản này các bên có thể xác định đƣợc các khả năng của bên kia và bắt đầu một phiên hội thoại .

ACK : Những yêu cầu này tƣơng ứng với một yêu cầu INVITE. Chúng là sự

xác nhận cuối cùng từ một hệ thống cuối và chấm dứt một giao dịch đƣợc khởi tạo bởi INVITE.

--- INVITE sip:5120@192.168.36.180 SIP/2.0 Via: SIP/2.0/UDP 192.168.6.21:5060 From: sip:5121@192.168.6.21 To: <sip:5120@192.168.36.180> Call-ID: c2943000-e0563-2a1ce-2e323931@192.168.6.21 CSeq: 100 INVITE Expires: 180

User-Agent: Cisco IP Phone/ Rev. 1/ SIP enabled Accept: application/sdp

Contact: sip:5121@192.168.6.21:5060 Content-Type: application/sdp

Chương II : Tổng quan về VOIP và mạng NGN

OPTIONS : Bản tin này cho phép truy vấn và tập hợp các khả năng của user

agent và network server. Tuy nhiên yêu cầu này không đƣợc dùng để thiết lập phiên.

BYE: Bên chủ gọi và bị gọi sử dụng yêu cầu này để giải phóng cuộc gọi.

Trƣớc khi thực sự giải phóng cuộc gọi, user agent gửi yêu cầu này tới server để cảnh báo rằng nó muốn giải phóng phiên làm việc.

CANCEL: Yêu cầu này cho phép user agent và network server xoá bỏ bất

kỳ một yêu cầu nào đang thi hành.

REGISTER: yêu cầu này đƣợc client dùng để đăng ký thông tin với SIP

server.

Các bản tin đáp ứng

 1xx Informational (vd 100 Trying, 180 Ringing).

 2xx Successful (vd 200 OK, 202 Accepted).

 3xx Redirection (vd 302 Moved Temporarily).

 4xx Request Failure (e.g. 404 Not Found, 482 Loop Detected).

 5xx Server Failure (e.g. 501 Not Implemented).

 6xx Global Failure (e.g. 603 Decline).

2.5.2.2.5Quá trình thiết lập cuộc gọi

Trƣớc tiên ta tìm hiểu hoạt động của máy chủ ủy quyền và máy chủ chuyển đổi.

Chương II : Tổng quan về VOIP và mạng NGN

Hình 2.11 : Hoạt động của Proxy server

SIP userA@yahoo.com gửi bản tin INVITE cho userB@hotmail.com để mời tham gia cuộc gọi.Các bƣớc nhƣ sau:

 Bƣớc 1: userA@yahoo.com gửi bản tin INVITE cho UserB ở miền hotmail.com, bản tin này đến proxy server SIP của miền hotmail.com (Bản tin INVITE có thể đi từ Proxy server SIP của miền yahoo.com và đƣợc Proxy này chuyển đến Proxy server của miền hotmail.com).

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

 Bƣớc 3: Server định vị trả lại vị trí hiện tại của UserB (giả sử là UserB@hotmail.com).

 Bƣớc 4: Proxy server gửi bản tin INVITE tới userB@hotmail.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 UserB đáp ứng cho server Proxy với bản tin 200 OK.

 Bƣớc 6: Proxy server gửi đáp ứng 200 OK trở về userA@yahoo.com.

 Bƣớc 7: userA@yahoo.com gửi bản tin ACK cho UserB thông qua proxy server.

Chương II : Tổng quan về VOIP và mạng NGN

 Bƣớc 9: Sau khi cả hai bên đồng ý tham dự cuộc gọi, một kênh RTP/RTCP đƣợc mở giữa hai đ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 BYE và ACK giữa hai điểm cuối.

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

Hình 2.12 : Hoạt động của Redirect Server đƣợc trình bày nhƣ hình

Các bước hoạt động như sau:

 Bƣớc 1: Redirect server nhân đƣợc yêu cầu INVITE từ ngƣời gọi (Yêu cầu này có thể đi từ một proxy server khác).

 Bƣớc 2: Redirect server truy vấn server định vị địa chỉ của B.

 Bƣớc 3: Server định vị trả lại địa chỉ của B cho Redirect server.

 Bƣớc 4: Redirect server trả lại địa chỉ của B đến ngƣời gọi A. Nó không phát yêu cầu INVITE nhƣ proxy server.

 Bƣớc 5: User Agent bên A gửi lại bản tin ACK đến Redirect server để xác nhận sự trao đổi thành công.

 Bƣớc 6: Ngƣời gọi A gửi yêu cầu INVITE trực tiếp đến địa chỉ đƣợc trả lại bởi Redirect server (đến B). Ngƣời bị gọi B đá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

Chương II : Tổng quan về VOIP và mạng NGN

thiết lập. goài ra SIP còn có các mô hình hoạt động liên mạng với SS7 (đến PSTN) hoặc là liên mạng với chồng giao thức H.323.

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:

1. đăng ký, khởi tạo và định vị đầu cuối.

2. xác định phƣơng tiện của cuộc gọi, tức là mô tả phiên mà đầu cuối đƣợc mời tham gia.

3. xác định mong muốn của đầu cuối bị gọi, trả lời hay không. Phía bị gọi phải gửi bản tin xác nhận chấp thuận cuộc gọi hay từ chối.

4. thiết lập cuộc gọi.

5. thay đổi hay điều khiển cuộc gọi (ví dụ nhƣ chuyển cuộc gọi). 6. hủy cuộc gọi.

Chương II : Tổng quan về VOIP và mạng NGN

Một phần của tài liệu xây dựng trung tâm quà tặng âm nhạc trên nền asterisk (Trang 36 - 44)