Đề tài : “ thiẾt kẾ vÀ xÂy dỰng bẢn tÍnh cƯỚc cho hỆ thỐng voip dỰa trÊn...

74
Đồ án tốt nghiệp Đại Học Lời cảm ơn LỜI CẢM ƠN Trước hết, tôi xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, Học Viện Công Nghệ Bưu Chính Viễn Thông cơ sở tại Thành Phố Hồ Chí Minh đã tạo điều kiện tốt cho tôi thực hiện đề tài tốt nghiệp này. Tôi xin chân thành cảm ơn thầy Trần Phước Nguyên đã tận tình hướng dẫn tôi trong suốt thời gian thực hiện đề tài. Cuối cùng, tôi xin chân thành cảm ơn quý thầy cô trong khoa đã tận tình giảng dạy, trang bị cho chúng tôi những kiến thức quý báu trong những năm học vừa qua. Mặc dù tôi đã cố gắng hoàn thành bài báo cáo trong phạm vi và khả năng cho phép, nhưng chắc chắn sẽ không tránh khỏi những thiết sót, kính mong sự thông cảm và chỉ bảo tận tình của quý thầy cô. TP.Hồ Chí Minh, tháng 12 năm 2012 Sinh viên Trần Thanh Phong Trần Thanh Phong – Đ08THM1 i

Upload: thuat-pirates

Post on 27-Dec-2015

41 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Lời cảm ơn

LỜI CẢM ƠN

Trước hết, tôi xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, Học Viện Công Nghệ Bưu Chính Viễn Thông cơ sở tại Thành Phố Hồ Chí Minh đã tạo điều kiện tốt cho tôi thực hiện đề tài tốt nghiệp này.

Tôi xin chân thành cảm ơn thầy Trần Phước Nguyên đã tận tình hướng dẫn tôi trong suốt thời gian thực hiện đề tài.

Cuối cùng, tôi xin chân thành cảm ơn quý thầy cô trong khoa đã tận tình giảng dạy, trang bị cho chúng tôi những kiến thức quý báu trong những năm học vừa qua.

Mặc dù tôi đã cố gắng hoàn thành bài báo cáo trong phạm vi và khả năng cho phép, nhưng chắc chắn sẽ không tránh khỏi những thiết sót, kính mong sự thông cảm và chỉ bảo tận tình của quý thầy cô.

TP.Hồ Chí Minh, tháng 12 năm 2012

Sinh viên

Trần Thanh Phong

Trần Thanh Phong – Đ08THM1 i

Page 2: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Mục lục

MỤC LỤCLỜI CẢM ƠN................................................................................................................ i

MỤC LỤC..................................................................................................................... ii

CÁC TỪ, CỤM TỪ VIẾT TẮT..................................................................................v

DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH................................................................vi

LỜI NÓI ĐẦU...............................................................................................................1

CHƯƠNG I: GIỚI THIỆU..........................................................................................3

I.1. Bối cảnh..............................................................................................................3

I.2. Động cơ...............................................................................................................3

I.3. Đóng góp của đề tài............................................................................................4

I.4. Tổ chức................................................................................................................4

CHƯƠNG II: GIỚI THIỆU VỀ HỆ THỐNG SIP....................................................5

II.1. Tổng quan về VoIP...........................................................................................5

II.1.1. Khái niệm....................................................................................................5

II.1.2. Đặc điểm của mạng VoIP:...........................................................................6

II.1.2.1. Ưu điểm................................................................................................6

II.1.2.2. Nhược điểm..........................................................................................6

II.1.3. Kiến trúc và thành phần mạng VoIP...........................................................7

II.1.3.1. Kiến trúc tổng quan..............................................................................7

II.1.3.2. Thành phần mạng VoIP.......................................................................8

II.1.3.3. Các mô hình kết nối trong mạng VoIP................................................9

II.1.4. Ứng dụng VoIP.........................................................................................10

II.2. Giao thức SIP..................................................................................................11

II.2.1. Khái niệm..................................................................................................12

II.2.2. Sự ra đời của SIP.......................................................................................12

II.2.3. Vai trò của SIP trong VoIP........................................................................12

II.2.4. Thành phần của SIP...................................................................................13

II.2.5. Các bản tin của SIP...................................................................................14

II.2.6. Một số giao thức liên quan........................................................................16

II.2.6.1 Giao thức SDP (Session Description Protocol)..................................16

Trần Thanh Phong – Đ08THM1 ii

Page 3: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Mục lục

II.2.6.2. Giao thức RTP (Realtime Transport Protocol)..................................19

II.2.6. Quá trình thiết lập cuộc gọi.......................................................................19

II.2.6.1. Địa chỉ SIP.........................................................................................19

II.2.6.2. Quá trình thiết lập cuộc gọi................................................................19

II.2.7. Đánh giá giao thức SIP với các bộ giao thức khác....................................23

II.2.7.1. H.323..................................................................................................23

II.2.7.2. So sánh SIP và H323..............................................................................25

CHƯƠNG III: KIỂM TRA HOẠT ĐỘNG CỦA HỆ THỐNG VOIP DÙNG ASTERISK..................................................................................................................27

III.1. Tổng quan về Asterisk..................................................................................27

III.2. Cài đặt tổng đài Asterisk và các IP-Phone.................................................28

III.2.1. Kết nối phần cứng....................................................................................28

III.2.1. Cài đặt phần mềm....................................................................................28

III.2.3. Cấu hình hệ thống Asterisk......................................................................30

III.2.4. Thực hiện cuộc gọi...................................................................................33

III.3. Phân tích bản tin SIP trên hệ thống thực tế..............................................34

III.3.1 Các bản tin của SIP...................................................................................34

III.3.2. Kết luận thực nghiệm...............................................................................37

CHƯƠNG IV: THIẾT KẾ VÀ XÂY DỰNG MÔ HÌNH TÍNH CƯỚC DÙNG GIAO THỨC SIP DỰA TRÊN ASTERISK IMPLEMENTATION.....................38

IV.1. Cở sở dữ liệu cho hệ thống tính cước phí cuộc gọi VoIP dùng SIP.........38

IV.1.1. Cơ chế lưu trữ của Asterisk.....................................................................38

IV.1.1.1 AGI (Asterisk Gateway Interface).....................................................38

IV.1.1.2 CDR (Call Detail Records)................................................................39

IV.1.1.3 Cơ chế................................................................................................40

IV.1.2. Thiết kế cơ sở dữ liệu cho hệ thống tính cước phí cuộc gọi VoIP dùng SIP........................................................................................................................41

IV.1.2.1. Cơ sở dữ liệu cho hệ thống tính cước phí cuộc gọi VoIP dùng SIP.41

IV.2. Xây dựng giao diện web cho hệ thống tính cước phí cho cuộc gọi VoIP dùng SIP..................................................................................................................42

IV.2.1. Các chức năng của giao diện:..................................................................42

IV.3. Kết luận..........................................................................................................43

Trần Thanh Phong – Đ08THM1 iii

Page 4: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Mục lục

CHƯƠNG V: KẾT LUẬN.........................................................................................44

TÀI LIỆU THAM KHẢO..........................................................................................45

Trần Thanh Phong – Đ08THM1 iv

Page 5: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Các từ, cụm từ viết tắt

CÁC TỪ, CỤM TỪ VIẾT TẮT

VoIP Voice over Internet Protocol

Giao thức truyền thoại trên IP

SIP Session Initiation Protocol

Giao thức khởi tạo phiên

MGCP Media Gateway Control Protocol

Giao thức điều khiển cổng đa phương tiện

PSTN Public Switch Telephone Network

Mạng chuyển mạch điện thoại công cộng

RTP Realtime Transport Protocol

Giao thức vận chuyển thời gian thực

RTCP Real-time Transport Control Protocol

Giao thức điều khiển vận chuyển thời gian thực

SDP Session Description Protocol

Giao thức mô tả phiên làm việc

QoS Quality of Services

Chất lượng dịch vụ

UDP Unit Datagram Protocol

Giao thức đơn vị dữ liệu

URL Uniform Resource Locator

Tham chiếu tài nguyên trên Internet

PBX Private Branch eXchange

Tổng đài nhánh riêng

Trần Thanh Phong – Đ08THM1 v

Page 6: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Danh mục các bảng, sơ đồ, hình

DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH

Hình 1.1: Tổng quan về hệ thống VoIP cùng với PSTN truyền thống............................5

Hình 2.1: Kiến trúc theo mô hình cuộc gọi VoIP...........................................................7

Hình 2.2: Thành phần mạng VoIP..................................................................................8

Hình 2.3: Kết nối PC-PC................................................................................................9

Hình 2.4: Kết nối PC-Phone.........................................................................................10

Hình 2.6: Thành phần của SIP.....................................................................................14

Hình 2.9: Quá trình thiết lập cuộc gọi.........................................................................20

Hình 2.10: Hoạt động của Proxy server.......................................................................20

Hình 2.11: Hoạt động của Redirect Server..................................................................22

Hình 2.12: Quá trình thiết lập và hủy một phiên kết nối..............................................23

Hình 3.1: Mô hình triển khai hệ thống tổng đài Asterisk.............................................28

Hình 3.3: Giao diện softphone Xlite.............................................................................30

Hình 3.4: Cấu hình cho softphone X-lite......................................................................31

Hình 3.5: Quá trình đăng kí của softphone X-lite........................................................32

Hình 3.7: User 3001 rung chuông 3002.......................................................................33

Hình 3.8: Cuộc gọi được thiết lập giữa 2 user.............................................................34

Hình 4.1: Hoạt động của AGI......................................................................................39

Hình 4.2: Giao diện web CDR......................................................................................40

Hình 4.3: Bảng CDR....................................................................................................41

Hình 4.4: Bảng Call_rate.............................................................................................42

Hình 4.5: Chức năng tìm kiếm......................................................................................42

Hình 4.6: Chức năng thống kê chi tiết cuộc gọi và tính cước......................................43

Trần Thanh Phong – Đ08THM1 vi

Page 7: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Lời nói đầu

LỜI NÓI ĐẦU

Trong nhiều thập kỷ qua, công nghệ VoIP đã và đang được sử dụng rộng rãi ở nhiều nơi trên thế giới với nhiều tính năng ưu việt so với mạng điện thoại truyền thống đó là mạng điện thoại truyền thống đươc triển khai trên cơ sở hạ tầng riêng biệt so với cơ sở hạ tầng của mạng internet, mạng điện thoại truyền thống có giá cước cao và tính linh động thấp, trong khi đó mạng VoIP được triển khai trên nền tảng cơ sở hạ tầng sẵn có của internet hoạt động hoàn toàn thông qua internet do vậy cước phí cuộc gọi giảm hơn nhiều so với mạng điện thoại truyền thống và hơn nữa là dễ dàng triển khai, trong bối cảnh mạng internet ngày càng phổ biến trên toàn thế giới và theo đó thì các dịch vụ cũng như các công nghệ dựa trên Internet cũng phát triển không ngừng công nghệ VoIP được coi là một bước đột phá trong thông tin liên lạc toàn cầu , nó có vai trò rất quan trọng trong sự phát triển của đời sống xã hội nói chung và sự phát triển của công nghệ thông tin nước nhà nói riêng. Một công nghệ được mong đợi với giá cước rẻ hơn nhiều so với các mạng điện thoại khác mang lại lợi ích không hề nhỏ đối với người sử dụng, và điều quan tâm của nhà quản lý là có một bảng tính cước cho hệ thống VoIP sao cho tối ưu quản lý, giám sát dễ dàng và chính xác, đảm bảo công bằng cho người sử dụng dịch vụ.

Phần lớn các công nghệ hiện nay đều có khả năng chạy trên nhiều giao thức khác nhau, đối với công nghệ VoIP nói riêng thì chạy trên một số giao thức cơ bản như: H.323, MGCP, SIP…mỗi giao thức khác nhau có hoạt động, vận hành đối với hệ thống VoIP khác nhau. Trong đó giao thức SIP được xem là có nhiều ưu điểm hơn cả, với quá trình thiết lập một cuộc gọi khá đơn giản qua đó làm tăng khả năng kiểm soát và hiệu suất của hệ thống, SIP hỗ trợ tích hợp dễ dàng tiếng nói với các dịch vụ Web khác để thực hiện truyền thông đa phương tiện như hội nghị truyền hình, giao lưu trực tuyến.... Hiện nay, SIP được sử dụng rộng rãi trong các hệ thống, Cisco và nhiều hãng sản xuất thiết bị tổng đài IP đang đưa SIP vào phần cứng, còn Skype, Yahoo, Microsoft và America Online cũng tích hợp SIP trong hệ thống tin nhắn nhanh của họ. Tập đoàn viễn thông nổi tiếng WorldCom cũng đã mở hẳn một ngành kinh doanh công nghệ SIP và phối hợp với Microsoft để hỗ trợ giao thức trong bản thử nghiệm Windows XP Server.

Bất kỳ công nghệ điện thoại nào ra đời đều phải đi kèm theo đó là một bảng tính cước điện thoại để đảm bảo doanh thu cho doanh nghiệp triển khai hệ thống cung cấp cho người sử dụng. Trong đề tài này, tôi quan tâm tới việc thiết kế bảng tính cước cho hệ thống VoIP dùng giao thức SIP không chỉ vì tính hiệu quả và ưu việt của công nghệ mà còn phương pháp khai thác tính đơn giản của giao thức SIP để tính cước phí. Bằng việc nghiên cứu về SIP và thực hiện khảo sát protocol SIP trên Asterisk, kết quả cho thấy sự khả thi khi thực hiện bảng tính cước dựa vào giao thức SIP.

Trần Thanh Phong – Đ08THM1 1

Page 8: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Lời nói đầu

Bảng tính cước cho phép lấy thông tin cuộc gọi bằng cách ghi lại những thông số của các bản tin INVITE, 200OK, BYE, qua đó ghi lại những thông số cần thiết và chi tiết để đảm bảo tính chính xác cao.

Bảng tính cước cho hệ thống VoIP dùng giao thức SIP căn bản có các chức năng chính:

Ghi lại thời gian cuộc gọi (Timer): Chức năng ghi lại thời gian cuộc gọi bao gồm ngày phát sinh cuộc gọi, thời gian bắt đầu kết thúc cuộc gọi, thời gian đàm thoại thực của cuộc gọi.

Thông số thuê bao: Chức năng ghi lại thông số thuê bao bao gồm thuê bao gọi đến, thuê bao gọi đi.

Cước phí cuộc gọi: Chức năng tính ra cước phí của cuộc gọi căn cứ vào thời gian đàm thoại thực từ khi bắt đầu đàm thoại đến khi kết thúc cuộc gọi.

Giao diện web để quản trị người dùng user: Người quản trị có thể dễ dàng quản trị người dùng thông quan giao diện này, giao diện này thể hiện tất cả những thông số cần thiết để người quản trị có thể tối ưu hóa trong việc quản trị hệ thống.

Trong những yêu cầu trên, tôi sẽ tập trung vào việc thu thập thông tin từ các bản tin thiết lập cuộc gọi INVITE, 200OK, ACK, BYE để phục vụ cho các chức năng trên đây.

Trong khuôn khổ thời gian cho phép, đề tài này chỉ cho phép dừng lại ở việc thiết kế và xây dựng bảng tính và đưa ra cơ chế thu thập thông tin từ các bản tin trong giao thức SIP mà chưa đề xuất được hệ thống này một cách tối ưu nhất. Trong tương lai, công việc có thể được tiếp tục với việc thực hiện xây dựng hệ thống hoàn chỉnh với chức năng thu thập thông tin một cách nhanh nhất. Từ đó có thể đưa ra ứng dụng nếu có thể…

Trần Thanh Phong – Đ08THM1 2

Page 9: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương I: Giới thiệu

CHƯƠNG I: GIỚI THIỆU

I.1. Bối cảnh

Ngày nay, trước sự phát triển mạnh mẽ của cơ sở hạ tầng internet đã đưa đến cho thế giới nhiều giải pháp mới trong trao đổi thông tin và dữ liệu. Dữ liệu ngày nay không còn là thông tin mà còn là hình ảnh, âm thanh…. Một trong những ứng dụng rất quan trọng và hiệu quả đó là truyền tải tiếng nói trên nền tản cơ sở hạ tầng sẵn có của mạng Internet. Thoại là một hình thức không thể thiếu trong giao tiếp thường ngày. Qua thời gian hệ thống truyền thoại qua mạng chuyển mạch kênh cũ đã bộc lộ nhiều hạn chế như: tốc độ đường truyền thấp, giới hạn số lượng trong hội thảo hội nghị, khả năng phục vụ đồng thời ít, khả năng lưu trữ thấp, …Sự ra đời của công nghệ VoIP(Voice over Internet Protocol) đã khắc phục được các nhược điểm đó. Về bản chất công nghệ VoIP là công nghệ sử dụng giao thức IP để truyền tín hiệu thoại (voice) dưới dạng các gói tin (packets) trong mạng IP. Việc sử dụng chuyển mạch gói thay cho chuyển mạch kênh đã tạo ra được sự tối ưu hơn: không phải giữ riêng kênh truyền trong suốt cuộc gọi, do vậy có thể cùng lúc truyền được nhiều cuộc hội thoại trên một kênh truyền. Công nghệ này cho phép sử dụng một số giao thức như H.323, SIP, MGCP…qua đó ứng dụng vào các lĩnh vực như điện thoại quốc tế, 171, skype…

Một trong những ưu điểm chính khi công nghệ VoIP sử dụng giao thức SIP ra đời đó là quá trình thiết lập một cuộc gọi khá đơn giản mà cước phí cực thấp so với các hệ thống trước đây. Đề tài này sẽ dựa vào hai ưu điểm nổi bật đó để thiết kế cho một chức năng rất quan trọng trong hoạt động của hệ thống VoIP đó là thiết kế bảng tính cước phí cho hệ thống VoIP dùng giao thức SIP

I.2. Động cơ

Trong phần này tôi trình bày một tình huống làm động cơ cho việc đưa ra một thiết kế dành cho việc tính cước phí cho một cuộc gọi VoIP dùng giao thức SIP, nó cho thấy lợi ích trong việc sử dụng công nghệ VoIP cùng với giao thức SIP để đưa ra một bảng tính cước phí cuộc gọi phục vụ cho việc giám sát hệ thống. Sau đây tôi xin đưa ra một ví dụ về ứng dụng của thiết kế này: Hệ thống tổng đài sẽ tính cước cho 1 cuộc gọi từ A đến B, thiết kế này sẽ ghi lại những thông số cần thiết rõ ràng qua đó thuận tiện cho việc tính giá thành cuộc gọi bằng cách nhận biết lúc nào A gửi bản tin INVITE cho B, lúc B bắt máy và gửi bản tin 200OK thì bắt đầu tính cước và cuối cùng là bản tin BYE lúc nào được gửi và qua đó tính ra giá cước cho A .

Việc phát triển tối ưu và ngày càng hoàn thiện cho bản tính cước này sẽ giúp đáp ứng sự hài lòng của khách hàng cũng như dễ dàng trong việc kiểm soát khâu này trong hệ thống VoIP dùng giao thức SIP.

Trần Thanh Phong – Đ08THM1 3

Page 10: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương I: Giới thiệu

I.3. Đóng góp của đề tài

Đề tài giúp hiểu rõ về cấu trúc cũng như phương pháp thiết kế bảng tính cước cho hệ thống VoIP dùng giao thức SIP.

Đề tài giúp cho một cái nhìn rõ ràng về giao thức SIP trong VoIP thông qua việc nghiên cứu tổng quan cũng như đi vào từng chức năng, tính năng cụ thể của SIP, thực hiện cài đặt tổng đài Asterisk trên Linux và qua đó thực hiện thao tác một cuộc gọi thực tế và nắm bắt rõ ràng cơ chế của giao thức SIP trong hệ thống này.

Việc cài đặt hệ thống với giao thức SIP giúp hiểu về hoạt động của nó, nhận thấy được SIP là một giao thức thiết lập cuộc gọi đơn giản, vì vậy việc ghi lại các thông số trong các bản tin INVITE, 200OK, BYE cũng khá dễ dàng ứng với các yêu cầu trong bảng thiết kế.

Báo cáo đưa ra ý tưởng thiết kế bảng tính cước dựa trên giao thức SIP. Trong tương lai có thể phát triển lên hoàn chỉnh và ứng dụng trong thực tế.

I.4. Tổ chức

Nội dung của đề tài được chia làm 4 chương:Chương 1: Giới thiệu.

Nêu lên bối cảnh, động cơ, đóng góp và tổ chức đề tài.Chương 2: Giới thiệu hệ thống SIP.

Giới thiệu về công nghệ VoIP chạy trên nhiều giao thức khác nhau. Giới thiệu cụ thể về giao thức SIP. SIP có những ưu điểm nào so với các giao thức khác, từ đó nêu lên lợi thế khi dựa vào giao thức SIP để thiết kế bảng tính cước cho hệ thống VoIP.Chương 3:Kiểm tra hoạt động của hệ thống VoIP dùng Asterisk

Chương này sẽ trình bày quá trình cài đặt một hệ thống VoIP trong mạng LAN, bao gồm một tổng đài Asterisk, 2 máy cài 2 soft phone nằm trong cùng một mạng LAN. Sau khi cài đặt sẽ thực hiện 1 cuộc gọi giữa 2 soft phone, dùng công cụ wireshark bắt các gói tin INVITE, 200OK, BYE để biết các thông số cần ghi lại và qua đó làm nền tảng cho việc thiết kế bảng tính cước.Chương 4: Thiết kế và xây dựng mô hình tính cước dùng giao thức SIP dựa trên Asterisk Implementation

Thiết kế và xây dựng cơ chế cập nhật các thông số đã ghi lại được từ các bản tin vào cơ sở dữ liệu.Chương 5: Kết luận

Báo cáo đã trình bày những gì, kết quả đạt được từ báo cáo và dự định mở rộng những gì trong tương lai.

Trần Thanh Phong – Đ08THM1 4

Page 11: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

CHƯƠNG II: GIỚI THIỆU VỀ HỆ THỐNG SIP

Đầu năm 1995, công ty VocalTec đưa ra sản phẩm phần mềm qua Internet (Voice over Internet Protocol - VoIP) đầu tiên trên thế giới. Sau đó, nhiều công ty đã đầu tư nghiên cứu và đưa ra các sản phẩm thương mại. Truyền dẫn tiếng nói qua Internet theo thời gian thực được biết như Internet Telephony hay gọi là thuật ngữ chung là VoIP. Trong chương này tôi sẽ đưa ra một cái nhìn tổng quan về công nghệ VoIP, giới thiệu các giao thức dùng trong VoIP, giới thiệu cụ thể về giao thức SIP. SIP có những ưu điểm nào so với các giao thức khác.

II.1. Tổng quan về VoIP

II.1.1. Khái niệm

VoIP viết tắt bởi Voice over Internet Protocol, hay còn được gọi dưới các tên khác như: Internet telephony, IP Telephony, Broadband telephony, Broadband Phone và Voice over Broadband là một công nghệ cho phép truyền thoại sử dụng giao thức mạng IP, trên cơ sở hạ tầng sẵn có của mạng Internet.

Hình 1.1: Tổng quan về hệ thống VoIP cùng với PSTN truyền thống

VoIP có thể vừa thực hiện cuộc gọi thoại như trên mạng điện thoại kênh truyền thống (PSTN) đồng thời truyền dữ liệu trên cơ sở mạng truyền dữ liệu.

Trần Thanh Phong – Đ08THM1 5

Page 12: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

II.1.2. Đặc điểm của mạng VoIP:

II.1.2.1. Ưu điểm

Giảm cước phí: Đây là ưu điểm nổi bật của VoIP so với điện thoại đường dài thông thường. Chi phí cuộc gọi đường dài chỉ bằng chi phí cho truy nhập Internet. Do sử dụng các tiêu chuẩn nén thoại từ tốc độ 64Kbps của chuyển mạch kênh thành luồng từ 6-8Kbps, tức là một kênh 64Kbps lúc này có thể phục vụ đồng thời 8 kênh thoại độc lập. Như vậy, lý do lớn nhất giúp cho chi phí thực hiện cuộc gọi VoIP thấp chính là việc sử dụng tối ưu băng thông.

Quản lí băng thông hiệu quả hơn: Trong PSTN, băng thông cung cấp cho một cuộc gọi là cố định, kỹ thuật chuyển mạch truyền thống của PSTN yêu cầu một mạch giữa chuyển mạch của công ty điện thoại và thiết bị khách hàng được mở và nói chiếm trong suốt thời gian cuộc gọi, bất chấp lượng thông tin có được truyền đi hay không dẫn đến sự hao phí. Trong VoIP, không có sự bắt buộc nào về mặt thông lượng giữa các thiết bị dầu cuối mà chỉ có các chuẩn tuỳ vào băng thông có thể của mình, bản thân các đầu cuối có thể tự điều chỉnh hệ số nén và do đó diều chỉnh được chất lượng cuộc gọi.

Hỗ trợ tốt các ứng dụng và khả năng mở rộng: Trong khi PSTN với các tổng đài gần như là một hệ thống kín rất khó để tích hợp các ứng dụng cũng như mở rộng. VoIP được hứa hẹn sẽ mang đến các lợi ích trong thời gian dài hơn được mong đợi từ các ứng dụng đa phương tiện (multimedia) và đa dịch vụ. Tính linh hoạt của mạng IP cho phép tạo ra nhiều tinh năng mới trong dịch vụ thoại. Ðồng thời tính mềm dẻo còn tạo khả năng mở rộng mạng và các dịch vụ.

Sự phát triển của mạng IP: Với sự phát triển chóng mặt của Internet, web, ngày nay, các máy tính cá nhân và máy chủ trong Internet, web đều sử dụng giao thức IP. Chính vì xu thế này của IP mà IP trở thành một nền tảng thuận lợi để phát triển VoIP.

II.1.2.2. Nhược điểm

Chất lượng dịch vụ: Các mạng số liệu vốn dĩ không phải xây dựng với mục đích truyền thoại thời gian thực, vì vậy khi truyền thoại qua mạng số liệu cho chất lượng cuộc gọi không được đảm bảo trong trường hợp mạng xảy ra tắc nghẽn hoặc có độ trễ lớn. Tính thời gian thực của tín hiệu thoại đòi hỏi chất lượng truyền dữ liệu cao và ổn dịnh. Một yếu tố làm giảm chất lượng thoại nữa là kỹ thuật nén dể tiết kiệm đường truyền. Nếu nén xuống dung lượng càng thấp thì kỹ thuật nén càng phức tạp, cho chất lượng không cao và dặc biệt là thời gian xử lý sẽ lâu, gây trễ.

Một nhược điểm khác của VoIP là vấn đề về tiếng vọng: Nếu như trong mạng thoại, độ trễ thấp nên tiếng vọng không ảnh huởng nhiều thì trong mạng IP, độ trễ lớn nên tiếng vọng ảnh hưởng nhiều đến chất lượng thoại.

Trần Thanh Phong – Đ08THM1 6

Page 13: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

II.1.3. Kiến trúc và thành phần mạng VoIP

II.1.3.1. Kiến trúc tổng quan

Hình 2.1: Kiến trúc theo mô hình cuộc gọi VoIP

Có 3 thành phần chính đó là:IP Phone: là thiết bị giao diện đầu cuối phía người dùng với mạng VoIP. Cấu

tạo chính của một IP Phone gồm hai thành phần chính:Thành phần báo hiệu mạng VoIP: báo hiệu có thể là H.323 sử dụng giao thức TCP hay SIP sử dụng UDP hoặc TCP làm giao thức truyền tải của mình. Thành phần truyền tải media: sử dụng RTP để truyền luồng media với chất lượng thời gian thực và được điều khiển theo giao thức RTCP.

VoIP Server: chức năng chính của Server trong mạng VoIP tùy thuộc vào giao thức báo hiệu được sử dụng. Nhưng về mô hình chung thì VoIP Server thực hiện các chức năng sau:

- Ðịnh tuyến bản tin báo hiệu trong mạng VoIP- Ðăng kí, xác thực người sử dụng- Dịch địa chỉ trong mạng Nói chung, VoIP Server trong mạng nhu là đầu não chỉ huy mọi hoạt động của

mạng.

Trần Thanh Phong – Đ08THM1 7

Page 14: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

II.1.3.2. Thành phần mạng VoIP

Hình 2.2: Thành phần mạng VoIP

Thiết bị đầu cuối: Thiết bị đầu cuối là một nút cuối trong cấu hình của mạng điện thoại IP. Nó có thể được kết nối với mạng IP sử dụng một trong các giao diện truy nhập. Một thiết bị đầu cuối có thể cho phép một thuê bao trong mạng IP thực hiện cuộc gọi tới một thuê bao khác trong mạng chuyển mạch kênh. Các cuộc gọi đó sẽ được Gatekeeper mà thiết bị đầu cuối hoặc thuê bao đã đăng ký giám sát.

Một thiết bị đầu cuối có thể gồm các khối chức năng sau:

- Chức năng đầu cuối: Thu và nhận các bản tin;

- Chức năng bảo mật kênh truyền tải: đảm bảo tính bảo mật của kênh truyền tải thông tin kết nối với thiết bị đầu cuối.

- Chức năng bảo mật kênh báo hiệu: đảm bảo tính bảo mật của kênh báo hiệu kết nối với thiết bị đầu cuối.

- Chức năng xác nhận: thiết lập đặc điểm nhận dạng khách hàng, thiết bị hoặc phần tử mạng, thu nhập các thông tin dùng để xác định bản tin báo hiệu hay bản tin chứa thông tin đã được truyền hoặc nhận chưa.

Trần Thanh Phong – Đ08THM1 8

Page 15: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

- Chức năng quản lý: giao tiếp với hệ thống quản lý mạng.

- Chức năng ghi các bản tin sử dụng: xác định hoặc ghi lại các thông tin về sự kiện ( truy nhập, cảnh báo ) và tài nguyên.

- Chức năng báo cáo các bản tin sử dụng: báo cáo các bản tin đã được sử dụng ra thiết bị ngoại vi.

Mạng truy nhập IP: Mạng truy nhập IP cho phép thiết bị đầu cuối, Gateway, Gatekeeper truy nhập vào mạng IP thông qua cơ sở hạ tầng sẵn có.

Gatekeeper: Gatekeeper là phần tử của mạng chịu trách nhiệm quản lý việc đăng ký, chấp nhận và trạng thái của các thiết bị đầu cuối và Gateway. Gatekeeper có thể tham gia vào việc quản lý vùng, xử lý cuộc gọi và báo hiệu cuộc gọi. Nó xác định đường dẫn để truyền báo hiệu cuộc gọi và nội dung đối với mỗi cuộc gọi.

Gateway: Là thiết bị có chức năng kết nối hai mạng không giống nhau, hầu hết các truờng hợp đó là mạng IP và mạng PSTN. Có 3 loại gateway là: Gateway truyền tải kênh thoại, Gateway điều khiển truyền tải kênh thoại và Gateway báo hiệu.

II.1.3.3. Các mô hình kết nối trong mạng VoIP

Về cơ bản có thể chia cấu trúc kết nối trong các ứng dụng dịch vụ thoại Internet thành ba loại:

- Kết nối PC-PC

- Kết nối PC-Máy thoại

- Kết nối Máy thoại-Máy thoại

Kết nối PC-PC: Khi thực hiện kết nối PC với PC về mặt hình thức có thể chia làm hai loại:

- Kết nối thông qua mạng LAN hoặc một mạng IP.

- Kết nối giữa một PC trong mạng IP này với một PC trong mạng IP khác

thông qua mạng PSTN .

Trần Thanh Phong – Đ08THM1 9

Page 16: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

Hình 2.3: Kết nối PC-PCKết nối PC-Phone: Mô hình PC to Phone là một mô hình được cải tiến hơn so

với mô hình PC to PC. Mô hình này cho phép người sử dụng máy tính có thể thực hiện cuộc gọi đến mạng PSTN thông thường và ngược lại. Trong mô hình này mạng Internet và mạng PSTN có thể giao tiếp với nhau nhờ một thiết bị đặc biệt đó là Gateway. Ðây là mô hình cơ sở để dẫn tới việc kết hợp giữa mạng Internet và mạng PSTN cũng như các mạng GSM hay đa dịch vụkhác.

Hình 2.4: Kết nối PC-Phone

Kết nối Phone-Phone: Trong đó kết nối giữa hai máy điện thoại được thực hiện thông qua mạng IP thay vì được kết nối trong mạng PSTN.

Hình 2.5: Kết nối Phone-Phone

II.1.4. Ứng dụng VoIP

Điện thoại có thể được áp dụng cho gần như mọi yêu cầu của giao tiếp thoại, từ một cuộc đàm thoại đơn giản cho đến một cuộc gọi hội nghị nhiều người phức tạp. Chất lượng âm thanh được truyền cũng có thể biến đổi tuỳ theo ứng dụng. Ngoài ra, với khả năng của Internet, dịch vụ điện thoại IP sẽ cung cấp thêm nhiều tính năng mới.

Điện thoại thông minh: Hệ thống điện thoại ngày càng trở nên hữu hiệu: rẻ, phổ biến, dễ sử dụng, cơ động. Nhưng nó hoàn toàn “ngớ ngẩn”, chỉ có một số phím

Trần Thanh Phong – Đ08THM1 10

Page 17: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

để điều khiển. Trong những năm gần đây, người ta đã cố gắng để tạo ra thoại thông minh, đầu tiên là các thoại để bàn, sau là đến các server. Nhưng mọi cố gắng đều thất bại do sự tồn tại của các hệ thống có sẵn.

Internet sẽ thay đổi điều này. Kể từ khi Internet được triển khai, nó đã được sử dụng để tăng thêm tính thông minh cho mạng điện thoại toàn cầu. Giữa mạng máy tính và mạng điện thoại tồn tại một mối liên hệ. Internet cung cấp cách giám sát và điều khiển các cuộc thoại một cách tiện lợi hơn. Chúng ta có thể thấy được khả năng kiểm soát và điều khiển các cuộc thoại thông qua mạng Internet.

Dịch vụ điện thoại web: "World Wide Web" đã làm cuộc cách mạng trong cách giao dịch với khách hàng của các doanh nghiệp. Điện thoại Web hay "bấm số" (click to dial) cho phép các nhà doanh nghiệp có thể đưa thêm các phím bấm lên trang web để kết nối tới hệ thống điện thoại của họ.

Dịch vụ bấm số là cách dễ nhất và an toàn nhất để đưa thêm các kênh trực tiếp từ trang Web của chúng ta vào hệ thống điện thoại. Truy cập các trung tâm trả lời điện thoại. Truy nhập đến các trung tâm phục vụ khách hành qua mạng Internet sẽ thúc đẩy mạnh mẽ thương mại điện tử. Dịch vụ này sẽ cho phép một khách hàng có câu hỏi về một sản phẩm được chào hàng qua Internet được các nhân viên của công ty trả lời trực tuyến.

Dịch vụ fax qua IP: Nếu chúng ta gửi nhiều fax từ PC, đặc biệt là gửi ra nước ngoài thì việc sử dụng dịch vụ Internet faxing sẽ giúp chúng ta tiết kiệm được tiền và cả kênh thoại. Dịch vụ này sẽ chuyển trực tiếp từ PC của chúng ta qua kết nối Internet. Hàng năm, thế giới tốn hơn 30 tỷ USD cho việc gửi fax đường dài. Nhưng ngày nay Internet fax đã làm thay đổi điều này. Việc sử dụng Internet không những được mở rộng cho thoại mà còn cho cả dịch vụ fax.

Khi sử dụng dịch vụ thoại và fax qua Internet, có hai vấn đề cơ bản :

Những người sử dụng dịch vụ thoại qua Internet cần có chương trình phần mềm được cung cấp bởi các công ty dịch vụ. Cấu hình này cung cấp cho người sử dụng khả năng sử dụng thoại qua Internet thay cho sử dụng điện thoại để bàn truyền thống.

Sự phát triển nhảy vọt của mạng chuyển mạch gói IP hiện nay không chỉ đem lại cho chúng ta những dịch vụ mới đa dạng mà còn là cơ hội cải thiện các dịch vụ viễn thông truớc kia với chất luợng tốt hơn và giá thành rẻ hơn. Trên cơ sở đó, mạng VoIP ra đời và ngày càng đáp ứng tốt hơn các yêu cầu đặt ra như chất lượng dịch vụ, giá thành, số lượng tích hợp các dịch vụ thoại lẫn phi thoại. Trong phần tiếp theo tôi sẽ giới thiệu chi tiết về giao thức SIP, một giao thức khởi tạo phiên trong VoIP và so sánh với các giao thức khác trong hệ thống VoIP.

II.2. Giao thức SIP

Công nghệ VoIP là công nghệ truyền tín hiệu thoại trên nền IP, chính vì thế mà hệ thống VoIP phải được hỗ trợ các giao thức được sử dụng trên mạng Internet và

Trần Thanh Phong – Đ08THM1 11

Page 18: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

phải có kiến trúc thích ứng với kiến trúc mạng IP. Một số giao thức đó như: H.323, MGCP, SIP… được sử dụng. Trong phần này tôi xin giới thiệu một giao thức đó là SIP.

II.2.1. Khái niệm

Giao thức SIP (Session Initiation Protocol) là một giao thức điều khiển ở tầng ứng dụng có thể khởi tạo, thay đổi và kết thúc một phiên truyền thông đa phương tiện như là VoIP. SIP còn có thể dùng bản tin mời (INVITE) để thiết lập các phiên và mang thông tin mô tả phiên truyền dẫn. SIP hỗ trợ nhiều thành phần tham gia vào phiên đã có như là các hội thảo multicast (cuộc gọi đa điểm) hay là cuộc gọi điểm -điểm . Các phương tiện có thể thêm vào hoặc loại bỏ khỏi phiên đang tồn tại.

SIP hỗ trợ năm vấn đề thiết lập và kết thúc truyền thông đa phương tiện

- Vị trí người sử dụng: xác định hệ thống cuối sử dụng cho truyền thông, các user có thể di chuyển đến các vị trí khác nhau và truy cập vào hệ thống từ xa. Điều này tương tự các dịch vụ được cung cấp bởi RAS trong H.323.

- Sự sẵn sàng của người sử dụng: xác định sự sẵn sàng của bên nhận tham gia vào truyền thông.

- Năng lực người sử dụng: xác định phương tiện và các thông số để sử dụng SIP dùng giao thức SDP để thống nhất tham số truyền thông.

- Thiết lập phiên: “gọi”, thiết lập các thông số phiên gọi ở cả bên gọi và bên nhận theo báo hiệu trực tiếp hay thông qua proxy server.

- Quản lý phiên gọi: bao gồm chuyển và kết thúc phiên, thay đổi các thông số phiên và gọi các dịch vụ.

II.2.2. Sự ra đời của SIP

Ngày 22/02/1996 Mark Handley và Even Schooler trình lên IETF (International Engineering Task Force) phiên bản SIP V1 (Session Initiation Protocol Version 1)

Cùng ngày Henning Schulzrinne đệ trình lên IETF phiên bản SCIP (Simple Conference Invitation Protocol)

SIP V2 ra đời tại kỳ họp thứ 37 của IETF là sự kết hợp hai giao thức SIP V1 và SCIP lại với nhau. SIP được chuẩn hóa lần đầu tiên vào tháng 3 năm 1999 trong bộ tiêu chuẩn RFC 2543. SIP được sửa đổi vào tháng 5 năm 2002 trong tiêu chuẩn RFC 3261.

II.2.3. Vai trò của SIP trong VoIP

SIP không phải là hệ thống truyền thông hợp nhất. SIP chỉ là một thành phần có thể được sử dụng với các giao thức khác của IETF để tạo nên một kiến trúc đa phương tiện hoàn chỉnh, như là giao thức RTP truyền các dữ liệu thời gian thực và

Trần Thanh Phong – Đ08THM1 12

Page 19: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

cung cấp các phản hồi QoS (Quality of Services), giao thức RTSP điều khiển việc phân phát các dòng truyền thông, giao thức MEGACO điều khiển các gateway đến mạng PSTN, và giao thức SDP mô tả các phiên truyền đa phương tiện. Vì thế, SIP được kết hợp với các giao thức khác để cung cấp các dịch vụ hoàn thiện đến người sử dụng. Tuy nhiên, các chức năng và hoạt động chính của SIP không bị phụ thuộc vào các giao thức khác.

SIP không cung cấp dịch vụ. Đúng hơn, SIP cung cấp các cơ sở để có thể thực hiện nhiều dịch vụ khác nhau. Ví dụ, SIP có thể xác định vị trí người sử dụng và gởi một đối tượng dễ nhận biết đến vị trí hiện tại của anh ta. Nếu điều này được sử dụng thì các điếm cuối có thể thỏa thuận về các thông số của phiên. Còn nếu nó được sử dụng để gởi một hình ảnh của người gọi cũng như là các mô tả của phiên, dịch vụ “caller ID” có thể dễ dàng được thực hiện. Như ví dụ này cho thấy, một điều cơ bản thường được sử dụng cho nhiều dịch vụ khác nhau.

SIP không cung cấp các dịch vụ điền khiển hội nghị như điều khiển cuộc họp hoặc biểu quyết và không quy định hội nghị được điều khiển như thế nào. SIP có thể được dùng để khởi tạo một phiên sử dụng các giao thức điều khiển hội nghị khác. Một khi SIP truyền thông điệp và phiên mà chúng tạo ra có thể xuyên qua các mạng khác nhau, SIP không thể cung cấp bất kỳ khả năng dành riêng tài nguyên mạng.

SIP cung cấp một bộ các dịch vụ bảo mật, bao gồm bảo vệ, xác thực (cả user với proxy và ngược lại), các dịch vụ bảo vệ toàn diện và mã hóa.

SIP làm việc với cả IPv4 và IPv6.

Vì thế giao thức SIP có thể ứng dụng cho nhiều hệ thống từ lớn đến nhỏ. Mặc dù việc so sánh giữa SIP và H.323 phải xét đến từng trường hợp cụ thể và chúng ta cũng không thể rút ra kết luận ngay được nhưng có thể dự đoán rằng SIP sẽ là giao thức dành cho sự phát triển của thế hệ mạng trong tương lai. Chúng ta sẽ so sánh SIP và H323 cụ thể trong phần sau.

II.2.4. Thành phần của SIP

Trần Thanh Phong – Đ08THM1 13

Redirect Server

Location Server

Registrar Server

User Agent Gateway

SIP Components

Proxy Server

Proxy Server

PSTN

Page 20: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

Hình 2.6: Thành phần của SIP

User Agent: Là 1 ứng dụng để khởi tạo, nhận và kết thúc cuộc gọi.- User Agent Clients (UAC) – Khởi tạo cuộc gọi.- User Agent Server (UAS) – Nhận cuộc gọi.

Cả UAC và UAS đều có thể kết thúc cuộc gọi. Proxy Server: Là 1 chương trình tức thời hoạt động vừa là client vừa là server.

Chương trình này được sử dụng để tạo ra các yêu cầu (requests) thay cho các client. Mộtproxy server đảm bảo chức năng định tuyến và thực hiện các quy tắc (policy) (ví dụ như đảm bảo nguời dùng có được phép gọi hay không). Proxy Server có thể biên dịch khi cần thiết, sửa đổi 1 phần của bản tin yêu cầu trước khi chuyển đi.

Location Server: Ðược sử dụng bởi SIP redirect hoặc proxy server để lấy thông tin về địa điểm của người được gọi.

Redirect Server: Là server nhận các yêu cầu SIP, sắp xếp các địa chỉ và trả địa chỉ về phía client. Khác với Proxy Server, Redirect server không tự khởi tạo ra các yêu cầu SIP của riêng nó. Ðồng thời nó cũng không chấp nhận hay huỷ cuộc gọi giống như User Agent Server. Registrar Server: Là server chấp nhận các yêu cầu REGISTER, server này có thể hỗ trợ thêm tính năng xác thực, đồng thời hoạt động với proxy hoặc redirect server để đưa ra các dịch vụ khác.

Trong hình trên, User Agent là thiết bị đầu cuối trong mạng SIP, có thể là một máy điện thoại SIP, có thể là máy điện thoại SIP, có thể là máy tính chạy phần mềm đầu cuối SIP.

II.2.5. Các bản tin của SIP

INVITE : bắt đầu thiết lập cuộc gọi bằng cách gửi bản tin mời đầu cuối khác tham gia. Thông điệp này chứa các thông tin cơ bản như định danh người gọi và người được gọi…

ACK: Một phiên SIP đơn giản bắt đầu từ phương thức INVITE. Khi người được gọi xác nhận rằng đã nhận lời gọi INVITE, sẽ có một thông điệp trả lời với phương thức ACK. Thông điệp này chứa các đặc tả SDP về các thông số thiết lập phiên truyền thông.

OPTION: thông điệp được gửi để truy vấn khả năng của hai bênBYE : bắt đầu kết thúc cuộc gọi

REGISTER: Cung cấp sự ánh xạ phân giải địa chỉ. Ví dụ để server biết vị trí của người sử dụng khác.

CANCEL: Kết thúc một yêu cầu sắp xãy ra nhưng không kết thúc cuộc gọi.

INFO: Được sử dụng để mang thông tin giữa cuộc gọi. INFO không được dùng để thay đổi trạng thái của một cuộc gọi đã ổn định.

Trần Thanh Phong – Đ08THM1 14

Page 21: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

Có hai loại thông điệp SIP: yêu cầu và đáp ứng, tương ứng với thông điệp UAC (User Agent Client) gởi đến UAS (User Agent Server) và thông điệp UAS trả lời UAC. Hai thông điệp này hoàn toàn khác nhau. Thông điệp yêu cầu được gởi để thông tin cho thành phần nhận thực hiện các tác vụ cụ thể, thông điệp đáp ứng được gởi trả để báo cáo về kết quả thực hiện các tác vụ đó.

Về cấu trúc hai thông điệp khác nhau ở dòng bắt đầu. Thông điệp yêu cầu cho biết phương thức và URI mà yêu cầu được gởi đến. Thông điệp đáp ứng có dòng bắt đầu chứa mã trả lời mà không có URI vì nó chỉ cần trả lại đúng địa chỉ của yêu cầu.

Các mã trả lời thông dụng nhất:

100 Trying. Yêu cầu đã được nhận tại một server ở chặng kế tiếp. Mã này được trả về từ một proxy server hoặc server trung gian khác trên đường báo hiệu cuộc gọi.

180 Ringing.

181 Call Forwarding. Nếu một proxy server trả về mã này, cũng có thể nhận diện nơi mà nó đang chuyển cuộc gọi trong phần thân của thông điệp này.

182 Queued for Service. Các ứng dụng có thể trì hoãn trả lời cuộc gọi cho đến khi nó đã phục vụ các cuộc gọi đang xếp hàng.

183 Session Progress.

200 OK. Yêu cầu được thực thi thành công.

400 Bad request. Lỗi cú pháp thông điệp.

401 User yêu cầu xác thực trước khi thực hiện yêu cầu này.

403 Forbidden. Nhận được khi cố gắng gọi một số không được chấp nhận từ thuê bao của chúng ta.

404 Không tìm thấy user.

408 Request time-out

500 Lỗi server.

600 Busy

603 Decline

604 Does not exist

Dưới đây là ví dụ về một bản tin SIP invite:

Trần Thanh Phong – Đ08THM1 15

Page 22: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

Hình 2.7: Ví dụ về bản tin SIP

Một số trường mào đầu đơn giản:

Hình 2.8: Một số trường mào đầu đơn giản

II.2.6. Một số giao thức liên quan

II.2.6.1 Giao thức SDP (Session Description Protocol)

SDP là một giao thức miêu tả phiên dùng cho phiên đa truyền thông.

Mục đích của SDP là chuyển thông tin về luồng truyền thông trong phiên đa truyền thông để cho phép người nhận biết được các thành phần tham gia vào phiên. SDP được dùng chủ yếu trong mạng tương tác, tuy vậy nó cũng thích hợp cho việc miêu tả hội nghị trong môi trường mạng khác.

SDP bao gồm:

- Tên phiên và mục đích.

- Thời gian phiên được kích hoạt.

Trần Thanh Phong – Đ08THM1 16

Page 23: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

- Thông tin nhận được của quá trình truyền thông đó (địa chỉ, cổng, giao tiếp, định dạng …)

Tuy vậy một tài nguyên tham gia vào phiên có thể được hạn chế hoặc có thể thêm một số thông tin như là: Thông tin về băng thông được sử dụng, thông tin liên lạc với người khác.

Nói chung, SDP phải mang đầy đủ thông tin để có thể kết nối đến một phiên.

Thông tin truyền thông bao gồm:

- Kiểu truyền thông (video, audio, control).

- Giao thức truyền tải (RTP/UDP/IP, H.320…).

- Định dạng truyền thông (H.261 video, MPEG video…).

Các thành phần trong SDP được miêu tả thông qua các trường sau:

v = (Phiên bản giao thức).

o = (Mô tả người thiết lập phiên).

s = (Tên phiên).

c = * (Thông tin kết nối).

t = (Thời gian phiên bắt đầu kích hoạt).

m = (Tên truyền thông và địa chỉ truyền).

a = * (không có gì hoặc nhiều thuộc tính truyền thông).

- Trường v cho phiên bản của SDP.

- Trường o cho biết thông tin khởi đầu của phiên (đây là username và địa chỉ của máy chủ) cộng với định dạng của phiên và số phiên bản phiên.

Gồm các thành phần sau:

o=<username><session id><version><network type><address type><address>

<username> là tên người đăng nhập vào máy chủ, hoặc là “-“ nếu máy chủ không hỗ trợ nội dụng định danh người sử dụng. Trường username phải có giá trị, không được là khoảng trống.

<session id> là một chuỗi số mà ứng với các hình thể <username>,<session id>, <network type>, <address type> và <address> là một định danh độc nhất cho phiên. <session id> tuỳ vào công cụ tạo ra nhưng nó xuất phát từ giao thức NTP (Network Time Protocol)

<version> và 1 chữ số phiên bản cho thông báo này. Nó là cần thiết với proxy thông báo để dò tìm các dịch vụ thông báo cho phiên giống nhau đã tồn tại.

<network type> là một số đại diện cho kiểu mạng. Khởi tạo là 1 được định nghĩa cho mạng Internet.

Trần Thanh Phong – Đ08THM1 17

Page 24: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

<addresss type> là một số đại diên cho kiểu địa chỉ cho phép. Khởi tạo là 1 cho IP4 và 0 cho IP6.

<address> là địa chỉ duy nhất của máy nơi phiên được tạo ra.

Nói chung trường o dùng như 1 định danh tổng thể duy nhất cho phiên bản của miêu tả phiên.

- Trường s là tên phiên. Tên này là duy nhất cho việc miêu tả phiên.

- Trường c chứa thông tin về dữ liệu kết nối. Gồm các thành phần sau:

c = <network type><address type><connection address>

Trường đầu tiên là kiểu mạng được định nghĩa như trên.

Trường thứ hai là kiểu địa chỉ cũng được định nghĩa như trên.

Trường thứ ba là địa chỉ kết nối đến.

- Trường t chỉ định thời gian bắt đầu và kết thúc của một phiên.

t = <start time><stop time>

- Trường m miêu tả truyền thông. Gồm các thành phần sau:

m = <media><port><transport><fmt list>

Mỗi phiên truyền thông có thể chứa 1 số miêu tả.

Trường đầu tiên là kiểu truyền thông.Ví dụ như "audio", "video", "application", "data" và "control".

Trường thứ hai là cổng vận chuyển.

Trường thứ ba là giao thứ vận chuyển. Giá trị phụ thuộc vào trường địa chỉ c.

- Trường a miêu tả cấu trúc của hình thể rtpmap. Gồm các thành phần:

a = rtpmap:<payload type><encoding name>/<clock rate>[/<encoding parameters>]

<payload type>: kiểu payload.

<encoding name> tên phương pháp mã hoá.

Với luồng audio, <encoding parameters> có thể số kênh audio.

Đây là thông số có thể bỏ qua nếu số kênh là một nhà cung cấp.

Ví dụ:

v = 0

o = mhandley 2890844526 2890842807 IN IP4 126.16.64.4

s = SDP Seminar

Trần Thanh Phong – Đ08THM1 18

Page 25: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

c = IN IP4 224.2.17.12/127

t = 2873397496 2873404696

m = audio 49230 RTP/AVP 96 97 98

a = rtpmap:96 L8/8000

II.2.6.2. Giao thức RTP (Realtime Transport Protocol)

Giao thức truyền thời gian thực Realtime Transport Protocol là một chuẩn Internet để truyền các luồng thông tin giữa các thành phần tương tác trên mạng. RTP cung cấp các dịch vụ về dữ liệu mang tính thời gian thực như video và audio. Thông thường các ứng dụng chạy RTP dựa trên UDP để tận dụng khả năng ghép kênh và kiểm lỗi. RTP hỗ trợ việc truyền dữ liệu đến nhiều địa chỉ đích bằng cách dùng cơ chế multicast nếu được hỗ trợ bởi hệ thống mạng.

Giao thức RTP là một thủ tục dựa trên kỹ thuật IP tạo ra các hỗ trợ để truyền tải các dữ liệu yêu cầu thời gian thực, ví dụ như các dòng dữ liệu hình ảnh và âm thanh. Các dịch vụ cung cấp bởi RTP bao gồm các cơ chế khôi phục thời gian, phát hiện các lỗi, bảo mật và xác định nội dung. RTP được thiết kế chủ yếu cho việc truyền đa đối tượng nhưng nó vẫn có thể được sử dụng để truyền cho một đối tượng. RTP có thể truyền tải một chiều như dịch vụ video theo yêu cầu cũng như các dịch vụ trao đổi qua lại như điện thoại Internet.

Hoạt động của RTP được hỗ trợ bởi một thủ tục khác là RCTP để nhận các thông tin phản hồi về chất lượng truyền dẫn và các thông tin về thành phần tham dự các phiên hiện thời.

II.2.6. Quá trình thiết lập cuộc gọi

II.2.6.1. Địa chỉ SIP

Địa chỉ SIP tồn tại dưới dạng [email protected]: tên người dùng hoặc số điện thoại Host: tên miền hoặc địa chỉ mạng.Mỗi địa chỉ SIP là duy nhất. Ví dụ:

[email protected] [email protected] [email protected]

II.2.6.2. Quá trình thiết lập cuộc gọi

Trần Thanh Phong – Đ08THM1 19

Page 26: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

UACProxy Server

Redirect Server

Proxy Server

INVITE INVITE

INVITE

INVITE

INVITE

ACK

ACK

ACK ACKACK

MovedTemporarily

MovedTemporarily

RingingRinging Ringing

RTP Media Path

BYE BYEBYE

OKOK OK

UAS

Hình 2.9: Quá trình thiết lập cuộc gọi

Trước tiên ta tìm hiểu hoạt động của máy chủ ủy quyền và máy chủ chuyển đổi

Hoạt động của máy chủ ủy quyền (Proxy Server)

Hình 2.10: Hoạt động của Proxy server

Trần Thanh Phong – Đ08THM1 20

Page 27: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

Client SIP [email protected] gửi bản tin INVITE cho [email protected] để mời

tham gia cuộc gọi.

+ Bước 1: [email protected] gửi bản tin INVITE cho UserB ở miền

hotmail.com, bản tin này đến proxy server SIP của miền hotmail.com (Bản tin

INVITE có thể đi từ Proxy server SIP của miền yahoo.com và được Proxy này chuyển

đến Proxy server của miền hotmail.com).

+ Bước 2: Proxy server của miền hotmail.com sẽ tham khảo server định vị

(Location server) để quyết định vị trí hiện tại của UserB.

+ Bước 3: Server định vị trả lại vị trí hiện tại của UserB (giả sử là

[email protected]).

+ Bước 4: Proxy server gửi bản tin INVITE tới [email protected]. Proxy

server thêm địa chỉ của nó trong một trường của bản tin INVITE.

+ Bước 5: UAS của UserB đáp ứng cho server Proxy với bản tin 200 OK.

+ Bước 6: Proxy server gửi đáp ứng 200 OK trở về [email protected].

+ Bước 7: [email protected] gửi bản tin ACK cho UserB thông qua proxy

server.

+ Bước 8: Proxy server chuyển bản tin ACK cho [email protected]

+ Bước 9: Sau khi cả hai bên đồng ý tham dự cuộc gọi, một kênh RTP/RTCP

được giữa hai điểm cuối để truyền tín hiệu thoại.

+ Bước 10: Sau khi quá trình truyền dẫn hoàn tất, phiên làm việc bị xóa bằng

cách sử dụng bản tin BYE và ACK giữa hai điểm cuối.

Hoạt động của máy chủ chuyển đổi địa chỉ (Redirect Server)

Trần Thanh Phong – Đ08THM1 21

Page 28: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

Hình 2.11: Hoạt động của Redirect Server

+ Bước 1: Redirect server nhận được yêu cầu INVITE từ người gọi (Yêu cầu

này có thể đi từ một proxy server khác).

+ Bước 2: Redirect server truy vấn server định vị địa chỉ của B.

+ Bước 3: Server định vị trả lại địa chỉ của B cho Redirect server.

+ Bước 4: Redirect server trả lại địa chỉ của B đến người gọi A. Nó không phát

yêu cầu INVITE như proxy server.

+ Bước 5: User Agent bên A gửi lại bản tin ACK đến Redirect server để xác

nhận sự trao đổi thành công.

+ Bước 6: Người gọi A gửi yêu cầu INVITE trực tiếp đến địa chỉ được trả lại

bởi Redirect server (đến B). Người bị gọi B đáp ứng với chỉ thị thành công (200 OK),

và người gọi đáp trả bản tin ACK xác nhận. Cuộc gọi được thiết lập.

Ngoài ra SIP còn có các mô hình hoạt động liên mạng với SS7 (đến PSTN) hoặc là

liên mạng với chồng giao thức H.323.

Tổng quát lại trong mạng SIP quá trình thiết lập và hủy một phiên kết

nối:

Trần Thanh Phong – Đ08THM1 22

Page 29: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

Hình 2.12: Quá trình thiết lập và hủy một phiên kết nối

- Đăng ký, khởi tạo và xác định vị trí người sử dụng.

- Xác định băng thông cần thiết được sử dụng.

- Xác định sự sẵn sàng của phía được gọi, phía được gọi phải gửi 1 bản tin

phản hồi thể hiện sự sẵn sàng để thực hiện cuộc gọi: chấp nhận hay từ chối.

- Cuộc gọi được thiết lập.

- Chỉnh sửa cuộc gọi (ví dụ như chuyển cuộc gọi) và duy trì. - Kết thúc cuộc gọi.

II.2.7. Đánh giá giao thức SIP với các bộ giao thức khác

II.2.7.1. H.323

H323 là một chuẩn quốc tế về hội thoại trên mạng được đưa ra bởi hiệp hội viễn thông quốc tế ITU. Chuẩn H323 của ITU xác định các thành phần, các giao thức,

Trần Thanh Phong – Đ08THM1 23

Page 30: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

các thủ tục cho phép cung cấp dịch vụ truyền dữ liệu đa phương tiện audio, video, data thời gian thực qua mạng chuyển mạch gói (bao gồm cả mạng IP) mà không quan tâm đến chất lượng dịch vụ. H323 nằm trong bộ các khuyến nghị H32x cung cấp các dịch vụ truyền dữ liệu đa phương tiện qua các loại mạng khác nhau. Một trong các ứng dụng của H323 chính là dịch vụ điện thoại IP và hội nghị đa truyền thông. Đến nay, H323 đã phát triển thông qua hai phiên bản. Phiên bản thứ nhất được thông qua vào năm 1996 và phiên bản thứ hai được thông qua vào năm 1998. Ứng dụng vào chuẩn này rất rộng bao gồm cả các thiết bị hoạt động độc lập cũng như ứng dụng truyền thông nhúng trong môi trường máy tính cá nhân, có thể áp dụng cho đàm thoại điểm - điểm cũng như cho truyền thông hội nghị. H323 còn bao gồm cả chức năng điều khiển cuộc gọi, quản lý thông tin đa phương tiện và quản lý băng thông và đồng thời còn cung cấp giao diện giữa mạng LAN và các mạng khác.

Các ưu điểm của chuẩn H323

Cung cấp các bộ mã hoá đã được chuẩn hoá H.323 thiết lập các chuẩn nén và giải nén cho các luồng dữ liệu audio và video, bảo đảm cho các thiết bị từ các nhà cung cấp khác nhau có sự hỗ trợ chung.

Tính tương thích cao Người sử dụng có thể trao đổi dữ liệu mà không phải lo lắng về tính tương thích ở bên nhận. Bên cạnh việc đảm bảo bên nhận có thể giải nén thông tin nhận được, H.323 còn thiết lập những khả năng cho phép bên nhận có thể trao đổi khả năng đối với bên gởi.

Độc lập hệ thống mạng H.323 được thiết kế để chạy ở tầng trên của kiến trúc mạng. Những giải pháp cơ bản của H.323 cho phép tận dụng được những cải tiến về kỹ thuật mạng và sự phát triển băng thông.

Độc lập với ứng dụng và hệ điều hành H.322 không bị ràng buộc với phần cứng hay hệ điều hành.

Hỗ trợ đa điểm Tuy H.323 có thể quản lý được những cuộc hội nghị có nhiều kết nối mà không cần sử dụng thêm một trình điều khiển đa điểm chuyên dụng nào, nhưng việc sử dụng trình điều khiển đa điểm MCU (Multipoint Control Unit) sẽ cung cấp một kiến trúc mạnh và linh hoạt hơn cho hội nghị kiểu nhiều kết nối.

Quản lý băng thông Việc truyền các dữ liệu truyền thông đa phương tiện đòi hỏi băng thông rất lớn và có thể làm nghẽn mạch. Để giải quyết vấn đề này, H.323 đưa ra trình quản lý băng thông. Nhân viên quản trị mạng có thể giới hạn số kết nối H.323 hay giới hạn băng thông cho các ứng dụng sử dụng H.323. Điều này đảm bảo cho sự lưu thông trên mạng không bị tắc nghẽn.

Hỗ trợ khả năng quảng bá thông tin Giúp cho việc sử dụng băng thông hiệu quả hơn.

Linh hoạt Một hội nghị sử dụng chuẩn H.323 có khả năng tiếp nhận các thiết bị đầu cuối khác nhau. Ví dụ: một đầu cuối chỉ hỗ trợ khả năng truyền và nhận âm thanh có thể tham gia hội nghị với các máy hỗ trợ khả năng truyền dữ liệu và hình

Trần Thanh Phong – Đ08THM1 24

Page 31: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

ảnh. Máy sử dụng chuẩn H.323 có thể chia sẽ dữ liệu, âm thanh, hình ảnh với các máy khác.

Khả năng hội nghị liên mạng Nhiều người dùng muốn kết nối từ mạng LAN đến một đầu xa chẳng hạn như kết nối giữa hệ thống LAN với hệ thống ISDN. H.323 cũng hỗ trợ khả năng này và sử dụng kỹ thuật mã hoá chung từ các chuẩn hội nghị khác nhau để giảm thiểu thời gian chuyển đổi mã và tạo một hiệu suất tối ưu cho hội nghị

II.2.7.2. So sánh SIP và H323

Khi so sánh các giao thức ảnh hưởng đến VoIP, ta thấy rằng H323 hoàn thiện hơn SIP, nhưng các vấn đề có thể nảy sinh từ sự thiếu mềm dẻo của H323. SIP hiện tại vẫn chưa được định nghĩa đầy đủ nhưng sự mở rộng của nó là rất lớn để có thể dễ dàng sử dụng trong các ứng dụng Internet trong tương lai.

Một số điểm khác biệt giữa H.323 và SIP:

H323 SIP

Kiến trúc

H323 bao gồm hầu như mọi dịch vụ, như là các dịch vụ khả năng trao đổi, điều khiển hội nghị, báo hiệu cơ bản, QoS, đăng ký v.v…

SIP là từng thành phần vì nó chứa các báo hiệu gọi cơ bản, vị trí người sử dụng, và đăng ký. Các tính năng khác nằm trong các giao thức khác.

Thành phầnTerminal/Gateway UA

Gatekeeper Servers

Giao thứcRAS/Q.931 SIP

H.245 SDP

Chuyển cuộc gọi Có Có

Chuyển tiếp cuộc gọi Có Có

Giữ cuộc gọi Có Có

Conference Có Có

Bảo mật Các kỹ thuật bảo mật dựa trên H.235 và SSL (Secure Sockets Layer)

Hỗ trợ xác thực người gọi và người nhận qua. Hỗ trợ mã hoá xác thực hop-hop bằng SSL/TSL. Các khoá mã được truyền đi bằng SDP. Hỗ trợ xác thực điểm cuối-điểm cuối bằng PGP (Pretty Good Privacy) hoặc S/MIME (Multipurpose Internet Mail

Trần Thanh Phong – Đ08THM1 25

Page 32: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương II: Giới thiệu về hệ thống SIP

Extension)

Mã hoá

H323 hỗ trợ nhiều mã hoá, cả tiêu chuẩn chung và riêng, không chỉ các bộ mã của ITU

SIP hỗ trợ các mã hoá đã đăng ký với IANA (Internet Assigned Numbers Authority)

Phân nhánh cuộc gọi

H323 gatekeeper điều khiển báo hiệu và có thể phân nhánh cuộc gọi đồng thời đến các thiết bị.

SIP proxy điều khiển báo hiệu và có thể phân nhánh cuộc gọi đồng thời đến các thiết bị.

Giao thức chuyển vận

Cả tin cậy và không tin cậy. Các thực thể H323 dùng giao thức tin cậy cho báo hiệu

Cả tin cậy và không tin cậy. Các thực thể SIP dùng giao thức không tin cậy cho báo hiệu

Mã hóa thông điệp

H323 mã hóa thông điệp ở dạng nhị phân nén phù hợp cho cả băng thông hẹp và rộng

Thông điệp SIP được mã hóa ở dạng văn bản ASCII.

Địa chỉCác kỹ thuật đánh địa chỉ mềm dẻo, bao gồm URL và số E.164

SIP chỉ hiểu các địa chỉ kiểu URL

Số cổng cần thiết cho cuộc gọi VoIP

5 (1 cổng điều khiển gọi, 2 RTP và 2 RTCP)

5 (1 cổng điều khiển gọi, 2 RTP và 2 RTCP

Video và Data Conference

H323 hỗ trợ đầy đủ video và data conference. Các thủ tục cung cấp điều khiển hội nghị cũng như sự đồng bộ hóa sau của các dòng âm thanh và hình ảnh.

SIP giới hạn hỗ trợ video conference và không hỗ trợ các giao thức data conference như T.120. SIP không có giao thức điều khiển hội nghị cũng không có sự đồng bộ hóa sau.

Trần Thanh Phong – Đ08THM1 26

Page 33: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương III: Kiểm tra HT VoIP dùng Asterisk

CHƯƠNG III: KIỂM TRA HOẠT ĐỘNG CỦA HỆ THỐNG VOIP DÙNG ASTERISK

III.1. Tổng quan về Asterisk

Asterisk là hệ thống chuyển mạch mềm, là phần mềm nguồn mở được viết bằng ngôn ngữ C chạy trên hệ điều hành linux thực hiện tất cả các tính năng của tổng đài PBX (Private Branch eXchange) và hơn thế nữa. Asterisk ra đời vào năm 1999 bởi một chàng trai sinh năm 1977 tên là Mark Spencer, Anh ta viết phần mềm này ban đầu không ngoài mục đích hỗ trợ cho công ty của mình trong việc liên lạc đàm thoại hỗ trợ cộng đồng người sử dụng và phát triển Linux. 

Asterisk là một PBX và nhiều hơn thế. Asterisk là một phần mềm mang tính cách mạng, tin cậy, mã nguồn mở và miễn phí mà biến một PC rẻ tiền thông thường chạy Linux thành một hệ thống điện thoại doanh nghiệp mạnh mẽ. Asterisk là một bộ công cụ mã nguồn mở cho các ứng dụng thoại và là một server xử lý cuộc gọi đầy đủ chức năng. Asterisk là một nền tảng tích hợp điện thoại vi tính hoá kiến trúc mở. Nhiều hệ thống Asterisk đã được cài đặt thành công trên khắp thế giới. Công nghệ Asterisk đang phục vụ cho nhiều doanh nghiệp. Asterisk có thể được sử dụng cho nhiều thứ và có các đặc trưng bao gồm:

- Private Branch Exchange (PBX) - Voicemail Services with Directory- Conferencing Server- Packet Voice Server- Encryption of Telephone or Fax Calls- Heterogeneous Voice over IP gateway (H.323, SIP, MGCP, IAX) - Custom Interactive Voice Response (IVR) system- Soft switch- Number Translation- Calling Card Server- Predictive Dialer- Call Queueing with Remote Agents- Gateway and Aggregation for Legacy PBX systems- Remote Office or User Telephone Services- PBX long distance Gateway- Telemarketing Block- Standalone Voicemail System

Trần Thanh Phong – Đ08THM1 27

Page 34: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương III: Kiểm tra HT VoIP dùng Asterisk

Hiện nay Asterisk trên đà phát triển nhanh được rất nhiều doanh nghiệp triển khai ứng dụng cho công ty của mình. Đây là xu thế tất yếu của người sử dụng điện thoại, vì các công ty đều có mạng máy tính và cần liên lạc với nhau trong công việc giữa các phòng ban hoặc chi nhánh và cần một chi phí thấp thậm chí không phải tốn chi phí khi thực hiện các cuộc gọi trên mạng nội bộ của công ty.

III.2. Cài đặt tổng đài Asterisk và các IP-Phone

III.2.1. Kết nối phần cứng

Mô hình cài đặt phần cứng:

Hình 3.1: Mô hình triển khai hệ thống tổng đài Asterisk

- Asterisk PBX: Sử dụng bộ AsteriskNOW thành phần chính là Asterisk, dùng CentOS làm nhân.

- Hai máy tính cài đặt softphone X-lite với các extension là 3001, 3002Trong thí nghiệm này thì kết quả mong muốn đạt được là :

- Thiết lập được cuộc gọi giữa các softphone trong mạng LAN- Sử dụng công cụ wireshark bắt gói, phân tích các gói INVITE, 200OK, BYE

để làm nền tảng cho việc thiết kế bảng tính cước.

III.2.1. Cài đặt phần mềm

Các phần mềm bao gồm: - Bộ công cụ AsteriskNOW thành phần chính là Asterisk dùng CentOS làm nhân - Phần mềm X-lite phiên bản 3.0- Wireshark

Tiến hành cài đặt phần mềm:

Trần Thanh Phong – Đ08THM1 28

Page 35: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương III: Kiểm tra HT VoIP dùng Asterisk

Trong điều kiện cho phép tôi xin cài đặt bộ tổng đài asterisk (Bộ AsteriskNOW) nhân chính là CentOS trên máy ảo Virtual Box

Cài dặt Asterisk- Download và cài đặt AsteriskNOW: Địa chỉ download

http://www.asterisk.org/downloads- Khi download xong file AsteriskNOW.iso. Hãy dùng file này Burn vào CD hoặc

dùng chương trình ổ đĩa ảo để tiến hành cài đặt.- Tới đây lần lượt các màn hình chỉ dẫn sẽ hiện ra và cứ theo hướng dẫn mà cài đặt.

Sau khi cài đặt xong chúng ta dùng Username: root và password: password để đăng nhập hệ thống.

- Đến đây xem như cài đặt hoàn tất bây giờ để cấu hình được Asterisk chúng ta vào một máy khác và mở Internet Explorer hoặc một trình duyệt web bất kỳ, nhập vào http://192.168.0.115 đã cấu hình ở trên.

Hình 3.2: CentOS là nhân cho hệ thống tổng đài

Cài đặt softphone X-liteX-lite là một phần mềm softphone thông dụng, với đầy đủ tính năng của một điện thoại IP. X-lite sử dụng giao thức Sip.Tải gói phần mềm X-lite về và thực hiện cài đặt như một phần mềm bình thuờng.

Trần Thanh Phong – Đ08THM1 29

Page 36: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương III: Kiểm tra HT VoIP dùng Asterisk

Hình 3.3: Giao diện softphone Xlite

III.2.3. Cấu hình hệ thống Asterisk

Cấu hình Asterisk PBXÐể cấu hình cho một hệ thống Asterisk hoạt động, trước tiên ta sẽ phải định

nghia các extension, sau đó xây dựng các Dialplan thích hợp để cho các extension kết nối được với nhau.Trong thí nghiệm này ta sẽ định nghĩa các extension sau:

- [3001] dành cho softphone thứ nhất- [3002] dành cho softphone thứ hai

Cấu hình softphone

Trần Thanh Phong – Đ08THM1 30

Page 37: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương III: Kiểm tra HT VoIP dùng Asterisk

Hình 3.4: Cấu hình cho softphone X-lite

Lần lượt cấu hình cho các softphone 1, softphone 2. Mỗi softphone sẽ thiết lập với một user và password tương ứng như chúng ta cấu hình trong Asterisk PBX. Ở Domain chúng ta sẽ nhập địa chỉ IP của máy cài đặt Asterisk PBX. X-Lite sẽ tự động đăng ký với Asterisk PBX . Nếu đăng ký thành công thì X-Lite sẽ nhận kết nối, xuất hiện chữ ready và user name tương ứng với số đăng ký.

Trần Thanh Phong – Đ08THM1 31

Page 38: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương III: Kiểm tra HT VoIP dùng Asterisk

Hình 3.5: Quá trình đăng kí của softphone X-lite

Hình 3.6: Softphone X-lite đăng kí thành công

Trần Thanh Phong – Đ08THM1 32

Page 39: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương III: Kiểm tra HT VoIP dùng Asterisk

Như vậy chúng ta đã hoàn tất hệ thống tổng dài Asterisk PBX nội bộ. Sau đó ta có thể tiến hành các cuộc gọi mong muốn giữa các PC với nhau.

III.2.4. Thực hiện cuộc gọi

Các user kết nối với nhau

Hình 3.7: User 3001 rung chuông 3002

Trần Thanh Phong – Đ08THM1 33

Page 40: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương III: Kiểm tra HT VoIP dùng Asterisk

Hình 3.8: Cuộc gọi được thiết lập giữa 2 user

III.3. Phân tích bản tin SIP trên hệ thống thực tế

Hệ thống thực nghiệm gồm 3 máy tính, trong đó, có một máy chủ SIP server là tổng đài Asterisk, cho phép các user đã đăng kí vào cở sở dữ liệu thực hiện cuộc gọi VoIP. Hai máy còn lại là hai User Agent, được cài phần mềm X-Lite. Sơ đồ thực nghiệm như hình 3.1.Trong lúc tiến hành cuộc gọi trên như trên đồng thời thực hiện bắt gói với Wireshark.Kết quả thu được, cho thấy quá trình hoạt động của SIP có sự tương thích với các chức năng trong hệ thống tính cước phí. Trong đó, quá trình thiết lập một cuộc gọi, quá trình các bản tin được gửi đi và trả về tương thích với các thời điểm hệ thống tính cước ghi nhận để tính ra được cước phí cũng như các thông số của cuộc gọi.

III.3.1 Các bản tin của SIP

. Trước khi softphone 1 muốn thực hiện cuộc gọi đến softphone 2 thì trước tiên phải đăng kí tới Server là tổng đài Asterisk.Sau khi thực hiện đăng kí thành công xong, softphone thực hiện cuộc gọi tới softphone khác. Quá trình này được bắt gói và có kết quả như sau:

Trần Thanh Phong – Đ08THM1 34

Page 41: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương III: Kiểm tra HT VoIP dùng Asterisk

-Trong đó bản tin INVITE đầu tiên có cấu trúc như sau:

Trần Thanh Phong – Đ08THM1 35

Page 42: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương III: Kiểm tra HT VoIP dùng Asterisk

Trong khi phân tích gói tin INVITE ta thấy gói tin INVITE chứa các thông số địa chỉ cuộc gọi đến, địa chỉ được gọi và ID của cuộc gọi đó phù hợp trong việc ghi lại những thông số cuộc gọi mà hệ thống tính cước cần.- Bản tin 200OK đáp ứng bản tin INVITE sau khi thuê bao bị gọi bắt máy có nội

dung như sau:

- Khi một trong hai thuê bao gác máy thì bản tin BYE sẽ được bên gác máy gửi đi với nội dung như sau:

Trần Thanh Phong – Đ08THM1 36

Page 43: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương III: Kiểm tra HT VoIP dùng Asterisk

III.3.2. Kết luận thực nghiệm

Từ kết quả bắt gói bằng Wireshark và phân tích các gói trong quá trình thực hiện một cuộc gọi ta rút ra kết luận: các thông số về cuộc gọi như địa chỉ đến, địa chỉ bị gọi, ID của cuộc gọi là như nhau cho các bản tin và qua đó ta có thể xác định được cuộc gọi đó với địa chỉ nguồn từ đâu gọi đến, địa chỉ đích gọi đi đâu và thông số Call-ID của cuộc gọi là đặc trưng cho cuộc gọi đó. Điều này phù hợp với việc xác định đúng cuộc gọi nào, phân biệt các cuộc gọi với nhau.

Về các bước thực hiện một cuộc gọi cho ta thấy một kết luận rằng: Thời gian đàm thoại của cuộc gọi diễn ra từ lúc thuê bao bị gọi nhấc máy tức là gói tin 200OK đáp ứng gói tin INVITE được gửi đi cho đến khi một trong 2 thuê bao gác máy tức là gói tin BYE được gửi đi. Việc ghi lại các thời điểm gói tinh 200OK đáp ứng cho đến thời điểm gói tin BYE được gửi đi sẽ làm cơ sở cho việc tính tiền cước cho cuộc gọi đó.

Trần Thanh Phong – Đ08THM1 37

Page 44: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương IV: Thiết kế và xây dựng mô hình tính cước

CHƯƠNG IV: THIẾT KẾ VÀ XÂY DỰNG MÔ HÌNH TÍNH CƯỚC DÙNG GIAO THỨC SIP DỰA TRÊN ASTERISK

IMPLEMENTATION

Thực tiễn cho thấy, một bảng tính cước phí cuộc gọi gồm có hai chức năng chính đó là chức năng cho biết thông tin thuê bao và chức năng cho biết thời gian đàm thoại cùng với cước phí. Trong khuôn khổ thời gian cho phép, trong chương này tôi sẽ chỉ đưa ra được thiết kế bảng tính cước phí và đưa ra quy trình tổng quát cho một hệ thống tính cước phí cuộc gọi mà chưa đưa ra một hệ thống tối ưu, hiệu quả nhất cho việc tính cước này.

IV.1. Cở sở dữ liệu cho hệ thống tính cước phí cuộc gọi VoIP dùng SIP

IV.1.1. Cơ chế lưu trữ của Asterisk

IV.1.1.1 AGI (Asterisk Gateway Interface)

AGI Script cho phép lập trình phát triển ứng dụng trong hệ thống Asterisk. Giúp ích trong việc phát triển cấu hình hệ thống - Dialplan.Giao tiếp AGI với nhiều ngôn ngữ lập trình khác nhau Perl, php, C…. Thông tin giữa AGI và Asterisk thông qua giao tiếp STDOUT/STDIN :STDOUT : AGI script gửi thông tin đến Asterisk.STDIN : Asterisk gửi thông tin về AGI script.STDERR: Thông tin lỗi.

Để cấu hình hệ thống một cách thuận lợi và đem lại hiệu quả cao Asterisk đã cung cấp cho lập trình viên rất nhiều hàm liên quan đến AGI, về khía cạnh phát triển ứng dụng AGI xem như rất giống với ngôn ngữ script lập trình web CGI. Cái khác chủ yếu là chuyên biệt trong lập trình cấu hình hệ thống Asterisk cụ thể là DialPlan.

Sơ đồ giao tiếp

Trần Thanh Phong – Đ08THM1 38

Page 45: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương IV: Thiết kế và xây dựng mô hình tính cước

Hình 4.1: Hoạt động của AGI

Trong sơ đồ trên cho chúng ta thấy AGI giao tiếp với rất nhiều các thành phần khác nhau. Giao tiếp với database thường là với MySQL để lưu trữ thông tin như chi tiết cuộc gọi, hệ thống tính cước…, giao tiếp với web cho chúng ta phát triển các ứng dụng như kiểm tra mail, Coffiee Maker thực hiện rất nhiều công việc còn lại trong hệ thống Asterisk như kiểm tra cấu hình hệ thống, liệt kê các extension, kiểm tra password, cấu hình hệ thống Asterisk…Nhìn chung AGI cho phép chúng ta thực hiện nhiều công việc giúp khai thác và quản lý Asterisk một cách hiệu quả nhất.

IV.1.1.2 CDR (Call Detail Records)

Asterisk giữ lại các dữ liệu chi tiết cuộc gọi đầy đủ. Chúng ta có thể chứa thông tin này trong một tệp, hoặc tốt hơn là một database để lưu trữ và tra cứu hiệu quả. Sử dụng thông tin này chúng ta có thể giám sát sự sử dụng của hệ thống Asterisk. CDR cho phép chúng ta xem thời gian cuộc gọi, chi tiết các cuộc gọi như : thuê bao gọi đến, thuê bao gọi đi, thời gian chi tiết cho cuộc gọi đó, tình trạng cuộc gọi (trả lời, bận, không trả lời)…. Việc cài đặt và cấu hình CDR được cấu hình theo các bước sau:

Bước 1: Cấu hình trong file /etc/asterisk/cdr_mysql.conf[global]hostname=localhost dbname=asterisk password=123 passworduser=asteriskloguniqueid=yes

Trần Thanh Phong – Đ08THM1 39

Page 46: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương IV: Thiết kế và xây dựng mô hình tính cước

Bước 2: Tạo bảng “table cdr” lưu trữ database chi tiết cuộc gọi ở mysql và reload lại asterisk

CREATE TABLE `cdr` (`id` int(11) NOT NULL auto_increment,`calldate` datetime NOT NULL default '0000-00-00 00:00:00',`clid` varchar(80) NOT NULL default '',`src` varchar(80) NOT NULL default '',`dst` varchar(80) NOT NULL default '',`dcontext` varchar(80) NOT NULL default '',`duration` int(11) NOT NULL default '0',`billsec` int(11) NOT NULL default '0',`disposition` varchar(45) NOT NULL default '',PRIMARY KEY (`id`); ALTER TABLE `cdr` ADD INDEX ( `calldate` ); ALTER TABLE `cdr` ADD INDEX ( `dst` ); ALTER TABLE `cdr` ADD INDEX ( `accountcode` );

Bước 3: Tạo giao diện web kết nối với database asterisk để truy xuất dữ liệu

Hình 4.2: Giao diện web CDR

IV.1.1.3 Cơ chế

Từ cơ sở là cơ chế của AGI (Asterisk Gateway Interface) cùng với chức năng lưu trữ của CDR (Call Detail Records) trong Asterisk và những thời điểm các bản tin SIP gửi đi và hồi đáp, cũng như các thông tin mà các bản tin này chứa trong, ta có thể sử dụng để hỗ trợ trong cơ chế tính cước phí.

Từ đó ta có thể đưa ra các bước như sau:Bước 1: Asterisk lấy thông tin từ bản tin INVITE như thời gian bắt đầu gửi bản

tin INVITE thuê bao gọi đến, thuê bao gọi đi và một số thông tin khác của thuê bao và thông qua AGI để lưu trữ vào CDR.

Trần Thanh Phong – Đ08THM1 40

Page 47: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương IV: Thiết kế và xây dựng mô hình tính cước

Bước 2: Ghi lại thời gian bắt đầu đàm thoại khi bản tin ACK của bên gọi đáp ứng bản tin 200OK thông qua AGI, lúc này bản tin 200OK và ACK chứa các thông số như thuê bao gọi đến, thuê bao bị gọi. Điểm thời gian này gọi là Start time.

Bước 3: Ghi lại thời gian kết thúc đàm thoại khi bản tin BYE được gửi đi, và cũng thông qua AGI. Điểm thời gian này được gọi là End time

Bước 4: Lúc này trong CDR đã có thời gian bắt đầu gửi bản tin INVITE và thời gian kết thúc đàm thoại. Hai thông số này để tính được tổng thời gian từ lúc Dial đến lúc kết thúc cuộc gọi (Duration)

Bước 5: Start time và End time để tính được thời gian đàm thoại thực của cuộc gọi (Billsec) thời gian này dùng cho việc tính cước phí của cuộc gọi.

IV.1.2. Thiết kế cơ sở dữ liệu cho hệ thống tính cước phí cuộc gọi VoIP dùng SIP

Để phục vụ cho mục đích cuối cùng của thiết kế này đó là đem đến sự rõ ràng trong việc tính cước cho cuộc gọi bất kì, rõ ràng đối với khách hàng cũng như giúp cho người quản trị dễ dàng quản lí. Cơ sở dữ liệu cần 2 bảng như sau: Bảng CDR, bảng Call_rate.

IV.1.2.1. Cơ sở dữ liệu cho hệ thống tính cước phí cuộc gọi VoIP dùng SIP

Bảng 1: CDRBảng này cho biết thông tin các thuê bao tham gia vào cuộc gọi: địa chỉ gọi đi,

địa chỉ được gọi…như đã mô tả ở trên.Bảng CDR có thể được mô tả như sau:

Hình 4.3: Bảng CDR

Bảng 2: Call_rateBảng này cho biết thông tin về đầu số của thuê bao (thuê bao trong nội bộ hay

bên ngoài…), mức phí cho một đơn vị thời gian (phút, giây) hay một cuộc gọi, loại thuê bao (thuê bao nội hạt hay ngoại vùng)

Bảng Call_rate có thể được mô tả như sau:

Trần Thanh Phong – Đ08THM1 41

Page 48: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương IV: Thiết kế và xây dựng mô hình tính cước

Hình 4.4: Bảng Call_rate

IV.2. Xây dựng giao diện web cho hệ thống tính cước phí cho cuộc gọi VoIP dùng SIP

Sau khi đã có cơ sở dữ liệu của hệ thống và cơ chế lưu trữ vào cơ sở dũ liệu, tiếp theo là đưa thông tin cần thiết ra một giao diện dễ nhìn, bắt mắt và rõ ràng để có thể dễ dàng giám sát và quản trị nó.

IV.2.1. Các chức năng của giao diện:

Chức năng tim kiếm:

Hình 4.5: Chức năng tìm kiếm

Trần Thanh Phong – Đ08THM1 42

Page 49: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương IV: Thiết kế và xây dựng mô hình tính cước

- Chức năng này bao gồm một số các tính năng cơ bản như tìm kiếm theo các thông số của cuộc gọi như ngày gọi (Call Date), nguồn (Source), đích (Dest), Call ID, tìm kiếm theo thời gian…và một số tùy chọn nâng cao như xuất ra file CSV, CDR search, chức năng xuất ra bảng tính cước callrates…

Chức năng thống kê chi tiết cuộc gọi và tính cước

Hình 4.6: Chức năng thống kê chi tiết cuộc gọi và tính cước

- Chức năng này bao gồm hai chức năng đó là thống kê chi tiết cuộc gọi và chức năng tính cước. Chức năng thống kê chi tiết cuộc gọi bao gồm các tính năng như xuất ra ngày giờ của cuộc gọi đó, nguồn, đích, kênh nguồn là giao thức gì, kênh đích là giao thức gì, trạng thái có trả lời hay máy bận, không bắt máy, tổng thời gian gọi, thời gian gọi thực để tính cước. Chức năng tính cước bao gồm các tính năng xuất ra ngày thực hiện cuộc gọi, cuộc gọi đến đâu (Calls to) local (nội mạng) hay cuộc gọi đến mobile, tiền cước tổng cộng là bao nhiêu, tính tiền cước thông qua bảng Call_rates, tính tiền theo cuộc gọi hoặc tính tiền theo phút, giây …

IV.3. Kết luận

Trong chương này tôi đã đưa ra cơ chế lưu trữ của Asterisk vào CDR và hiển thị các thông số cần thiết cho việc tính phí cuộc gọi, cơ sở dữ liệu cho hệ thống tính cước phí VoIP dùng SIP, đồng thời cũng đưa ra cơ chế cập nhật các thông số của cuộc gọi từ các bản tin SIP với quá trình thiết lập cuộc gọi SIP cùng với các thời điểm cần thiết cung cấp cho cơ sở dữ liệu của hệ thống tính cước VoIP dùng SIP.

Trần Thanh Phong – Đ08THM1 43

Page 50: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Chương V: Kết luận

CHƯƠNG V: KẾT LUẬN

Đề tài này đề xuất thiết kế hệ thống tính cước phí cuộc gọi VoIP dùng SIP cho phép tính được chi phí của một cuộc gọi VoIP thông thường. Đồng thời hệ thống này còn nói lên tính tương thích của quá trình thiết lập một phiên SIP tương ứng với quá trình tính cước phí của một hệ thông tính cước phí đàm thoại.

Sau quá trình nghiên cứu, tôi đã tìm hiểu công nghệ VoIP và thấy được công nghệ này là một công nghệ mang tính đột biến trong nền công nghiệp viễn thông thế giới, là một công nghệ có nhiều ưu điểm nổi bật và có thể là công nghệ cho tương lai.

Bài báo cáo này cũng đưa ra ưu điểm của giao thức SIP so với các giao thức khác, quá trình thiết lập cuộc gọi, đặc tính của giao thức SIP. Thấy được sự tương thích về trình tự thực hiện một cuộc gọi dùng SIP tương ứng với trình tự thực hiện tính cước phí cuộc gọi.

Cuối cùng, trong bài báo cáo này tôi đưa ra cơ sở dữ liệu cho hệ thống tính cước phí dùng SIP, và đưa ra cơ chế thu thập thông tin từ các bản tin SIP và quá trình thực hiện cuộc gọi SIP cũng như hiển thị những thông tin này và liên hệ tới phần tính cước phí thực tế cho cuộc gọi, xây dựng giao diện web để giám sát và quản trị việc tính cước phí cho các cuộc gọi.

Do thời gian hạn chế, bài báo cáo này chỉ đưa ra được thiết kế cho hệ thống tính cước như đã nói ở trên. Và với việc thiết kế này, khi hệ thống được đưa vào thực thi thì có nhiều khuyết điểm cần khắc phục và do đó cần nhiều thời gian hơn để hoàn thiện hệ thống. Trong tương lai, trong điều kiện thời gian đủ để có thể thiết kế và thực thi một cách tốt nhất, hệ thống có thể được ứng dụng trong thực tiễn.

Trần Thanh Phong – Đ08THM1 44

Page 51: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Tài liệu tham khảo

TÀI LIỆU THAM KHẢO

[1]: http://www.ietf.org/rfc/rfc3261.txt (Session Initiation Protocol)

[2]: Nguyễn Thị Quỳnh Trang, đồ án tốt nghiệp đại học “Tổng đài Asterisk và công nghệ VoIP” , đại học bách khoa Đà Nẵng.

[3]: http://vnpro.org/forum .

[4]: http://asterisk.org.

[5]: http://www.voip-info.org/wiki/view/Asterisk+billing.

[6]: TS.Trần Công Hùng, sách “Công Nghệ VoIP”.

[7]: Paul Maler, VolP Telephony With Asterisk.

[8]: Voice over IP: Fundamentals - Jonathan Davidson, James Peters

[9]: http://www.trixbox.com

[10]: Asterisk Gateway Interface 1.4 and 1.6 Programing – Nir Simionovich

[11]: Building Telephony Systems with Asterisk – David Gomillion, Barrie Dempster

[12]: Asterisk The Future of Telephony – Jim Van Meggelen, Leif Madsen, Jared Smith

Trần Thanh Phong – Đ08THM1 45

Page 52: Đề tài : “ THIẾT KẾ VÀ XÂY DỰNG BẢN TÍNH CƯỚC CHO HỆ THỐNG VOIP DỰA TRÊN PROTOCOL SIP SỬ DỤNG ASTERISK IMPLEMENTATION”

Tài liệu tham khảo

Trần Thanh Phong – Đ08THM1 46