Cỏc trường tiờu đề chung

Một phần của tài liệu Nghiên cứu giao thức khởi tạo phiên SIP trong mạng NGN (Trang 78 - 85)

Cỏc trường tiờu đề chung ỏp dụng cho cả cỏc bản tin yờu cầu và bản tin đỏp ứng. Cỏc tờn trường “general- header” cú thể được mở rộng khi kết hợp với sự thay đổi về phiờn bản giao thức. Tuy nhiờn, trường tiờu đề mới hoặc đang thử nghiệm cú thể cú nghĩa như cỏc trường tiờu đề chung nếu tất cả cỏc bờn trong phiờn truyền thụng đều nhận biết được chỳng là cỏc trường “tiờu đề chung”. Cỏc trường tiờu đề khụng nhận biết được xử lý như cỏc trường “tiờu đề thực thể”.

1) Tiờu đề Accept

Khi cú sự xuất hiện của trường Accept, Server sẽ phỏt đi một giỏ trị mặc định của ứng dụng /sdp. Giống như một trường tiờu đề yờu cầu, nú chỉ được sử dụng trong cỏc chỉ thị cú thõn bản tin.

2) Tiờu đề Accept - Endcoding

Trường tiờu đề yờu cầu Accept - Endcoding cũng giống như tiờu đề Accept nhưng hạn chế mó nội dung biểu diễn sự chấp nhận của đỏp ứng.

3) Tiờu đề Accept - Language

Cỳ phỏp phần tiờu đề ngụn ngữ chấp nhận quy định về lệnh trong ngụn ngữ dựa vào tham số q giống như ỏp dụng vào SIP. Trường tiờu đề yờu cầu Accept - Language cho phộp Client thụng bỏo cho Server ngụn ngữ nú mong muốn để nhận reason phrases, miờu tả phiờn hay đỏp ứng trạng thỏi được truyền tải như thõn bản tin. Một Proxy cú thể sử dụng trường này để trợ giỳp việc lựa chọn đớch đối với cỏc cuộc gọi.

4) Tiờu đề Call -ID

Trường tiờu đề chung Call - ID xỏc định một lời mời thành viờn hoặc tất cả cỏc đăng ký của một Client thành viờn một cỏch duy nhất. Chỳ ý rằng một hội nghị đa phương tiện đơn giản cú thể thờm vài cuộc gọi với cỏc Call - ID khỏc nhau, nếu người sử dụng mời nhiều lần khỏc nhau đến cựng một hội nghị.

Đối với một yờu cầu INVITE, một UAS bị gọi khụng nờn cảnh bỏo với người sử dụng đú nếu người sử dụng đó đỏp lại Call - ID trong yờu cầu INVITE. Nếu người sử dụng đó là một thành viờn của hội nghị và cỏc tham số của hội nghị đó được chứa trong miờu tả phiờn khụng cú thay đổi, thỡ UAS bị gọi này cú thể chấp nhận cuộc gọi bất chấp Call - ID. Một lời mời cho Call - ID hoặc phiờn hiện tại cú thể thay đổi cỏc tham số của hội nghị. Một ứng dụng của Client cú thể đưa ra một chỉ thị đơn giản tới người sử dụng về cỏc tham số của hội nghị đó được thay dổi và chấp nhận cuộc gọi tự động hoặc nú cú thể yờu cầu người sử dụng xỏc nhận .

Một người sử dụng cú thể được mời đến cựng một hội nghị hoặc cuộc gọi sử dụng nhiều Call - ID khỏc nhau. Client cú thể loại những bản sao này nếu muốn bằng cỏch sử dụng cỏc nhận dạng trong miờu tả phiờn.

Chỉ thị REGISTER và OPTION sử dụng giỏ trị Call - ID để yờu cầu được giống hoàn toàn với đỏp ứng. Tất cả cỏc yờu cầu REGISTER đưa ra bởi một Client phải cú cựng một Call - ID.

5) Tiờu đề Contact

Trường tiờu đề chung Contact cú thể xỏc nhận trong yờu cầu INVITE, OPTION, ACK, REGISTER và trong đỏp ứng 1xx, 2xx, 3xx và 485. Thụng thường nú cung cấp URL để người sử dụng cú thể cú cỏc giao tiếp xa hơn.

• Cỏc yờu cầu INVITE, OPTION và ACK: Cỏc yờu cầu INVITE bắt buộc và yờu cầu ACK cú thể chứa tiờu đề Contact để chỉ ra vị trớ khởi tạo yờu cầu. Đối với OPTION, Contact đưa ra gợi ý về địa chỉ cỏc yờu cầu SIP cú thể được gửi đến.

• Cỏc đỏp ứng 2xx INVITE và OPTION: Một Server gửi đỏp ứng 2xx cú thể chốn vào một tiờu đề đỏp ứng Contact để chỉ ra địa chỉ SIP trong cựng một Call - ID. Trường tiờu đề Contact chứa địa chỉ của Server hoặc của Proxy, nếu Host ở phớa sau tường lửa. Giỏ trị tiờu đề được sao chộp vào trường Request - URI của yờu cầu tiếp theo cho cuộc gọi này. Nếu đỏp ứng khụng chứa tiờu đề Record - Route thỡ địa chỉ trong trường tiờu đề Contact được bổ sung như phần tử cuối cựng trong trường tiờu đề Route. Nếu một UA sử dụng cả TCP và UDP nú khụng nờn chỉ thị một tham số truyền tải trong URI.

• Cỏc đỏp ứng INVITE 1xx: Một UAS gửi một đỏp ứng 1xx cú thể chốn vào tiờu đề đỏp ứng Contact. Nú cũng cú ý nghĩa như đỏp ứng 1xx và đỏp ứng Invite 2xx. Chỳ ý rằng yờu cầu CANCEL phải khụng được gửi đến địa chỉ đú, đỳng hơn là nú cựng đường dẫn như yờu cầu ban đầu.

• Cỏc yờu cầu RIGISTER: Yờu cầu REGISTER cú thể chứa trường tiờu đề Contact chỉ ra vị trớ người sử dụng cú thể đến. Yờu cầu RIGISTER định nghĩa trường Contact “*” chỉ được sử dụng với expire ‘0’ để loại bỏ tất cả cỏc đăng ký người sử dụng đặc biệt. Một tham số expire tuỳ chọn chỉ ra thời gian kết thỳc của đăng ký. Nếu Contact nào khụng cú tham số expire thỡ trường tiờu đề expires được sử dụng như giỏ trị mặc định.

• Cỏc đỏp ứng 2xx REGISTER : Một đỏp ứng REGISTER cú thể quay về tất cả cỏc vị trớ mà người sử dụng hiện tại cú thể đạt đến. Một tham số expire mặc định

• Cỏc đỏp ứng 3xx và 405 : Trường tiờu đề đỏp ứng Contact cú thể sử dụng chung với mó đỏp ứng 3xx và 485 để chỉ ra một hoặc nhiều địa chỉ thay thế. Nú cú thể xuất hiện trong cỏc đỏp ứng trong chỉ thị BYE, INVITE, OPTION. Trường tiờu đề Contact chứa URIs đưa ra vị trớ mới hoặc tờn của User để thử hoặc cú thể là cỏc tham số truyền tải bổ sung đặc biệt.

• Cỏc đỏp ứng 4xx, 5xx, 6xx: Trường tiờu đề đỏp ứng CONTACT cú thể được sử dụng trong cỏc đỏp ứng 4xx, 5xx, 6xx để chỉ ra vị trớ để bổ xung thụng tin về lỗi cú thể tỡm ra.

Một trường tiờu đề đỏp ứng Contact cú thể chứa bất kỳ URI thớch hợp để chỉ ra bị gọi nào cú thể đạt được, khụng hạn chế SIP URLs.

Cỏc tham số sau được định nghĩa:

- q: giỏ trị q chỉ ra ưu tiờn tương đối giữa vị trớ cho trước, 0<q<1, q càng lớn độ ưu tiờn càng cao.

- Action: tham số “action” được sử dụng chỉ khi đăng ký với yờu cầu REGISTER. Nếu tham số này khụng được đặc tả hoạt động xảy ra phụ thộc vào cấu hỡnh Server thỡ trong cỏc đỏp ứng của nú, cỏc bản sao phải chỉ ra chế độ được sử dụng. Tham số này khụng được chỳ ý trong cỏc yờu cầu khỏc nhau.

- Expire : Tham số expire chỉ ra URI cú giỏ trị trong bao lõu. 6) Tiờu đề Date

Là một trường tiờu đề chung phản ỏnh thời gian khi yờu cầu hoặc đỏp ứng được gửi đi lần đầu. Vỡ vậy mà cỏc bản tin truyền lại cú cựng giỏ trị trường tiờu đề dữ liệu như bản tin đầu tiờn.

7) Tiờu đề Encryption

Trường tiờu đề mó hoỏ chung đặc tả nội dung được mó hoỏ. Trường tiờu đề này thường sử dụng cho cỏc yờu cầu và đỏp ứng end - to - end. Yờu cầu được mó hoỏ dựa trờn khoỏ cụng cộng phụ thuộc vào thực thể được đặt tờn trong trường tiờu đề To. Đỏp ứng được mó hoỏ dựa trờn khoỏ cụng cộng truyền trong trường tiờu đề khoỏ đỏp ứng. Chỳ ý rằng bản thõn khoỏ cụng cộng khụng được sử dụng để mó hoỏ. Điều này phụ thuộc vào từng thuật toỏn được sử dụng.

Đối với bất kỳ bản tin đó mó hoỏ nào, thỡ ớt nhất cú phần thõn bản tin và cú thể cỏc trường tiờu đề khỏc được mó hoỏ. Một ứng dụng nhận một yờu cầu hay đỏp ứng chứa

một trường tiờu đề Encrytion giải mó thõn thực thể sau đú ghộp bản tin gốc đến đường dõy yờu cầu và đến cỏc tiờu đề của bản tin ban đầu. Tiờu đề bản tin cuả phần đó giải mó thay thế hoàn toàn tiờu đề bản trong phần bản tin gốc với cỏc trường cú cựng tờn.

Mó hoỏ chỉ để cung cấp sự bớ mật : phớa đớch khụng đảm bảo rằng yờu cầu hoặc đỏp ứng từ phớa gửi được liệt kờ trong tiờu đề bản tin From, mà chỉ đảm bảo rằng phớa gửi sử dụng khúa cụng cộng của phớa đớch. Tuy nhiờn, cỏc Proxy khụng cú khả năng thay đổi yờu cầu hoặc đỏp ứng.

Vỡ cỏc Proxy cú thể dựa vào sự quy định trước của chỳng để kết hợp bất kỳ trường tiờu đề SIP nào, nờn khụng cú sự đảm bảo rằng cỏc yờu cầu đó mó hoỏ cú cỏc trường tiờu đề “ẩn” sẽ đạt đến cựng đớch như yờu cầu khụng mó hoỏ được định danh khỏc nhau. 8) Tiờu đề From

Cỏc đỏp ứng và yờu cầu phải cú trường tiờu đề chung From để chỉ ra bộ khởi đầu yờu cầu. Server sao chộp trường tiờu đề From từ yờu cầu vào đỏp ứng. Trường From cú thể cú tham số Tag. Giỏ trị Tag thường là duy nhất và được mó hoỏ ngẫu nhiờn 32 bit. Một User duy trỡ giỏ trị Tag thụng suốt trong một cuộc gọi đó định danh bằng Call - ID. 9) Tiờu đề Organization

Trường tiờu đề chung Organization hoặc truyền tờn của tổ chức mà thực thể đưa ra yờu cầu hoặc đỏp ứng phụ thuộc vào. Trường này cú thể được sử dụng bằng phần mềm Client để lọc cỏc cuộc gọi.

10) Tiờu đề Record - route

Trường tiờu đề đỏp ứng và yờu cầu Record - Route được bổ sung vào một yờu cầu bởi một proxy bất kỳ trong đường cỏc yờu cầu tiếp theo cho cuộc gọi cựng nhỏnh. Nú chứa cỏc SIP - URL cú thể đến để xỏc định Proxy Server, gồm cú một tham số địa chỉ ( maddr ) xỏc định vị trớ của nú. Mỗi Proxy Server bổ sung Request - URI vào đầu của danh sỏch. Server sao chộp trường tiờu đề Record- route vào trường tiờu đề Route của cỏc yờu cầu tiếp theo trong cựng một nhỏnh call, với thứ tự cỏc yờu cầu ngược lại để yờu cầu là gần nhất với UAC.

Nếu trường tiờu đề chứa trường tiờu đề Contact thỡ UAC chủ gọi bổ sung nội dung của nú như một tiờu đề Route cuối cựng. Trừ khi điều này gõy lặp, bất kỳ Client nào đều phải gửi yờu cầu tiếp theo bất kỳ đối với nhỏnh gọi này đến Request - URI đầu tiờn trong trường tiờu đề yờu cầu Route và loại bỏ lối vào này.

11) Tiờu đề Require

Client sử dụng trường tiờu đề yờu cầu Require để núi cho cỏc UAS về cỏc tuỳ chọn mà Client mong đợi cỏc Server hỗ trợ để xử lý thớch hợp yờu cầu. Nếu một Server khụng hiểu tuỳ chọn nú phải đỏp lại bằng cỏch quay trở về mó trạng thỏi 420 ( Bad Extension) và liệt kờ những tuỳ chọn nú khụng hiểu trong tiờu đề Unsupported đú.

12) Tiờu đề Timestamp

Trường tiờu đề chung Timestamp miờu tả khi nào Client gửi yờu cầu đến Server. Giỏ trị của Timestamp chỉ đỏng kể đến Client và nú cú thể sử dụng bất kỳ đơn vị thời gian nào. Server phải hồi õm với cựng giỏ trị chớnh xỏc và cú thể bổ sung thờm số dấu phẩy động để chỉ ra thời gian đó trụi từ khi nú nhận được yờu cầu.

13) Tiờu đề To

Trường tiờu đề chung To đặc tả phớa nhận của yờu cầu, cú cựng ngữ phỏp SIP - URI với trường From. Cỏc đỏp ứng và yờu cầu phải thừa nhận trường tiờu đề chung To, chỉ ra phớa nhận trong yờu cầu.

Tham số Tag phục vụ như một cơ chế chung để phõn biệt nhiều trường hợp người sử dụng được định danh bằng một SIP - URL. Khi Proxy chia cỏc yờu cầu, thỡ cần cú phương tiện để phõn biệt cỏc đỏp ứng từ mỗi chủ gọi. Trường Tag trong trường tiờu đề To dựng để phõn biệt đỏp ứng ở UAC.

14) Tiờu đề User - Agent

Trường tiờu đề chung User - Agent chứa thụng tin về Agent User Client khởi tạo yờu cầu .

15) Tiờu đề Via

Trường Via chỉ ra tuyến mà yờu cầu đi qua do đú ngăn chặn được cỏc yờu cầu bị lặp và đảm bảo trả lời trờn cựng đường yờu cầu.

Request

Client khởi tạo yờu cầu phải chốn vào yờu cầu. Một trường Via chứa tờn Host, địa chỉ mạng, số cổng mặc định hoặc số cổng để nhận được đỏp ứng. Một Proxy nờn kiểm tra trường tiờu đề Via đỉnh nhất để đảm bảo rằng nú chứa địa chỉ mạng chớnh xỏc của người gửi, khi nhỡn từ Proxy. Nếu địa chỉ người gửi là khụng chớnh xỏc, Proxy phải bổ sung thuộc tớnh “received”.

Một Proxy gửi một yờu cầu đến địa chỉ quảng bỏ thỡ phải bổ sung tham số “maddr” vào trường tiờu đề Via, và cả tham số “ttl”. Nếu Server nhận yờu cầu chứa tham số “maddr” trong trường Via đỉnh nhất, thỡ nú nờn gửi đỏp ứng đến địa chỉ quảng bỏ đó liệt kờ trong tham số ”maddr”.

Via Receiver - Tagged

Thụng thường mỗi Host gửi hoặc định hướng bản tin SIP bổ sung vào trường Via để chỉ ra tuyến ngang qua. Tuy nhiờn, cú thể rằng NTAs thay đổi địa chỉ nguồn và cổng của yờu cầu, trong trường hợp này trường tiờu đề Via khụng thể tin vào việc trả lời tuyến. Để ngăn chặn điều này, một Proxy nờn kiểm tra trường tiờu đề Via đỉnh nhất để đảm bảo rằng nú chứa địa chỉ mạng chớnh xỏc của người gửi, khi được nhỡn từ phớa Proxy. Nếu địa chỉ người gửi khụng chớnh xỏc, Proxy phải bổ sung tham số received vào trường tiờu đề Via, trường này được chốn vào bởi hop trước đú.

Response

Trường tiờu đề Via trong đỏp ứng được xử lý bởi Proxy hoặc UAC theo quy tắc sau:

1. Trường tiờu đề Via đầu tiờn nờn chỉ ra Proxy hoặc Client xử lý đỏp ứng này. Nếu khụng thỡ bản tin sẽ bị loại bỏ. Ngoài ra cũn loại bỏ trường Via này.

2. Nếu khụng cú trường tiờu đề Via thứ hai, thỡ đỏp ứng này được định ra cho Client này. Việc xử lý phụ thuộc vào trường Via cú chứa tham số maddr hay là trường receive - tagged khụng.

- Nếu chứa tham số maddr: việc gửi trường đến địa chỉ đa sắc thỏi được liệt kờ ở đõy, sử dụng cổng được chỉ ra trong “sent - by” hoặc cổng 5060 nếu khụng cú cổng nào cú mặt. Đỏp ứng được gửi sử dụng TTL chỉ ra trong tham số “ttl”, hoặc TTL = 1 thỡ tham số này khụng cú mặt.

- Nếu trường Via thứ hai khụng chứa tham số maddr và là 1 trường receiver - tagged, thỡ sẽ gửi bản tin đến địa chỉ trong tham số received, sử dụng cổng chỉ ra trong giỏ trị sent-by, hoặc sử dụng cổng 5060 nếu tham số này khụng cú mặt.

- Nếu khụng rơi vào cỏc trường hợp trước, thỡ gửi bản tin đến địa chỉ chỉ ra bởi giỏ trị sent - by trong trường tiờu đề Via thứ hai.

UAS hoặc Server gửi truyền một đỏp ứng dựa trờn cỏc quy định sau:

- Nếu trường tiờu đề Via đầu tiờn trong yờu cầu chứa tham số maddr thỡ gửi đỏp ứng đến địa chỉ đa sắc thỏi được liệt kờ ở đú, sử dụng cổng chỉ ra trong sent- by, hoặc cổng 5060, cỏc cổng khụng cú mặt.

- Nếu địa chỉ trong giỏ trị sent - by của trường Via đầu tiờn khỏc với địa chỉ nguồn của gúi, thỡ gửi đỏp ứng đến địa chỉ nguồn gúi hoạt động giống với trường hợp xử lý trường tiờu đề Via receiver - tagged.

- Nếu cỏc điều kiện trờn khụng đỳng, thỡ gửi đỏp ứng đến địa chỉ chứa giỏ trị sent- by. Nếu đỏp ứng được gửi sử dụng TCP, sử dụng kết nối TCP đang tồn tại nếu nú khả dụng.

Một phần của tài liệu Nghiên cứu giao thức khởi tạo phiên SIP trong mạng NGN (Trang 78 - 85)

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

(110 trang)
w