Một kết nối chỉ hữu ích nếu nó thu thập phương tiện từ một điểm cuối và gửi nó đến một điểm cuối khác trong MGCP, mỗi kết nối được gắn với một điểm Cuối được đặt tên, nhưng gửi phương ti
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA VIỄN THÔNG I
Giảng viên: Nguyễn Thanh Trà
Sinh viên: Nguyễn Thành Long - B18DCVT262
Nguyễn Xuân Sơn - B18DCVT351 Phạm Ngọc Lâm - B18DCVT239 Phùng Quang Lĩnh - B18DCVT249
Trang 2LỜI NÓI ĐẦ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 đã 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 đó có MGCP
Trong bài tiểu luận này nhóm em sẽ trình bày về để tài “Giao thức điều khiển cổng phương tiện - MGCP”
Bố cục của bài tiểu luận gồm có 2 chương:
Chương 1: GIAO THỨC MGCP VÀ MÔ HÌNH KẾT NỐI MGCP Chương 2: CÂU LỆNH MGCP VÀ THIẾT LẬP CUỘC GỌI
Bằng sự cố gắng và nỗ lực nhóm em đã hoàn thành xong bài tiểu luận của nhóm
Do còn có sự hạn chế về mức độ hiểu biết của bản thân nên không thể tránh khỏi những thiếu sót trong quá trình nghiên cứu Vì thế, nhóm em rất mong nhận được những lời góp ý và sự chỉ bảo thêm của các thầy cô và các bạn để em có thêm những kiến thức phục vụ cho học tập cũng như công việc sau này
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 1
MỤC LỤC 2
THUẬT NGỮ VIẾT TẮT 3
DANH MỤC HÌNH VẼ 4
CHƯƠNG I:GIAO THỨC MGCP VÀ MÔ HÌNH KẾT NỐI MGCP 5
1.1 KHÁI NIỆM MGCP 5
1.2 CÁC ĐỐI TƯỢNG XÂY DỰNG MÔ HÌNH MGCP 6
- EndPoints 6
- Connections 6
1.3. NHẬN DẠNG ĐẦU CUỐI (END POINT ID) 7
1.4. NHẬN DẠNG CUỘC GỌI (CALL ID) 7
1.5. NHẬN DẠNG KẾT NỐI ( CONNECTION ID 7
1.6. SỰ KIỆN VÀ BÁO HIỆU 7
CHƯƠNG II: CÂU LỆNH MGCP VÀ THIẾT LẬP CUỘC GỌI 8
2.1 CÂU LỆNH MGCP TỪ ĐẠI LÝ CUỘC GỌI ĐẾN GATEWAY 8
2.2 THIẾT LẬP CUỘC GỌI QUA MGCP 14
2.3 ĐÁNH GIÁ MGCP 20
KẾT LUẬN 21
Trang 4THUẬT NGỮ VIẾT TẮT
MGCP Media Gateway Controller Protocol
MGC Media Gateway controller
AUEP Audit Enpoint
AUCX Audit connection
NTFY Notify command
RSIP Restar In Progress
STP Signaling Transfer Point
ISUP ISDN USER PART protocol
CIC Circuit Identification Code
ACM Address Complete Message
SDP Session Description Protocol
Trang 5DANH MỤC HÌNH VẼ
Hình 1.1: Vị trí giao thức MGCP trong mối quan hệ MGC và MG 5
Hình 1.2: Điểm cuối và kết nối MGCP 6
Hình 2.1: Ví dụ về lệnh EPCF 8
Hình 2.2: Ví dụ về lệnh RQNT 9
Hình 2.3: Ví dụ về lệnh CRCX 10
Hình 2.4: Ví dụ về lệnh MDCX 10
Hình 2.5: Ví dụ về lệnh DLCX 11
Hình 2.6: Ví dụ về lệnh AUEP 12
Hình 2.7: Ví dụ về lệnh AUCX 13
Hình 2.8: Ví dụ về lệnh RSIP 14
Hình 2.9: Cuộc gọi mới nhận được từ mạng SS7 và được truyền đến lõi VoIP 15
Hình 2.10: Lớp 4 gatekeeper định tuyến cuộc gọi đến đại lý cuộc gọi gateway thích hợp 16
Hình 2.11: Thông báo BÁO CÁO được chuyển đổi thành ISUP ACM 17
Hình 2.12: Người dùng được gọi nhấc điện thoại 18
Hình 2.13: Bản tin CONNECT được chuyển đổi thành bản tin ISUP ANM 19
Hình 2.14: Xử lý DTMF ngoài băng tần 19
Hình 2.15: DTMF được tạo lại bằng cổng trung kế 20
Trang 6CHƯƠNG I: GIAO THỨC MGCP VÀ MÔ HÌNH KẾT NỐI MGCP
1.1 KHÁI NIỆM MGCP
Giao thức MGCP được trình bày 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 tahngs 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 Control 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 Controller hay Call Agent Được thiết kế để giao tiếp với bộ điều khiển cổng đa phương tiện và hỗ trợ
mô hình điều khiển cuộc gọi tập trung
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
1.2 CÁC ĐỐI TƯỢNG XÂY DỰNG MÔ HÌNH MGCP
Mô hình kết nối MGCP được xây dựng dựa trên 2 đối tượng:
Trang 7• EndPoint
Có thể bắt nguồn (media-source) và/hoặc kết thúc (media-sink) một phương tiện lưu lượng Một mạch có thể nhận các gói RTP, giải mã chúng và gửi kết quả dữ liệu G.711 tới một khe thời gian trên trục TDM là một điểm cuối Một thực thể có thể nhận các gói RTP và chuyển chúng đến một điểm cuối Phương tiện dựa trên IP bộ trộn (MP) trong thuật ngữ H.323) có thể nhận các luồng RTP, trộn chúng và gửi lại các luồng kết quả đến các bồn RTP khác là một điểm cuối Tương tự, trên ATM mạng bất kỳ thực thể nào có thể nhận hoặc bắt nguồn các luồng phương tiện AAL2 là một điểm cuối
• Connections
Mỗi điểm cuối có thể có một hoặc nhiều kết nối, mỗi trong số đó có thể không hoạt động, gửi phương tiện, nhận phương tiện hoặc cả hai Một kết nối chỉ hữu ích nếu nó thu thập phương tiện từ một điểm cuối và gửi nó đến một điểm cuối khác (trong MGCP, mỗi kết nối được gắn với một điểm
Cuối được đặt tên, nhưng gửi phương tiện đến một địa chỉ do SDP xác định, vì vậy có thể tạo kết nối từ một điểm cuối MFCP đến một địa chỉ IP không nhất thiết phải là điểm cuối MGCP đã khai báo) Kết nối có thể là điểm – điểm Kết nối điểm – đa điểm thường sẽ gửi đến một địa chỉ IP multicast
Mô hình này thường mạnh hơn và có khả năng mở rộng hơn so với khe thời gian TDM Tuy nhiên, MGCP có nhược điểm so với TDM: trong TDM, các kết nối điểm –
Trang 8đa điểm là nguyên bản, rất dễ dàng thiết lập (mỗi đích ‘lắng nghe’ khe thời gian nguồn)
và ẩn khỏi nguồn Trong VoIP, chúng yêu cầu các điểm cuối hỗ trợ phát đa hướng hoặc cần được mô phỏng thong qua điểm cuối có mục đích đặc biệt nhận phương tiện từ nguồn, sau đó sao chép và gửi phương tiện truyền thong đến tất cả các điểm đến Do đó, các tính năng như giám sát im lặng khi tiếp xúc các trung tâm, hoặc hệ thống đánh chặn hợp pháp trong hệ thống điện thoại dân cư, khó xây dựng hơn nhiều so với TDM
1.4 Nhận dạng cuộc gọi (CallID)
Mỗi cuộc gọi được phân biệt bằng bộ phận nhận dang cuộc gọi (callID) là một chuỗi có độ dài lớn nhất là 32 ký tự thập lục phân đượ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 cũng điều khiển các MG Khi MGC tạo nhiều kết nối ứng dụng với một cuộc gọi thì các kết nối này phải có cùng CallID Đối với gateway nó là một tham số không rõ ràng không phục vụ mục đích hoạt động, nhưng có thể đưa vào thống kê và để đạo điều kiện khắc phục sự cố
1.5 Nhận dạng kết nối (ConnectionID)
Nhận dạng kết nối (ConnectionID) do MH 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
1.6 Sự kiện và Báo 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
MGC 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ợ
Trang 9CHƯƠNG II: CÂU LỆNH MGCP VÀ THIẾT LẬP CUỘC GỌI
2.1: CÂU LỆNH MGCP TỪ ĐẠI LÝ CUỘC GỌI ĐẾN GATEWAY
Giao thức MGCP bao gồm 9 lệnh sau đây:
- EPCF (Endpoint Configuration): là lệnh gửi từ MGC (CA) tới MG để đặt cấu hình đầu cuối của MG do nó quản lý
Lệnh này được gửi bởi đại lý cuộc gọi (CA) đến GATEWAY để định cấu hình loại mã hóa mang (‘B:’) Hai giá trị được xác định cho đến nay là luật G.711 A (‘e: A’; ví dụ: Châu Âu) hoặc luật µ (‘e: mu’; ví dụ: ở Hoa Kỳ) Cổng chỉ phản hồi bằng mã trả lại
Ví dụ về lệnh RQNT được đưa ra trong hình sau
Trang 10Hình 2.2 Ví dụ về lệnh RQNT.
EndpointId và RequestIdentifier là các tham số bắt buộc, RequestIdentifier được sử dụng để tương quan với yêu cầu và các thông báo mà nó kích hoạt Ngoài ra, lệnh RQNT
sẽ thường chứa một số tham số sau:
• Tham số N (notified entity): Theo mặc định, phản hồi được gửi đến người khởi tạo yêu cầu (cùng địa chỉ IP và cổng UDP) và các lệnh do cổng khởi tạo được gửi đến địa chỉ IP của đại lý cuộc gọi
The NotifiedEntity tham số ảnh hưởng đến nơi gửi thông báo và các lệnh khởi tạo cổng khác (ví dụ: DLCX và RSIP), cho đến khi cổng khởi động lại
• Tham số R: Danh sách các sự kiện được yêu cầu được phân tách bằng dấu phẩy
• Tham số D (digit map): Bản đồ chữ số là một tập hợp các quy tắc thông báo cho cổng khi nào tích lũy
• Tham số S: Yêu cầu thông báo tín hiệu cho điểm cuối (ví dụ: đổ chuông hoặc nhạc chuông chờ) Theo mặc định, các tín hiệu thời gian chờ sẽ dừng ngay sau khi một trong các sự kiện trong danh sách các sự kiện được yêu cầu được phát hiện
• Tham số Q (quarantine handling): Tham số mô tả cách xử lý các tín hiệu nhận được ngay trước yêu cầu thông báo
• Tham số T (detect events): Tham số mô tả sự bổ sung một số sự kiện cần được phát hiện
- CRCX (Create Connection): 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ý
Trang 11Hình 2.3 Ví dụ về lệnh CRCX.
Một số loại kết nối có thể được tạo:
• Các kết nối với nguồn phương tiện bên ngoài hoặc ổ cắm được SDP mô tả: Lệnh chứa các thông số cơ bản như: CallId, EndpointId, Notified Entity, LocalConnectionOptions
• Kết nối với một điểm cuối khác trên cùng một cổng
- MDCX (Modify Connection): 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 đã được thiết lập
Trang 12- DLCX (Delete Connection): Là lệnh gửi từ MGC tới MG hoặc từ MG tới MGC để giải phóng một hay nhiều kết nối đã được thiết lập
Hình 2.5 Ví dụ về lệnh DLCX.
Như thể hiện trong hình, một chức năng được cung cấp bởi MGCP là cổng đa phương tiện khi kết thúc kết nối phải gửi đến tác nhân cuộc gọi thông tin sau:
• Số lượng gói tin (RTP) được gửi
• Số octet được gửi
• Số lượng gói tin (RTP) nhận được
• Số octet nhận được
• Số lượng gói bị mất
• Độ trễ đường truyền trung bình
- AUEP (Audit Enpoint): Là lệnh gửi từ MGC tới MG để kiểm tra trạng thái của một đầu cuối
Trang 13Điều này có thể được sử dụng bởi một đại lý cuộc gọi để kiểm tra xem kết nối có còn hoạt động hay không: nếu không có thông tin nào được yêu cầu, cổng chỉ cần phản hồi bằng 200 OK nếu kết nối tồn tại
Trang 14Hình 2.7 Ví dụ về lệnh AUCX.
CÂU LỆNH MGCP TỪ ĐẠI LÝ CUỘC GỌI ĐẾN GATEWAY
- NTFY (Notify command): Lệnh này cho phép cổng đa phương tiện gửi lại các sự kiện được yêu cầu bởi bộ điều khiển cổng đa phương tiện Cổng đa phương tiện có thể gửi một hoặc một số sự kiện trong lệnh NOTIFY Mỗi thông báo báo cáo các sự kiện từ một điểm cuối nhất định (có thể là kết nối trên một điểm cuối), được liệt kê trong phần điểm cuối của tiêu đề lệnh
- RSIP (Restar In Progress): 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
Trang 15Hình 2.8 Ví dụ về lệnh RSIP.
Lệnh này cho phép một cổng kết nối để làm cho một tác nhân cuộc gọi biết về một điểm cuối hoặc một nhóm các điểm cuối sắp được đưa ra khỏi dịch vụ Trong trường hợp này, phương thức khởi động lại có thể là tùy chỉnh (RM: Grace), có thể chỉ định thời gian trễ (RD), hoặc có thể bị ép buộc (kết nối bị mất ngay lập tức)
2.2 Thiết lập cuộc gọi qua MGCP
Hai ứng dụng chính của MGCP là:
• Kiểm soát các cổng tương tự hoặc điện thoại MGCP trong cơ sở của khách hàng
• Kiểm soát các cổng trung kế trong mạng của nhà cung cấp dịch vụ
Luồng cuộc gọi sau đây minh họa cả hai trường hợp Một cuộc gọi được nhận từ mạng SS7 điểm chuyển tín hiệu (STP) bởi một tác nhân cuộc gọi SS7 (SS7_CA) Tác nhân cuộc gọi SS7 gửi cuộc gọi đến mạng VoIP lõi sử dụng giao thức H.323, mạng lõi định tuyến cuộc gọi đến đại lý cuộc gọi dịch vụ khu dân cư (R_CA) và nhân viên tổng đài dịch vụ dân cư đổ chuông điện thoại analog trên cổng khu dân cư (R_GW)
Các bản tin ISUP SS7 luôn được kết hợp với mã nhận dạng mạch (CIC), liên quan
đến tín hiệu cuộc gọi đến một khe thời gian phương tiện cụ thể trên một trung kế nhất định (quan hệ này là được định cấu hình tĩnh như một phần của việc cung cấp thiết bị chuyển mạch TDM) CIC cho phép tác nhân cuộc gọi SS7 để xác định vị trí cổng phương
Trang 16tiện thích hợp và điểm cuối trên cổng này kết thúc trung kế và khe thời gian được chỉ định
Phần đầu tiên của kịch bản cuộc gọi được minh họa trong Hình 2.9 Lệnh CRCX hướng dẫn điểm cuối chuẩn bị nhận phương tiện G.711 µ-law từ mạng IP, với kích thước khung hình 10-ms Cổng phản hồi bằng cách cung cấp địa chỉ IP và cổng ở đó
Hình 2.9 Cuộc gọi mới nhận được từ mạng SS7 và được truyền đến lõi VoIP
Luồng RTP sẽ được gửi Với thông tin này, tác nhân cuộc gọi SS7 hiện có thể gửi một thông báo CÀI ĐẶT H.323 tới bộ chuyển mạch định tuyến lõi mạng VoIP, trong trường hợp này là H.323 gatekeeper Công cụ chuyển mạch định tuyến lõi này chịu trách nhiệm tìm kiếm lối ra thích hợp tuyến đường hoặc cuối cùng để định tuyến lại cuộc gọi đến các tuyến đường dự phòng trong trường hợp tắc nghẽn hoặc bất kỳ vấn
đề khác Nó cũng sẽ dịch số bên đang gọi và được gọi nếu cần, sao cho phù hợp với điểm đến Thông báo CÀI ĐẶT chứa địa chỉ RTP IP và trong phần tử FastStart, để tiến hành kết nối đa phương tiện
Thông báo TIẾN HÀNH CUỘC GỌI cho biết rằng thông báo CÀI ĐẶT đã được đã nhận đúng cách và số quay số đã hoàn tất Nếu con số không đầy đủ, thay vào đó, công
cụ chuyển mạch cốt lõi sẽ gửi một thông báo THIẾT LẬP CÔNG CỤ, tới bắt đầu một thủ tục được gọi là gửi chồng chéo để tích lũy nhiều chữ số hơn
Luồng cuộc gọi đơn giản vì chỉ có một bộ mã hóa giọng nói trong mạng VoIP và đàm phán codec là không cần thiết Các biến thể của luồng cuộc gọi này là cần thiết để
sử dụng khả năng đàm phán của H.323: nhiều kết nối 'không hoạt động' có thể được thiết lập trên cổng phương tiện cho mỗi bộ mã hóa giọng nói, sẽ cung cấp danh sách hợp
Trang 17kế MGCP không thể mở nhiều kết nối không hoạt động của các bộ mã khác nhau, sau
đó mở thông tin AUEP codec có thể được sử dụng để xây dựng Bộ giao thức H.245 và codec sẽ được đàm phán thông qua H.245 bình thường
Trong ví dụ (Hình 2.10) bên được gọi được quản lý bởi một tác nhân cuộc gọi dân
cư Nó ngay lập tức xác nhận thông báo CÀI ĐẶT với TIẾN HÀNH CUỘC GỌI, đồng thời thiết lập hộp thoại H.245 với bộ chuyển mạch lõi hoặc trực tiếp với nguồn tác nhân cuộc gọi (điều này không được hiển thị trong sơ đồ) Cổng gateway (RGW) được hướng dẫn để đổ chuông (tín hiệu ‘L / R0’) và để thông báo sự kiện off-hook cho tác nhân cuộc
gọi
Hình 2.10 Lớp 4 gatekeeper định tuyến cuộc gọi đến đại lý cuộc gọi gateway thích hợp
Ngay sau khi cổng gateway xác nhận rằng nó đang đổ chuông, R_CA gửi lại thông báo BÁO CÁO đến chuyển đổi mềm cốt lõi Lưu ý rằng trong mạng điện thoại quốc gia, tiếng chuông thực tế âm báo không bao giờ được gửi qua kết nối phương tiện RTP, nó sẽ được tạo ra bởi bên gọi chuyển đổi khi nó nhận được thông báo BÁO CÁO Tuy nhiên, vẫn cần cung cấp kết nối phương tiện chỉ nhận càng sớm càng tốt (nếu điều này có thể được thực hiện trong CÀI ĐẶT tin nhắn), bởi vì trong trường hợp có cuộc gọi đến số điện thoại quốc tế, nhạc chuông sẽ được cung cấp trong băng thông qua kết