Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 99 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
99
Dung lượng
1,73 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NGUYỄN ĐỨC HÙNG NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG BUSINESS CHO DOANH NGHIỆP SỬ DỤNG VOIP LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN : TS PHẠM CÔNG HÙNG HÀ NỘI – 2010 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP TÓM TẮT ĐỒ ÁN VoIP – công nghệ truyền tải thoại IP công nghệ phát triển tương lai có khả thay mạng thoại truyền thống PSTN Do vậy, việc phát triển ứng dụng cho hệ thống VoIP lĩnh vực nghiên cứu đầy tiềm “Hệ thống Business” ứng dụng mang tính giải pháp cho doanh nghiệp kinh doanh VoIP, bên cạnh tính giống mạng PSTN, hệ thống thoại Business cung cấp tính ưu việt mà hệ thống PSTN khơng có khả đáp ứng Trong phần đầu, em nghiên cứu giới thiệu giao thức báo hiệu SIP Đây giao thức hay dùng mạng thoại VoIP Phần phân tích, thiết kế hệ thống Business Dựa hệ thống khai thác giới, em xây dựng hệ thống có chức doanh nghiệp kinh doanh thoại thiết kế sở liệu, xây dựng module chương trình chính, xây dựng giao diện quản lý hệ thống cho người sử dụng Hệ thống xây dựng nhằm đáp ứng nhu cầu thực tế Việt Nam, nhằm đem lại hiệu cao với tính đa dạng, dịch vụ ưu việt nhằm dần thay hệ thống PSTN mà đảm bảo thói quen mạng PSTN truyền thống Nguyễn Đức Hùng- ĐHBKHN 1 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP MỤC LỤC TÓM TẮT ĐỒ ÁN MỤC LỤC DANH SÁCH CÁC HÌNH DANH SÁCH CÁC BẢNG BẢNG VIẾT TẮT Chương 1: GIỚI THIỆU ĐỀ TÀI 1.1 Tính ứng dụng đề tài 1.2 Nội dung nghiên cứu đề tài 11 Chương 2: CÁC KHÁI NIỆM VÀ KIẾN THỨC LIÊN QUAN 12 2.1 Giới thiệu tổng quan VoIP 12 2.2 Tổng quan giao thức SIP 15 2.2.1 Lịch sử phát triển giao thức SIP 15 2.2.2 Chức giao thức SIP 16 2.2.3 Các đặc tính giao thức SIP 18 2.2.4 SIP giao thức liên quan 19 2.3 Các thành phần mạng Voip sử dụng giao thức báo hiệu SIP 31 2.3.1 SIP User Agent 31 2.3.2 Back-to-Back User Agent - B2BUA 32 2.3.3 SIP Gateways 33 2.3.4 SIP Proxy Server 35 2.3.5 SIP Registrar Server 38 2.3.6 Redirect Server 40 2.4 Một số ví dụ giao thức báo hiệu SIP 45 2.4.1 Thiết lập phiên 46 2.4.2 Thiết lập phiên với tham gia Proxy Server 53 2.4.3 Cuộc gọi từ SIP tới PSTN từ PSTN vào SIP qua Gateway 62 Chương 3: PHÂN TÍCH, THIẾT KẾ HỆ THỐNG BUSINESS 68 3.1 Giới thiệu chung 68 3.2 Các chức thành phần hệ thống Business 71 3.2.1 OpenSer 72 3.2.2 Radius server 73 3.2.3 MySQL 76 3.3.4 Apache – HTTP server 77 3.3 Phân tích thiết kế sở liệu hệ thống 79 3.3.1 Bảng Company 80 3.3.2 Bảng Gateway 81 3.3.3 Bảng Gid (Số máy lẻ) 82 3.3.4 Bảng subscriber (Số thuê bao) 83 3.3.5 Bảng Register 84 3.3.5 Bảng Location 84 3.3.6 Bảng Area 85 3.3.6 Bảng CDR 86 Nguyễn Đức Hùng- ĐHBKHN 2 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP Chương 4: XÂY DỰNG CHƯƠNG TRÌNH 86 4.1 Module Routing (định tuyến) 86 4.2 Module CDR 90 4.3 Cài đặt vận hành hệ thống 92 4.3.1 Cài đặt Openser 92 4.3.2 Radius Client 92 4.3.3 Radius Server 93 4.3.4 RTPProxy 93 4.3.5 Mysql 94 4.4 Vận hành hệ thống 94 KẾT LUẬN 97 Tài liệu tham khảo 98 Nguyễn Đức Hùng- ĐHBKHN 3 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP DANH SÁCH CÁC HÌNH Hình 1.1 Mơ hình mạng thoại doanh nghiệp sử dụng dịch vụ VoIP 10 Hình 2.1 Cấu trúc header giao thức RTP 24 Hình 2.2 Sip User Agent 32 Hình 2.3 Mạng SIP với gateway chuyển đổi giao thức báo hiệu 34 Hình 2.4 Chức Proxy Server 36 Hình 2.5 Qúa trình gửi tin INVITE 38 Hình 2.6 Register sever q trình đăng kí 39 Hình 2.7 Redirect sever 40 Hình 2.8 Mơ tả thiết lập phiên 46 Hình 2.9 Báo hiệu với có mặt proxy server 55 Hình 2.10 Cuộc gọi từ SIP tới PSTN qua Gateway 63 Hình 3.1 Sơ đồ hệ thống Business 68 Hình 3.2 Sơ đồ thực gọi hệ thống Business 70 Hình 3.3 Hình vẽ quan hệ bảng hệ thống Business 79 Hình 4.1 Thuật toán Routing 88 Hình 4.2 Kiểm tra tiến trình Openser 95 Hình 4.3 Kiểm tra tiến trình Rtpproxy 95 Hình 4.4 Kiểm tra tiến trình B2BUA tiến trình radius client 96 Hình 4.4 Kiểm tra tiến trình radius 96 Nguyễn Đức Hùng- ĐHBKHN 4 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP DANH SÁCH CÁC BẢNG Bảng 2.1 Các trường giao thức SDP 20 Bảng 2.2 RTCP Packet Types 28 Bảng 2.3 Một số mã lỗi giải pháp khắc phục 42 BẢNG VIẾT TẮT STT Từ viết Từ đầy đủ tắt AGI Asterisk Gateway Ý nghĩa Giao diện cổng Asterisk Interface ALG Application-level gateway Gateway mức ứng dụng – thông thường bao gồm tường lửa chuyển đổi địa ip từ địa riêng sang địa công cộng ARP Address Resolution Giao thức phân giải địa Protocol ATM Asynchronous Transfer Phương thức truyền không Mode đồng AVT Audio/Video/Transport B2BUA Back to Back User Agent CAS Channel Associated Báo hiệu kênh kết hợp Signaling CPL Call Process Language Ngôn ngữ xử lý gọi DHCP Dyanmic Host Giao thức cấu hình host động – Configuaration Protocol gửi tham số cấu hình mạng Nguyễn Đức Hùng- ĐHBKHN 5 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP cho host có yêu cầu 10 DNS Domain Name Service Kỹ thuật hay dịch vụ ánh xạ từ tên sang địa IP 11 HTTP Hypertext Transfer Giao thức truyền siêu văn protocol 12 13 14 ICMP IETF IP Internet Control Message Giao thức tin nhắn điều khiển Protocol Internet Internet Engineering Task Tổ chức chuyên trách kỹ thuật Force mạng internet Internet Protocol Giao thức internet – giao thức lớp mơ hình tham chiếu OSI 15 IPTEL IP Telephony Điện thoại IP 16 ISDN Integrated Services Mạng số đa dịch vụ tích hợp Digital Network 17 ISUP ISDN User Part Là giao thức báo hiệu số bảy, sử dụng để thiết lập gọi qua mạng PSTN 18 ITU International Tổ chức liên hợp viễn thông Telecommunication quốc tế Union 19 IVR Interactive Voice Trả lời dạng thoại Response tương tác Nguyễn Đức Hùng- ĐHBKHN 6 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP 20 LAN Local Area Network 21 MG Media gateway 22 MGC Media gateway controller Mạng nội Bộ điều khiển Media Gateway 23 MMUSIC Multiparty Multimedia Giao thức điều khiển phiên Session Control truyền thông đa phương tiên nhiều đối tác 24 NAT Network Address Giao thức chuyển đổi địa từ Translation địa Private sang địa IP Public 25 OSI Open Systems Mơ hình liên kết hệ thống mở - Interconnection mơ hình tham chiếu 26 PBX Private Branch Exchange Tổng đài chi nhánh riêng 27 PSTN Public Switched Mạng điện thoại chuyển mạch Telephone Network công cộng Request for comment Những khuyến nghị kỹ 28 RFC thuật mạng internet 29 30 RTCP RTP Real Time Control Giao thức điều khiển thời gian Protocol thực Real Time Protocol Giao thức thời gian thực – dùng để vận chuyển gói tin thoại trọng mạng Voi 31 SBC Session Boder controller Nguyễn Đức Hùng- ĐHBKHN Thiết bị điều khiển biên 7 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP 32 SDP Session Descripsion Giao thức miêu tả phiên Protocol 33 SIP Session Initiation Protocol Giao thức khởi tạo phiên 34 SMTP Simple Mail Transfer Giao thức truyền thư điện tử Protocol đơn giản Transmisstion Control Giao thức điều khiển truyền dẫn Protocol – giao thức lớp mơ hình 35 TCP OSI 36 TLS Transmission Layer Bảo mật lớp truyền dẫn Security 37 UA User Agent 38 UAC User Agent Client 39 UAS User Agent Server 40 UDP User Datagram Protocol Tác nhân người dùng Giao thức truyền tin khơng tin cậy lớp mơ hình OSI 41 URI Uniform Resource Identifier 42 URL Uniform Resource Locator 43 VoIP Voice over IP Kỹ thuật thoại giao thức IP Nguyễn Đức Hùng- ĐHBKHN 8 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1.1 Tính ứng dụng đề tài Cơng nghệ truyền thoại giao thức IP công nghệ mới, cho phép truyền tín hiệu thoại mạng chuyển mạch gói, thay chuyển mạch kênh Với phương pháp này, đặc trưng dịch vụ thoại truyền thống khơng giữ ngun mà cịn cho phép thêm vào tính tối ưu khác bước làm thay đổi mặt dịch vụ thoại Tuy nhiên, để sử dụng ưu điểm mà VoIP mang lại, nhà cung cấp dịch vụ phải nghiên cứu giải hàng loạt vấn đề kĩ thuật phức tạp, ví dụ việc báo hiệu mạng, kết nối mạng VoIP với mạng thoại PSTN truyền thống tận dụng sở vật chất có sẵn mạng này, đảm bảo chất lượng dịch vụ …Trong vấn đề quản lý thuê bao định tuyến gọi đóng vai trò quan trọng Khái niệm định tuyến q trình tìm tuyến đường cho gói tin truyền mạng Đối với mạng VoIP, định tuyến hiểu trình tìm tuyến đường để thiết lập kênh báo hiệu kênh truyền dẫn cho gọi Có thể nói giải tốt toán quản lý thuê bao định tuyến gọi đồng nghĩa với việc giải thành cơng tốn kinh tế - tốn định tồn phát triển doanh nghiệp Trong vài năm gần đây, thị trường viễn thông nói chung thị trường VoIP nói riêng nước ta trở nên nhộn nhịp với góp mặt nhiều nhà cung cấp dịch vụ nước Tuy nhiên đa phần số họ chưa đánh giá vai trò tầm quan trọng vấn đề quản lý thuê bao định tuyến gọi Để hiểu rõ thực trạng này, nghiên cứu mơ hình hệ thống thoại doanh nghiệp sử dụng dịch vụ VoIP sau: Nguyễn Đức Hùng- ĐHBKHN 9 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP Register_id Integer(4) Cluster_id Group_id Gateway_i d Time_stam p Reserver Reserver Active Pk Integer(4) Integer(4) Integer(4) Trường tự sinh khóa bảng Mã vùng khách hàng Mã nhóm khách hàng Mã gateway Varchar(255) Thời gian đăng kí dịch vụ Varchar(255) Varchar(255) Byte(1) Trường dự trữ Trường dự trữ 3.3.5 Bảng Location Lưu thơng tin đăng kí từ gateway gửi lên hệ thống Các trường liệu: STT Tên trường Kiểu liệu id Integer(4) username domain contact Varchar(255) Varchar(255) Varchar(255) received path expries Varchar(255) Varchar(255) Datetime 10 callid cseq Last_modifie d flags methods Varchar(1000) Integer Datetime 11 12 Integer Varchar(255) Khóa Pk Diễn giải Trường tự sinh khóa bảng Tên sử dụng dịch vụ gateway Tên miền gateway Thông tin địa liên lạc gateway Thông tin địa nhận Khoảng thời gian tối đa để gateway gửi tin Register lên hệ thống Mã định danh cho tin Register Loại tin (REGISTER, … ) 3.3.6 Bảng Area Lưu thông tin mã vùng thuê bao Các trường liệu: Nguyễn Đức Hùng- ĐHBKHN 84 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP STT Tên trường Kiểu liệu Khóa Pk area_id Integer(4) Area_group_id Area_name Area_code Suffix_length Description Active Integer(4) Varchar(255) Varchar(10) Varchar(30) Varchar(1000) Char(1) Diễn giải Trường tự sinh khóa bảng Mã nhóm vùng Tên vùng Mã vùng Trường mô tả thông tin mã vùng Trạng thái mã vùng 3.3.8 Bảng CDR (Call detail record ) Lưu thông tin chi tiết gọi để phục vụ việc tính cước cho thuê bao mạng Các trường liệu: STT Tên trường Kiểu liệu cdr_id 10 11 12 Setup_time Connect_time Disconnect_time Type Acct_flag Company_id Branch_id Cli Cld Display Call_status Integer(11)unsig ned Datetime Datetime Datetime Char(4) Char(1) Integer(4) Integer(4) Varchar(30) Varchar(30) Varchar(30) Varchar(100) 13 14 Cli_area Cld_area Varchar(10) Varchar(10) Nguyễn Đức Hùng- ĐHBKHN Khóa Pk Diễn giải Trường tự sinh khóa bảng Thời gian bắt đầu gọi Thời gian số bị gọi nhấc máy Thời gian kết thúc gọi Loại gọi Cờ thiết lập trạng thái tính cước Mã bảng company Mã bảng branch Số chủ gọi Số bị gọi Số hiển thị thuê bao bị gọi Trạng thái gọi (BUSY, ANSWER …) Mã vùng số chủ gọi Mã vùng số bị gọi 85 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH 4.1 Module Routing Khi khách hàng tiến hành nhập số điện thoại gọi nhấn phím Call IP Phone, giá trị: Số điện thoại khách hàng (mã số cổng gateway – Số ánh xạ đến số thuê bao khách hàng hệ thống Business), số điện thoại cần gọi thông số thoại IP phone (hay gateway) chuyển tới hệ thống tin báo hiệu (INVITE) Khi hệ thống nhận tin báo hiệu, đầu tiên, hệ thống yêu cầu IP phone gửi tham số xác thực thuê bao (username/password) thông thường với báo hiệu SIP, tin INVITE không bao gồm thông tin xác thực thuê bao Khi IP phone nhận tin yêu cầu xác thực, IP phone gửi lại tin INVITE (lúc bao gồm thơng tin username/password với mã hóa MD5) Hệ thống kiểm tra thơng tin khách hàng, xem có phép gọi hay khơng, tài khoản kích hoạt chưa, số tiền lại cho gọi … Khi thông tin xác thực, việc định tuyến gọi tiến hành Đầu tiên module xác định số bị gọi, gọi đến số máy lẻ, hay gọi đến số dịch vụ, số thuê bao nội hạt, liên tỉnh hay quốc tế mà đưa đường thích hợp Trong trường hợp gọi đến số thuê bao hệ thống, hệ thống tìm thơng tin bảng location (bảng lưu thông tin chi tiết gateway đăng kí đến hệ thống), thơng tin chi tiết bao gồm thông tin địa IP, port, loại gateway, thời gian đăng kí, thời gian hết hiệu lực đăng kí … Từ tham số này, hệ thống gừi thông tin đến địa IP gateway, gọi thực Trong trường hợp gọi đến số dịch vụ khẩn cấp (113, 114 …) hệ thống không yêu cầu xác thực mà tiến hành gọi Đối với thuê bao đăng kí dịch vụ giá trị gia tăng call conference, voicemail, IVR … Hệ thống định tuyến đến máy chủ dịch vụ (ở máy chủ Asterisk) Máy chủ dịch vụ có nhiệm vụ thực tính giá trị gia tăng cho thuê bao hệ thống Nguyễn Đức Hùng- ĐHBKHN 86 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP Đối với gọi đến mạng bên (mạng PSTN hay hệ thống thoại khác) hệ thống định tuyến đến địa IP gateway kết nối đến mạng khác Đối với gọi quốc tế, hệ thống định tuyến đến hệ thống Wholesale (hệ thống thoại quốc tế) để thực gọi quốc tế Chi tiết tin B2BUA gửi đến radius có dạng sau: User-Name = '101004259' Password = 'testing' Calling-Station-Id = '101004259' Called-Station-Id = '0436364701' h323-conf-id call-id = '0B09C73F 98D2B5F1 1A082CBE 7CA7DED9' = '87615657-3495042192-756644@nyc-msx71.arbinet.com' h323-remote-address = '204.8.95.39' h323-session-protocol = 'sipv2' h323-ivr-out = 'Routing:SIP' h323-ivr-out = 'AuthMethod:INVITE' h323-ivr-out = 'Seed:3064707836' Nguyễn Đức Hùng- ĐHBKHN 87 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP Hình 4.1 Thuật toán Routing Nguyễn Đức Hùng- ĐHBKHN 88 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP Câu lệnh authen radius: SELECT 1, user_name as UserName, 'Password', password as Value, '==' \ FROM gateway WHERE user_name = SUBSTRING_INDEX('%{User-Name}', '@',1) AND '%{Service-Type}' = 'Sip-Session' \ UNION SELECT 1, user_name as GroupName, 'Auth-Type', 'Accept' as Value, '==' \ FROM gateway WHERE \ (SUBSTR(SUBSTRING_INDEX('%{User-Name}','-B',-1),1,1) '1' OR \ check_port_func_1(SUBSTRING_INDEX('%{User-Name}', '-C',1), \ SUBSTRING_INDEX(SUBSTRING_INDEX('%{User-Name}','-C',-1),'-D',1)) = '1') AND '%{Service-Type}' = 'SIP-Callee-AVPs' LIMIT 1; Câu lệnh nhằm kiểm tra thông tin xác thực thuê bao đồng thời gửi đến hệ thống thông tin số chủ gọi, số bị gọi để thực q trình authorization Các thơng tin nằm biến AVP (Attribute Value Pairs) với định dạng xác định trước Nếu trình authentication thành công Radius trả thông tin đầy đủ để định tuyến Kết trả lấy từ hàm routing sau: authorize_reply_query = "SELECT gateway_update_func(SUBSTRING_INDEX('%{UserName}', '@',1), \ '%{Service-Type}','%S'), user_name as UserName, 'Sip-Avp','#1:updateDatetime', '==' FROM \ ${authreply_table} where '%{Service-Type}' = 'Sip-Session' limit UNION SELECT '2',user_name as UserName, 'Sip-Avp', \ CONCAT('#2:',routing_func(SUBSTRING_INDEX('%{User-Name}', 'C',1),SUBSTRING_INDEX(SUBSTRING_INDEX('%{User-Name}', '-D',-1),'@',1))), \ '==' FROM ${authreply_table} WHERE '%{Service-Type}' = 'SIP-Callee-AVPs' limit 1" Thơng tin trả nằm tồn hàm routing_func, hàm nhằm tìm đích đến cho gọi với thông tin đầu vào số chủ gọi, số bị gọi, mã số cổng gateway Từ tham số này, hàm tìm tìm tồn thơng tin cịn lại để gọi định tuyến Ví dụ, gọi nội hạt, người sử dụng cần bấm số thuê bao, khơng cần mã vùng Khi mã vùng mã vùng số chủ gọi Như Nguyễn Đức Hùng- ĐHBKHN 89 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP vậy, gọi có đầy đủ thơng tin theo quy tắc giống gọi mạng PSTN truyền thống, đảm bảo người dùng khơng cảm nhận khác biệt thói quen sử dụng điện thoại 4.2 Module CDR Module CDR có nhiệm vụ ghi cước tính tốn cước gọi Sau q trình authenticate authorization thành cơng, gọi thực hiện, người gọi nhận gọi (originate), máy chủ B2BUA nhận tin 200 OK gửi tin accounting start (originate) đến máy chủ radius Radius có nhiệm vụ ghi lại thơng số gọi vào database với call-id xác định cho gọi Các thơng tin ghi cước bao gồm: call-id, số chủ gọi, số bị gọi, thời gian bắt đầu gọi thời gian bắt đầu đàm thoại Ngồi thơng tin trên, tùy vào nhu cầu sử dụng tham số mà hệ thống ghi lại thơng tin cần thiết cho q trình thống kê sau Bản tin accouting start chi tiết mà B2BUA gửi đến radius có định dạng sau: 03 Oct 04:03:15/87615657-3495042192-756644@nyc-msx71.arbinet.com/b2bua: sending Acct Start (Originate): h323-call-origin = 'originate' h323-call-type = 'VoIP' h323-session-protocol = 'sipv2' h323-setup-time = '21:03:13.000 GMT Sat Oct 2010' User-Name = '101004259' Calling-Station-Id = '0444501921' Called-Station-Id = '0436364701 h323-conf-id call-id = '0B09C73F 98D2B5F1 1A082CBE 7CA7DED9' = '87615657-3495042192-756644@nyc-msx71.arbinet.com' Acct-Session-Id msx71.arbinet.com' h323-remote-address Nguyễn Đức Hùng- ĐHBKHN = '87615657-3495042192-756644@nyc= '119.18.184.55' 90 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP h323-ivr-out = 'DURATION:10800' h323-ivr-out = 'Seed:3064707836' h323-connect-time = '21:03:15.000 GMT Sat Oct 2010' alert-timepoint = '21:03:13.000 GMT Sat Oct 2010' Acct-Status-Type = 'Start' Bản tin accounting start phía bên answer hồn tồn tương tự Sau gọi kết thúc, B2BUA lại gửi tiếp tin accounting stop (answer/originate) đến radius Tại đây, radius tính tốn dựa thông tin mà radius nhận được, trường call-id giá trị xác định cho gọi Thông tin chi tiết tin accouting stop có dạng sau: 03 Oct 04:18:26/87615657-3495042192-756644@nyc-msx71.arbinet.com/b2bua: sending Acct Stop (Answer): h323-call-origin = 'answer' h323-call-type = 'VoIP' h323-session-protocol = 'sipv2' h323-setup-time = '21:03:13.000 GMT Sat Oct 2010' User-Name = '101004259' Calling-Station-Id = '101004259'' Called-Station-Id = '0436364701 h323-conf-id call-id = '0B09C73F 98D2B5F1 1A082CBE 7CA7DED9' = '87615657-3495042192-756644@nyc-msx71.arbinet.com' Acct-Session-Id msx71.arbinet.com' h323-remote-address h323-ivr-out h323-voice-quality Acct-Terminate-Cause h323-ivr-out h323-disconnect-time = '87615657-3495042192-756644@nyc= '204.8.95.39' = 'Seed:3064707836' = '0' = 'User-Request' = 'Session:unlock' = '21:18:25.000 GMT Sat Oct 2010' h323-connect-time = '21:03:15.000 GMT Sat Oct 2010' Acct-Session-Time = '910' Nguyễn Đức Hùng- ĐHBKHN 91 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP h323-disconnect-cause alert-timepoint = '0' = '21:03:15.000 GMT Sat Oct 2010' Acct-Status-Type = 'Stop' 4.3 CÀI ĐẶT VÀ VẬN HÀNH HỆ THỐNG 4.3.1 Cài đặt Openser Openser mã nguồn mở hệ thống linux, download mã nguồn trang web: www.opensips.org/ sau tải phiên về, ta đặt thư mục /usr/src/, giải nén, chỉnh module cần sử dụng cài đặt chương trình Quá trình cài đặt sau: # cd /usr/src #tar -xzvf openser-1.3.0-notls_src.tar.gz # cd /usr/src/openser-1.3.0-notls_src/ # vim Makefile => Thêm module sau: radius (authenticate, accounting), mysql, avp_radius auth_radius group_radius uri_radius # make all # make install Sau trình cài đặt kết thúc, ta chép cấu hình openser sau vào file cấu hình openser vị trí: /usr/local/etc/openser/openser.cfg Tiến hành chạy openser tài liệu hướng dẫn 4.3.2 Radius Client Radius client mã nguồn mở, dùng để kết nối B2BUA radius server Để tải mã ta vào trang web địa sau: wiki.freeradius.org/Radiusclient Tiến hành cài đặt theo bước sau: # cd /usr/src #tar -xzvf radius_client_0.5.1.tar.gz # cd /usr/src/ radius_client_0.5.1/ Nguyễn Đức Hùng- ĐHBKHN 92 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP # make all # make install Sau trình cài đặt kết thúc, chỉnh lại cấu hình radius client Các tham số cần thay đổi: địa radius server, mã chia sẻ bảo mật radius server radius client Khi chạy B2BUA, B2BUA tự động nhận biết có tồn radius client kết nối đến radius server 4.3.3 Radius Server Radius server mã nguồn mở, Để tải mã ta vào trang web địa sau: wiki.freeradius.org/ Tiến hành cài đặt theo bước sau: # cd /usr/src #tar -xzvf freeradius _0.5.1.tar.gz # cd /usr/src/ freeradius _0.5.1/ # make all # make install Sau trình cài đặt kết thúc, chép file cấu hình radius (đã mơ tả chi tiết phần phân tích thiết kế hệ thống) vào file /usr/local/etc/radius/sql.conf chỉnh lại mã hóa chi sẻ giống radius client Tiến hành chạy radius lệnh sau: # service radiusd start 4.3.4 Rtpproxy Rtpproxy có nhiệm vụ chuyển tiếp gói tin thoại, rtpproxy mã nguồn mở download miễn phí trang web sau: www.rtpproxy.org/ Tiến hành cài đặt theo bước sau: # cd /usr/src #tar -xzvf rtpproxy_1.0.tar.gz # cd /usr/src/rtpproxy_1.0/ Nguyễn Đức Hùng- ĐHBKHN 93 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP # make all # make install Sau trình cài đặt kết thúc, ta chỉnh lại cấu hình rtpproxy tài liệu khởi động rtpproxy vị trí sau: /etc/init.d/rtpproxy thay đổi lại dịng lệnh chạy rtpproxy thành sau: rtpproxy –l 192.168.1.100 –s udp:192.168.1.100:8899 –F Các tham số cần thay đổi địa IP máy chủ rtpproxy (192.168.1.100), cổng lắng nghe báo hiệu (8899), tham số -F để tiến thể tiến trình rtpproxy tiến trình chạy ngầm Khi openser gửi lệnh thơng báo có đàm thoại mới, rtpproxy cung cấp cặp cổng udp để thực kết nối gọi thoại hai thuê bao Việc kết nối giải phóng kết nối co openser điều khiển, rtpproxy có nhiệm vụ mở cổng, chuyển tiếp gói tin kết thúc phiên rtp, rtpproxy không tham gia vào trình xử lý tin thoại 4.3.5 Mysql Ở em sử dụng mysql có sẵn mã nguồn mở CentOS Khởi động mysql server lệnh: service mysqld start Tạo database business cho hệ thống lệnh mysql –u –p < business.sl Tiến hành nhập liệu cần thiết thông qua giao diện web Trong giới hạn đồ án này, việc thiết kế web em khơng trình bày đây, liệu nhập vào hệ thống mang tính chất test tham khảo 4.4 Vận hành hệ thống Sau hoàn tất việc cài đặt cấu hình thành phần hệ thống, ta tiến hành kiểm tra test thử gọi qua hệ thống Đầu tiên cần kiểm tra hàm định tuyến (routing_func) với tham số đầu vào mã cổng, tham số đầu số bị gọi định dạng khác (gọi số máy lẻ, gọi nội hạt, gọi liên tỉnh, gọi quốc tế …), tinh chỉnh lại liệu cần thiết Kiểm tra tiến trình Openser xem có chạy hay khơng lệnh kiểm tra tiến trình sau: Nguyễn Đức Hùng- ĐHBKHN 94 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP Hình 4.2 Kiểm tra tiến trình openser Trên hình ta thấy lênh kiểm tra tiến trình (ps aux|grep openser) cho ta thấy openser chạy từ tiến trình 512 đến tiến trình 531 Như openser chạy bình thường Tiếp theo, ta kiểm tra rtpproxy lệnh kiểm tra tiến trình hệ thống openser, hình hiển thị giống sau: Hình 4.3 Kiểm tra tiến trình rtpproxy Thơng tin cho ta thấy, tiến trình rtpproxy tiến trình 3067, lắng nghe hai địa IP 10.0.1.3 119.18.184.45, nhận báo hiệu địa 10.0.1.3 cổng 8899 Kiểm tra server B2BUA radius client: Nguyễn Đức Hùng- ĐHBKHN 95 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP Hình 4.4 Kiểm tra tiến trình B2BUA tiến trình radius client Màn hình quy trình kiểm tra server B2BUA xem trạng thái hoạt động máy chủ Ta thấy tiến trình b2bua tiến trình 3591, ngồi ta nhận thấy có tiến trình radiusclient chạy máy chủ Như máy chủ radius hoạt động tốt Kiểm tra máy chủ radius, bước kiểm tra hồn tồn giống với máy chủ trên: Hình 4.5 Kiểm tra tiến trình radius Nguyễn Đức Hùng- ĐHBKHN 96 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP KẾT LUẬN Hệ thống thoại doanh nghiệp sử dụng công nghệ VoIP dừng mức đồ án tốt nghiệp môn học Để phát triển thành sản phẩm thương mại ứng dụng thực tế, chúng em cần phải đầu tư thêm thời gian công sức khắc phục nhược điểm tồn hệ thống Bên cạnh nâng cao khả tương thích với hệ thống khác, đảm bảo thay cho hệ thống PSTN sau Ngoài việc chọn gateway sử dụng hệ thống nâng cao chất lượng mạng giảm jitter độ trễ gói mạng vấn đề cần ảnh hưởng đến chất lượng gọi thoại Một lần nữa, em xin gửi lời cảm ơn chân thành tới ban giám đốc công ty Viễn thông số - Tổng công ty truyền thông đa phương tiện Việt nam, anh Trần Trung Hiếu – Phó giám đốc kĩ thuật cơng ty viễn thông số, anh Nguyễn Mạnh Cường – nhân viên kĩ thuật phịng nghiên cứu phát triển cơng ty Viễn thơng số, đặc biệt TS Phạm Công Hùng – Bộ môn hệ thống viễn thông, khoa Điện tử viễn thông, trường Đại học bách khoa Hà nội người tận tình giúp đỡ tạo điều kiện thuân lợi chỗ dựa tinh thần vững để em hồn thành đồ án Em xin chân thành cảm ơn! Nguyễn Đức Hùng- ĐHBKHN 97 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP Tài liệu tham khảo [1] Bài giảng phân tích thiết kế hệ thống – PGS.TS Nguyễn Việt Hương [2] System Analysis and Design – Trường ĐHBK – Genetic Singapo [3] Understanding the Session Initiation Protocol – Alan B.Johnston – Achirtech house [4] Asterisk-The Future of Telephony” - Leif Madsen, Jared Smith, Jim Van Meggelen - Oreilly – 2005 [5] RFC-3261 SIP: Session Initiation Protocol [6] RFC-3665 Session Initiation Protocol (SIP) Basic Call Flow Examples [7] RFC-2865 Remote Authentication Dial In User Service (RADIUS) Một số trang web • http://www.voip-info.org • http://www.openser.org/ • http://freeradius.org • http://www.b2bua.org/ • http://www.asterisk.org • http://apache.org • http://mysql.com • http://www.perl.org/ Nguyễn Đức Hùng- ĐHBKHN 98 ... giới, em xây dựng hệ thống có chức doanh nghiệp kinh doanh thoại thiết kế sở liệu, xây dựng module chương trình chính, xây dựng giao diện quản lý hệ thống cho người sử dụng Hệ thống xây dựng nhằm... thực trạng này, nghiên cứu mơ hình hệ thống thoại doanh nghiệp sử dụng dịch vụ VoIP sau: Nguyễn Đức Hùng- ĐHBKHN 9 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP STP Switch... Hùng- ĐHBKHN 10 Nghiên cứu xây dựng hệ thống Business cho doanh nghiệp sử dụng VoIP • Kết nối mạng PSTN: phục vụ cho việc gọi gọi vào mạng thoại doanh nghiệp Trong mơ hình này, hệ thống nhà cung