Giao thức điều khiển cổng phương tiện MGCP
Trang 1MỤC LỤC
Trang 2LỜI MỞ ĐẦU
Trong những năm gần đây, các nhà mạng ở nước ta như VNPT, Viettel, Mobifone, Vinaphone đang nỗ lực xây dựng và triển khai mạng thế hệ mới nhằm đáp ứng nhu cầu ngày càng tăng của khách hành về dịch vụ thoại, số liệu, video multimedia… Trong giai đoạn này các thiết bị NGN đang trong giai đoạn cài đặt, chạy thử và từng bước chuyển tải lưu lượng từ mạng truyền thống Cấu trúc mạng NGN của VNPT đã từng bước được định hình, một số giao thức báo hiệu cho mạng NGN cũng được lựa chọn như BICC, SIP, H323…trong đó là MGCP – đang được phát triển
Bằng kiến thức trên lớp và kiến thức tích lũy được, em đã nghiên cứu về để tài
“Giao thức điều khiển cổng phương tiện - MGCP”.
Do khả năng và thời gian chuẩn bị còn hạn chế nên bài tập lớn chắc chắn không tránh khỏi những thiếu sót, em rất mong nhận được những lời góp ý chân thành của giáo viên bộ môn – Th.S Vũ Thị Nhài
Em chân thành cảm ơn !
Trang 3Media Gateway Control Protocol
(MGCP)
1 Khái niệm về MGCP
Giao thức MGCP được trình bày trong tài liệu draft-huitema-MGCP-v0r1-00.txt vào tháng 11 năm 1998 ngay trước khi nó được đưa ra thảo luận ở nhóm MEGACO trong cuộc họp tại Orlando của IETF Sau đó vào tháng 10 năm 1999, IETF ban hành RFC 2705: “Media Gateway Control Protocol (MGCP) Ver.1.0” Tháng 1 năm 2003, giao thức MGCP được sửa đổi và ban hành trong văn bản RFC
3435 của IRTF
“MGCP- Media Gateway Controller Protocol: là giao thức điều khiển các VoIP gateway từ các thiết bị điều khiển cuộc gọi, được gọi là Media Gateway Contrroller hay Call Agent” Đây là định nghĩa về MGCP trích từ IETF RFC 2705 – Media Gateway Protocol
Sự phát triển của MGCP được mở rộng do ảnh hưởng của sự xung đột giữa các phần kiến nghị cho việc tách rời hoá kiến trúc GATEWAY MGCP là sự bổ sung của hai giao thức SIP và H.323, được thiết kế đặc biệt như một giao thức bên trong giữa các MG và các MGC cho việc tách hoá kiến trúc GATEWAY Trong
đó, MGC xử lý cuộc gọi bằng việc giao tiếp với mạng IP qua truyền thông với một thiết bị báo hiệu địa chỉ giống như H.323 Gatekeeper hoặc SIP server và với mạng chuyển mạch kênh qua một Gateway báo hiệu tuỳ chọn MGC thực hiện đầy đủ chức năng của lớp báo hiệu trong H.323 và như một H.323 Gatekeeper MG có nhiệm vụ chuyển đổi giữa dạng tín hiệu analog từ các mạch điện thoại, với các gói tin trong mạng chuyển mạch gói MGCP hoàn toàn tương thích với VoIP Gateway
Nó cung cấp một giải pháp mở cho truyền thông qua mạng và sẽ cùng tồn tại với H.323 và SIP
Trang 4MGCP là giao thức sử dụng để điều khiển các Gateway thoại từ các thiết bị điều khiển cuộc gọi, được gọi là Media Gateway Controller hoặc Call Agent
Quan hệ giữa MG và MGC (hay CA) được mô tả trên hình MGC thực hiện báo hiệu cuộc gọi, điều khiển MG MGC và MG trao đổi lệnh với nhau thông qua MGCP
Hình 1: Quan hệ giữa MG và MGC (hay CA)
MG ở đây có thể là
- Trunking Gateway (TGW): là thiết bị cung cấp giao diện kết nối giữa mạng PSTN và mạng VoIP Các TGW quản lý một số lượng lớn các kênh số
- Residential Gateway (RGW): là thiết bị cung cấp các giao diện thoại tương
tự truyền thống qua mạng VoIP RGW có thể là một trong các thiết bị xDSL, thiết
bị vô tuyến băng rộng
- Access Gateway (AGW): là thiết bị cung cấp các giao diện thoại tương tự truyền thống hoặc giao diện số cho tổng đài PBX qua mạng VoIP AGW có thể là VoIP Gateway dung lượng nhỏ
Trang 5- Business Gateway (BGW): là thiết bị cung cấp giao diện cho tổng đài PBX qua mạng VoIP
Network Access Server: là thiết bị kết nối với mạng chuyển mạch kênh thông qua modem để cung cấp đường truy nhập số liệu qua mạng Internet MGCP là giao diện chủ/tớ trong đó MGC quản lý trạng thái cuộc gọi và định hướng cho MG từng bước trong quá trình thiết lập cuộc gọi MG sẽ không thực hiện bất cứ một hoạt động nào có liên quan đến cuộc gọi như cung cấp âm mời quay số, chuông, nếu như không có yêu cầu của MGC
MGCP dựa trên mô hình Client/Server Giống như các giao thức khác, MGCP
sử dụng giao thức SDP để mô tả phương thức truyền thông và sử dụng RTP/RCTP cho việc vận chuyển và giám sát truyền tin MGCP định nghĩa các thực thể đầu cuối (Endpoint- E) E là nguồn dữ liệu có thể là vật lý hay logic Việc tạo nguồn vật
lý đòi hỏi phải thiết lập phần cứng, chẳng hạn như giao tiếp qua một Gateway và kết thúc một kết nối lại tới mạng chuyển mạch kênh PSTN, còn nguồn logic tạo ra
từ phần mềm như nguồn tiếng nói
Kết nối có thể là kết nối điểm - điểm hoặc đa điểm có thể được thiết lập qua rất nhiều thành phần mạng, như gói tin thoại dùng RTP trên mạng TCP/UDP, dùng AAL2 cho mạng ATM
Các hoạt động của MGCP là các báo hiệu (Signal- S) gửi từ MGC tới MG và các kết quả (Event- E) do MG gửi tới MGC Quan hệ giữa MG và MGC như hình Quá trình thiết lập giữa hai đầu cuối tại các Gateway cùng được quản lý bởi MGC diễn ra như sau:
MGC gửi Creat Connection tới Gateway đầu tiên Gateway sẽ định vị các tài nguyên cần thiết và gửi trả thông tin cần thiết cho kết nối như địa chỉ IP, cổng UDP, các tham số cho quá trình đóng gói Các thông tin này được chuyển tiếp qua MGC
Trang 6MGC gửi Creat Connection tới Gateway thứ hai chứa các thông tin chuyển tiếp ở trên Gateway này trả về các thông số mô tả phiên của nó
MGC gửi lệnh Modify Connection tới đầu cuối thứ nhất Quá trình kết nối thành công sau khi hoàn tất các bước trên
2 Mô hình kết nối
Mô hình kết nối trong giao thức MGCP được xác định dựa trên đầu cuối và các kết nối được nhóm trong các cuộc gọi , một cuộc gọi có thể tương ứng với một hay nhiều kết nối Tuy theo từng loại MG mà đầu cuối có thể là một trong các loại sau:
- Kênh số (DS0)
- Thuê bao tương tự
- Điểm truy nhập máy chủ cáp âm thông báo
- Điểm truy nhập đáp ứng thoại tương tác (IVR)
- Cầu hội nghị
-
Các phần tử đầu cuối, cuộc gọi, và kết nối được xác định dựa trên các nhạn dạng tương ứng gồm: EndpointID, CallID và ConnectionID
2.1 Nhận dạng đầu cuối (EndpointID)
Nhận dạng đầu cuối bao gồm 2 phần: tên miền của MG quản lý đầu cuối và tên đầu cuối trong MG, nó có dạng như sau: local-endpoint-name@domain-name Trong đó tên miền có thể là tên như được định nghĩa trong RFC 1034 ví dụ như: mygateway.whatever.net hoặc cũng có thể là địa chỉ IP được của miền như được định nghĩa trong RFC 821 ví dụ như: [192.168.1.2]
Trang 7Tên đầu cuối được ghép lại từ các phần tử có ưu tiên, các phần tử cách nhau bởi dấu “/” Ví dụ như: term1/term2/term3, trong đó phần tử đầu tiên (term1) thể hiện loại đầu cuối
- Khi một phần tử được thay thế bằng ký tự “*” thì nó được hiểu là: một trong các giá trị của phần tử này trong phạm vi của MG không phụ thuộc trạng thái dịch
vụ của đầu cuối là in-service hay out-service
- Khi một phần tử được thay thế bằng ký tự “$” thì nó được hiểu là: một trong các giá trị của phần tử này trong phạm vi của MG và nó chỉ ứng với các đầu cuối đang ở trạng thái in-service
2.2 Nhận dạng cuộc gọi (CallID)
Mỗi một cuộc gọi được phân biệt bằng bộ nhận dạng cuộc gọi (CallID) là một chuối có độ dài lớn nhất là 32 ký tự được MGC tạo ra CallID này là duy nhất trong
hệ thống hoặc ít nhất là trong tập hợp các MGC cung điều khiển các MG Khi MGC tạo nhiều kết nối ứng với một cuộc gọi thì các kết nối này phải có cùng CallID
2.3 Nhận dạng kết nối (ConnectionID)
Nhận dạng kết nối (ConnectionID) do MG tạo ra khi nó nhận được yêu cầu tạo kết nối Nó là một chuỗi có độ dài lớn nhất là 32 ký tự Ít nhất là 3 phút tính từ khi kết nối sử dụng một bộ nhận dạng được giải phóng thì MG mới được sử dụng lại nhận dạng kết nối cho một kết nối mới cho cùng một đầu cuối
2.4 Tên MGC và các phần tử khác
Giao thức MGCP được thiết kế cho phép triển khai MGC dự phòng để tăng độ tin cậy của mạng Điều đó có nghĩa là không có sự liên kết cố định giữa các phần tử với phần cứng hệ thống hoặc giữa các giao diện mạng
Trang 8Tương tự như nhận dạng thiết bị đầu cuối, tên MGC bao gồm hai phần tên Local và tên miền: cal@ca.whatever.net Thông thường tên MGC có đầy đủ cả hai phần này, tuy nhiên tên miền cũng được chấp nhận
Tăng độ tin cây được thực hiện thông qua các thủ tục sau:
- Các phần tử chẳng hạn như các đầu cuối hoặc MGC được nhận dạng thông qua tên miền của chúng chứ không được nhận dạng thông qua địa chỉ của chúng trong mạng Ứng với một tên miền có thể có nhiều địa chỉ Nếu như một lệnh hoặc một đáp ứng không thể chuyển tiếp đến một địa chỉ mạng thì nó có sẽ được truyền
đi tới địa chỉ mạng khác
- Các phần tử có thể chuyển sang hệ thống khác Liên kết giữa tên logic (tên miền và hệ thống cụ thể được lưu trong DNS Các MGC và MG phải giám sát thời gian hiệu lực đối với các bản tin mà chúng đọc từ DNS Các phần tử này phải yêu cầu DSN làm mới thông tin này nếu như quá thời gian hiệu lực
Bên cạnh việc sử dụng tên miền và DSN, NotifiedEntity được sử dụng để làm tăng độ tin cậy trong MGCP NotifiedEntity của một đầu cuối chính là MGC hiện đang điều khiển đầu cuối Tại một thời điểm bất kỳ một đầu cuối chỉ tương ứng với một NotifiedEntity, nó xác định đích mà đàu cuối sẽ gửi lệnh tới
Khi khởi động, NotifiedEntity phải được thiết lập giá trị đã được khai bào và NotifiedEntity sẽ không thay đổi cho đến khi đầu cuối nhận được tham số NotifiedEntity có giá trị khác
3 Các lệnh điều khiển Gateway
Giao thức MGCP bao gồm 9 lệnh sau đây:
- EPCF (EndpoinConfiguration): là lệnh gửi từ MGC tới MG để đặt cấu hình đầu cuối của MG do nó quản lý
Trang 9- RQNT (NotificationRequest): là lệnh gửi từ MGC tới MG để yêu cầu MG giám sát một sự kiện hoặc yêu cầu phát một tín hiệu tại đầu cuối của MG do nó quản lý
- NTFY (Notify): là lệnh gửi từ MG tới MGC để thông báo về việc xuất hiện
sự kiện mà MGC yêu cầu giám sát
- CRCX (CreateConnection): là lệnh gửi từ MGC tới MG để thiết lập kết nối tới một đầu cuối của MG mà nó quản lý
- MDCX ModifyConnection: là lệnh gửi từ MGC tới MG để thiết lập kết nối các tham số của một kết nối đa được thiết lập
- DLCX DeleteConnection: là lệnh gửi từ MGC tới MG hạơc từ MG tới MGC
để giải phóng một hay nhiều kết nối đã được thiết lập
- AUEP (AuditEnpoint): là lệnh gửi từ MGC tới MG để kiểm tra trạng thái của một đầu cuối
- RSIP (RestarInProgress): là lệnh gửi từ MG tới MGC để thông báo việc khởi động lại một đầu cuối để đưa đầu cuối từ trạng thái không hoạt động (Out of service) sang trạng thái hoạt động (In service) hoặc ngược lại từ trạng thái hoạt động sang trạng thái không hoạt động
3.1 Sự kiện và tín hiệu
Trong giao thức MGCP,các hoạt động tại đầu cuối được chia thành hai loại là
sự kiện và tín hiệu MGC có tín hiệuẻ yêu cầu MG thông báo việc xuất hiện một sự kiện nào đó tại một đầu cuối(ví dụ như sự kiện nhấc máy) bằng cách đưa tên sự kiện vào tham số RequestedEvents trong lệnh RQNT MGC cũng có tín hiệu yêu cầu MG cấp một tín hiệu tới đầu cuối (ví dụ như am mời quay số) băng cách đưa tên của sự kiện vào tham số SingalRequets trong lệnh RQNT
Trang 10MGC cũng có tín hiệuể yêu cầu MG phát hiện một nhóm sự kiện thông qua việc sử dụng các kí tự “*” thay cho tên gói và “all” thay cho tên sự kiện: chẳng hạn như: “foo/all”được hiểu là tất cả các sự kiện trong gói “foo” “*/bar” được hiểu là
sự kiện “bar” trong tất cả các gói do MG hỗ trợ;
3.2 Mã phúc đáp và mã lỗi
Trong giao thức MGCP tất cả các lệnh đều phải được phúc đáp xác nhận Trong các bản tin phúc đáp có chứa mã phúc đáp chỉ tín hiệu trạng thái của lệnh
Mã phúc đáp là một số nguyên và có ý nghĩa như sau:
- Giá trị từ 000 đến 099 chỉ thị đáp ứng xác nhận
- Giá trị từ 100 đến 199 chỉ thị phúc đáp khai báo (provisional response)
- Giá trị từ 200 đến 299 chỉ thị lệnh được thực hiện thành công
- Giá trị từ 400 đến 499 chỉ thị phiên giao dịch lỗi
- Giá trị từ 500 đến 599 chỉ thị lỗi cố định
Sau đây là các giá trị mã phúc đáp đã được định nghĩa:
- 000 đáp ứng xác nhận
- 100 phiên giao dịch đang được thực hiện và tiếp sau là bản tin chỉ thị hoàn thành
- 101 phiên giao dịch được giải pháp thỏa mãn SLtín hiệu bất kỳ
Trang 114 Thiết lập cuộc gọi
Hình 2: Thiết lập giữa điện thoại A và điện thoại B.
Trình tự thiết lập giữa điện thoại A và điện thoại B
Khi máy điện thoại A nhấc máy Gateway A gửi bản tin cho MGC
Gateway A tạo âm mời quay số và nhận số bị gọi
số bị gọi được gửi cho MGC
MGC gửi lệnh cho Gateway B
Gateway B đổ chuông ở máy B
MGC gửi lệnh cho Gateway A và B tạo phiên kết nối RTP/RTCP
5 Đánh giá MGCP
Các ưu điểm của MGCP:
MGCP đặc biệt hữu ích đối với các ứng dụng triển khai lớn, các hệ thống phức tạp Nó cho phép tích hợp tốt với mạng SS7 tạo sự thuận lợi cho quá trình điều khiển và xử lý cuộc gọi
MGCP phân tách riêng biệt hai chức năng chính là chức năng điều khiển luồng phương thức và chức năng báo hiệu nên việc thi hành dễ dàng hơn
Tuy nhiên nó vẫn có một số nhược điểm là trở nên quá phức tạp đối với các
ứng dụng nhỏ Ngoài ra nó chỉ tập trung vào việc chuyển đổi giữa các luồng
Trang 12phương thức Giao thức này được hoàn thiện trong chuẩn H.248/MEGACO tháng 11/2000 với sự hợp tác giữa hai tổ chức ITU và IETF
6 So sánh giữa MGCP, SIP và H.323
MGCP khác với SIP và H.323 ở chỗ:
MGCP là kiểu Client/Server trong khi SIP và H.323 là giao thức ngang cấp MGCP được sử dụng giữa MG và MGC
MGCP ra đời nhằm tách biệt các chức năng báo hiệu và thiết lập đường truyền MGC (softswitch) sau khi nhận được yêu cầu thiết lập cuộc gọi SIP hoặc H.323 sẽ dùng giao thức MGCP để điều khiển Gateway thiết lập phiên kết nối giữa hai đầu cuối
Trong hình vẽ trên ta thấy chức năng báo hiệu đã được tách biệt và do MGC đảm nhiệm Chúng ta xem xét việc thiết lập cuộc gọi trong hai trường hợp: cuộc gọi trong mạng H.323 và trong mạng MGCP
Trang 13Hình 3: Báo hiệu thiết lập cuộc gọi trong hai mạng H.323 và MGCP
H.323 MGCP
Thuê bao nhấc máy và quay số
Gateway phân tích định tuyến cuộc
gọi
Hai Gateway trao đổi thông tin
Gateway bị gọi đổ chuông ở số máy
bị gọi
Hai Gateway thiết lập phiên kết nối
RTP/RTCP
Thuê bao nhấc máy và quay số Gateway thông báo cho MGC MGC phân tích số, định tuyến và gửi lệnh cho Gateway bị gọi để đổ chuông
ở thuê bao bị gọi MGC gửi lênh cho 2 Gateway để thiết lập phiên kết nối RTP/RTCP
Bảng 4: So sánh giữa các giao thức SIP, H.323, MGCP
Trang 14KẾT LUẬN
Qua việc tìm hiểu trên, em đã nắm được tổng quan chung nhất về khái niệm, kiến trúc và lợi ích của “Giao thức điều khiển cổng phương tiện - MGCP”
MGCP hoạt động theo kiểu server/client, phân tách rõ ràng 2 chức năng điều khiển luồng và chức năng báo hiệu thông qua MG và MGC (CA) Nó chỉ áp dụng cho mạng lớn, dễ dàng tích hợp với mạng SS7 và hỗ trợ cho 2 giao thức H.323 và SIP
Tuy nhiên, MGCP rất phức tạp với các mạng nhỏ, nó chỉ tập trung vào chức năng chuyển đổi giữa các luồng Giao thức này được hoàn thiện trong chuẩn H.248/MEGACO tháng 11/2000 với sự hợp tác giữa hai tổ chức ITU và IETF
Trang 15TÀI LIỆU THAM KHẢO
1. Bài giảng NGN, HVCNBCVT
2. Nghiên cứu công nghệ VoIP - Nguyễn Công Bách K43 ĐHBKHN
3. Bài giảng VoIP - Nguyễn Thanh Trà HVCNBCVT