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

Một phần của tài liệu tìm hiểu công nghệ voip và xây dựng hệ thống callcenter trên nền asterisk (Trang 27 - 100)

2.2.1. Giới thiệu

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.

• 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.2.2. Tính năng của SIP

Giao thức SIP được thiết kế với những chỉ tiêu sau: • 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.2.3. Cá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

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 Hình 9 :Các thành phần hệ thống SIP

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.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. (adsbygoogle = window.adsbygoogle || []).push({});

Ví dụ:

--- SIP Header

--- 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

Hình 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.

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.2.5. Quá 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.

Hoạt động của máy chủ ủy quyền (Proxy Server)

Hình 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. (adsbygoogle = window.adsbygoogle || []).push({});

• 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.

• Bước 8: Proxy server chuyển bản tin ACK cho userB@hostmail.com

• 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 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 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.

Hình 13 Quá trình thiết lập và hủy một phiên kết nối của SIP

2.3. So sánh với H.323

SIP đơn giản hơn nhiều so với H.323. Để hoạt động, H.323 phải sử dụng các giao thức khác nhau như : RTP/RTCP - Giao vận số liệu, H.225.0 và Q.931 - để báo hiệu và thiết lập cuộc gọi, H.245 - để dàn xếp dạng đầu cuối. Trong khi đó SIP do được thiết kết theo mô hình Client/Server sử dụng các bản tin dạng văn bản, nên thủ tục xử lý truyền tin đa dịch vụ đơn giản và sáng sủa hơn nhiều so với H.323. Tập bản tin của SIP chỉ bao gồm 6 loại : INVITE, ACK, CANCEL, BYE, REGISTER và OPTIONS nghĩa là ít hơn rất nhiều so với H.323. Như vậy để hỗ trợ cho việc thiết lập một cuộc gọi, SIP chỉ cần 2 trao đổi (Trường hợp UAC đã đăng ký với UAS), đối với H.323 ít nhất là 8 trao đổi. Tuy nhiên cấu trúc các bản tin của SIP lại quá phức tạp so với H.323, vì thế để thực hiện được một trao đổi SIP các UAC và

UAS phải có sự sắp xếp và khởi tạo các bản tin trước khi gửi đi, đối với H.323 khi nhận được tín hiệu yêu cầu là gần như nó có tín hiệu trả lời ngay lập tức. Nói chung hạ tầng H.323 có thể đáp ứng các yêu cầu bảo đảm chất lượng dịch vụ của ứng dụng thời thực tốt hơn so với SIP. Tuy nhiên nếu các ứng dụng loại này có những thuật toán tìm đường và mô phỏng lưu lượng tối ưu thì SIP có vẻ như chiếm ưu thế hơn H.323.

Về báo hiệu: cả H.323 và SIP đều hỗ trợ các chức năng điều khiển và quản

lý thiết lập kết nối, như : khởi tạo kết nối (call set-up), giữ kết nối (call hold), chuyển kết nối (call transfer), chờ thực hiện kết nối (call waiting),...

Hỗ trợ QoS: H.323 quy định chi tiết các chức năng điều khiển và quản trị

băng thông cho gatekeeper, bao gồm chuyển đổi địa chỉ, điều khiển truy nhập và quản trị băng thông. Thực chất đây chính là các chức năng hỗ trợ cho đảm bảo QoS. Trong khi SIP không định nghĩa bất cứ một chức năng hỗ trợ đảm bảo QoS nào.

Phát hiện và khắc phục lỗi: Cả H.323 lẫn SIP đều cung cấp cơ chế phát

hiện và khắc phục lỗi. H.323 sử dụng các timer khác nhau để giám sát việc phát nhận các thông báo điều khiển thiết lập kết nối, trước khi thực hiện việc phát lại. Chỉ sau một số lần phát lại được qui định mà vẫn không nhận đúng thông báo trả lời, kết nối TCP mới được sử dụng. Đối với SIP qui định thực thể UA tự động phát lại sau mỗi 0,5s cho đến khi nhận được thông báo trả lời “ứng xử đúng”; thực thể NS tự động phát lại thông báo “trạng thái cuối cùng OK” cho đến khi nhận được thông báo trả lời ACK. (adsbygoogle = window.adsbygoogle || []).push({});

CHƯƠNG 3

MẠNG THẾ HỆ MỚI NGN

3.1. Sự hình thành mạng NGN

Sự gia tăng cả về số lượng và chất lượng của các nhu cầu dịch vụ ngày trở nên phức tạp từ phía khách hàng đã kích thích sự phát triển nhanh chóng của thị trường công nghệ Điện tử – Tin học – Viễn thông. Tuy nhiên, các công nghệ cơ bản liên quan đến các tổng đài chuyển mạch kênh hiện nay đã phát triển quá chậm so với tốc độ thay đổi và tốc độ chấp nhận liên quan đến công nghiệp máy tính. Chuyển mạch kênh là các phần tử có độ tin cậy cao trong kiến trúc PSTN. Tuy nhiên, chúng không bao giờ là tối ưu đối với chuyển mạch gói. Khi lưu lượng của mạng ngày càng trở nên phong phú và đa dạng thì hiển nhiên phải có một công nghệ, giải pháp mới cho thiết kế chuyển mạch của mạng tương lai, đó là xét về mặt kỹ thuật. Còn khi xem xét ở khía cạnh kinh doanh thu lợi nhuận thì :

• Các Giải pháp mới sẽ mang lại những dịch vụ mới hấp dẫn với khách hàng • Do thời gian phát triển nhanh và chi phí vận hành cũng như bảo dưỡng các

mạng chuyển mạch gói thấp hơn nhiều so với chuyển mạch kênh, nên các nhà điều hành mạng ngày nay tập trung chú ý đến công nghệ chuyển mạch gói IP.

Do vậy, khi càng ngày càng nhiều lưu lượng dữ liệu chảy vào mạng qua Internet, thì cần phải có một giải pháp mới, đặt trọng tâm vào dữ liệu, cho việc thiết kế chuyển mạch của tương lai dựa trên công nghệ gói để chuyển tải chung cả thoại và dữ liệu. Như một sự lựa chọn, các nhà cung cấp dịch vụ đã và đang cố gắng hướng tới việc xây dựng một mạng thế hệ mới Next Generation Network - NGN trên đó hội tụ các dịch vụ thoại, số liệu, đa phương tiện trên một mạng duy nhất - sử dụng công nghệ chuyển mạch gói trên mạng xương sống (Backbone Network). Đây là mạng của các ứng dụng mới và các khả năng mang lại lợi nhuận mà chỉ đòi hỏi giá thành thấp. Và đó không chỉ là mạng phục vụ thông tin thoại, cũng không chỉ là mạng phục vụ truyền số liệu mà đó là một mạng thống nhất, mạng hội tụ đem lại ngày càng nhiều các dịch vụ tiên tiến đáp ứng nhu cầu ngày một tăng, và khắt khe hơn từ phía khách hàng.

Mạng thế hệ mới NGN không phải là một cuộc cách mạng về mặt công nghệ mà nó là một bước phát triển, một xu hướng tất yếu. Hạ tầng cơ sở mạng của thế kỷ 20 không thể được thay thế trong một sớm một chiều, vì thế NGN phải tương thích tốt với môi trường mạng sẵn có và phải kết nối hiệu quả với mạng PSTN.

3.2. Các đặc điểm của NGN

Mạng NGN có bốn đặc điểm chính: • Nền tảng là hệ thống mạng mở.

• Mạng NGN là do mạng dịch vụ thúc đẩy, nhưng dịch vụ phải thực hiện độc lập với mạng lưới.

• Mạng NGN là mạng chuyển mạch gói, dựa trên một giao thức thống nhất. • Là mạng có dung lượng ngày càng tăng, có tính thích ứng cũng ngày càng

Một phần của tài liệu tìm hiểu công nghệ voip và xây dựng hệ thống callcenter trên nền asterisk (Trang 27 - 100)