Tìm hiểu giao tiếp thiết lập phiên sip
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
- -
TRUYỀN THÔNG ĐA PHƯƠNG TIỆN
Hà Nội, Giáo viên hướng dẫn: PGS.TS Nguyễn Thị Hoàng Lan
Trang 2Tìm hiểu về cấu trúc SIP và cấu trúc phiên truyền thông
Tìm hiểu giải pháp công nghệ SIP- Asterisk
So sánh SIP với H323 <lý thuyết>
Tìm hiểu và thử nghiệm công nghệ VOIP theo chuẩn khuyến nghị H323
So sánh thực nghiệm
Tìm hiểu và thử nghiệm công nghệ truyền thông thoại VOIP dựa trên SIP.
So sánh thực nghiệm
Trang 3Mục lục
Trang 42 Tìm hiểu về cấu trúc SIP và cấu trúc phiên truyền thông
2.1 Đặc điểm của giao thức SIP
SIP, từ viết tắt của Session Initiation Protocol (Giao thức khởi tạo phiên) là một giao thức báo hiệu điều khiển lớp ứng dụng được dùng để thiết lập, duy trì và giải phóng các cuộc gọi hoặc các phiên truyền thông đa phương tiện (multimedia) Các phiên multimedia bao gồm điện thoại hội nghị, điện thoại internet hoặc các ứng dụng tương tự có liên quan đến các phương tiện truyền đạt (media) như
âm thanh, hình ảnh, dữ liệu SIP được nghiên cứu từ năm 1996 bởi nhóm IETF RFC 3261 SIP hỗ trợ các phiên đơn bá (unicast) và quảng bá (multicast) tương ứng các cuộc gọi điểm tới điểm và cuộc gọi
đa điểm.
SIP dựa trên ý tưởng và cấu trúc của HTTP(Hyper Text Transfer Protocol)-giao thức trao đổi thông tin của World Wide Web Nó là 1 giao thức Client-Server, nghĩa là các yêu cầu SIP được Client đưa ra và Server sẽ trả lời các yêu cầu này SIP cũng dựa trên giao thức mô tả phiên SDP(Session Description Protocol), một tiêu chuẩn khác của IETF,để thực hiện sự sắp xếp tương tự theo cơ cấu chuyển đổi dung lượng của H.245 SDP được dùng để nhận diện mã tổng đài trong những cuộc gọi sử dụng mô tả nguyên bản đơn SDP cũng được sử dụng để chuyển đổi các phần tử thông tin của giao thức báo hiệu thời gian thực RTSP để sắp xếp các tham số hội nghị đa điểm và định nghĩa khuôn dạng chung cho nhiều loại thông tin khi được chuyển trong SIP.
SIP sử dụng chủ yếu UDP, hoạt động trên nền IPv4, IPv6.
Để thực hiện chức năng điều khiển phiên,thiết lập phiên truyền thông SIP sử dụng 5 phương thức sau:
• User location (định vị người dùng): Xác định vị trí của người sử dụng hay còn gọi là dịch tên (name translation), dùng để xác định người được gọi và đảm bảo cuộc gọi đến được người nhận dù họ ở đâu.
• User availability (tính khả dụng người dùng): Xác định trạng thái và tính sẵn sang của thuê bao bị gọi để thiết lập đường truyền.
• User capabilities (các khả năng người dùng): Xác định phương tiện và các thông số được sử dụng
• Call setup (thiết lập cuộc gọi): Thiết lập cuộc gọi, thực hiện việc rung chuông và thiết lập các thông số của phiên cho cả thuê bao chủ gọi và thuê bao bị gọi.
• Call handing (xử lý cuộc gọi): Tạo, kết thúc và sửa đổi phiên
2.2 Các tính năng của giao thức SIP
SIP là một giao thức điều khiển lớp ứng dụng mà nó có thể thiết lập, sửa đổi và kết thúc các phiên truyền thông đa phương tiện (các hội nghị) hay các cuộc gọi điện thoại qua internet, SIP có thể mời các thành viên tham gia vào các phiên truyền thông đơn hướng hoặc đa hướng; bên khởi tạo phiên không nhất thiết phải là thành viên của phiên đó Phương tiện và các thành viên có thể được bổ sung vào một phiên đang tồn tại.
Trang 5Bản thân SIP không định nghĩa toàn bộ giao thức truyền thông, SIP được tích hợp với các giao thức đã
có của tổ chức IETF, nhờ đó nó có khả năng mở rộng, hỗ trợ đầu cuối và với SIP thì việc cung cấp dịch
vụ mới trở nên dễ dàng và nhanh chóng khi triển khai SIP có 5 tính năng mở rộng sau :
- Tích hợp với các giao thức đã có của IETF
- Đơn giản và có khả năng mở rộng
- Hỗ trợ tối đa sự di động của đầu cuối
- Dễ dàng tạo tính năng mới cho dịch vụ và dịch vụ mới
- Khả năng liên kết hoạt đông với mạng điện thoại hiện tại
2.2.1 Tích hợp với các giao thức đã có của IETF
Các giao thức khác của IETF có thể xây dựng để xây dựng những ứng dụng SIP SIP có thể hoạt động cùng với nhiều giao thức như :
RSVP (Resource Reservation Protocol) : Giao thức giành trước tài nguyên mạng.
RTP (Real-time transport Protocol) : Giao thức truyền tải thời gian thực
RTSP (Real Time Streaming Protocol) : Giao thức tạo luồng thời gian thực
SAP (Session Advertisement Protocol) : Giao thức thông báo trong phiên kết nối
SDP (Session Description Protocol) : Giao thức mô tả phiên kết nối đa phương tiện
MIME (Multipurpose Internet Mail Extension - Mở rộng thư tín Internet đa mục đích): Giao thức thư điện tử
HTTP (Hypertext Transfer Protocol) : Giao thức truyền siêu văn bản
COPS (Common Open Policy Service) : Dịch vụ chính sách mở chung
OSP (Open Settlement Protocol) : Giao thức thỏa thuận mở
2.2.2 Đơn giản và có khả năng mở rộng
SIP có rất ít bản tin, không có các chức năng thừa nhưng SIP có thể sử dụng để thiết lập những phiên kết nối phức tạp như hội nghị… Đơn giản, gọn nhẹ, dựa trên khuôn dạng văn bản, SIP là giao thức ra đời sau và đã khắc phục được điểm yếu của nhiều giao thức trước đây Các phần mềm của máy chủ ủy quyền, máy chủ đăng kí, máy chủ chuyển đổi địa chỉ, máy chủ định vị…
có thể chạy trên các máy chủ khác nhau và việc cài đặt thêm máy chủ hoàn toàn không ảnh hưởng đến các máy chủ đã có Chính vì thế hệ thống chuyển mạch SIP có thể dễ dàng nâng cấp.
2.2.3 Hỗ trợ tối đa sự di động của đầu cuối
Do có máy chủ ủy quyền, máy chủ đăng ký và máy chủ chuyển đổi địa chỉ hệ thống luôn nắm được địa điểm chính xác của thuê bao Thí dụ thuê bao với địa chỉ ptit@vnpt.com.vn có thể nhận được cuộc gọi thoại hay thông điệp ở bất cứ địa điểm nào qua bất cứ đầu cuối nào như máy tính để bàn, máy xách tay, điện thoại SIP… Với SIP rất nhiều dịch vụ di động mới được hỗ trợ.
2.2.4 Dễ dàng tạo tính năng mới cho dịch vụ và dịch vụ mới
Là giao thức khởi tạo phiên trong mạng chuyển mạch gói SIP cho phép tạo ra những tính năng mới hay dịch vụ mới một cách nhanh chóng Ngôn ngữ xử lý cuộc gọi (Call Processing Language) và Giao diện cổng kết nối chung (Common Gateway Interface) là một số công cụ để thực hiện điều này SIP hỗ trợ các dịch vụ thoại như chờ cuộc gọi, chuyển tiếp cuộc gọi, khóa cuộc gọi… (call waiting, call forwarding, call blocking…), hỗ trợ thông điệp thống nhất…
Trang 62.3 Kiến trúc phân lớp
Hình 1: Khung giao thức truyền thông thời gian thực của SIP
SIP có thể được mô tả như một kiến trúc phân lớp trong đó các hoạt động được chia thành từng giai đoạn xử lý độc lập và ít liên quan đến nhau:
• Lớp trên là lớp giao dịch người dử dụng TU (Transaction User layer) Ngoại trừ Stateless Proxy thì mỗi phần tử SIP đều là một TU tức đều là đối tượng giao dịch của lớp giao dịch Các yêu cầu gửi bởi TU được coi là các Client của tầng giao dịch và được gửi cùng với địa chỉ IP, địa chỉ port đến đích trả lời yêu cầu
• Tiếp theo là lớp giao dịch Transaction layer và cũng là thành phần cơ bản nhất của SIP Mỗi giao dịch là một yêu cầu và các trả lời cho yêu cầu đó Lớp này làm nhiệm vụ gửi và nhận các thông điệp SIP một cách tin cậy, khi SIP chạy trên một giao thức chuyển vận không tin cậy như UDP, lớp này sẽ phát lại các thông điệp tùy thuộc vào các trạng thái hạn chế Lớp này xuất hiện tại UA và các Stateful Proxy Với các Proxy này, khi xử lý một yêu cầu bất kỳ nó sẽ xét đến trạng thái của các yêu cầu trước đó và nếu có lỗi thì sẽ xử lý lỗi trước khi gửi trả lời đến Client Ngược lại, Stateless Proxy trả lời các yêu cầu một cách độc lập và cũng không chứa lớp giao dịch.
• Bên dưới là lớp giao vận Transport layer Giao thức SIP có thể chạy trên nhiều giao thức chuyển vận không tin cậy (như UDP) hoặc tin cậy (TCP,SCTP) cũng như các giao thức bảo mật (TLS trên TCP) Tất cả các phần tử SIP đều chứa lớp giao vận
• Thấp nhất trong kiến trúc này là lớp lệnh và mã hóa lệnh
Trang 72.4 Cấu trúc của hệ thống SIP
2.4.1 Các thành phần cấu trúc của hệ thống SIP
Hình 2: Các thành phần của hệ thống SIP
Kiến trúc gồm 2 thành phần cơ bản: User Agent (UA) và Network Server (NS)
• UA (User Agent) gồm UAS và UAC
- UAS (User Agent Server): Server nhận, xử lý các yêu cầu
- UAC (User Agent Client): Client người dùng, sinh các yêu cầu UAC khởi tạo cuộc gọi và UAS trả lời cuộc gọi Nhưng cả UAC và UAS đều có thể giải phóng cuộc gọi Điều này cho phép thực hiện cuộc gọi ngang hàng thông qua mô hình client-server
• NS (Network Server)
- PS (Proxy Server): là thực thể trung gian thực hiện các yêu cầu thay mặt các đầu cuối khác Chức năng chính của nó trong mạng là nhận và xử lý các yêu cầu sau đó định tuyến cho các bản tin đến đích Proxy server cũng cung cấp các chức năng xác thực trước khi cho khai thác dịch vụ Một proxy có thể lưu (stateful) hoặc không lưu trạng thái (stateless) của bản tin trước đó Thông thường, proxy có lưu trạng thái, chúng duy trì trạng thái trong suốt transaction (khoảng 32 giây).
- RS (Redirect Server): là một server, server này tiếp nhận các yêu cầu, ánh xạ địa chỉ SIP của bên được gọi thành địa chỉ 0 (nếu không có địa chỉ) hoặc thành các địa chỉ mới và gửi các địa chỉ này về cho client Redirect server không gửi các yêu cầu đến server khác
- LS (Location Server): là server định vị thuê bao, cung cấp thông tin về vị trí của phía bị gọi cho các phần mềm Proxy Server hay Redirect Server Nó lưu thông tin trạng thái hiện tại của người dùng trong mạng SIP
- RG (Registrar Server): Là server nhận bản tin SIP REGISTER và cập nhật các thông tin mà UA cung cấp từ bản tin Register(địa chỉ IP, port…) vào location database Trong
Trang 8nhiều trường hợp Registrar Server đảm nhiệm luôn một số chức năng an ninh như xác thực người sử dụng Thông thường Registrar Server được cài đặt cùng với Proxy hoặc Redirect Server hoặc cung cấp dịch vụ định vị thuê bao Mỗi lần đầu cuối được bật lên (máy điện thoại hoặc phần mềm SIP) thì đầu cuối lại đăng ký với Server Nếu đầu cuối cần thông báo cho Server về địa điểm của mình thì bản tin REGISTER cũng được gửi đi Nói chung các đầu cuối đều thực hiện việc đăng ký lại một cách định kỳ.
2.5 Thông điệp SIP
2.5.1 Các bản tin SIP
Bản tin SIP được chia làm hai loại: Bản tin yêu cầu từ Client tới Server và bản tin đáp ứng từ Server trả lời cho Client: SIP-message = Request/Response
a) Bản tin yêu cầu (Request)
Bản tin Request có khuôn dạng gồm 2 phần cơ bản : Requset-line và phần mào đầu-header (với 3 loại Header)
Request=Request-line *(General-header/Request-header/Entity-header)
CLRF
[message-body]
Trang 9Trong đó thành phần Request-line chứa tên phương thức, một Request-URI và số phiên bản của giao thức Các thành phần được ngăn cách với nhau bằng một khoảng trắng (SP) Cũng như các dòng khác, dòng khởi đầu được kết thúc bằng một ký tự xuống dòng (CRLF)
Request-line= Method SP Request-URI SP SIP-Version
Trong đó:
- Method (Phương thức SIP): SIP định nghĩa 7 phương thức cơ bản sau
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 vào một phiên hội thoại
ACK : Sauk hi nhân được trả lời 200 OK rằng phía bị gọi sẵn sang tham gia hội thoại bên gọi cần xác nhận đã được trả lời bằng cách gửi đi một yêu cầu ACK.
BYE : UAC sử dụng phương thức này để thông báo cho Server rằng nó muốn giải phóng cuộc gọi
CANCEL : dùng để hủy bỏ một yêu cầu trước đó hiện đang được xử lý bởi Server tiếp nhận yêu cầu
REGISTER : đầu cuối SIP sử dụng bản tin này để đăng ký với máy chủ đăng ký
OPTION : sử dụng để xác định năng lực của máy chủ
INFO : sử dụng để tải các thông tin như âm báo DTMF
- Request-URI: Trường Request-URI có khuôn dạng theo SIP URL Nó thông báo cho User hoặc dịch vụ về địa chỉ hiện tại Khác với trường “To”, Request-URI có thể được ghi lại bởi
Proxy(trường hợp máy phục vụ ủy quyền)
- SIP Version: Phiên bản SIP là các bản SIP được đưa ra các lần khác nhau Cả hai bản tin Request và Response đều chứa phiên bản của SIP được sử dụng SIP Version Hiện tại phiên bản SIP là 2.0
b) Bản tin phúc đáp (Response)
Sau khi nhận và thông dịch một bản tin yêu cầu, phía nhận thực hiện trả lời bằng một bản tin phúc đáp
Khuôn dạng bản tin cũng gồm 2 phần cơ bản: Status-line và phần mào đầu header(với 3 loại header):
Response=Status-line *(General-header/Response-header/Entity-header)
CLRF
[message-body]
Trong đó thành phần Status-line có cấu trúc sau: (SP là ký tự phân cách):
Status-line = SIP-Version SP status code SP Reason-phrase
- SIP Version: Cũng giống như trong bản tin Request
Trang 10- Status-code: Status-code chỉ ra kết quả của việc cố gắng thực hiện và mức độ thỏa mãn yêu cầu, mục đích sử dụng cho Server Status-code gồm 3 digit, digit đầu tiên định nghĩa loại đáp ứng, hai digit sau không có vai trò phân loại SIP 2.0 định nghĩa 6 giá trị của digit đầu tiên như sau:
• 1xx : Provisional: yêu cầu được nhận và tiếp tục được xử lý
• 2xx : Success: thành công, hành động được chấp nhận
Trả lời 200 OK: Cho biết yêu cầu đã được thực hiện thành công Nội dung thông tin kèm trong bản tin trả lời tùy thuộc và phương thức của yêu cầu
• 3xx : Redirect: xác định lại, một số hành động khác cần thực hiên thêm để hoàn tất yêu cầu
• 4xx : Client Error: có lỗi ở Client, yêu cầu bị lỗi cú pháp hoặc gửi sai server Trả lời 4xx là các thông báo lỗi từ một Server cụ thể Khi nhận được trả lời này Client bắt buộc phải thay đổi phần nào đó trong bản tin yêu cầu trước khi gửi lại đến Server đó
• 5xx : Server Error: yêu cầu hợp lệ nhưng Server bị quá tải không thể đáp ứng
• 6xx : Global Failure: lỗi toàn cục, xảy ra sự cố trên toàn mạng và yêu cầu không thể đáp ứng tại bất kỳ server nào
100 Continue 408 Request time-out
200 OK 481 Call-leg/Transaction does not exist
300 Multiple choices 482 Loop detected
301 Moved permanently 5xx Server error
302 Moved temporarily 600 Busy
401 Unauthorized 604 Does not exist
403 Forbidden 606 Not acceptable
- Reason-Phrase: dùng cho user để đưa ra một lời giải thích ngắn gọn cho Status-code Client không thể yêu cầu hiển thị hay kiểm tra Reason-phrase.
2.5.2 Định dạng địa chỉ SIP
Địa chỉ SIP có định dạng:
sip: user@domain
user: tên hoặc số điện thoại
domain: tên miền hoặc địa chỉ IP
Ví dụ: SIP: duongnq@vnpt.com.vn
SIP: 84986055600@192.168.130.162
Trang 11Ví dụ thông điệp bản tin SIP
Trang 122.6 Thiết lập và hủy cuộc gọi SIP
Trang 132.6.1 Hoạt động của Proxy Server
- Hoạt động của Proxy server được trình bày như trong hình ….Client SIP userA@yahoo.com
gửi bản tin INVITE cho userB@hotmail.com để mời tham gia cuộc gọi.
Các bước như sau:
Bước 1: userA@yahoo.com 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à UserB@hotmail.com ) + Bước 4: Proxy server gửi bản tin INVITE tới userB@hotmail.com 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ề userA@yahoo.com
+ Bước 7: userA@yahoo.com 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 userB@hostmail.com
+ Bước 9: Sau khi cả hai bên đồng ý tham dự cuộc gọi, một kênh RTP/RTCP được mở 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.
Trang 142.6.2 Hoạt động của Redirect Server
Các bước như sau:
+ 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.
2.7 Các ứng dụng thực tế của SIP
2.7.1 Các ứng dụng thương mại
Do được phát triển từ các giao thức Internet như HTTP và SMTP, các nhà phát triển trên môi trường Internet có thể nhanh chóng tạo ra và đưa vào sử dụng các dịch vụ mới dựa trên SIP Ví dụ điển hình nhất là Windows Messager của Microsoft Windows Messager được tích hợp trong hệ điều hành Windows XP và có các tính năng chính như sau:
- Quản lý danh bạ cho từng người sử dụng, và có chức năng hiển thị tình trạng hiện tại (Presence) của từng cá nhân trong danh sách.
- Tin nhắn tức thời
- Thoại và video
- Truyền file
- Thoại từ PC tới máy điện thoại của mạng công cộng.
Trang 15Bằng việc tích hợp Windows Messager vào hệ điều hành, Microsoft đã tạo ra SIP client tiềm tàng trong mọi máy tính cá nhân, nhờ đó cho phép các nhà phát triển triển rộng rãi dịch vụ SIP trên toàn mạng Ngoài ra có thể liệt kê ởđây một số ứng dụng SIP clients khác như: eCONF, Wave3 Session (www.wave3software.com), Network Convergence Laboratory at Claremont Graduate University (ncl.cgu.edu)
Một số ứng dụng SIP server bao gồm: Microsoft Live Communications Server, HCL Technologies (www.hcltech.com), Indigo, Ubiquity, SNOM, VOCAL, Iptel, DynamicSoft, Siemens, Nortel, eCONF.
2.7.2 Ứng dụng của SIP trong mạng NGN
SIP rất được chú ý và ngày càng được sử dụng rộng rãi trong các kiến trúc của mạng NGN Tháng 11 năm 2000, SIP được chấp nhận như một giao thức báo hiệu của 3GPP và trở thành một thành phần chính thức của cấu trúc IMS Cần phải chú ý rằng, khi sử dụng trong một môi trường cụ thể (ví dụ như IMS), SIP không còn được giữ nguyên như định nghĩa ban đầu của IETF Thay vào đó, nó được mở rộng cho những ứng dụng cụ thể 3GPP cũng đã phát triển những mở rộng khi sử dụng SIP trong cấu trúc IMS
Mặc dù ra đời và xuất hiện ở các sản phẩm thương mại sau H.323, nhưng SIP đã trở thành giao thức báo hiệu được sử dụng rộng rãi nhất cho các dịch vụ VoIP MSF đã phát triển mở rộng của SIP cho dịch
vụ này trên nền mạng NGN theo cấu trúc điều khiển Call Server Mở rộng này được trình bày trong một loạt các hiệp định thực thi của MSF [6-14].
3 Tìm hiểu giải pháp công nghệ SIP- Asterisk
3.1 Tổng đài IP-PBX
3.1.1 Khái quát về tổng đài IP-PBX
Ứng dụng phổ biến nhất và sớm nhất của VoIP, nền tảng để tạo ra IP-PBX, là việc thiết lập gateway VoIP bên phía trung kế của PBX Gateway này đóng gói luồng thoại và định tuyến nó qua mạng VoIP Giải pháp này tận dụng các đặc tính hiện có của tổng đài PBX, như thoại hội nghị, chuyển tiếp cuộc gọi,
…
Cuối cùng, các nhà phát triển phần mềm phát triển lên PBX “mềm”, hay IP-PBX IP-PBX cung cấp khả
năng chuyển mạch, thực hiện các dịch vụ gia tăng qua mạng dữ liệu Các cuộc gọi trong một tổng đài và các cuộc gọi giữa các tổng đài được định tuyến qua mạng IP, đi vòng qua toàn bộ mạng PSTN IP-
PBX có thể giao tiếp với mạng PSTN thông qua Gateway.
Trang 163.1.2 Các ưu điểm so với tổng đài PBX truyền thống
Các ưu điểm của IP-PBX xuất phát từ những ưu điểm của mạng chuyển mạch gói IP so với chuyển mạch kênh, như:
- Quản lý và bảo dưỡng dễ dàng hơn
- Khả năng kết nối từ xa, khả năng di động
- Kết hợp thoại/dữ liệu tạo ra ứng dụng mới –
- Dễ dàng phát triển các dịch vụ mới do cấu trúc mở và các giao diện chuẩn
- Dễ sử dụng do được hỗ trợ nhiều bởi phần mềm và giao diện đồ hoạ GUI
• Asterisk được xem như là một tổng đài PBX (Private Branch eXchange) và được thêm nhiều tính năng mới Ngoài những tính năng của một tổng đài PBX thông thường, Asterisk còn được tích hợp cả chuyển mạch TDM và chuyển mạch VoIP, có khả năng mởrộng đáp ứng nhu cầu cho từng ứng dung như mở rộng giao tiếp với mạng PSTN (Public Switched Telephone Network)
• Với một máy tính rẻ tiền đã cài hệ điều hành (một trong các hệ điều hành nói trên, ở đây ta thiên về hệ điều hành Microsoft Windowns) và có thêm phần mềm Asterisk đã cấu hình, khi đó máy tính này sẽ có đầy đủ tính năng của một tổng đài điện thoại và có thể hơn thế
• Asterisk là một phần mềm nguồn mở, miễn phí, có độ tin cậy cao nên được xem là phần mềm mang tính cách mạng
• Bởi những tiện ích: hệ thống và giá cước rẻ, dễ sử dụng, đầy đủ các tính năng của một tổng đài và con hơn thế nên đã có nhiều hệ thống Asterisk được cài đặt thành công trên thế giới Hiện
nay hệ thống Asterisk đang được phát triển mạnh, nhiều doanh nghiệp, công ty đã và đang triển khai hệ thống tạo liên lạc bên trong và ra cả mạng ngoài thông qua mạng máy tính, gọi
Trang 17Từ hình trên ta thấy Asterisk không chỉ giao tiếp, kết nối giữa các điện thoại với nhau mà còn có thể
mở rộng kết nối đến các tổng đài khác, với IP Phone và nhiều dịch vụ như: Softswitch, Media Gateway, Voicemail Services, Conference Server, Music on hold…
3.3 Kiến trúc hệ thống Asterisk
Về cơ bản kiến trúc của Asterisk là sự kết hợp giữa nền tảng công nghệ điện thoại và ứng dụng điện thoại cho VOIP như SIP, H323, IAX, MGCP các công nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như T1, E1, ISDN và các giao tiếp đường truyền thoại Analog
Khi khởi động hệ thống Asterisk thì chức năng Dynamic Module Loader thực hiện nạp driver của thiết
bị, nạp các kênh giao tiếp, các format, codec và các ứng dụng liên quan, đồng thời các hàm API cũng được liên kết nạp vào hệ thống
Sau đó hệ thống PBX Switching Core của Asterisk chuyển sang trạng thái sẵn sàng hoạt động chuyển mạch cuộc gọi, các cuộc gọi được chuyển mạch tuỳ vào kế hoạch quay số (Dialplan) được thực hiện cấu hình trong file extension.conf
Application Launchar để rung chuông thuê bao, quay số, định hướng cuộc gọi, kết nối với hộp thư thoại…
Scheduler and I/O Manager đảm nhiệm các ứng dụng nâng cao
Codec Translator xác nhận các kênh nén dữ liệu ứng với các chuẩn khác nhau có thể kết hợp liên lạc được với nhau
Hệ thống cũng bao gồm 4 chức năng API chính:
- Codec translator API: các hàm thực thi, giải nén các chuẩn như G711, G729…
- Asterisk Channel API : Giao tiếp với các kênh liên lạc khác nhau
- Asterisk file format API : xử lý các loại file có định dạng như Mp3, wav, gsm… f
- Asterisk Aplication API : Bao gồm tất cả các ứng dụng được thực thi trong hệ thống Asterisk như voicemail, callerID…
Trang 183.3.1 Một số tính năng cơ bản
3.3.1.1 Voicemail
Hộp thư thoại với tính năng cho phép hệ thống nhận các thông điệp tin nhắn thoại, mỗi máy điện thoại được khai báo trong hệ thống Asterisk cho phép khai báo thêm chức năng hộp thư thoại Khi số điện thoại bị gọi bận hay ngoài vùng phủ sóng thì hệ thống asterisk định hướng trực tiếp cuộc gọi đến hộp thư thoại tương ứng đã khai báo trước
Voicemail cung cấp cho người sử dụng nhiều tính năng như: xác nhận password khi truy cập vào hộp thư thoại, gửi mail báo khi có thông điệp mới
3.3.1.2 Call Forwarding
Call Forwarding: chuyển hướng cuộc gọi
Đây là tính năng thường được sử dụng trong hệ thống Asterisk Chức năng cho phép chuyển một cuộc gọi đến một hay nhiều số máy điện thoại được định trước
Một số trường hợp cần chuyển cuộc gọi như : Chuyển cuộc gọi khi bận, chuyển cuộc gọi khi không trả lời, chuyển cuộc gọi tức thời, chuyển cuộc gọi với thời gian định trước
3.3.1.3 Caller ID
Caller ID: cuộc gọi có hiển thị số
Với chức năng này thì số điện thoại của người gọi đến máy điện thoại của bạn sẽ được hiển thị, nhằm giúp bạn có thể biết được ai đang gọi tới
Ngoài ra Caller ID cũng cho phép chúng ta xác nhận số thuê bao gọi đến có nghĩa là dựa vào caller ID chúng ta có tiếp nhận hay không tiếp nhận cuộc gọi từ phía hệ thống Asterisk Ngăn một số cuộc gọi ngoài ý muốn
3.3.1.4 Interactive Voice Response
Interactive Voice Response (IVR) hay Automated Attendant (AA): đều được dùng để chỉ chức năng tương tác thoại (tổng đài trả lời tự động)
Chức năng tương tác thoại có rất nhiều ứng dụng trong thực tế, khi gọi điện thoại đến một cơ quan hay xí nghiệp thuê bao thường được nghe thông điệp như:“Xin chào mừng bạn đã gọi đến công ty chúng XXX hãy nhấn phím 1 để gặp phòng kinh doanh, phím 2 gặp phòng kỹ thuật, phím 3 gặp phòng
hỗ trợ khách hàng…” sau đó tuỳ vào sự tương tác của thuê bao gọi đến, hệ thống Asteisk sẽ định hướng cuộc gọi theo mong muốn
Dịch vụ xem điểm thi, tiền cước điện thoại của thuê bao, tỉ giá tiền tệ hiện nay như thế nào, hay kết quả sổ số, bản tin dự báo thời tiết… tất các những mong muốn trên đều có thể thực hiện qua chức năng tương tác thoại