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. SIP URL cú dạng user@host. Phần user 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ừ
Đồ ỏn tốt nghiệp Đại học Chương 4. Cỏc giao thức ngang hàng
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 (nếu khụng hỗ trợ TCP) hoặc sử dụng giao thức TCP cho hoạt động của mỡnh (chỉ được hỗ trợ TCP mà khụng được hỗ trợ UDP).
Client cố gắng tỡm một hay nhiều địa chỉ cho SIP Server bằng việc truy vấn DNS (Domain Name System) theo cỏc thủ tục sau:
1) Nếu địa chỉ Host trong địa chỉ Request-URI là một địa chỉ IP thỡ Client làm việc với Server bằng địa chỉ được đưa ra. Nếu đú khụng phải là một địa chỉ IP, Client thực hiện bước tiếp theo.
2) Client đưa ra cõu hỏi tới DNS Server về bản ghi địa chỉ cho địa chỉ Host trong địa chỉ Request-URI. DSN sẽ trả về một bản ghi danh sỏch cỏc địa chỉ. Lỳc đú việc lựa chọn một trong cỏc địa chỉ này là tựy ý. Cũn nếu DNS Server khụng đưa ra bản ghi địa chỉ, Client sẽ kết thỳc hoạt động, cú nghĩa nú khụng thực hiện được việc định vị mỏy chủ. Nhờ bản ghi địa chỉ, sự lựa chọn tiếp theo cho giao thức mạng của Client cú nhiều khả năng thành cụng hơn. Một quỏ trỡnh thực hiện thành cụng là quỏ trỡnh cú một bản ghi chứa trong phần trả lời và Server làm việc ở một trong những địa chỉ chứa trong trả lời đú.
4.1.3.3. Giao dịch SIP
Khi cú địa chỉ IP của SIP Server thỡ yờu cầu sẽ được gửi đi theo tầng vận chuyển giao thức TDP hay UDP. Client gửi một hoặc nhiều yờu cầu SIP đến mỏy chủ đú và nhận lại một hoặc nhiều cỏc phỳc đỏp từ mỏy chủ. Một yờu cầu cựng với cỏc phỳc đỏp được tạo ra bởi yờu cầu đú tạo thành một giao dịch SIP. Tất cả cỏc phỳc đỏp cho một yờu cầu mang cựng cỏc giỏ trị trong cỏc trường: Call – ID, Cseq, To, và From. Yờu cầu ACK xỏc định sự nhận một phỳc đỏp INVITE khụng là một phần của giao dịch vỡ nú cú thể di chuyển giữa một tập cỏc host khỏc nhau. Mỗi cuộc gọi trong SIP được định danh bởi một trường định danh cuộc gọi (Call-ID).
Một yờu cầu phải cần cú thụng tin gửi đi từ đõu (From) và tới đõu (To). Trường From và To đều cú cấu trỳc theo khuụn dạng SIP-URL. Trường CSeq lưu trữ thụng tin về phương thức sử dụng trong phiờn, trường CSeq cú dạng:
CSeq = “CSeq”: “DIGIT Method”
Trong đú DIGIT là số nguyờn khụng dấu 32 bit.
Nếu một giao thức điều khiển luồng tin cậy được sử dụng, yờu cầu và cỏc phỳc đỏp trong một giao dịch đơn lẻ được mang trờn cựng kết nối. Một vài yờu cầu SIP từ cựng
Đồ ỏn tốt nghiệp Đại học Chương 4. Cỏc giao thức ngang hàng
mỏy khỏch đến cựng mỏy chủ cú thể sử dụng cựng kết nối hoặc cú thể sử dụng một kết nối mới cho mỗi yờu cầu.
Nếu một client gửi yờu cầu thụng qua một giao thức datagram đơn hướng như UDP thỡ cỏc UA thu sẽ định hướng phỳc đỏp theo thụng tin chứa trong cỏc trường mào đầu Via. Mỗi proxy server trong tuyến chuyển tiếp của yờu cầu chuyển tiếp phỳc đỏp sử dụng cỏc trường mào đầu Via này.
4.1.3.4. Lời mời SIP
Một lời mời SIP thành cụng gồm hai yờu cầu INVITE và ACK. Yờu cầu INVITE thực hiện lời mời một thành viờn tham gia hội thoại. Khi phớa bị gọi đồng ý tham gia, phớa chủ gọi xỏc nhận đó nhận một bản tin đỏp ứng bằng cỏch gửi đi một yờu cầu ACK. Nếu phớa chủ gọi khụng muốn mời thành viờn tham gia cuộc gọi nữa nú sẽ gửi yờu cầu BYE thay cho ACK.
Thụng điệp INVITE chứa thành phần mụ tả phiờn (SDP) và phương thức tiến hành trao đổi ứng với phiờn đú. Với cỏc phiờn đa hướng, phần mụ tả phiờn liệt kờ kiểu và khuụn dạng của cỏc phương tiện (Media) để phõn phối cho phiờn hội thoại. Với một phiờn đơn hướng, phần mụ tả phiờn liệt kờ kiểu và khuụn dạng của cỏc phương tiện mà phớa chủ gọi muốn sử dụng và nơi những dữ liệu muốn gửi đi.
Trường hợp mỏy phục vụ ủy quyền (Proxy Server):
⇒ Proxy Server (PS) tiếp nhận lời mời INVITE.
⇒ PS tra cứu thụng tin ở dịch vụ định vị ngoài SIP.
⇒ PS nhận thụng tin để tạo ra địa chỉ chớnh xỏc.
⇒ PS tạo lại INVITE trong trường Request URI và chuyển tiếp.
⇒ UAS thụng bỏo bị gọi.
⇒ PS nhận đỏp ứng chấp nhận 200 OK từ UAS.
⇒ PS trả về kết quả thành cụng cho chủ gọi.
⇒ Chủ gọi gửi thụng bỏo xỏc nhận ACK.
⇒ Yờu cầu xỏc nhận được chuyển tiếp qua PS.
Chỳ ý: Một ACK cú thể được gửi trực tiếp đến User được gọi qua Proxy. Tất
cả cỏc yờu cầu và đỏp ứng phải cú cựng Call-ID. Trường hợp mỏy phục vụ giỏn tiếp (Redirect Server):
Đồ ỏn tốt nghiệp Đại học Chương 4. Cỏc giao thức ngang hàng
⇒ Liờn lạc với dịch vụ định vị.
⇒ Trả lời địa chỉ chủ gọi.
⇒ Chủ gọi gửi thụng bỏo xỏc nhận ACK đến PS.
⇒ Chủ gọi tạo một yờu cầu mới cựng một Call-ID nhưng cú CSeq cao hơn tới địa chỉ trả lời bởi Server đầu tiờn.
⇒ Bị gọi gửi đỏp ứng chấp nhận 200 OK.
⇒ Chủ gọi gửi thụng bỏo xỏc nhận ACK.
4.1.3.5. Định vị người dựng
Một đối tượng bị gọi cú thể di chuyển giữa một số cỏc hệ thống đầu cuối khỏc nhau theo thời gian. Một mỏy chủ định vị cũng cú thể sử dụng một hay nhiều giao thức khỏc nhau để xỏc định hệ thống đầu cuối mà tại đú một người sử dụng cú thể liờn lạc. Một mỏy chủ định vị cú thể đưa ra một vài vị trớ vỡ người sử dụng được đăng nhập vào tại một vài host đồng thời hoặc bởi vỡ mỏy chủ định vị lỗi. Mỏy chủ SIP kết hợp cỏc kết quả để đưa ra một danh sỏch cỏc vị trớ.
Đối với từng kiểu SIP Server thỡ hoạt động sau khi nhận được danh sỏch cỏc vị trớ khỏc nhau là khỏc nhau. Một SIP Redirect Server sẽ trả lại danh sỏch địa chỉ cho Client với cỏc mào đầu Contact. Một SIP proxy server cú thể thử lần lượt hoặc song song cỏc địa chỉ cho đến khi cuộc gọi thành cụng (phỳc đỏp 2xx) hoặc bờn bị gọi từ chối cuộc gọi (phỳc đỏp 6xx).
Nếu một proxy server chuyển tiếp một yờu cầu SIP, nú phải bổ sung địa chỉ của nú vào vị trớ bắt đầu của danh sỏch cỏc trạm chuyển tiếp được ghi trong cỏc mào đầu Via. Dấu vết Via đảm bảo rằng cỏc trả lời cú thể đi theo cựng tuyến đú theo hướng ngược lại, việc đảm bảo hoạt động chớnh xỏc nhờ tuõn theo cỏc tường lửa và trỏnh lặp lại yờu cầu. Ở hướng phỳc đỏp, mỗi host phải xoỏ bỏ Via của nú, do đú thụng tin định tuyến nội bộ được che khuất đối với phớa bị gọi và cỏc mạng bờn ngoài.
4.1.3.6. Thay đổi một phiờn hiện tại
Trong một vài trường hợp, cần phải thay đổi cỏc thụng số của phiờn hội thoại hiện tại. Việc đú được thực hiện bởi việc phỏt lại cỏc yờu cầu INVITE. Cỏc yờu cầu INVITE đú cú cựng trường Call-ID nhưng cú trường mào đầu và trường bản tin khỏc với yờu cầu ban đầu để mang thụng tin mới. Cỏc bản tin INVITE đú phải cú chỉ số CSeq cao hơn cỏc yờu cầu trước. Vớ dụ: cú hai thành viờn đang hội thoại và muốn cú thờm một người thứ ba tham gia. Một trong hai thành viờn sẽ mời thành viờn thứ ba tham gia với một địa
Đồ ỏn tốt nghiệp Đại học Chương 4. Cỏc giao thức ngang hàng
chỉ đa hướng (Multicast) mới và đồng thời gửi một bản tin INVITE đến thành viờn thứ hai với trường miờu tả phiờn đa hướng nhưng cú trường Call-ID cũ.