Hỡnh 5.3. Kiến trỳc điều khiển của MEGACO/H.248
MEGACO/H.248 là giao thức điều khiển cổng phương tiện núi chung, bao gồm cổng nội hạt, trung kế trong mạng PSTN, giao diện ATM, giao điện thoại và đường dõy analog, điện thoại IP, cỏc loại server,…Với tớnh năng hỗ trợ rộng rói cỏc ứng dụng một cỏch mềm dẻo, đơn giản và hiệu quả ở mức chi phớ hợp lý, giao thức MEGACO/H.248 sẽ là chuẩn được sử dụng trong mạng thế hệ sau NGN. MEGACO/H.248 khụng bị ràng buộc với bất kỳ một giao thức điều khiển cuộc gọi ngang hàng nào (vớ dụ: SIP hay H.323) và hoàn toàn tựy thuộc vào thiết kế của người
quản trị mạng. Kiến trỳc của MEGACO/H.248 dựa trờn 3 lớp: lớp MGC, lớp MG và lớp MEGACO (hỡnh 5.3).
Lớp MGC chứa tất cả cỏc phần mềm điều khiển, xử lý cuộc gọi. Lớp này thực
hiện cỏc đặc điểm ở mức cuộc gọi như phỏt hiện cuộc gọi, chuyển cuộc gọi, hội thoại hay giữ cuộc gọi (hold). Lớp MGC cũng thực hiện giao tiếp với cỏc MGC cũng như cỏc thực thể ngang cấp hay cấp dưới khỏc, MGC quản lý mọi thuộc tớnh trong quỏ trỡnh giao tiếp.
Lớp MG thực hiện cỏc kết nối lưu lượng đi và tới cỏc mạng khỏc, tương tỏc
với cỏc luồng lưu lượng này qua ứng dụng bỏo hiệu và sự kiện. Lớp MG cũng điều khiển cỏc thuộc tớnh thiết bị của cổng phương tiện (vớ dụ như giao diện người dựng). Lớp này khụng hề biết gỡ về việc điều khiển cỏc thuộc tớnh cuộc gọi và hoạt động theo sự điều khiển của lớp MGC.
Lớp MEGACO/H.248 quy định cỏch thức mà lớp MGC điều khiển lớp MG.
5.2.2. Vị trớ của giao thức MEGACO/H.248 trong mụ hỡnh OSI
Hỡnh 5.4. Vị trớ của MEGACO/H.248 trong OSI
Như chỉ ra trong hỡnh 5.4, giao thức MEGACO/H.248 thực hiện cỏc chức năng của mỡnh ở 3 lớp trờn cựng trong mụ hỡnh OSI.
5.2.3. Cỏc chức năng của MEGACO/H.248
Giao thức MEGACO/H.248 định nghĩa giao diện điều khiển của MGC đối với MG. MEGACO/H.248 cung cấp cỏc chức năng sau:
Điều khiển cỏc loại MG khỏc nhau (TGW, RGW, AGW, MS,…). Hỗ trợ đàm phỏn quyết định cỏc thuộc tớnh cuộc gọi.
Cú khả năng xử lý cuộc gọi đa người dựng.
Hỗ trợ QoS và đo lường lưu lượng (cỏc thụng tin thống kờ sau mỗi kết nối). Thụng bỏo lỗi giao thức, lỗi mạng hay cỏc thuộc tớnh cuộc gọi.
Hỡnh 5.5. Vị trớ và chức năng của giao thức MEGACO/H.248
5.2.4. Cỏc khỏi niệm trong giao thức MEGACO/H.248
Cỏc loại gateway: GW cú địa chỉ IP và chỉ số cổng UDP mặc định của MGC quản lý nú.
TGW (Trunking Gateway): là gateway giữa cỏc tổng đài trung kế giữa mạng
PSTN và mạng IP.
AGW (Access Gateway): là gateway giữa mạng ISDN, tổng đài PBX và
mạng IP.
RGW (Residential Gateway): là gateway giữa một nhúm cỏc mỏy điện thoại
(nối trực tiếp vào Gateway này) và mạng IP.
NAS: Gateway cung cấp khả năng truy cập Internet.
IVR (Interactive Voice Response): gateway này được MGC điều khiển để thu
cỏc digit và gửi fax,…
Mỗi loại GW cú khả năng hỗ trợ cỏc gúi tin khỏc nhau.
Termination: MGC coi GW là đại diện cho một nhúm cỏc Termination, trong đú
mỗi Termination chịu trỏch nhiệm xử lý cho một loại lưu lượng. Mỗi Termination
Termination cố định (cỏc giao diện vật lý, kờnh TDM). Đối với loại
Termination này, việc sử dụng cỏc lệnh Add hay Subtract chỉ đơn giản là việc lấy chỳng ra hay thờm vào Null context.
Termination tạm thời hay Termination logic (cổng RTP nối GW với mạng,
chỉ tồn tại khi sử dụng). Loại Termination này được tạo ra bởi lệnh Add và bị xúa đi bởi lệnh Subtract.
GW được MGC coi như Termination gốc, điều này cú ý nghĩa khi MGC muốn làm việc với chớnh GW (vớ dụ khi tuyờn bố GW là “in” hay “out” một dịch vụ nào đú). Giao thức MEGACO/H.248 cú khả năng làm việc với một số lượng lớn cỏc Termination là do Termination cú cỏc thuộc tớnh lựa chọn (event, signal, statistic). Cỏc thuộc tớnh này được đưa vào cỏc gúi và MGC cú thể chỉ định Termination là nú chỉ tiếp nhận những gúi nào. Tại mỗi thời điểm, Termination cũng được điều khiển ở một chế độ xỏc định (chế độ chỉ nhận, chỉ gửi hoặc vừa nhận vừa gửi). Termination là nơi đi và đến của cỏc luồng lưu lượng hay điều khiển.
Context: Là khỏi niệm mang tớnh đột phỏ của MEGACO/H.248 so với cỏc giao
thức cựng loại trước nú. Khỏi niệm này cho phộp tạo ra cỏc phiờn liờn lạc đa điểm. Mỗi đầu cuối cú thể tham gia vào nhiều context khỏc nhau với cỏc loại lưu lượng khỏc nhau (vớ dụ khi đầu cuối tham gia một phiờn truyền thụng đa phương tiện). Đõy là một phiờn kết nối bao gồm nhiều Termination. Mỗi context được GW tạo ra ban đầu chỉ cú một Termination, cỏc Termination kết nối với Termination đầu tiờn sẽ lần lượt được thờm vào context này. Context sẽ bị xúa bỏ khi Termination cuối cựng được giải phúng. Số lượng Termination tối đa trong một context sẽ phụ thuộc vào khả năng của GW (những GW chỉ hỗ trợ liờn lạc điểm – điểm sẽ chỉ cú tối đa 2 Termination trong một context). Context được MG gỏn một phần nhận dạng ID bao gồm 32 bit (ID là duy nhất đối với một MG). Tất cả cỏc Termination khụng tham gia vào một kết nối nào sẽ nằm trong Null context. Hiện nay Context cú 3 thuộc tớnh: topology descriptor (mụ tả topo phi kết nối), Priority flag (cờ ưu tiờn, hướng dẫn GW phõn bổ tài nguyờn trong trường hợp khan hiếm) và emergency flag (cờ khẩn, chỉ ra context nào sẽ được lưu lại và khụi phục trong trường hợp cú sự cố). Cỏc thuộc tớnh khỏc của context cú thể được bổ sung trong tương lai.
Transaction: là một chuyển giao, mỗi transaction gồm phần yờu cầu (request) và phần trả lời (reply). Transaction Pending được sử dụng để thụng bỏo rằng transaction vẫn đang được xử lý (được sử dụng khi transaction nào đú bị timeout). Mỗi transaction cú một số nhận dạng ID. Số nhận dạng ID cú giỏ trị từ 1 đến 99999. Thụng tin trao đổi giữa MGC và cỏc GW dưới dạng cỏc chuyển giao (chứa cỏc lệnh và cỏc bản tin thụng
bỏo sự kiện, trả lời,…), cỏc lệnh trong mỗi chuyển giao sẽ được xử lý theo thứ tự đó chỉ ra.
Event: là cỏc sự kiện của đầu cuối (như onhook, offhook,…). Cỏc sự kiện này được MG phỏt hiện và bỏo cỏo tới MGC. MGC sẽ xem xột chỉ cỏc sự kiện mà nú quan tõm ở bất kỳ thời điểm nào (được chỉ ra bởi event descriptor).
Signal: là bỏo hiệu tạo ra cỏc õm bỏo hay hiển thị hỡnh ảnh ở đầu cuối. Thời gian tồn tại của bỏo hiệu cú thể do MGC quy định hoặc cú thể tồn tại cho tới khi bị loại bỏ. Nú sẽ bị loại bỏ bất cứ khi nào một sự kiện được phỏt hiện ở đầu cuối trừ khi cú sự can thiệp của MGC.
Termination descriptor: cỏc thuộc tớnh của Termination được nhúm lại thành cỏc descriptor bao gồm:
Termination state descriptor: cỏc thuộc tớnh của Termination (test, cú quyền
hay bị cấm sử dụng một dịch vụ,…).
Media descriptor: bảng mụ tả cỏc luồng lưu lượng (voice, data,…).
Event descriptor: mụ tả cỏc sự kiện được phỏt hiện bởi GW và hành động lại
đỏp lại sự kiện đú.
Signal descriptor: mụ tả cỏc bỏo hiệu cú thể xảy ra ở Termination.
Stream descriptor: bảng cỏc descriptor của remote, local, local control đối với
một luồng lưu lượng xỏc định.
Local control descriptor: chứa cỏc thuộc tớnh cần quan tõm giữa GW và MGC
(chế độ của Termination, cỏc xử lý của GW khi nhận được local hay remote descriptor).
Local descriptor: chứa cỏc thuộc tớnh chỉ ra luồng lưu lượng mà GW nhận từ
thực thể đầu xa.
Remote descriptor: chứa cỏc thuộc tớnh chỉ ra luồng lưu lượng mà GW gửi tới
thực thể đầu xa.
Digitmap descriptor: định nghĩa một dóy tập hợp cỏc sự kiện (về quay số) cú
thể cú (theo kế hoạch đỏnh số). Dóy này được gửi tới GW để thu cỏc chữ số được quay bởi khỏch hàng và gửi tới MGC dưới dạng cỏc gúi hoàn chỉnh (toàn bộ số bị gọi).
Observed event descriptor: mụ tả cỏc sự kiện quan sỏt được (cú trong lệnh
Package descriptor: trong lệnh AuditValue, dựng để trả lại bảng cỏc gúi tin
gửi đi từ Termination.
Service change descriptor: lý do đưa ra lệnh Service change.
Statistic descriptor: trong lệnh Audit hay Subtract, để bỏo cỏo cỏc thống kờ ở
Termination.
Topology descriptor: chỉ ra topo của context.
Audit descriptor: trong lệnh Audit, xỏc nhận thụng tin yờu cầu.
Error descriptor: chứa mó lỗi và mó lỗi văn bản (tựy chọn) trong lệnh Notify
(yờu cầu và trả lời).
Event Buffer descriptor: mụ tả sự kiện vừa được GW phỏt hiện khi kớch hoạt
eventbuffering.
5.2.5. Truyền dẫn cỏc bản tin của giao thức MEGACO/H.248
Cơ chế truyền dẫn được sử dụng cần phải đảm bảo tớnh tin cậy, cỏc lệnh đang gửi đi và chờ xỏc nhận từ phớa nhận sẽ được lưu giữ một cỏch độc lập.
Cỏc bản tin MEGACO/H.248 cú thể được truyền dẫn qua lớp UDP/IP hoặc TCP/IP. Cỏc GW và cỏc MGC sẽ được gỏn cỏc địa chỉ IP, cỏc luồng lưu lượng đi và đến sẽ qua cỏc cổng UDP hay TCP được chỉ ra. Vớ dụ như cổng dành cho lệnh Service Change request là 2944 khi sử dụng mó húa văn bản và 2945 khi sử dụng mó húa nhị phõn (đối với cả UDP và TCP), cỏc cổng này cũng được sử dụng khi khụng cú cổng nào được chỉ ra. Cỏc Transaction reply sẽ được gửi tới cựng với cổng mà TransactionRequest được gửi đi.
Trong quỏ trỡnh truyền dẫn cỏc bản tin MEGACO/H.248 cũng đặt ra một vấn đề về độ trễ của cỏc bản tin, dẫn tới độ trễ của cỏc lệnh và tớnh “hợp thời” của cỏc xử lý tại GW hay MGC. Để giải quyết vấn đề này, RFC 3525 cũng đưa ra một số quy tắc trong việc xử lý cỏc bản tin MEGACO/H.248 tại MGC (6 quy tắc).
5.2.6. Cỏc lệnh được định nghĩa bởi giao thức MEGACO/H.248
Giao thức MEGACO/H.248 sử dụng 8 lệnh trong giao diện điều khiển giữa MGC và GW bao gồm:
Add: Được sử dụng để thờm một Termination vào context, cũng cú thể để tạo
Modify: Sử dụng để thay đổi thuộc tớnh, sự kiện hay cỏc bỏo hiệu ở một
Termination.
Subtract: Sử dụng để xúa một Termination khỏi context, cũng cú thể là xúa
luụn cả context (nếu đú là Termination cuối cựng trong context này).
Move: Chuyển một Termination từ một context này sang một context khỏc. AuditValue: Trả lại trạng thỏi hiện tại của Termination (bỏo hiệu, sự kiện,
thuộc tớnh, số liệu thống kờ).
Audit Capability: Trả lại tất cả cỏc giỏ trị cú thể cú của Termination (bỏo hiệu,
sự kiện, thuộc tớnh, số liệu thống kờ). Cỏc lệnh trờn được sử dụng bởi MGC.
Notify: GW sử dụng để bỏo cỏo cỏc sự kiện mà nú phỏt hiện được tới MGC. Service Change: Lệnh này được sử dụng bởi:
GW, để thụng bỏo tới MGC rằng một nhúm Termination cú ý định rời
khỏi hay tham gia một dịch vụ nào đú.
GW, để đăng ký tới MGC khi nú khởi động. MGC, để tuyờn bố một chuyển giao tới GW.
MGC, để lệnh cho một MG nào đú đưa một nhúm Termination hay một
Termination tham gia hay ra khỏi một dịch vụ.
5.2.6.1. Mó hoỏ lệnh của giao thức MEGACO/H.248
Cỏc bản tin MEGACO/H.248 cú thể được mó hoỏ bằng hai cỏch: mó hoỏ nhị phõn và mó húa văn bản.
Trong phương phỏp mó húa nhị phõn, tiờu chuẩn ISO/ITU ASN.1 được sử dụng. ASN.1 là một ngụn ngữ định nghĩa cỏch gửi dữ liệu giữa cỏc hệ thống khụng giống nhau, nú định nghĩa ở cỏc hệ thống cựng một cỳ phỏp dữ liệu (trong cỏc giao thức tầng ứng dụng). ASN.1 được viết bằng cỏc ngụn ngữ khỏc nhau trong từng hệ thống, phự hợp với từng hệ thống. Khi một hệ thống muốn gửi dữ liệu, hệ thống đú sẽ mó húa dữ liệu cần gửi theo ASN.1, sau đú gửi đi. Hệ thống nhận sẽ tiến hành giải mó theo chuẩn định sẵn ASN.1. Cỏc luật mó húa theo chuẩn ASN.1 bao gồm: BER (Basic Encoding Rule), DER (Distinguished Encoding Rule). Việc sử dụng cỏc luật mó húa nào là tựy vào người thiết kế.
Trong phương phỏp mó húa văn bản, chuẩn ABNF được sử dụng (RFC 2234). Cú thể sử dụng hai định dạng: rỳt gọn (compact text) và đầy đủ (Pretty text). Chỳng được mụ tả như sau:
Cả hai định dạng đều cú ưu điểm và nhược điểm của nú, dạng rỳt gọn cho bản tin cú kớch thước nhỏ hơn, thời gian mó húa ngắn hơn nhưng cú độ tin cậy khụng cao bằng dạng đầy đủ.
5.2.6.2. Cỳ phỏp lệnh của giao thức MEGACO/H.248
Để tiện phõn tớch ta cú thể lấy một lệnh để minh hoạ, đõy là lệnh từ MGC tới GW: MGC to RGW2: MEGACO/1 [216.33.33.61]: 27000 Transaction = 1240 { Context = 2 { Modify = TermB { Signals {cg/bt} Media { LocalControl { Mode = recvonly} } }, Modify = EphB { Media {
LocalControl { Mode = recvonly} } } } } }
Lệnh trong vớ dụ trờn bao gồm cỏc phần sau:
Địa chỉ IP của nơi gửi (MGC hay GW): 216.33.33.61 (IPv4). Số cổng nơi gửi: 2700.
Số định danh transaction: 1240. Context ID.
Mỗi context sẽ cú nhiều lệnh: Notify, Audit, Modify,…Trong mỗi lệnh lại gồm:
- Termination ID: TermB.
- Local Termination State.
- Cỏc descriptor.
Ta cú thể thấy: mỗi Transaction gồm nhiều action (mỗi action cho 1 context), mỗi action lại gồm nhiều lệnh, mỗi lệnh sẽ cú cỏc descriptor.
5.2.7. Cấu trỳc bản tin MEGACO/H.248
Mỗi bản tin MEGACO/H.248 bao gồm nhiều Transaction và một header. Trong đú header chứa cỏc thụng nhận thực, bảo mật. Mỗi Transaction gồm nhiều action (cho mỗi context) và một Transaction header (chứa Transaction ID). Mỗi context lại gồm một context header, một context properties và cỏc lệnh. Context header chứa contextID, context properties chứa cỏc thụng tin về cấu hỡnh context, thuộc tớnh, mức ưu tiờn. Mỗi lệnh gồm một command header và cỏc descriptor của lệnh đú.
Hỡnh 5.6. Cấu trỳc bản tin MEGACO/H.248
5.2.8. Hoạt động của giao thức MEGACO/H.248
SD
HEWLETT PACKARDSureStoreAutoloaderDLT
718
MGC
RGW RGW
MEGACO MEGACO
Anolog
phone Anologphone
RTP/RTCP
Hỡnh 5.7. Mụ tả cuộc gọi MEGACO/H.248
Khi một đầu cuối nào đú nhấc mỏy và định thực hiện cuộc gọi, sự kiện offhook này sẽ được phỏt hiện bởi MG quản lý nú. MG sẽ thụng bỏo sự kiện này tới MGC trực thuộc, MGC sẽ chỉ định MG đú bằng một lệnh để gửi õm bỏo mời quay số tới đầu cuối
đú, đồng thời digitmap cũng được MG này cập nhật từ MGC, để phục vụ cho việc thu cỏc chữ số và gửi toàn bộ số được quay về MGC.
Giả sử đầu cuối bị gọi thuộc một MG khỏc nhưng cựng được quản lý bởi MGC trờn. Quỏ trỡnh thiết lập liờn kết được tiến hành theo 3 bước cơ bản sau:
MGC yờu cầu MG thứ nhất thiết lập một kết nối tại điểm kết cuối thứ nhất.
MG này sẽ phõn bổ tài nguyờn cho kết nối yờu cầu và đỏp ứng lại bằng bản tin trả lời. Bản tin trả lời sẽ chứa cỏc thụng tin cần thiết để MG thứ hai cú thể gửi cỏc bản tin một cỏch tin cậy tới liờn kết vừa thiết lập. Cỏc thụng tin này cú thể là: địa chỉ IP, tờn cổng UDP, TCP hay cỏc thụng tin đúng gúi bản tin.
Tương tự, MGC cũng yờu cầu MG thứ hai thiết lập một liờn kết ở điểm kết
cuối thứ hai. MG này phõn bổ tài nguyờn cho kết nối này trờn cơ sở cỏc thụng tin trong bản tin đỏp ứng của MG thứ nhất. Tới lượt, MG thứ hai cũng đỏp ứng lại bằng bản tin chứa cỏc thụng tin cần thiết nhằm đảm bảo MG thứ nhất cú thể gửi cỏc bản tin một cỏch tin cậy tới liờn kết vừa thiết lập bởi MG thứ hai.
Cỏc thụng tin trong bản tin đỏp ứng của MG thứ hai sẽ được gửi tới MG thứ
nhất. Khi này liờn kết đó được thiết lập, quỏ trỡnh truyền thụng cú thể diễn ra theo hai chiều. Lưu lượng được chuyển tải nhờ cỏc giao thức RTP hay RTCP. Trong trường hợp hai MG được quản lý bởi 2 MGC khỏc nhau, cỏc MGC sẽ trao đổi cỏc thụng tin bỏo hiệu thụng qua một giao thức bỏo hiệu từ MGC tới MGC (cú thể là SIP hoặc H.323) để đảm bảo việc đồng bộ trong việc thiết lập kết nối tới hai điểm kết cuối.
Khi lờn kết đó được thiết lập, cỏc tham số của nú được giỏm sỏt bởi MGC và cú thể được thay đổi dưới cỏc lệnh của MGC (vớ dụ như thờm một kết cuối vào liờn kết).
5.2.9. Cỏc ưu điểm của MEGACO/H.248 so với cỏc giao thức điều khiển cổng phương tiện khỏc phương tiện khỏc
So với giao thức MGCP, phiờn bản MEGACO/H.248 version 1 cú cỏc điểm nổi trội sau:
Hỗ trợ dịch vụ đa phương tiện, cỏc dịch vụ hội nghị đa điểm tăng cường. Cải tiến cỳ phỏp lệnh để việc xử lý bản tin hiệu quả hơn.
Cú khả năng lựa chọn giao thức TCP hay UDP.