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

Một phần của tài liệu Kĩ thuật điện thoại trên IP VoIP (Trang 132)

4.4.1. Tổng quan

Giao thức khởi tạo phiên (SIP, Session Initiation Protocol) là một giao thức điều khiển và đã được tiêu chuẩn hóa bởi IETF (RFC 2543). Nhiệm vụ của nó là thiết lập, hiệu chỉnh và xóa các phiên làm việc giữa các người dùng. Các phiên làm việc cũng có thể là hội nghị đa phương tiện, cuộc gọi điện thoại điểm-điểm... SIP được sử dụng kết hợp với các chuẩn giao thức IETF khác như là SAP, SDP và MGCP (MEGACO) để cung cấp một lĩnh vực rộng hơn cho các dịch vụ VoIP. Cấu trúc của SIP cũng tương tự với cấu trúc HTTP (giao thức client-server). Nó bao gồm các yêu cầu được gửi đến từ người sử dụng SIP Client tới SIP server. Server xử lý các yêu cầu và đáp ứng đến các Client. Một thông điệp yêu cầu, cùng với các thông diệp đáp ứng tạo nên sự thực thi SIP.

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ề Irạng thái cuộc gọi một khi sự thực hiện (transaction) đã được xử lý.

• N6 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 Transíer Protocol), vì vậy, nó cung cấp các 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ể dược mô tả với sự mở rộng thư Internet đa mục đích MỈME (Multipurpose Internet Mail Extension) hoặc ngôn ngữ đánh dấu mở rộng XML (Extensibỉe 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 ìiê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 đù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.

4.4.2. Cấu trúc của snp

Một khía cạnh khác biệt của SIP dối với các giao thức xử lý cuộc gọi IP khác là nó không sử dụng bộ điều khiển Gateway. Nó không đùng khái niệm Gateway/bộ điều khiển Gateway nhưng nó dựa vào mô hình khách/chủ (client/server),

Server: là một chương trình ứng dụng chấp nhận các bản tin yêu cầu để phục vụ các yêu cầu này và gửi trả các đáp ứng cho các yêu cầu dó. Server ỉà Proxy, gửi lại (redirect), UAS hoặc Registrar.

Proxy server: là một chương trình trung gian, hoạt động như ỉà 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 cỉient khác. Các yêu cầu dược phục vụ bên trong hoặc truyền chúng đến server khác. Một Proxy có thể dịch và nếu cần thiết, có thể tạo lại 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ử ỉý yêu cầu.

R ed ỉrect server: là một server chấp nhận một yẽu cầu SIP, ánh xạ địa chỉ ữong yêu cầu thành một địa chỉ mới và trả lại địa chỉ này trở về Client. Không giống như Proxy Server, nó không khởi tạo một yêu cầu SIP và không chuyển các yêu cầu đến các Server khác. Không giống như Server đại diện người đùng UÁS, nố không chấp nhận cuộc gọi.

R egỉstrar: là một server chấp nhận yêu cầu REGISTER. Một Registrar dược xếp đặt với một Proxy hoặc một server gửi lại và có thể dưa ra các dịch vụ định vị. Registrar được dùng để đãng ký các đối tượng SIP trong miền SIP và cập nhật vị trí hiện tạỉ cùa chúng. Một miền SIP thì tương tự với một vùng H.323.

ƯA (User Agent): là một ứng dụng chứa cả ƯAC (User Agent Client) và UAS.

• ƯAC (User Ágent Client): đây là phần người sử dụng được dùng để khởi tạo một yêu cầu SIP tới server SIP hoặc UAS.

• ƯAS (User Agent Server): là một ứng dụng server giao tiếp với người dùng khi yêu cầu SIP được nhận và trả lại một đáp ứng đại diện cho người dùng.

Hình 4.54 trình bày hai thành phần chính của SIP: User Agent và SIP server. User Agent là một điểm cuối giao tiếp với người đùng và hoạt động đại diện cho người dùng. User Âgent bao gồm hai thành phần: một giao thức Client được biết như là UAC và một giao thức server được biết

Chương 4: Giao thức xử lý cuộc gọi VoIP 137 như là ƯAS. UAC khởi tạo cuộc gọi và ƯAS trả lời cuộc gọi. Do User Agent chứa cả UAC và UAS nên SIP có thể hoạt động ngang hàng khi sử dụng mô hình clienưserver.

Server SIP có hai loại: Proxy server và Redirect server. Proxy server n h ậ n m ộ t y ê u c ầ u t ừ C l i e n t v à q u y ế t đ ị n h s e r v e r k ế t i ế p m à yêu c ầ u s ẽ đ i đến. Proxy này có thể gửi yêu cầu đến một server khác, một Redirect server hoặc ƯAS. Đáp ứng sẽ được truyền cùng đường với yêu cầu nhưng theo chiều ngược lại. Proxy server hoạt động như là Client và server. Redirect server sẽ không chuyển yêu cầu nhưng sẽ chỉ định Client tiếp xúc

trực tiếp với server kế tiếp, đáp ứng gửi lại C lie n t chứa địa chỉ của server

kế tiếp. Nó không hoạt động được như là một C lie n t, nó không chấp nhận

cuộc gọi.

User Agent Proxy server Proxy server User Agent

Request Request

1

Request

Bộ đãng kỷ (registrar)

Hình 4.54(a). Proxy Server.

User Agent Proxy server

Request

Proxy server

Request Request

Registrar

4.4^. Tổng quan về h oạt động của SIP 4.4^.1. Địa chỉ SIP

Địa chĩ cỏa SIP còn được gọi là bộ định vỊ tài nguyên chung URL (Universal Resource Locator), tồn tại dưới dạng user@host. Phần user trong phần dịa chỉ có thể là tên người sử dụng hoặc số điện thoại. Phần host có thể là tên miền hoặc địa chỉ mạng. Ví dụ dịa chỉ SIP:

sip:ciscopress@cisco.com

sip:4085262222@171.171.171.1

4.4.S.2. Định vị server SIP

Khi cỉient muốn gửi một yêu cầu, cỉient gửi nó đến một proxy server SIP đã được cấu hình hoặc gửi yêu cầu đến địa chỉ IP và số cổng tương ứng với URL SIP. Gửi yêu cầu trực tiếp đến proxy server thì dễ dàng nếu ứng dụng cuối đă biết proxy server. Crửi yêu cầu theo cách thứ hỉũ thì phức tạp

hơn. Client phải cố gắng tiếp xúc với server số cổng dược liệt kê trong bộ

định vị tài nguyên đồng nhất URL SỈP. Nếu số hiệu cổng không có trong URL SIP thì Client sử dụng số cổng 5060. Nếu URL SIP ch! dịnh một giao thức (UDP hoặc TCP) thì Client tiếp xúc với server sử dụng giao thức đó. Nếu không có giao thức nào đứợc chĩ định hoặc nếu Client không hỗ trợ UDP nhưtig có hỗ trợ TCP thì nó cố gắng dùng TCP. Cỉient cố gắng tìm một hoặc nhiều địa chỉ server SIP bằng cách truy vấn DNS (Domaỉn Name System). Tiến trình như sau;

• Nếu phần host của URL SIP là địa chỉ IP, Client tiếp xúc với server

ồ địa chl cho trước. Ngược lại nó xử lý bước kế tiếp.

• Client truy vấn server DNS cho địa chỉ phần host của URL SIP. Nếu server DNS không trả về địa chỉ của URL SIP, cỉient sẽ ngừng vì nó không thể định vị được server.

4.4^.3. Sự giao dịch SIP (SIP Transaction)

Khi phần host của URL SIP đã dược giải quyết, Client gửi một hoặc nhiều yêu cầu SIP đến server và nhận dược một hoặc nhiều đáp ứng từ server. Các yêu cầu cùng với các đáp ứng liên hệ với nhau trong hoạt động này tạo thành sự giao địch SỈP. Tất cả các đáp ứng chứa cùng các giá trị trong các trường Call-ID, Cseq, To và From. Điều này cho phép các đáp ứng

80 khớp với các yêu cầu.

Nếu TCP được sử dụng, các đáp ứng và yêu cầu trong một sự giao dịch dơn lẻ được mang trên cùng một kết nối TCP. Nhiều yêu cầu SIP từ một Client đến một server có thể sử dụng cùng kết nối TCP hoặc có thể sử dụng một kết nối mới cho mỗi yêu cầu.

Nếu cỉient gửi yêu cầu sử đụng ƯDP, dáp ứng được gửi đến địa chỉ được định nghĩa trong trường tiêu đề cửa yêu cầu.

4.4.5.4. Lời mời SIP (SIP Invỉtatỉon)

Một lời mời SIP thành công bao gồm hai bản tin; bản tin ữíVITE và theo sau là bản tin ACK. Bản tin INVITE yêu cầu người bị gọi tham gia vào một hội nghị đặc biệt hoặc thiết lập một cuộc đối thoại hai người. Sau khi người bị gọi đồng ý tham gia vào cuộc gọi, người gọi xác nhận rằng nó đã nhận được đáp ứng bằng cách gửi bản tin ACK.

4.4.3.5. Định vỊ người dùng

Người bị gọi có thể di chuyến giữa nhiều hệ thống đầu cuối theo thời gian. Các vỊ trí này có thể đăng ký động với server SIP. Một server vỊ trí có thể trả về nhiều vị trí bởi vì người dùng đăng nhập ở nhiều trạm một cách đồng thời hoặc server vị trí có thông tin không chính xác. Server SIP kết hợp các kết quả để cung cấp một danh sách các vị trí hoặc không có vị trí nào.

Hoạt động nhận danh sách các vị trí thay đổi tùy thuộc vào 8erver SIP. Một Redirect server trả về một danh sách hoàn chỉnh các vỊ trí và cho phép các Client định vị người dùng chính xác. Một Proxy server cũng cố gắng định địa chỉ cho đến khi cuộc gọi thành công hoặc người bị gọi từ chối cuộc gọi.

4.4.3.B. Thay đổi một phiên đang tổn tại

Trong một số trường hợp, người ta mong muốn thay dổi các thông 8ố của một phiên đang tồn tại. Điều này đưỢc thực hiện bằng cách phát lại bản tin INVĨTE, 8Ử dụng cùng Call-ID, nhưng nội dung mới hoặc các trường tiêu dều mang thông tin mới. Chẳng hạn, hai đối tác đang trò chuyện và muốn thêm vào một người thứ ba. Một trong hai mời người thứ ba với địa chỉ roulticast mới và đồng thời gửi bản tin INVITE đến đối tác thứ hai với sự mó tả phiên multicast mới, ngoại trừ số nhận dạng cuộc gọi là cũ.

4.4.4. Các bản tin SIP

Có hai loại bản tin SIP: bản tin yêu cầu được khởi tạo từ Client và bản tin đáp ứng được trả lại từ server. Mỗi bản tin chứa một tiêu đề mô tả chi tiết về sự truyền thông.

SIP có thể sử dụng UDP. Khi được gửi trên UDP hoặc TCP, nhiều sự giao dịch SIP có thể được mang trên một kết nối TCP đơn lẻ hoặc gói dữ liệu ƯDP. Gói dữ liệu ƯDP (bao gồm tất cả các tiều đề) thì không vượt quá đơn \Ị truyền dẫn lớn nhất MTU (Maximum Transmission ưnít) nếu MTU dược dịnh nghĩa, hoặc không quá 1.500 byte nếu MTƯ không được định nghĩa.

Một bản tin SIP cơ bản bao gồm; dòng bắt đầu (start-line), một hoặc nhiều trường tiêu đề, một dòng trống (CRLF) dùng để kết thúc các trường tiêu đề và một nội dung bản tin tùy chọn.

140 Kỹ thuật thoại trên IP - VoIP Bản tin chung - Dòng bắt đầu

Tiêu đề bản tin CRLF

[nội dung bản tin]

4.4.4.I. Tiêu đề bản tin

Tiêu đề bản tin dùng để chỉ ra người gọi, người bị gọi, đường định tuyến và loại bản tin của cuộc gọi. Có 4 nhóm tiêu đề bản tin như sau:

• Tiêu đề chung: áp dụng cho các yêu cầu và các đáp ứng.

• Tiêu đề thực thể: định nghĩa thông tin về loại bản tin và chiều dài. • Tiêu đề yêu cầu: cho phép ciient thêm vào các thông tin yêu cầu. • Tiêu dề đáp ứng: cho phép server thêm vào các thông tin đáp ứng. Các nhóm tiêu đẻ này được liệt kê trong bảng 4.1.

Bảng 4.1. TiôudỔSIP.

Ti4u đề chung Tiéu dể thực thể Tiốu đ< yAu cầu Tlồu đề đáp ứng

Accept Content-Encoding Authorization Allow

Accept-Encoding Content-Length Contact Proxy-Authenticate

Accept-Language Content-Type Hide Retry-Aíter

Call-ID Max-Forwards Server

Contact Organization Unsupported

CSeq Prlority VVarning

Date Proxy-Authorization wwW'Authentícate

Encryption Proxy-Requyre • Expỉres Route From Requyre Record-Route Response-Key Timestamp Subject To User-Agent Via

B ảng 4.2. Giải thỉch một số tiốu đổ chính của SIP.

Ti6u dể Giải thích

Call-ID So khớp các yèu cấu vớí các đáp ứng tương ứng, nhận dạng duy nhát

lời mời hoặc sự đãng kỷ của Client.

Cseq Trong một cuộc gọi, Cseq tăng lẻn khỉ một yốu cẩu mới được gửí di và bắt đầu ở một giá trị ngẫu nhiôn. Tuy nhiên, đối với yêu cầu ACK và Cancel thi Cseq không tăng.

Chương 4: Giao thức xử lý cuộc gọi VoIP 141

Tiêu để Giải thích

To Cỏ mặt trong tất cả các yêu cầu và đáp ứng để chỉ ra nđi nhận yèu cầu.

From Có mặt trong tất cả yêu cầu và đáp ứng chứa tên và đja chỉ của nơi

khôi tạo yêu cầu. ______

Via Ghi lại đưởng đi của yéu cáu để cho phép các server SIP trung gian chuyển các câu trà lời trò lại củng đường di.______________________ Encryption Chĩ dính nội dung vả một số tiêu dế bản tin đã được mã hóa như thể nàq. Content-Length Chỉ ra kích thước của nội dung bản tin (tính bằng octet).

^ntent-Tỵ^pe Chỉ ra loại media của nội dung bản lin (văn bản/html-.).

Expires Nhận dạng ngày và thời gian khi bản tin hết hạn.

Accept Chỉ ra loại media nào được chấp nhận trong bàn tin đáp ứng,

Subject Cho thòng tin vế bằn chất của cuộc gọi.

4.4.4.2. Bản tin yêu cầu

Các yêu cầu cũng có thế’ được xem như các phương pháp (method) cho phép User Agent và server mạng định vị, mời và quản lý các cuộc gọi. Bản tin yêu cầu SIP có dạng sau:

Yêu cầu = Dòng yêu cầu (Request-line)

Tiêu đề chung/tiêu đề yêu cầu/tiêu đề thực thể CRLF

[Nội đung bản tin]

Dòng yêu cầu bắt đầu với mã phương pháp, bộ nhận dạng tài nguyên đồng nhất yêu cầu, phiên bản giao thức SIP và kết thúc với CRLF. Các thành phần được phân cách bởi kí tự SP.

Dòng yêu cầu = Method SP Request-ƯRI SP SlP-Version CRLF.

Có 6 loại bản tin yêu cẩu SIP; INVITE, ACK, OPTIONS. BYE, CANCEL và REGISTER.

INVITE

Bản tin INVTTE chỉ ra người dùng hoặc dịch vụ đang được mời tham dự một phiên ỉàm việc. Nội dung bản tin chứa sự mô tả phiên mà người bị gọi được mời. Đối với cuộc gọi hai người, người gọi chỉ ra loại media mà nó có thể nhận. Một đáp ứng thành công phải chứa trong nội đung bản tin của nó loại međỉa nào mà người bị gọi mong muô'n nhận. Với bản tin này, người đùng có thể nhận biết được khả năng của người dùng khác và mở ra

một phiên hội thoại với s ố bản tin giới hạn.

ACK

Bản tin ACK xác nhận C lie n t đã nhận được đáp ứng sau cùng đối với

Nội dung bản tin ACK chứa sự mô tả phiên sau cùng được sử dụng bởi người bị gọỉ. Nếu nội dung bản tin ÂCK rỗng thì người bị gọi sử dụng sự mô tả phiên trong bản tin INVITE.

OPTIONS

Bản tin này cho phép truy vấn và thu thập User Agent và các khả năng của server mạng. Tuy nhiên, bản tin này không được sử dụng để thiết lập phiên.

BYE

User Agent Client sử dụng bản tin BYE báo cho server biết nó muốn giải phóng cuộc gọi. Bản tin BYE được chuyển giống như là bản tin INVỈTE và có thể được phát đi từ người gọi hoặc người bị gọi. Khỉ một đối tác nhận bản tin BYE thì nó phải ngừng việc truyền các luồng dữ liệu về hướng đối tác phát đi bản tin BYE.

CANCEL

Bản tin CANCEL cho phép User Agent và server mạng hủy bỏ bất cứ yêu cầu nào đang trong quá trình xử lý, nó không ảnh hưỏng đến yêu cầu đă hoàn thành mà các đáp ứng sau cùng đã được nhận.

REGISTER

Bản tin này được sử dụng bỏi Client để đăng ký thông tin vị trí của nó với server SIP.

4.4.4.S. Đáp ứng bản tin

Các bản tin đáp ứng có dạng như sau: Đáp ứng = Dòng trạng thái

Tiêu đề chung/tiêu đề đáp ứng/tiêu đề thực thể CRLF

[nội dung bản tin]

Dòng trạng thái bao gồm phiên bản của giao thức, mã trạng thái (số),

Một phần của tài liệu Kĩ thuật điện thoại trên IP VoIP (Trang 132)

Tải bản đầy đủ (PDF)

(159 trang)