Đồ án tốt nghiệp đại học Chơng III: Các kịch bản
Chơng III
Các kịch bản
3.1 Giới thiệu
Sự phối hợp điều khiển giữa MG và MGC đợc thiết lập tại thời điểm MG khởi
động và đợc thông báo bởi bản tin ServiceChange, nhng có thể bị thay đổi bởi các sự
kiện sau đó nh các sự kiện lỗi hay do ngời vận hành thay đổi. Mặc dù giao thức không
có một cơ chế rõ ràng để hỗ trợ nhiều MGC cùng điều khiển một MG vật lý nhng nó đ-
ợc thiết kế để hỗ trợ nhiều MG logic (trong cùng một MG vật lý) và có thể phối hợp
với các MGC khác nhau.
H.248\MEGACO cung cấp các cơ chế giải quyết các vấn đề liên quan đến giao
diện điều khiển MG-MGC nh sau:
Thoả thuận về phiên bản của giao thức cho phép các MG và MGC có thể cài
đặt các phiên bản giao thức khác nhau vẫn có thể giao tiếp với nhau. Lệnh
ServiceChange đầu tiên từ MG sẽ chứa số phiên bản của giao thức mà MG hỗ
trợ trong tham số ServiceChangeVersion. Sau khi nhận đợc bản tin này, nếu
MGC chỉ hỗ trợ phiên bản thấp hơn thì nó sẽ gửi một bản tin
ServiceChangeReply với phiên bản thấp hơn và sau đó tất cả các bản tin giữa
MG và MGC sẽ theo phiên bản thấp hơn. Nếu MG không đồng ý nó sẽ thiết
lập một kết nối truyền tải tới MGC để thông báo lỗi, sau đó nó sẽ ngắt kết nối
này.
Nếu MGC hỗ trợ phiên bản giao thức cao hơn MG nhng có thể hỗ trợ phiên
bản thấp hơn của MG, nó sẽ gửi bản tin ServiceChangeReply trả lời chấp nhận
phiên bản thấp hơn, sau đó tất cả các bản tin giữa MG và MGC sẽ theo phiên
bản thấp hơn. Nếu MGC không hỗ trợ phiên bản giao thấp hơn của MG nó sẽ
từ chối phối hợp và thông báo lỗi.
Xử lý khi MG bị lỗi. Nếu một MG bị lỗi nhng có thể gửi một bản tin tới MGC,
nó sẽ gửi lệnh ServiceChange để MGC xử lý bằng phơng pháp thích hợp (thoả
thuận-graceful hay bắt buộc-forced) và xác định TermiantionID gốc. Khi nó
hoạt động trở lại nó sẽ gửi lệnh ServiceChange với phơng pháp restart.
Giao thức cho phép MGC gửi các bản tin giống nhau tới các cặp MG cho mục
đích dự phòng. Chỉ có các MG hoạt động mới chấp nhận hay từ chối các phiên.
Khi có lỗi xảy ra, MG gửi lệnh ServiceChange tới MGC thông báo về tình
trạng lỗi và nguyên nhân lỗi. Sau đó MGC sẽ sử dụng MG thứ cấp để hoạt
Nguyễn Văn Quân (B), D2001VT
- 50 -
Đồ án tốt nghiệp đại học Chơng III: Các kịch bản
động. Khi đã sửa lỗi, MG sơ cấp sẽ gửi lệnh ServiceChange với phơng thức
Restart để hoạt động trở lại.
Xử lý khi MGC bị lỗi. Nếu MG phát hiện ra MGC đang điều khiển nó bị lỗi,
nó sẽ cố gắng liên lạc với MGC khác trong danh sách các MGC có thể điều
khiển nó để chuyển quyền điều khiển nó cho một MGC khác. Khi MGC sơ cấp
bị lỗi nó sẽ bắt đầu với MGC thứ cấp đầu tiên.
Phần tiếp theo sẽ tập trung đi sâu vào các kịch bản khởi tạo MG, thiết lập và giải
phóng cuộc gọi.
3.2 Khởi tạo MG (khởi động lạnh)
MG đợc cung cấp một cơ chế quản lý gồm một MGC sơ cấp và một danh sách các
MGC thứ cấp. Tại thời điểm khởi động, MG phát lệnh ServiceChange với phơng thức
Restart trên Termination gốc tới MGC sơ cấp của nó. Nếu MGC chấp nhận MG nó
sẽ gửi Transaction Accept chứa ServiceChangeMgcId đợc thiết lập cho chính nó. Nếu
MG nhận đợc ServiceChangeMgcId không trùng với MGC mà nó kết nối thì nó sẽ gửi
lệnh ServiceChange tới MGC đợc xác định trong ServiceChangeMgcId. Quá trình này
tiếp tục cho đến khi có một MGC chấp nhận đăng ký của MG hoặc MG bị lỗi khi nhận
trả lời. Trờng hợp MG bị lỗi khi nhận trả lời từ MGC sơ cấp thì MG sẽ thử với các
MGC thứ cấp theo một thứ tự trong danh sách. Nếu MG không thể thiếp lập một mối
quan hệ điều khiển với bất kỳ MGC nào thì nó sẽ đợi một khoảng thời gian mặc định
(nh mô tả ở phần 9.2 của RFC 3015) sau đó lại bắt đầu liên lạc với MGC sơ cấp rồi có
thể với cả các MGC thứ cấp trong danh sách.
Đáp ứng cho lệnh ServiceChange với phơng thức Restart có thể bị mất và MG
nhận đợc một lệnh trớc khi nhận đợc đáp ứng cho lệnh ServiceChange. MG sẽ phát lỗi
505 - Command Received before Restart Response.
Nh vậy, có 3 trờng hợp khởi tạo khác nhau:
1. Trờng hợp thông thờng (MGC sơ cấp)
2. Không có đáp ứng từ MGC sơ cấp
3. Không có đáp ứng từ MGC sơ cấp hay thứ cấp.
Sau đây ta sẽ lần lợt xem xét cả 3 trờng hợp trên.
3.2.1 Khởi tạo MG, trờng hợp thông thờng (MGC sơ cấp)
Trong trờng hợp này, MG
A
gửi lệnh ServiceChange tới MGC sơ cấp theo phơng
thức Restart trên termination gốc. MGC nhận đợc bản tin ServiceChange của MG
A
và
Nguyễn Văn Quân (B), D2001VT
- 51 -
Đồ án tốt nghiệp đại học Chơng III: Các kịch bản
gửi lại bản tin phản hồi ServiceChangeReply thông báo tới MG
A
rằng nó chấp nhận sự
khởi động của MG
A
.
3.2.2 Khởi tạo MG, không có đáp ứng từ MGC sơ cấp
Khi không có đáp ứng từ MGC sơ cấp lần đầu tiên, MG
A
sẽ đợi trong một khoảng
thời gian nhất định rồi thử liên lạc lại một lần nữa. Nếu không có đáp ứng từ MGC sơ
cấp thì MG
A
sẽ liên lạc với MGC thứ cấp. Trong trờng hợp này MGC 2 là MGC thứ
cấp, khi nhận đợc bản tin ServiceChange của MG
A
nó gửi bản tin ServiceChangeReply
lại cho MG
A
để thông báo cho MG
A
rằng nó đã chấp nhận sự đăng nhập của MG
A
.
Nguyễn Văn Quân (B), D2001VT
- 52 -
Đồ án tốt nghiệp đại học Chơng III: Các kịch bản
3.2.3 Khi không có đáp ứng của cả MGC sơ cấp và MGC thứ cấp
Nó sẽ liên lạc lại với MGC sơ cấp sau một khoảng thời gian ngâu nhiên, thời gian
này là từ 0 đến T (T là độ trì hoãn lớn nhất, phụ thuộc vào kiểu MG). Nếu không thể
liên lạc đợc với MGC sơ cấp thì MG
A
sẽ liên lạc với các MGC thứ cấp. Để ngăn ngừa
trờng hợp nhiều MG sử dụng thời gian ngâu nhiên nh nhau trong cùng một thời điểm
khi liên lạc với cùng một MGC, các MG phải sử dụng chung một giải thuật thời gian
giống nhau.
3.2 Thiết lập cuộc gọi
Sau khi MG
A
đăng nhập đợc vào quyền điều khiển của một MGC, MGC sẽ điều
khiển thiết lập cuộc gọi cho MG
A
. Quá trình thiết lập cuộc gọi bao gồm việc thiết lập
kênh TDM, thiết lập phiên RTP, các thuộc tính của các luồng media mà MG
A
gửi cho
thực thể từ xa. Quá trình đợc thực hiện thông qua các bớc sau:
Bớc 1: MGC gửi lệnh ADD tới MG
A
, thiết lập một context mới đồng thời cộng một
termination vật lý (đại diện bởi một khe thời gian TDM đợc xác định bởi MGC) vào
trong đó, với địa chỉ IP và số cổng UDP cha xác định (kí hiệu là $). Termination vật lý
đựơc xác lập ở chế độ không hoạt động.
Bớc 2: MG
A
trả lời MGC bằng một đáp ứng ADD Reply kèm theo Ctxt_id là địa
chỉ của context mới thiết lập, đồng thời thông báo cho MGC biết là quá trình tạo
termination vật lý đã thành công, với địa chỉ IP và số cổng UDP dành cho kênh TDM.
Bớc 3: MGC gửi lệnh ADD thứ hai tới MG
A
, yêu cầu MG
A
thiết lập một
termination nhất thời (với thuộc tính phiên RTP) và cộng nó vào context ở trên.
Nguyễn Văn Quân (B), D2001VT
- 53 -
Đồ án tốt nghiệp đại học Chơng III: Các kịch bản
Bớc 4: MG
A
trả lời MGC bằng một đáp ứng ADD Reply, trong đó thông báo rằng
phiên RTP đã đợc thiết lập thành công, với địa chỉ IP và số cổng UDP dành cho lu l-
ợng.
Bớc 5: MGC gửi tới MG
A
lệnh Modify, yêu cầu MG
A
thiết lập các thuộc tính của
các luồng media mà MG
A
gửi cho thực thể từ xa, kích hoạt chế độ của hai termination
vật lý và nhất thời trong context là nhận và gửi.
Bớc 6: MG
A
trả lời MGC bằng lệnh ModifyReply, thông báo việc kích hoạt kênh
TDM và phiên RTP với các đặc tính đã thống nhất đã thành công.
3.3 Giải phóng cuộc gọi
Quá trình giải phóng cuộc gọi thực hiện việc giải phóng phiên RTP và kênh TDM
mà cuộc gọi chiếm giữ, trả lại tài nguyên cho mạng. Quá trình này có thể thực hiện
theo các kịch bản sau:
3.3.1 Giải phóng cuộc gọi, kịch bản 1
Trong kịch bản này MGC thực hiện thiết lập phiên RTP ở chế độ không hoạt động
trớc khi xoá nó cùng với kênh TDM trong context. Các bớc cụ thể nh sau:
Bớc 1: MGC gửi lệnh Modify tới MG
A
, yêu cầu MG
A
thiết lập Termination nhất
thời (Eph) ở chế độ không hoạt động.
Bớc 2: MG
A
gửi lệnh đáp ứng của nó ModifyReply thông báo với MGC là việc
thiết lập đã thành công.
Bớc 3: MGC gửi lệnh Subtract tới MG
A
yêu cầu xoá 2 termination trong context,
đồng thời xoá luôn context. Các số liệu thống kê mà MGC yêu cầu đợc chỉ ra trong
Audit descriptor.
Nguyễn Văn Quân (B), D2001VT
- 54 -