BÁO CÁO THỰC TẬP, TẠI công ty TMA Solutions
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KỸ THUẬT MÁY TÍNH Proxy CSCF Trong Mạng IMS BÁO CÁO THỰC TẬP DOANH NGHIỆP SV thực hiện: Lê Minh Thuận MSSV: 14520893 Lớp: CE501.J11 GVHD: Trần Đại Dương Thành Phố Hồ Chí Minh - Năm 2018 LỜI CẢM ƠN Để hoàn thành chuyên đề báo cáo thực tập trước hết em xin gửi đến quý thầy, cô giáo khoa Kỹ thuật Máy tính trường Đại học Cơng nghệ Thơng tin lời cảm ơn chân thành Đặc biệt, em xin gởi đến thầy Trần Đại Dương, người tận tình hướng dẫn, giúp đỡ em hoàn thành chuyên đề báo cáo thực tập lời cảm ơn sâu sắc Đồng thời nhà trường tạo cho em có hội thưc tập nơi mà em yêu thích, cho em bước đời sống thực tế để áp dụng kiến thức mà thầy cô giáo giảng dạy Qua công việc thực tập em nhận nhiều điều mẻ bổ ích để giúp ích cho cơng việc sau thân Em xin chân thành cảm ơn Ban Lãnh Đạo, phòng ban cơng ty TMA Solutions, tạo điều kiện thuận lợi cho em tìm hiểu thực tiễn suốt trình thực tập công ty Cuối em xin cảm ơn anh chị phòng Nghiên cứu, phát triển cơng ty TMA Solutions giúp đỡ em hoàn thành tốt chuyên đề thực tập Vì kiến thức thân hạn chế, q trình thực tập, em khơng tránh khỏi sai sót, kính mong nhận ý kiến đóng góp từ thầy q cơng ty TP Hồ Chí Minh, ngày 10 tháng 11 năm 2018 Sinh viên thực Lê Minh Thuận MỤC LỤC GIỚI THIỆU VỀ CÔNG TY TMA SOLUTIONS 1.1 Quá trình hình thành phát triển công ty 1.2 Chức hoạt động kinh doanh TMA LỊCH LÀM VIỆC TẠI NƠI THỰC TẬP NỘI DUNG NHIỆM VỤ CHÍNH ĐƯỢC GIAO 3.1 Giới thiệu SIP mạng IMS 3.2 Nội dung công việc 11 KẾT QUẢ ĐẠT ĐƯỢC QUA KỲ THỰC TẬP 16 4.1 Những kiến thức lý thuyết củng cố .16 4.2 Những kỹ thực hành học thêm kinh nghiệm thực tiễn tích lũy .16 NHẬN XÉT GÓP Ý VỀ CHƯƠNG TRÌNH ĐẠO TẠO CỦA KHOA 16 TÀI LIỆU THAO KHẢO 17 Danh mục hình ảnh Hình 1: Kiến trúc IMS 3GPP .9 Hình 3: SIP đăng ký P-CSCF .12 1.GIỚI THIỆU VỀ CÔNG TY TMA SOLUTIONS 1.1 Quá trình hình thành phát triển công ty TMA Solutions (tên tiếng Việt: Công ty TNHH Giải Pháp Phần Mềm Tường Minh), thành lập năm 1997 phòng khách nhà Bà Bùi Ngọc Anh với Kỹ sư tốt nghiệp Năm 1998 Khách hàng đến từ Mỹ Canada Đến năm 1999, tăng số lượng nhân lên 54 kỹ sư, dời đến trụ sở quận Phú Nhuận (cũng trụ sở Cơng ty) 2000, có thêm khách hàng từ Úc, Singapore, Ấn Độ Nhật Bản Năm 2003, thành lập trung tâm nghiên cứu phát triển R&D Số lượng nhân viên lúc đạt 200 người Năm 2006-2008, TMA thành lập thêm chi nhánh Nhật bản, Mỹ châu Âu Vào lúc này, TMA bước đầu thâm nhập thị trường châu Âu với khách hàng từ Đức, Pháp, Đan Mạch Trong khoảng năm 2009-2010, TMA hoàn thành thêm trụ sở thứ sáu cơng viên phần mềm Quang Trung Đồng thời cho đời Trung tâm Giải pháp Di Động TMA (TMA Mobile Solutions) Năm 2011, TMA thành lập Tech Lab Trung tâm Thực tập Sinh viên (SDC) nhằm đào tạo nâng cao trình độ hệ sinh viên, đặc biệt sinh viên CNTT Năm 2017, kỉ niệm 20 năm thành lập phát triển vững mạnh, số lượng kỹ sư CNTT làm việc TMA đạt 2000 người Năm 2018, Khởi công xây dựng công viên sáng tạo TMA thành phố Quy Nhơn, tỉnh Bình Định Số lượng nhân viên TMA 2400 kỹ sư Đội ngũ kỹ thuật TMA lựa chọn từ hồ bơi lớn nguồn lực CNTT Việt Nam khả chứng minh nhiều dự án thành công TMA cung cấp đầy đủ dịch vụ phần mềm, từ kiểm tra bảo dưỡng để phát triển chu kỳ đầy đủ giải pháp kết thúc 1.2 Chức hoạt động kinh doanh TMA Phát triển phần mềm o Phát triển dịch vụ phần mềm ngôn ngữ chủ yếu: NET, Java, C/C++, php, Python, Ruby, iOS, Android, … o Gia công phần mềm cho công ty hàng đầu giới lĩnh vực như: network, tài chính, e-commerce, … Kiểm thử phần mềm o Kiểm tra tồn hệ thống o Kiểm sốt chất lượng o Giải pháp kiểm thử phần mềm o Tự động hóa testing Thiết kế giao diện (visual design) o Thiết kế apps đa tảng (web, mobile, desktop) Dịch vụ quản trị hệ thống IT: o TMA cung cấp dịch vụ như: Cloud and server, IT security, Application packaging o 2.LỊCH LÀM VIỆC TẠI NƠI THỰC TẬP Thứ 2, thứ 3, thứ 4, thứ 5, thứ (từ 01/08/2018 đến 07/11/2018) Thứ 7, Chủ nhật Sáng Chiều 9h00 – 13h30 – 12h00 17h30 Nghỉ hàng tuần 3.NỘI DUNG NHIỆM VỤ CHÍNH ĐƯỢC GIAO 3.1 Giới thiệu SIP mạng IMS 3.1.1 Giới thiệu SIP (Session Initiation Protocol) SIP giao thức tầng ứng dụng thiết lập, sửa đổi chấm dứt phiên đa phương tiện (đàm luận) qua Internet Một phiên đa phương tiện tập hợp người gửi người nhận luồng liệu chảy từ người gửi đến người nhận Ví dụ: phiên gọi điện thoại hai bên gọi hội nghị nhiều bên SIP sử dụng để mời người tham gia phiên họp diễn ra, chẳng hạn hội nghị Tin nhắn SIP chứa mơ tả phiên để người tham gia thương lượng với loại phương tiện thông số khác phiên SIP cung cấp chế riêng để truyền tin cậy chạy số giao thức truyền tải khác TCP, UDP SCTP (Stream Control Transmission Protocol) SIP tương thích với IPv4 IPv6 o SIP cung cấp khả sau để quản lý đa phương tiện thông tin liên lạc: o Xác định người dùng đích Vị trí o Xác định xem người dùng có sẵn sàng tham gia vào phiên hay không o Xác định khả thiết bị đầu cuối người dùng o Thiết lập phiên o Quản lý phiên Điều bao gồm sửa đổi tham số phiên, gọi chức dịch vụ để cung cấp dịch vụ cho phiên chấm dứt phiên Mã trạng thái trả P-CSCF: o 1xx: Tạm thời - cho biết yêu cầu nhận xử lý o 2xx: Thành công - cho biết phương thức yêu cầu chấp nhận thành công o 3xx: Chuyển hướng - cần thực thêm hành động người gửi người gửi tương ứng để hoàn thành yêu cầu o 4xx: Lỗi máy khách - yêu cầu chứa lỗi cú pháp thực máy chủ o 5xx: Lỗi máy chủ - máy chủ không thực yêu cầu rõ ràng hợp lệ o 6xx: Lỗi toàn cầu - yêu cầu thực máy chủ Cấu trúc SIP message: gồm phần header field body Ví dụ: Header Field(s) INVITE sip:bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4b K74b43 Max-Forwards: 70 Route: From: Alice ;tag=9fxced76 sl To: Bob Call-ID: 3848276298220188511@atlanta.example.com CSeq: INVITE Contact: Content-Type: application/sdp Content-Length: 151 Message Body v=0 o=alice 2890844526 2890844526 client.atlanta.example.com c=IN IP4 192.0.2.101 t=0 m=audio 49172 RTP/AVP a=rtpmap:0 PCMU/8000 3.1.2 Giới thiệu Subsystem) hệ thống IMS (IP IN IP4 Multimedia IMS cung cấp tất đối tượng quy trình mạng để hỗ trợ ứng dụng IP đa phương tiện thoại thời gian thực Nó sử dụng SIP để hỗ trợ báo hiệu điều khiển phiên cho dịch vụ thời gian thực Hình minh họa kiến trúc chức IMS Thực thể chức IMS Chức điều khiển trạng thái gọi (CSCF) CSCF máy chủ SIP Tùy thuộc vào nhiệm vụ cụ thể thực CSCF, CSCF chia thành ba loại khác nhau: o Serving CSCF (S-CSCF), o Proxy CSCF (P-CSCF), o Interrogating CSCF (I-CSCF) Hình 1: Kiến trúc IMS 3GPP S-CSCF cung cấp dịch vụ kiểm soát phiên cho người dùng Nó trì trạng thái phiên cho người dùng đăng ký Phiên diễn thực tác vụ sau: o Đăng ký: S-CSCF đóng vai trò Nhà đăng ký SIP để chấp nhận người dùng Yêu cầu đăng ký SIP SIP cung cấp cho người dùng Đăng ký thông tin vị trí có sẵn cho máy chủ định vị HSS (Máy chủ thuê bao gia đình) o Kiểm sốt phiên: S-CSCF thực chức kiểm soát phiên SIP cho người dùng đăng ký Chuyển tiếp yêu cầu phản hồi SIP bên gọi bên gọi o Máy chủ proxy: S-CSCF hoạt động Máy chủ proxy SIP chuyển tiếp tin nhắn SIP người dùng máy chủ CSCF SIP khác o Tương tác với Máy chủ ứng dụng: S-CSCF hoạt động giao diện với máy chủ ứng dụng tảng dịch vụ IP di sản khác o Các chức khác: S-CSCF thực loạt chức khác khơng đề cập Ví dụ: cung cấp thơng báo kiện liên quan đến dịch vụ cho người dùng tạo Bản ghi chi tiết gọi (CDR) cần thiết cho kế toán toán P-CSCF điểm liên lạc với thiết bị di động bên IMS cục (hoặc truy cập) Nó hoạt động máy chủ proxy SIP Nói cách khác, P-CSCF xử lí yêu cầu SIP từ điện thoại di động sau phục vụ yêu cầu nội chuyển tiếp chúng đến máy chủ khác P-CSCF bao gồm Chức kiểm sốt sách (PCF) kiểm sốt sách liên quan đến cách sử dụng phần tử GGSN P-CSCF thực chức cụ thể sau: o Chuyển tiếp yêu cầu ĐĂNG KÝ SIP từ điện thoại di động sang mạng gia đình di động Nếu I-CSCF sử dụng mạng gia đình di động, P-CSCF chuyển tiếp yêu cầu ĐĂNG KÝ SIP tới I-CSCF Mặt khác, P-CSCF chuyển tiếp yêu cầu ĐĂNG KÝ SIP tới S-CSCF mạng gia đình di động P-CSCF xác định nơi yêu cầu SIP REGISTER nên chuyển tiếp dựa tên miền nhà Yêu cầu ĐĂNG KÝ SIP nhận từ điện thoại di động o Chuyển tiếp tin nhắn SIP khác từ điện thoại di động sang máy chủ SIP (ví dụ: S-CSCF di động mạng gia đình di động) P-CSCF xác định máy chủ SIP mà tin nhắn chuyển tiếp dựa kết trình đăng ký SIP o Chuyển tiếp tin nhắn SIP từ mạng đến điện thoại di động o Thực sửa đổi cần thiết cho yêu cầu SIP trước chuyển tiếp chúng đến thực thể mạng khác o Duy trì hiệp hội bảo mật với điện thoại di động o Phát phiên khẩn cấp o Tạo CDR I-CSCF chức tùy chọn sử dụng để ẩn cấu trúc bên mạng nhà khai thác khỏi mạng bên ngồi sử dụng I-CSCF Nó hoạt động điểm liên lạc trung tâm mạng nhà điều hành mạng cho tất phiên dành cho thuê bao mạng người dùng chuyển vùng truy cập mạng Chức chọn S-CSCF cho phiên người dùng, định tuyến yêu cầu SIP đến S-CSCF chọn tạo CDR ICSCF chọn S-CSCF chủ yếu dựa thông tin sau: khả mà người dùng yêu cầu, khả tính khả dụng S-CSCF thơng tin tơ pơ, vị trí S-CSCF vị trí P-CSCF người dùng họ mạng nhà khai thác với S-CSCF Chức điều khiển cổng đa phương tiện (MGCF) IM Media Gateway (IM-MGW) chịu trách nhiệm truyền tín hiệu tương tác phương tiện, tương ứng, miền PS mạng chuyển mạch kênh (ví dụ: PSTN) Bộ xử lý chức tài nguyên đa phương tiện (MRFP) điều khiển người mang giao diện Mb, 138 IP MULTIMEDIA ĐĂNG KÝ VÀ TÍN HIỆU CẤP ỨNG DỤNG bao gồm xử lý luồng phương tiện (ví dụ: chuyển mã âm thanh) Bộ điều khiển chức tài nguyên đa phương tiện (MRFC) diễn giải thông tin báo hiệu từ S-CSCF Máy chủ ứng dụng dựa SIP điều khiển tài nguyên luồng phương tiện MRFP tương ứng MRFC chịu trách nhiệm tạo CDR Chức điều khiển cổng đột phá (BGCF) chọn mạng PSTN mà phiên chuyển tiếp Sau đó, chịu trách nhiệm chuyển tiếp tín hiệu phiên tới MGCF BGCF thích hợp mạng PSTN đích 3.2 Nội dung cơng việc Thời gian Cơng việc 01/08 - 31/08/2018 Ơn lại c, c++ linux 03/09 - 07/09/2018 Ôn lại kiến thức mạng 10/09 - 14/09/2018 Học SIP 17/09 - 21/09/2018 Tìm hiểu CSCF hệ 24/09 - 28/09/2018 thống IMS Tìm hiểu CSCF hệ 01/10 - 05/10/2018 thống công ty Đọc source code 08/10 - 19/10/2018 Viết báo cáo cho P-CSCF 22/10 - 09/11/2018 Sữa lỗi đăng ký cho PCSCF 3.2.1 Các phần mềm sử dụng o Netbeans, notepad++ o WinSCP o Xshell 3.2.2 Sữa lỗi đăng ký cho P-CSCF 3.2.2.1 Chức đăng ký P-CSCF: Trước thực gọi bắt đầu giao dịch, UE (User Equipment) phải kết nối với P-CSCF trước Để kết nối với P-CSCF, UE phải đăng ký theo bước hình sau: Hình 2:SIP Đăng ký P-CSCF o Bước 1: UE gửi tin nhắn register đến P-CSCF, P-CSCF chuyển tin nhắn đến IMS core, IMS core bắt đầu phân tích xử lý gói tin o Bước 2: Nếu gói tin hợp lệ đổi trạng thái từ đăng ký sang xác thực: trả 401 Unauthorized kèm phần thông tin xác thực, lỗi xử lý trả 500 Internal server error cho UE o Bước 3: P-CSCF chờ tin nhắn đăng ký UE o Bước 4: Nếu tin nhắn đăng ký đến có thơng tin giống tin nhắn kèm phần thông tin xác thực, P-CSCF phản hồi 200 OK o Bước 5: P-CSCF gửi tin nhắn subscribe cho IMS Core để lấy thông tin dịch vụ UE chờ tin nhắn notify IMS core o Bước 7: IMS core gửi tin nhắn Notify cho P-CSCF P-CSCF chuyển gói tin Notify cho UE o Bước 8: UE gửi tin nhắn 200 ok cho IMS core thông qua PCSCF 3.2.2.2 Lỗi giải pháp Lỗi hệ thống: P-CSCF nhận SIP message Notify có ContentLength > 2048, P-CSCF trả 500 Server Internal Error Nguyên nhân: độ dài buffer SIP body P-CSCF ngắn dẫn đến việc phân tích gói tin bị lỗi Giải pháp là: tăng độ dài buffer Cách kiểm tra hệ thống: dung phần mềm mã nguồn mở SIPp mô đăng ký cho P-CSCF Đứng đầu P-CSCF gửi nhận tin nhắn từ P-CSCF Ví dụ sip đăng ký ngầm mạng IMS: (P-CSCF đăng ký với IMS nên bỏ qua phần xác thực) REGISTER sip:example.net SIP/2.0 From: ;tag=5ab4 To: Call-ID: faif9a@ua.example.com CSeq: 23001 REGISTER Contact: ;expires=3600;+sip.instance=""Supported: path, gruu Content-Length: SIP/2.0 200 OK From: ;tag=5ab4 To: ;tag=373392 Call-ID: faif9a@ua.example.com CSeq: 23001 REGISTER Path: Service-Route: Contact: ;expires=3600;+sip.instance="";pubgruu="sip:user_aor_1@example.net;gr=hha9s8d-999a";tempgruu="sip:8ffkas08af7fasklzi9@example.net;gr" P-Associated-URI: , Content-Length: SUBSCRIBE sip:user_aor_1@example.net SIP/2.0 From: ;tag=27182 To: Call-ID: gbjg0b@ua.example.com CSeq: 45001 SUBSCRIBE Route: Event: reg Expires: 3600 Accept: application/reginfo+xml Contact: Content-Length: NOTIFY sip:user_aor_1@example.net;gr=hha9s8d-999a SIP/2.0 From: ;tag=27182 To: ;tag=262281 Call-ID: gbjg0b@ua.example.com CSeq: 633 NOTIFY Subscription-State: active;expires=3600 Event: reg Content-Type: application/reginfo+xml Contact: Content-Length: 2744 sip:ua.example.com "<urn:uuid:f81d4fae-7dec-11d0-a76500a0c91e6bf6>" sip:ua.example.com "<urn:uuid:f81d4fae-7dec-11d0-a76500a0c91e6bf6>" sip:ua.example.com "<urn:uuid:f81d4fae-7dec-11d0-a76500a0c91e6bf6>" Tin nhắn thông báo URI liên quan có UE đăng ký Nó bao gồm gruu gán cho lần đăng ký 4.KẾT QUẢ ĐẠT ĐƯỢC QUA KỲ THỰC TẬP 4.1 Những kiến thức lý thuyết củng cố Trước vào dự án em ôn lại những kiến thức lập trình c/c++, oop, thread thông qua tập hang tuần công ty Tham gia lớp học phong cách làm việc chun nghiệp, bảo mật thơng tin, quy trình phát triển kiểm tra chất lượng sản phẩm, kỹ thuyết trình trình bày vấn đề Khi tham gia vào dự án hội tốt để thể khả kiểm nghiệm lại kiến thức lập trình (c, lập trình hướng cấu trúc), mạng hệ điều hành (linux, quản lý tiến trình) mà em học trường 4.2 Những kỹ thực hành học thêm kinh nghiệm thực tiễn tích lũy Trong q trình làm việc cơng ty, em có hội rèn luyện thêm kỹ làm việc nhóm, cách giao tiếp ứng xử cách thảo luận trao đổi vấn đề với đồng nghiệp để giải vấn đề cách linh hoạt Em tiếp cận với lab hệ thống mạng IMS công ty, giúp em có thêm kiến thức telecom, cách cấu vận hành hệ thống Do kiến thức lĩnh vực telecom rộng hệ thống phức tạp rèn cho em kỹ lập kế hoạch tồ chức công việc hiệu tự tìm hiểu học hỏi tiêu chuẩn mạng (RFC, …), lập trình mạng hệ điều hành linux để đáp ứng yêu cầu thời gian ngắn Sau kết thúc thời gian thực tập, em cảm thấy thân nhiểu thiếu sót kiến thức kỹ trình bày vấn đề Em số gắng học hỏi trau dồi nhiều để trở thành kỹ sư tốt 5.NHẬN XÉT GÓP Ý VỀ CHƯƠNG TRÌNH ĐẠO TẠO CỦA KHOA Chương trình đào tạo khoa hợp lý so với chương trình đào tạo cũ Nên bổ sung thêm kiến thức hệ điều hành sử dụng nhiều hệ thống nhúng linux, RTOS Thực hành nên có kiến thức thực tế cách cấu kỹ thuật lập trình (macro, trỏ, struct, Unix, makefile) Tổ chức thường xuyên hoạt động với doanh nghiệp, để sinh viên nắm bắt công nghệ mới, xu hướng nghề nghiệp 6.TÀI LIỆU THAO KHẢO [1] J.-C Chen and T Zhang, "P-Based Next-Generation Wireless Networks: Systems, Architectures, and Protocols 1st Edition" John Wiley & Sons, Inc., Jan 2004 [2] Alan B Johnston, "SIP: Understanding the Session Initiation Protocol (Artech House Telecommunications) 3rd Edition", 2009 [3] https://tools.ietf.org/html/rfc6665 [4] https://tools.ietf.org/html/rfc3665 [5] https://tools.ietf.org/html/rfc5628 [6] http://sipp.sourceforge.net/