CHƯƠNG 3: DỊCH VỤ TRÊN NỀN IMS VÀ ĐỀ XUẤT TRIỂN KHAI IMS Ở VIỆT NAM
3.1 Nghiên cứu các dịch vụ triển khai trên nền IMS
3.1.4 Dịch vụ hội nghị
Dịch vụ hội nghị là dịch vụ hội thoại giữa nhiều cá nhân tham gia. Có nhiều loại hội nghị khác nhau. Hội nghị không chỉ giới hạn có dạng thoại tham gia mà còn cho cả video và văn bản; nhờ thế người tham gia hội nghị ngoài việc thông tin thoại, họ còn có thể nhìn thấy nhau hoặc gửi văn bản cho nhau.
3.1.4.1 Cấu trúc
Cấu trúc hệ thống IMS thực hiện dịch vụ hội nghị luôn có một điểm trung tâm báo hiệu, thực hiện kết nối tất cả những thành viên tham gia hội nghị lại với nhau.
Điểm trung tâm này cung cấp một loạt các dịch vụ hội nghị bao gồm Media Mixing, transcoding và các thông báo danh sách người tham gia.
Có nhiều cách để tạo một hội nghị: dùng SIP tạo các hội nghị ad hoc; các hội nghị đã được lập danh mục (dùng CPCP – Conference Policy Control Protocol, là giao thức client server được các user dùng để vận dụng các luật áp dụng trong hội - nghị);
Hình 3.26 là cấu trúc hệ thống dịch vụ hội nghị. Nó nhận dạng các giao diện giữa các thực thể và các giao thức sử dụng giữa chúng. UA trong hình đại diện cho người tham gia hội nghị, là thực thể tạo một hội nghị ad hoc hoặc tham gia hội nghị dùng CPCP đã tạo bằng cách gửi yêu cầu SIP INVITE.
CPCP
Conference policy server UA
(participant)
Conference policy server
Conference policy
SIP
Hình 3.26 Cấu trúc IMS thực hiện dịch vụ hội nghị 3.1.4.2 Trạngthái hội nghị
Trình bầy sự kiện conference state được dùng để biết các thay đổi của các thành viên tham gia hội nghị: nhờ các thông báo user có thể biết ai đã tham gia hay rời khỏi hội nghị. Event package này cũng cho phép các thành viên biết được trạng thái các thành viên của user trong hội nghị.
Các user có thể đăng ký trạng thái hội nghị bằng cách gửi một yêu cầu SUBSCRIBE đến URI conference đại diện cho conference server. Conference Server sẽ đảm nhận làm bộ thông báo về các event package này.
Tên của event package này là “conference”. Thẻ này xuất hiện trong mào đầu Event của yêu cầu SUBSCRIBE. Thân của mỗi thông báo sẽ mang thông tin trạng thái hội nghị.
Hai phần thông tin về trạng thái user là: trạng thái hiện tại của user (activity- status) và phương thức mà người tham gia vào hoặc ra khỏi hội nghị (history- status). Activity-status mang một trong các trạng thái sau: dialled-in, dialled-out, departed, booted hoặc failed.
3.1.4.3 Ví dụ
Khi tạo hội nghị bằng URI conference factory, người tham gia hội nghị sẽ tạo yêu cầu INVITE có URI chứa URI conference factory. Conference server tạo một focus cho hội nghị đã tạo, phân công cho nó một URI conference và trả về mào đầu Contact chứa URI này ở phản hồi 200 OK. URI chứa một tham số “isfocus” chỉ ra URI là của focus này. Khi nhận được phản hồi 200 OK cho yêu cầu INVITE, người tham dự hội nghị sẽ lưu lại nội dung của mào đầu Contact chứa URI conference.
URI này có thể được dùng để chỉ cho user đến hội nghị (hình 3.27).
INVITE
UPDATE 183
P-CSCF
PRACK
S-CSCF
200 (OK)
ACK
INVITE
UPDATE 183 PRACK 200 (OK)
ACK
INVITE
MRFC/AS
UPDATE 183 (Session Progress)
PRACK 200 (OK)
ACK
200 (OK) 200 (OK) 200 (OK)
200 (OK) 200 (OK) 200 (OK)
Hình 3.27 Tạo một hội nghị dùng URI conference factory
Khi tạo một yêu cầu REFER (đã dự định cho một user) để mời user đó tham gia hội nghị, mào đầu Refer To của yêu cầu REFER được đặt địa chỉ đến URI - conference, có tham số “isfocus”. (hình 3.28).
REFER
200 (Accepted)
P-CSCF S-CSCF
REFER
200 (Accepted)
200 (OK)
200 (OK)
REFER
200 (Accepted)
I-CSCF S-CSCF
REFER
200 (Accepted)
200 (OK)
200 (OK)
REFER
200 (Accepted)
P-CSCF User B
REFER 200 (Accepted)
200 (OK) 200 (OK)
User A
NOTIFY NOTIFY NOTIFY NOTIFY NOTIFY NOTIFY
Hình 3.28 Dùng yêu cầu REFER giới thiệu một user vào hội nghị
SUBSCRIBE
200 (OK)
P-CSCF
200 (OK)
S-CSCF
NOTIFY
SUBSCRIBE
200 (OK)
200 (OK) NOTIFY
SUBSCRIBE
MRFC/AS
200 (OK)
200 (OK) NOTIFY User A
Hình 3.29 Đăng ký trạng thái hội nghị
Hình 3.29 là ví dụ về việc user dùng giao giao diện Ut, gửi bản tin CPCP tới conference server để thiết đặt hội nghị.
Trong đó user C thuộc Dial in list, user B thuộc Dial out list, user A đảm nhận - - làm Moderator.
CPCP CPCP:
OK Conf-URI=sip:conf12@nokia.com
AS User B
SUBSCRIBE
SIP: INVITE/200/ACK
User C
SIP: INVITE/200/ACK NOTIFY <Bob has foined>
NOTIFY <Bob has foined>
SIP: BYE 20-November-2003-7:00 GMT
SIP: BYE SIP: BYE
20-November-2003-15:00 GMT
Hình 3.30 Dùng CPCP tạo phiên hội nghị
Lúc 7:00 GMT 28/11/2003 server conference tạo một focus. Focus đọc danh sách dial-out và tìm thấy user B trong đó. Focus sẽ gửi cho user B một lời mời tham gia vào hội nghị. User A sẽ đăng ký conference-state event package và thông báo rằng user B đã tham gia hội nghị. Một thời gian sau, user A thấy user C tham gia vào hội nghị. Lúc 15:00 GMT, focus gửi bản tin kết thúc hội nghị.