Tổng quan về hoạt động của SIP

a. Địa chỉ SIP

Địa chỉ SIP hay còn được gọi là bộ định vị tài nguyên chung URL ( Universal Resource Locator), tồn tại dưới dạng user@host. Phần user trong phần địa chỉ có thể là tên người dùng hoặc số điện thoại. Phần host có thể là tên miền hoặc địa chỉ mạng. Ví dụ về địa chỉ SIP:
Sip: ciscopress@sisco.com
Sip:4085262222@171.171.171.1

b. Định vị server SIP


Khi client muốn gửi một yêu cầu, client gửi nó đến một proxy server SIP đã được cấu hình hoặc gửi yêu cầu đến địa chỉ IP và số cổng tương ứng với URL SIP. Gửi yêu cầu trực tiếp đến Proxy server thì dễ dàng nếu ứng dụng cuối đã biết proxy server. Gửi yêu cầu theo cách thư hai thì phức tạp hơn. Client phải cố gắng tiếp xúc với server ở số cổng được liệt kê trong bộ định vị tài nguyên đồng nhất URL SIP. Nếu sso hiệu cổng không có trong URL SIP thì client sử dụng số cổng 5060. Nếu URL SIP chỉ định một giao thức (UDP hoặc TCP) thì client tiếp xúc với server sử dụng giao thức đó. Nếu không có giao thức nào được chỉ định hoặc nếu client không hỗ trợ UDP nhưng có hỗ trợ TCP thì nó cố gắng dùng TCP. Client cố gắng tìm một hoặc nhiều địa chỉ server SIP bằng cách truy vấn DNS (Domain Name System).
Tiến trình như sau:
+ Nếu phần host của URL SIP là địa chỉ IP, client tiếp xúc với server ở địa chỉ cho trước. Ngược lại nó xử lý bước kế tiếp.
+ Client truy vấn server DNS cho địa chỉ phần host của URL SIP. Nếu server DNS không trả về địa chỉ của URL SIP, client sẽ ngừng vì nó không thể định vị được server.

c. Sự giao dịch của SIP (SIP Transaction)


Khi phần host của URL SIP đã được giải quyết, client gửi một hoặc nhiều yêu cầu SIP đến server và nhận được một hoặc nhiều đáp ứng từ server. Các yêu cầu cùng với các đáp ứng liên hệ với nhau trong hoạt động này tạo thành sự giao dịch SIP. Tất cả các đáp ứng chứa cùng giá trị trong các trường Call-ID, Cseq, To và From. Điều này cho phép các đáp ứng so khớp với các yêu cầu.
Nếu TCP được sử dụng, các đáp ứng và yêu cầu trong một sự giao dịch đơn lẻ được mang trên cùng một kết nối TCP. Nhiều yêu cầu SIP từ một client đến một server có thể sử dụng cùng kết nối TCP hoặc có thể sử dụng một kết nối mới cho mỗi yêu cầu.
Nếu client gởi yêu cầu sử dụng UDP, đáp ứng được gửi đến địa chỉ được định nghĩa trong trường tiêu đề của yêu cầu.

d. Lời mời SIP (SIP Invitation)


Một lời mời SIP thành công bao gồm hai bản tin: bản tin INVITE và theo sau là bản tin ACK. Bản tin INVITE yêu cầu người bị gọi tham gia vời một hội nghị đặc biệt hoặc thiết lập một cuộc đối thoại hai người. Sauk hi người bị gọi đồng ý tham gia vào cuộc gọi, người gọi xác nhận rằng nó đã nhận được đáp ứng bằng cách gởi bản tin ACK.

e. Định vị người dùng


Người bị gọi có thể di chuyển giữa nhiều hệ thống đầu cuối theo thời gian. Các vị trí này có thể đăng ký động với server SIP. Một server vị trí có thể trả về nhiều vị trí bởi vì người dùng đăng nhập ở nhiều trạm một cách đồng thời hoặc server vị trí có thông tin không chính xác. Server SIP kết hợp các kết quả để cung cấp một danh sách các vị trí hoặc không có vị trí nào.
Hoạt động nhận danh sách các vị trí thay đổi tùy thuộc vào server SIP. Một redirect server trả về một danh sách hoàn chỉnh các vị trí và cho phép các client định vị người dùng chính xác. Một proxy server cũng cố gắng định địa chỉ cho đến khi cuộc gọi thành công hoặc người bị gọi từ chối cuộc gọi.

f. Thay đổi một phiên đang tồn tại

Trong một số trường hợp, người ta mong muốn thay đổi các thông số của một phiên đang tồn tại. Điều này được thực hiện bằng cách phát lại bản tin INVITE, sử dụng cùng Call-ID, nhưng nội dung mới hoặc các trường tiêu đề mang thông tin mới, Chẳng hạn, hai đối tác đang trò chuyện và muốn thêm vào một người thứ ba. Một trong hai sẽ mời người thứ ba với địa chỉ multicast mới và đồng thời gửi bản tin INVITE đến đối tác thứ hai với sự mô tả phiên multicast mới , ngoại trừ số nhận dạng cuộc gọi là cũ.

(Ngô Đức Tâm)