Cơ chế hoạt động của giao thức SIP

Một phần của tài liệu Công nghệ VoIP (Trang 44)

Cỏc kỹ thuật và giao thức hỗ trợ truyền tớn hƯu thoại qua mạng IP

2.3.2. Cơ chế hoạt động của giao thức SIP

SIP hoạt động theo cơ chế trao đổi cỏc yờu cầu và đỏp ứng (request/respond). Trong vớ dụ này, cuộc giao dịch bắt đầu bằng việc Alice's softphone gửi một lời mời INVITE tới Bob's SIP URI. Yờu cầu INVITE chứa một số trường header gọi là cỏc thuộc tớnh mang cỏc thụng tin nh: mó nhận dạng cuộc gọi, địa chỉ đớch, địa chỉ của chủ gọi và thụng tin về kiểu phiờn mà Alice muốn thiết lập với Bob.

Đầu tiờn, Alice gọi Bob bằng cỏch sử dụng địa chỉ SIP của anh ta được gọi là SIP URI (Uniform resource Identifier). Địa chỉ này tương tự nh một địa chỉ e-mail bao gồm hai phần username và host name, vớ dụ nh URI của Bob cú thể là "sip:bob@biloxi.com" (trong đú "biloxi.com" là tờn miền của nhà cung cấp dịch vụ SIP cho Bob), cũn URI của Alice là "sip:alice@atlanta.com". Ngoài URI, SIP cũn cung cấp một loại URI được bảo đảm an toàn hơn gọi là SIPS URI, vớ dụ nh "sips:bob@biloxi.com".

Vỡ Alice's softphone khụng biết được vị trớ của Bob cũng nh mỏy chủ SIP phục vụ miền biloxi.com, nờn nú gửi bản tin INVITE tới mỏy chủ SIP phục vụ miền của Alice, đú là atlanta.com. Địa chỉ của server này cú thể được cấu hỡnh trước hay sử dụng giao thức cấu hỡnh mỏy chủ động DHCP (Dynamic Host Configuration Protocol) để xỏc định.

Mỏy chủ SIP tại Atlanta là một proxy server. Nú nhận yờu cầu INVITE sẽ gửi trở lại mỏy tớnh của Alice một đỏp ứng 100 (Trying) để chỉ thị rằng INVITE đó được nhận và nú đang là đại diện cho thiết bị của Alice để định tuyến bản tin INVITE tới đớch của cuộc gọi. Đỏp ứng này mang cựng giỏ trị To, From, Call-ID, Cseq và tham số con (Branch parameter) trong mục "Via" của bản tin INVITE. Điều đú cho phộp Alice's softphone cú thể hiểu được đõy là đỏp ứng của bản tin INVITE mà nú đó gửi đi trước đú.Tiếp đến, mỏy chủ ở Atlanta sẽ xỏc định mỏy chủ của miền biloxi.com và chuyển tiếp bản tin yờu cầu INVITE tới đú. Khi mỏy chủ tại Biloxi nhận được bản tin INVITE, nú gửi trở lại một bản tin 100 (Trying) để trả lời cho mỏy chủ tại Atlanta biết nú đó nhận được yờu cầu và đang xử lý yờu cầu này. Tiếp đến, nú truy vấn cơ sở dữ liệu, được gọi chung là dịch vụ định vị, để xỏc định địa chỉ IP hiện tại của Bob. Tại cỏc điểm trung gian, trước khi được chuyển đi bản tin INVITE sẽ được bổ sung thờm vào đầu trường "Via" địa chỉ của điểm trung gian để sử dụng sau này.

Mỏy điện thoại của Bob khi nhận được bản tin này nú sẽ rung chuụng để bỏo cho Bob biết cú một cuộc gọi từ Alice tới để anh ta cú thể quyết định xem cú trả lời cuộc gọi hay khụng. Đồng thời mỏy điện thoại của Bob cũng gửi trở lại một bản tin 180 (Ringing) qua hai proxy server để trả lời cho chương trỡnh trờn mỏy của Alice biết cuộc gọi đó được định tuyến đến đớch. Quỏ trỡnh định tuyến ngược lại được thực hiện bằng cỏch sử dụng cỏc địa chỉ trong trường "Via" của bản tin được sao từ bản tin INVITE.

Hỡnh 2.7 Cơ chế hoạt động của giao thức SIP

Giả sử, Bob quyết định trả lời cuộc gọi từ Alice, khi đú anh ta nhấc mỏy và một bản tin trả lời 200 (OK) sẽ được mỏy điện thoại của Bob tạo ra và gửi trở lại phớa Alice để thụng bỏo rằng cuộc gọi đó được trả lời. Bản tin này cú phần thõn mang thụng tin miờu tả về kiểu phiờn mà Bob mong muốn thiết lập với Alice.

Nếu Bob khụng muốn trả lời cuộc gọi hay anh ta đang bận tham gia một cuộc gọi khỏc, một đỏp ứng lỗi sẽ được gửi đi thay cho bản tin 200 (OK), và khi đú sẽ khụng cú một phiờn phương tiện nào được thiết lập.

Khi bản tin 200 (OK) sẽ được gửi tới chương trỡnh thoại trờn mỏy PC của Alice. Nú sẽ ngắt hồi õm chuụng để thụng bỏo rằng cuộc gọi đó được trả lời. Cuối cựng, Alice's softphone sẽ gửi một bản tin cụng nhận ACK tới mỏy điện thoại SIP của Bob để xỏc nhận rằng nú đó nhận được đỏp ứng cuối cựng. Trong vớ dụ này, ACK được gửi trực tiếp từ mỏy của Alice tới điện thoại của Bob. Điều này cú thể thực hiện được bởi vỡ khi đú cỏc điểm

cuối đó biết được địa chỉ của nhau từ trường "Contact" trong header của cỏc bản tin INVITE/200 (OK).

Bõy giờ, một phiờn phương tiện đó được thiết lập giữa Alice và Bob và họ cú thể gửi đi cỏc gúi sử dụng định dạng đó được đề nghị trong phần miờu tả phiờn trước đú. Trong phiờn dữ liệu, hoặc Alice hoặc Bob cú thể quyết định thay đổi cỏc đặc tớnh của của phiờn. Điều đú cú thể thực hiện bằng cỏch gửi đi một bản tin re-INVITE chứa cỏc miờu tả mới về phương tiện tới phớa bờn kia. Bản tin này được tham chiếu tới dialog đang tồn tại để phớa bờn kia hiểu được đõy là một yờu cầu thay đổi phiờn đang tồn tại chứ khụng phải thiết lập một phiờn mới. Nếu đồng ý, phớa bờn kia sẽ gửi trả lời bằng bản tin 200 (OK) để chấp nhận cỏc thay đổi, và sẽ được xỏc nhận bằng bản tin ACK, sau đú hai bờn sẽ trao đổi với nhau trờn một phiờn phương tiện với cỏc tham số mới. Trong trường hợp phớa bờn kia khụng chấp nhận, nú sẽ gửi đi bản tin đỏp ứng lỗi 488 (Not Acceptable Here) và cũng được xỏc nhận bằng bản tin ACK, khi đú hai bờn tham gia vẫn tiếp tục trao đổi với nhau dựa trờn cỏc tham số của phiờn phương tiện đó được thiết lập trước đú.

Khi một bờn tham gia muốn kết thỳc cuộc gọi, anh ta đặt mỏy. Giả sử Bob đặt mỏy trước, khi đú mỏy của anh ta sẽ tạo ra một bản tin BYE. Bản tin này được định tuyến trực tiếp tới mỏy của Alice và được xỏc nhận bằng một đỏp ứng 200 (OK), phiờn phương tiện kết thỳc mà khụng cần thiết phải gửi đi một bản tin ACK.

Một phần của tài liệu Công nghệ VoIP (Trang 44)

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

(89 trang)
w