Hiệu chỉnh phiờn (Modifying an existing Session)

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

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.5.4. Hiệu chỉnh phiờn (Modifying an existing Session)

Một lời mời thành cụng sẽ thiết lập lờn một số dialog và một số phiờn giữa hai tỏc nhõn người dựng sử dụng mụ hỡnh đề nghị/trả lời như đó được trỡnh bày ở trờn. Trong quỏ trỡnh truyền thụng cú thể xảy ra một số tỡnh huống mà một trong hai bờn tham gia muốn thay đổi cỏc tham số hiện tại của phiờn như: thay đổi địa chỉ, cổng, bổ sung một luồng phương tiện, xoỏ một luồng phương tiện…Những thay đổi này được thực hiện bằng cỏch gửi đi một bản tin INVITE mới bờn trong dialog đó thiết lập lờn phiờn hiện tại. Bản tin này được gọi là bản tin re-INVITE. Cựng một bản tin re-INVITE cú thể thay đổi cả cỏc tham số của dialog và phiờn hiện tại và cả bờn chủ gọi và bờn bị gọi đều cú thể gửi bản tin này để sửa đổi phiờn hiện tại.

Khụng giống với INVITE bản tin re-INVITE chỉ được gửi tới một UAS đang tham gia vào phiờn hiện tại và do đú chỉ cú một đỏp ứng cho bản tin này. UAS này được xỏc định trong trường "Request-URI" đang tham

gia dialog cựng với UAC, hay núi đỳng hơn là trường này sẽ chỉ thị địa chỉ bản ghi của thuờ bao phớa bờn kia. Tại phớa bờn kia, UAS phải phõn biệt được bản tin re-INVITE với bản tin INVITE và điều khiển bản tin re- INVITE này để sửa đổi dialog và phiờn hiện tại.

Để phõn biệt giữa hai bản tin này, UAS sử dụng thẻ trong trường tiờu đề "To" để tớnh toỏn số nhận dạng dialog và so sỏnh nú với cỏc dialog ID đang tồn tại ở UAS. Nếu nh cú sự trựng hợp thỡ bản tin này là một bản tin re-INVITE, ngược lại thỡ nú là một bản tin INVITE.

Khi UAS nhận được bản tin re-INVITE trong một dialog đang tồn tại, nú phải kiểm tra số nhận dạng version trong miờu tả phiờn của bản tin. Nếu khụng cú phần này, nú phải xem xột nội dung của phần miờu tả phiờn để xỏc định xem cú sự thay đổi ở thuộc tớnh nào hay khụng. Nếu như cú sự thay đổi so với phiờn đang tồn tại, UAS phải sửa lại cỏc tham số cho đỳng với cỏc trạng thỏi mới của chỳng sau khi đó hỏi ý kiến của người sử dụng để xỏc nhận những thay đổi này. Sau đú, UAS sẽ tạo ra một đỏp ứng 2xx để bỏo cho UAC biết rằng đề nghị mới đó được chấp nhận.

Nếu nh đề nghị mới về phiờn khụng được chấp nhận, UAS phải loại bỏ nú bằng cỏch gửi cho UAC một đỏp ứng 488 (Not Acceptable Here). Nếu UAS tạo ra một đỏp ứng 2xx và khụng nhận được một bản tin xỏc nhận ACK, nú sẽ tạo ra một bản tin BYE để kết thỳc dialog.

Nếu như chưa thể đưa ra quyết định cuối cựng về đề nghị mới này, UAS cũng sẽ khụng tạo ra đỏp ứng 180 (Ringing) bởi vỡ UAC sẽ khụng tạo ra tớn hiệu chuụng tại thiết bị thuờ bao khi nhận được đỏp ứng này. Thay vào đú, UAS sẽ sử dụng một trường tiờu đề "Alert-Info" trong bản tin đỏp ứng cho bản tin re-INVITE.

Nếu nh bản tin re-INVITE khụng đưa ra lời đề nghị để thay đổi cỏc thuộc tớnh của phiờn, UAS sẽ đưa ra một đề nghị về cỏc thuộc tớnh này trong đỏp ứng 2xx để gửi tới UAC. UAS phải đảm bảo rằng cỏc đặc điểm

mới này phải được thay thế cho cỏc đặc điểm của phiờn hiện tại, vớ dụ như cỏc tham số về: dạng phương tiện; phương tiện truyền dẫn và cỏc tham số khỏc. Điều đú sẽ giỳp hạn chế phớa bờn kia từ chối cỏc đặc điểm mới này. Tuy nhiờn, nếu như UAC vẫn khụng thể chấp nhận được đề nghị này thỡ nú sẽ tạo ra một cõu trả lời với một miờu tả phiờn hợp lệ và sau đú gửi một bản tin BYE để kết thỳc phiờn này.

UAC chờ để nhận được một đỏp ứng cuối cựng cho bản tin re-INVITE, nếu nh đõy khụng phải là một đỏp ứng 2xx thỡ cỏc tham số của phiờn khụng được thay đổi. Trong đú, nếu đỏp ứng này là một trong cỏc bản tin 481 (Call/Transaction Does Not exit), 408 (Request Timeout) hay khụng cú đỏp ứng nào nhận được thỡ UAC sẽ kết thỳc dialog này. Nếu UAC nhận được đỏp ứng 491, nú sẽ khởi động một timer với giỏ trị T được chọn như sau:

- Nếu UAC đó tạo ra trường Call-ID của dialog ID, T cú thể chọn giỏ trị trong khoảng từ 2,1 đến 4 giõy với một đơn vị thời gian là 10 ms.

- Nếu UAC khụng tạo ra trường Call-ID của dialog ID, T cú thể chọn giỏ trị trong khoảng từ 0 đến 2 giõy với một đơn vị thời gian là 10 ms.

Khi timer trở về 0, UAC cố gắng gửi lại bản tin re-INVITE một lần nữa nếu nh nú vẫn muốn thay đổi cỏc tham số của phiờn hiện tại. Nếu nh đỏp ứng nhận được là đỏp ứng 2xx, cỏc tham số của phiờn sẽ được cập nhật lại theo cỏc thụng số trong yờu cầu đó được gửi đi.

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

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

(89 trang)
w