Phân biệt giữa phiên, dialog, các giao dịch và nhánh (branch)
Phiên, là thuật ngữ mô tả kết nối truyền thông giữa các user (ví dụ Tobias muốn gửi các luồng audio và video đến Theresa). Sự truyền thông này gọi là mức mang (bearer level): các gói RTP được gửi từ hai UE đến GGSN và GGSN sẽ thực hiện truyền các gói này một cách trực tiếp qua mạng. Phiên ở đây được thiết lập dựa trên SIP và báo hiệu SDP (giao thức mô tả phiên) được truyền trên mặt bằng điều khiển (control plane).
SIP dialog là báo hiệu giữa hai UE cần để thiết lập, điều chỉnh và giải phóng phiên đa phương tiện. Một dialog bắt đầu được thiết lập với yêu cầu INVITE và tồn tại đến hết kết thúc phiên bằng phản hồi 200 (OK) cho yêu cầu BYE. Mọi dialog đều được nhận dạng bằng giá trị chứa ở mào đầu Call-ID và các nhãn (tag) ở mào đầu To và From của các yêu cầu SIP.
Một giao dịch SIP gồm một yêu cầu SIP và tất cả các phản hồi liên quan đến yêu cầu đó. Ví dụ để thiết lập phiên, UE của Tobias gửi một yêu cầu INVITE đến UE của Theresa và sẽ nhận được phản hồi 100 (Trying) từ P-CSCF, phản hồi 183 (Session in Progress) và 180 (Ringing) và 200 (OK) từ UE của Theresa. Như vậy có năm bản tin cho giao dịch đó, và cả năm bản tin đêu thuộc một dialog và có cùng số Csep.
Sau khi đã thiết lập được IPsec SAs, UE của Tobias sẽ đặt địa chỉ port đã được bảo vệ (1357) ở mào đầu Contact, đặt địa chỉ port đã được bảo vệ của nó tại mào đầu Via để có thể nhận được tất cả các phản hồi qua port được bảo vệ đó. Địa chỉ của port được bảo vệ của P- CSCF (7531) được đặt ở mào đầu Route đầu tiên để P-CSCF có thể nhận được tất cả các yêu cầu của UE qua cổng bảo vệ kết hợp bảo mật đó. Các mào đầu To và From không được dùng cho mục đích định tuyến mà nó chỉ có mục đích nhận dạng.
Khi nhận được yêu cầu, P-CSCF sẽ thực hiện: xóa mào đầu Route thứ nhất liên quan đến địa chỉ của P-CSCF, kiểm tra xem thông tin định tuyến chứa ở trong yêu cầu có theo đúng như thông tin định tuyến P-CSCF đã lưu trữ trong quá trình đăng ký hay không, đặt thêm địa chỉ của nó ở mào đầu Via trên cùng (sẽ giúp nhận được các gói phản hồi), thêm vào mào đầu Record-Route và đặt địa chỉ của nó vào đó (giúp tất cả các gói tin đều phải đi qua P- CSCF này), rồi gửi cho S-CSCF của Tobias.
S-CSCF của Tobias nhận được yêu cầu đó, nó sẽ xóa mào đầu Route liên quan đến địa chỉ của chính S-CSCF đó và thực hiện các thủ tục (*). S-CSCF tiếp tục định tuyến yêu cầu INVITE sang I-CSCF của Theresa (S-CSCF của Tobias dựa vào DNS để tìm địa chỉ của I- CSCF). Nếu S-CSCF biết được khả năng định tuyến của I-CSCF thì nó sẽ thêm địa chỉ của I- CSCF vào mào đầu Route và thực hiện gửi theo SIP, tuy nhiên vì S-CSCF của Tobias và I- CSCF của Theresa ở đây nằm ở hai mạng khác nhau nên S-CSCF sẽ không thực hiện được điều đó. S-CSCF của Tobias sẽ đóng gói UDP chứa yêu cầu INVITE đến I-CSCF.
I-CSCF mạng thường trú của Theresa cần tìm ra địa chỉ của S-CSCF sẽ phục vụ cho Theresa. Nếu Theresa chưa đăng ký, I-CSCF cần tìm ra địa chỉ của S-CSCF mặc định cho Theresa thuê bao dịch vụ như một user không đăng ký. Thông tin S-CSCF đã cấp cho user được lưu tại HSS, nếu có nhiều HSS thì I-CSCF cần truy vấn SLF để tìm ra HSS phù hợp chứa thông tin về S-CSCF cấp cho Theresa. Sau khi đã tìm ra địa chỉ S-CSCF, I-CSCF sẽ xóa địa chỉ của nó ở mào đầu Route và thêm vào yêu cầu INVITE địa chỉ đó ở mào đầu Route trên cùng, và thêm vào địa chỉ của I-CSCF vào mào đầu Via trên cùng. Vì nhiệm vụ của I- CSCF chủ yếu để tìm S-CSCF do vậy những gói tin sau đó không cần thiết phải qua I-CSCF mà sẽ tới thẳng S-CSCF, do đó I-CSCF sẽ không thêm địa chỉ của nó vào mào đầu Record- Route của yêu cầu INVITE này.
S-CSCF của Theresa nhận được yêu cầu INVITE, nó sẽ xóa địa chỉ của nó tại mào đâu Route, thêm vào địa chỉ của nó ở mà đầu Via, và S-CSCF sẽ thực hiện thông tin với AS
của Theresa tương tự các thủ tục (**). Bằng việc này, S-CSCF sẽ thay request URI bằng địa chỉ liên lạc đã đăng ký có cổng server bảo vệ là 1006 (cũng chính là port của UE Theresa), cùng với địa chỉ của P-CSCF (của Theresa) có được từ mào đầu Path của yêu cầu REGISTER của Theresa. S-CSCF sẽ đặt địa chỉ của P-CSCF vào mào đầu Route.
P-CSCF của Theresa nhận được yêu cầu INVITE nó sẽ xóa tất cả mào đầu Route và thêm địa chỉ của nó vào mào đầu Record-Route và Via, đồng thời thêm địa chỉ port bảo vệ (1511) vào yêu cầu INVITE rồi gửi đến UE của Theresa.
Sau khi UE của Theresa nhận được yêu câu INVITE nó sẽ lưu lại giá trị của mào đầu Contact và danh sách mào đầu Record-Route để phục vụ cho việc định tuyến các bản tin tiếp sau.
(*)Khi S-CSCF nhận được yêu cầu INVITE khởi tạo, nó sẽ so sánh thông tin các tiêu chuẩn lọc. Nếu yêu cầu dịch vụ phù hợp với tiêu chuẩn nào đó, S-CSCF sẽ gửi yêu cầu đến AS của tiêu chuẩn ấy (tiêu chuẩn lọc được S-CSCF tải về từ HSS trong quá trình đăng ký và nhận thực, mã của tiêu chuẩn lọc có dạng XML và việc thực hiện tải về sẽ thông qua điểm tham chiếu Cx).
Bảng 2.3. Tiêu chuẩn bộ lọc của S-CSCF của Tobias
Element of filter criteria
Filter criterion #1 Filter criterion #2 Filter criterion #3
SPT: session
case
Originating Originating Terminating
SPT: public user identity Tel:+44-123-456- 789 sip: tobias@homel.fr tel:+44-123-456- 789 sip: tobias@homel.fr SPT: SIP method * INVITE SUBSCRIBE
Further SPT - - SIP header: event:
pres Application
server
sip:as1.homel.fr;lr sip:as2.homel.fr;lr sip:as3.homel.fr;lr
(**) Như vậy so sánh ta thấy rằng yêu cầu INVITE sẽ hợp với tiêu chuẩn lọc số 2 vì: có chứa sip:tobias@hom1.fr, và yêu cầu là INVITE. Sau đó S-CSCF thông tin với AS Hình 2.16:
Hình 2.16. Mào đầu giao dịch SIP [3]