4.1.GIAO THỨC KHỞI TẠO PHIÊN SIP

Một phần của tài liệu Vai trò của báo hiệu trong cung cấp dịch vụ viễn thông (Trang 41 - 65)

III. TRUYỀN TẢI BÁO HIỆU SỐ 7 QUA MẠNG IP– SIGTRAN 3.1.GIỚI THIỆU CHUNG

4.1.GIAO THỨC KHỞI TẠO PHIÊN SIP

4.1.1.Các đặc điểm và chức năng của SIP

4.1.1.1.Các đặc điểm

Theođịnh nghĩa của IETF, “Giao thức khởi tạo phiên” SIP (Session Initiation Protocol) là “giao thức báo hiệu lớp ứng dụng mô tả việc khởi tạo, thayđổi và giải phóng các phiên kết nối tương tácđa phương tiện giữa những người sử dụng”. SIP có thể sử dụng cho rất nhiều dịch vụ khác nhau trong mạng IP như dịch vụ thông điệp thoại, hội nghị thoại, E-mail, dạy học từ xa, quảng bá (MPEG, MP3...), truy nhập HTML, XML, hội nghị video...

SIP dựa trên ý tưởng và cấu trúc của HTTP (HyperText Transfer Protocol) – giao thức traođổi thông tin của World Wide Web. Nóđượcđịnh nghĩa như một giao thức Client-Server, trongđó các yêu cầuđược chủ gọi (Client)đưa ra và bên bị gọi (Server) trả lời. SIP sử dụng một số kiểu bản tin và các trường màođầu của HTTP, xácđịnh nội dung luồng thông tin theo màođầu thực thể (mô tả nội dung- kiểu loại) và cho phép xác nhận các phương pháp sử dụng giống nhauđược sử dụng trên Web. Kinh nghiệm trong sử dụng các giao thức Internet mail (SMTP)đã cung cấp rất nhiều cho việc phát triển SIP, trong đó tập trung vào khả năng thíchứng của báo hiệu trong tương lai.

SIPđịnh nghĩa các bản tin INVITE và ACK giống như bản tin Setup và Connect trong H.225, trong đó cả haiđềuđịnh nghĩa quá trình mở một kênhđáng tin cậy mà thông qua đó cuộc gọi có thểđi qua. Tuy nhiên khác với H.225,độ tin cậy của kênh này không phụ thuộc vào TCP. Việc tích hợpđộ tin cậy vào lớp ứng dụng này cho phép kết hợp một cách chặt chẽ các giá trịđiều chỉnh để ứng dụng, có thể tối ưu hoá VoIP.

Cuối cùng, SIP dựa vào giao thức mô tả phiên SDP, một tiêu chuẩn khác của IETF, để thực hiện sự sắp xếp tương tự theo cơ cấu chuyểnđổi dung lượng của H.245. SDPđược dùngđể nhận dạng mã tổngđài trong những cuộc gọi sử dụng một mô tả nguyên bảnđơn. SDP cũngđược sử dụngđể chuyển các phần tử thông tin của giao thức báo hiệu thời gian thực RTSPđể sắp xếp các tham số hội nghịđađiểm và định nghĩa khuôn dạng chung cho nhiều loại thông tin khi được chuyển trong SIP.

Giao thức SIPđược thiết kế với những tiêu chí hỗ trợ tốiđa cho các giao thức khácđã ra đời trướcđó. Giao thức SIP nóđược tích hợp với các giao thứcđã có của tổ chức IETF, nó có khả năng mở rộng,hỗ trợđầu cuối và với SIP thì việc cung cấp dịch vụ mới trở nên dễ dàng và nhanh chóng khi triển khai. SIP có 5 tính năng 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. - Khả năng liên kết hoạt động với mạng điện thoại hiện tại.

4.1.1.2.Các chức năng

SIP là một giao thứcđiều khiển lớpứng dụng mà nó có thể thiết lập, sửađổi và kết thúc các phiên truyền thôngđa phương tiện (các hội nghị) hay các cuộc gọi điện thoại qua Internet. SIP có thể mời các thành viên tham gia vào các phiên truyền thong đơn hướng hoặcđa hướng; bên khởi tạo phiên không nhất thiết phải là thành viên của phiênđó. Phương tiện và các thành viên có thểđược bổ sung vào một phiênđang tồn tại.

SIP hỗ trợ việcánh xạ tên và các dịch vụ chuyển tiếp một cách trong suốt, vì thế nó cho phép thực hiện các dịch vụ thuê bao điện thoại của mạng thông minh và mạng ISDN. Những tiệních này cũng cho phép thực hiện các dịch vụ của các thuê bao di động.

SIP hỗ trợ 5 khía cạnh của việc thiết lập và kết thúc các truyền thôngđa phương tiện sau:

- Định vị người dùng (User location): xácđịnh hệ thốngđầu cuốiđược sử dụng trong truyền thông.

- Các khả năng người dùng (User capabilities): xácđịnh phương tiện và các thông số phương tiệnđược sử dụng.

- Tính khả dụng người dùng (User Availability): xácđịnh sự sẵn sàng của bên được gọiđể tiến hành truyền thông.

- Thiết lập cuộc gọi (Call setup): “đổ chuông”, thiết lập các thông số của cuộc gọi tại cả hai phía bị gọi và chủ gọi.

- Xử lý cuộc gọi (Call handling): bao gồm chuyển tải và kết thúc cuộc gọi.

4.1.2.Các khái niệm và các thành phần của hệ thống SIP

4.1.2.1. Các khái niệm

Phần nàyđưa ra một số thuật ngữ liên quanđến các quy tắcđược sử dụng bởi các thành viên trong các truyền thông SIP:

Call: Một cuộc gọi bao gồm tất cả các thành viên sử dụng một tài nguyên chung trong một hội nghị. Một cuộc gọi SIP được nhận dạng bởi một nhận dạng cuộc gọi (call

– ID) duy nhất. Do đó, một ví dụ là nếumột người sử dụngđược mời vào phiên truyền thôngđa hướng bởiđồng thời một vài người, thì mỗi một lời mời này sẽ là một cuộc gọi duy nhất.

Call leg: Một call leg được nhận dạng bằng sự kết hợp của trường màođầu Call – ID vàđịa chỉ xácđịnh, thẻ của các trường màođầu “To” và “From”.

Client:là mộtchương trình ứng dụng gửi các yêu cầu SIP. Các Client có thể hoặc không thể tương tác một cách trực tiếp với một người sử dụng. CácUser agent (UA) và cácProxy chứa các client (và các Server).

Conference(hội nghị): là một phiên truyền thôngđa phương tiệnđược nhận biết bởi một sự mô tả phiên chung. Một hội nghị có thể không có hoặc có nhiều thành viên và bao gồm những trường hợp của một hội nghị đa phương, hội nghị nhiều mắt lưới (full – mesh) và một “cuộcgọiđiện thoại” hai bên, cũng như các hỗn hợp của các trường hợp này. Bao nhiêu cuộc gọi cũng có thểđược sử dụng để tạo ra một hội nghị.

Downstream (luồng xuống): gồm các yêu cầuđược gửi trực tiếp từ phía chủ gọiđến phía bị gọi (nghĩa là từ UA Client đến UA Server).

Final response (phúcđáp cuối cùng): là một phúcđáp kết thúc một phiên giao dịch SIP, trái lại một phúcđáp tạm thời không kết thúc một phiên giao dịch SIP. Tất cả các phúcđáp: 2xx, 3xx, 4xx, 5xx và 6xx đều là các phúcđáp cuối cùng.

Initiator, calling party, caller (Bên khởi tạo, bênđang gọi, người gọi): Là bên khởi tạo một lời mời phiên. Chúý rằng bênđang gọi không phải là bên tạo ra hội nghị.

Invitation (lời mời): Là một yêu cầu được gửi đến một người sử dụng (hay một dịch vụ) để yêu cầu tham gia vào một phiên. Một lời mời SIP thành công gồm 2 giao dịch: một yêu cầu INVITE được theo sau bởi một yêu cầu ACK. (adsbygoogle = window.adsbygoogle || []).push({});

Invitee, invited user, called party, callee (bên được mời, người bị gọi): Là người hay dịch vụ mà bên đang gọi đang mời tham gia vào một hội nghị.

Yêu cầu hay phúc đáp đồng hình: Hai yêu cầu hoặc hai phúc đáp được định nghĩa là đồng hình theo các ý đồ của tài liệu này nếu chúng có cùng các giá trị trong các trường mào đầu của Call – ID, To, From và Cseq. Thêm vàođó, các yêu cầu đồnghình phải có cùng Request –URI và cùng thông số nhánh trong trường mào đầu Via của chúng.

Location server (máy chủđịnh vị): chi tiếtởphần dịch vụ định vị.

Location service (dịch vụđịnh vị): Một dịch vụđịnh vị được sử dụng bởi một SIP redirect hay proxy serverđể cóđược thông tin về các vị trí có thể có của người bị gọi. Các ví dụ về các tài nguyên của thông tinđịnh vị gồm cácđăng ký SIP, các cơ sở dữ liệu hay các giao thứcđăng ký di động. Các dịch vụđịnh vị đượcđưa ra bởi các máy chủđịnh vị. Các máy chủđịnh vị có thể là một phần của một máy chủ SIP, nhưng cách thức mà một máy chủ SIP yêu cầu các dịch vụđịnh vị nằm ngoài phạm vi của tài liệu này. Outbound proxy: Là một proxy nằm gần nơi tạo ra các yêu cầu. Nó nhận tất cả các yêu cầu đi ra từ một UAC cụ thể, các Request –URL của các yêu cầu này nhận dạng một host không phải là outbound proxy. Sau bất kỳ một xử lý cục bộ nào, outbound proxy sẽ gửi những yêu cầu này đến các địa chỉ được chỉ ra trong Request –URL. (Tất cả các proxy server khác đều được xem xét một cách đơn giản như là các proxy, chứ không phải là cácinbound proxy).

Parallel search (tìm kiếm song song): Trong một tìm kiếm song song, một proxy đưa ra một vài yêu cầu đến các vị trí có thể có của người sử dụng trong khi nhận một yêu cầu đầu vào. Hơn là đưa ra một yêu cầu và sau đó đợi cho đến khi nhận được phúc đáp cuối cùng trước khiđưa ra một yêu cầu kế tiếp như trong một tìm kiếm tuần tự, một tìm kiếm song song đưa ra các yêu cầu mà không cầnđợi kết quả của các yêu cầu trướcđó.

Provisional response (phúc đáp tạm thời): Là một phúc đáp được sử dụng bởi máy chủ để chỉ thị tiến trình nhưng nó không kết thúc một giao dịch SIP. Phúc đáp 1xx là phúc đáp tạm thời, các phúc đáp khác là các phúc đáp cuối cùng.

Proxy, proxy server: Là một chương trình trung gian hoạtđộng cả như là một máy chủ và một máy khách cho mụcđích tạo ra các yêu cầu với tư cách của các máy khách khác. Các yêu cầuđược cung cấp một cách nội bộ hoặcđưa chúng qua các máy chủ khác sau những biên dịch cần thiết. Một proxy biên dịch và nếu cần thiết nó ghi lại một bản tin yêu cầu trước khi chuyển tiếp bản tin đó. Ví dụ, các proxy serverđược sử dụngđểđịnh tuyến các yêu cầu, thực thi các chính sách,điều khiển các tường lửa.

Redirect server: Một redirect server là một máy chủ mà nó nhận một yêu cầu SIP, ánh xạđịa chỉ hiện có thành một sốđịa chỉ mới và gửi trả lại cácđịa chỉ này cho máy khách. Không giống như mộtproxy server, nó không khai báo yêu cầu SIP của bản thân nó. Không giống như mộtUA Server, nó không chấp nhận các cuộc gọi.

Registrar (trạmđăng ký): Một trạmđăng ký là một máy chủ mà nó nhận các yêu cầu REGISTER. Một trạmđăng kýđượcđịnh vị chung với một proxy hoặc redirect server và có thể tạo ra sẵn sàng thông tin của nó thông qua máy chủđịnh vị (location server).

Ringback (hồiâm chuông): Hồi âm chuông là chuông báo hiệu được tạo ra bởi ứng dụng của máy khách phía gọi để chỉ ra rằng bên bị gọi đang được thông báo (đổ chuông).

Server (máy chủ): Một máy chủ là một chương trình ứng dụng mà nó nhận các yêu cầuđể xử lý và gửi trả lại cácđápứng cho những yêu cầuđó. Các máy chủ là các proxy, redirect,UAS hoặc registrar.

Session (phiên): Từđịnh nghĩa SDP: “Một phiên truyền thông đa phương tiện là một tập các phía gửi và nhận đa phương tiện và các luồng dữ liệu từ phía gửi đến phía nhận. Một hội nghị đa phương tiện là một ví dụ của một phiên truyền thong đa phương tiện.” Nhưđượcđịnh nghĩa, một bên bị gọi có thểđược mời tham gia cùng 1 phiên một vài lần bởi các cuộc gọi khác nhau. Nếu SDP được sử dụng, mộtphiênđượcđịnh nghĩa bằng sự ghép nối của các phần tử: tên người dùng, ID của phiên, kiểu mạng, kiểu địa chỉ vàđịa chỉ trong các trường gốc.

(SIP) transaction (giao dịch SIP): Một giao dịch SIP xuất hiện giữa một máy khách và một máy chủ và bao gồm tất cả các bản tin từ yêu cầuđầu tiênđược gửi từ máy kháchđến máy chủ cho đến phúcđáp cuối cùngđược gửi từ máy chủ về máy khách. Một giao dịch được nhận biết bởi chuỗi số Cseq trong mộtcall leg đơn lẻ. Yêu cầu ACK có cùng chuỗi số Cseq với yêu cầu INVITE tươngứng, nhưng bao gồm một giao dịch của riêng nó.

Stateless Proxy (proxy phi trạng thái): Là một thực thể logic mà nó không duy trì trạng thái của một phiên giao dịch SIP. Một proxy phi trạng thái chuyển tiếp tất cả các yêu cầu nó nhậnởđường xuống vàtất cả các phúcđáp nó nhậnởđường lên.

Stateful Proxy (proxy trạng thái): Là một thực thể logic duy trì thông tin trạng thái củaít nhất một giao dịch SIP.

Upstream (đường lên): Các phúcđápđược gửi trực tiếp từ máy chủ UA đến máy khách UA. URL– encoded (mãURL): Là một chuỗi ký tựđược mã hoá theo RFC 1738.

User agent client (UAC): Một UAC là mộtứng dụng khách khởiđầu một yêu cầu SIP

User agent server (UAS): MộtUAS là mộtứng dụng chủ mà nó giao tiếp với người sử dụng khi một yêu cầu SIPđược nhận và nó gửi trả lại một phúcđáp cho người sử dụngđó. Phúcđápđó chấp nhận, từ chối hoặc chuyển tiếp yêu cầuđó.

User agent (UA): Mộtứng dụng hoạtđộng cả như UAC vàUAS.

Các Proxy, Redirect, Location và Registrar Serverđượcđịnh nghĩaở trên là các thựcthể logic; các sự thực thi có thể kết hợp chúng thành một chương trình ứng dụng đơn nhất. Các thuộc tính của các kiểu máy chủ SIP khác nhau được cho trong bảng 4.1.

4.1.2.2. Các thành phần của hệ thống SIP

Xét trên quanđiểm Client / Server, các thành phần chính của một hệ thống SIP bao gồm (Hình 4.1):

- Đầu cuối SIP (UAC/UAS). - Proxy server.

- Location server. - Redirect server. - Registrar server.

User Agent là thiết bịđầu cuối trong mạng SIP, nó có thể là một máyđiện thoại SIP hay một máy tính chạy phần mềmđầu cuối SIP. UA có thể khởi tạo, thayđổi hay giải phóng cuộc gọi.Trongđó phân biệt hai loại UA: UAC (User Agent Client) và UAS (User Agent Server). UAC là một thực thể thực hiện việc khởi tạo một cuộc gọi còn UAS là một thực thể thực hiện việc nhận cuộc gọi. Nhưng cả UAC và UASđều có thể giải phóng cuộc gọi.

Proxy Server là phần mềm trung gian hoạtđộng cả như Server và cả như Client để thực hiện các yêu cầu thay thế cho cácđầu cuối khác. Tất cả các yêu cầuđược xử lý tại chỗ bởi Proxy Server (nếu có thể) hoặc nó chuyển đến cho các máy chủ khác.

Trong trường hợp Proxy Server không trực tiếpđápứng các yêu cầu này thì Proxy Serversẽ thực hiện khâu chuyểnđổi hoặc dịch sang khuôn dạng thích hợp trước khi chuyểnđi.

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 phía bị gọi cho các phần mềm Proxy Server và Redirect Server.

Redirect Serverlà 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 nhữngđịa chỉ này chođầu cuối. Không giống như Proxy Server, Redirect Server không bao giờ hoạtđộng như mộtđầu cuối, tức là không gửi đi bất cứ một yêu cầu nào. Redirect Server cũng không thực hiện việc chấp nhận hay huỷ cuộc gọi.

Registrar Server là phần mềm nhận các yêu cầuđăng ký Register. Trong nhiều trường hợp Registrar Serverđả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 Registrar Serverđược cài đặt cùng với Proxy hoặc (adsbygoogle = window.adsbygoogle || []).push({});

Redirect Server hoặc cung cấp dịch vụđịnh vị thuê bao. Mỗi lầnđầu cuốiđược bật lên (thí dụ máyđiện thoại hoặc phần mềm SIP) thì đầu cuối lạiđăng ký với Server.

Nếuđầu cuối cần thông báo với Server vềđịađiểm của mình thì bản tin Register đượ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ỳ.

4.1.3.Khái quát về hoạt động của SIP

Trong hội thoại SIP, mỗi bên tham gia (bên chủ gọi và bên bị gọi) được gắn một địa chỉ SIP hay còn gọi là SIP URL. Người sử dụng phảiđăng ký vị trí của họ với SIP Server.Để tạo một cuộc gọi SIP, phía chủ gọiđịnh vị tới máy phục vụ thích ứng và sauđó gửi một yêu cầu SIP. Hoạtđộng SIP thường xuyên nhất là lời mời các thành viên tham gia hội thoại. Thành phần Registerđóng vai trò tiếp nhận các yêu cầu đăng ký từ UA và lưu trữ các thông tin này tại một dịch vụ phi SIP (Non-SIP).

4.1.3.1. Địa chỉ SIP

Các đối tượngđượcđánhđịa chỉ bởi SIP là các người sử dụng tại các trạm, những người sử dụng này dượcđịnh danh bằng một SIP URL. SIPURL có dạng user@host. Phầnuser là một tên của người sử dụng hay tên của một máyđiện thoại. Phần host có thể là một tên miền hoặc mộtđịa chỉ mạng.

SIP URLđược dùng trong các bản tin SIPđể thông báo về nơi gửi (From), đích hiện thời (Request URI) và nơi nhận cuối cùng (To) của một yêu cầu SIP và chỉ rõ địa chỉ gián tiếp. Một SIP URL có thể gắn vào một trang Web hoặc những siêu liên kết (Hyperlink) khácđể thông báo rằng người dùng hoặc dịch vụ có thể gọi thông qua SIP.

Một địa chỉ SIP URL có thể chỉ rõ một cá nhân (có thể được định vị tại một trong các hệ thống đầu cuối), người khả dụng đầu tiên từ một nhóm các cá nhân hoặc toàn bộ một nhóm. Ví dụ, khuôn dạng địa chỉ: sip:sales@example.com nói chung là không đủ để quyết định mục đích của người gọi.

4.1.3.2.Quá trìnhđịnh vị tới máy chủ SIP

Khi một Client muốn gửi đi một yêu cầu, Client sẽ gửi bản tin yêu cầu đó tới SIP Proxy Server (như trong HTTP), hoặc tớiđịa chỉ IP và cổng tương ứng trong địa chỉ của yêu cầu SIP (Request-URI). Trường hợp đầu, yêu cầu được gửi tới SIP Proxy Server không phụ thuộc vào địa chỉ của yêu cầu đó là như thế nào. Với trường hợp sau, Client phải xác định giao thức, cổng và địa chỉ IP của Server mà yêu cầu được gửi đến.

Một Client thực hiện các bước tiếp theođể cóđược những thông tin này. Tại mỗi bước, trừ các trạng thái khác, Client cố gắng liên lạc với Server theo số cổngđược chỉ ra trong địa chỉ yêu cầu SIP (Request-URI). Nếu không có số cổng nào chỉ ra trong Request-URI, Client sẽ sử dụngđịa chỉ cổng mặc định là 5060. Nếu Request-URI chỉ rõ là sử dụng giao thức TCP hay UDP, Client sẽ làm việc với Server theo giao thứcđó.

Nếu không có giao thức nàođược chỉ ra thì Client cố gắng dùng giao thức UDP

Một phần của tài liệu Vai trò của báo hiệu trong cung cấp dịch vụ viễn thông (Trang 41 - 65)