Khởi tạo cuộc gọi

Một phần của tài liệu Tìm hiểu giao thức SIP và xây dựng ứng dụng minh họa (Trang 45 - 47)

SIP sử dụng cơ chế yêu cầu/trả lời để thành lập phiên. Điều này có nghĩa là một thiết bị muốn thành lập phiên với thiết bị khác thì đầu tiên phải khởi tạo yêu cầu. Yêu cầu sẽ chứa đựng những tham số cần thiết cho sự thành lập phiên. Thực thể nhận yêu cầu sau đó sẽ trả lời yêu cầu hoặc chấp nhận hoặc từ chối yêu cầu.

Chức năng UAC trong thiết bị sẽ chịu trách nhiệm khởi tạo yêu cầu sau đó gửi cho UAS trên thiết bị nhận. Nếu UAS chấp nhận yêu cầu sẽ trả lời chấp nhận cho UAC và UAC gửi xác nhận lại cho UAS để thành lập phiên.

Một phiên là kết nối logic giữa 2 thực thể muốn giao tiếp. Có thể có nhiều thiết bị trong 1 phiên. Yêu cầu phải cung cấp chi tiết về phiên bao gồm các tài nguyên như mã hóa và loại media được hỗ trợ.

Hai thiết bị giao tiếp với nhau chúng sẽ trao đổi những thông điệp. Ví dụ một thiết bị gửi thông điệp INVITE đến thiết bị khác và thiết bị đó nếu chấp nhận sẽ gửi trả lời đến yêu cầu. Dialog là kết nối logic giữa các thực thể đang giao tiếp để trao đổi thông điệp. INVITE, SUBSCRIBE và REFER là có thể tạo dialog.

Một phiên có thể có nhiều dialog. Mỗi dialog có số Dialog ID nằm trong SIP header. Khi UAC gửi yêu cầu thành lập phiên, nó sẽ chờ nhận câu trả lời sẽ

chứa đựng các header TO,FROM,CALL-ID. Header TO, FROM sẽ có tham số

TAG, tham số này cũng được sử dụng để tính dialog ID. UAC sẽ tạo dialog ID

riêng và mỗi UAS cũng có dialog ID riêng.

Dialog ID sẽ không xác định đến khi UAC nhận câu trả lời thành công từ UAS vì header TO sẽ không có tham số TAG đến khi câu trả lời được tạo bởi UAS. Tóm lại phiên sẽ không bắt đầu nếu không hoàn thành một handshake như hình sau:

Một phần của tài liệu Tìm hiểu giao thức SIP và xây dựng ứng dụng minh họa (Trang 45 - 47)