1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ thống PBX asterisk và giải pháp tính cước a2billing

169 3,4K 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 169
Dung lượng 10,08 MB

Nội dung

Xây dựng hệ thống PBX asterisk và giải pháp tính cước a2billing

Trang 1

MỤC LỤC

Trang

Trang bìa lót

Nhiệm vụ đồ án tốt nghiệp

Lịch trình thực hiện đồ án tốt nghiệp

Lời cảm ơn i

Mục lục ii

Liệt kê bảng vii

Liệt kê hình viii

Liệt kê từ viết tắt xii

Tóm tắt xiv

Abstract xv

Trang 2

LIỆT KÊ BẢNG

Trang

Trang 3

LIỆT KÊ TỪ VIẾT TẮT

AAA Authentication – Authorization - Accounting

ACD Automatic Call Distribution

ADSL Asymmetric Digital Subcriber Line

AGI Asterisk Gateway Interface

API Application Program Interface

ATA Analog Telephone Adapter

B2BUA Back to Back User Agent

BRI Basic Rate Interface

CDR Call Detail Record

CGI Common Gateway Interface

CLASS Custom Local Area Signaling Service

CLI Command Line Interface

CODEC Compression/Decompression Algorithm

CRM Customer Relationship Management

DAHDI Digium Asterisk Hardware Device Interface

DHCP Dynamic Host Configuration Protocol

DID Direct Inward Dialing

DISA Direct Inward System Access

DNID Dial Number Identifier

DSL Digital Subcriber Line

DUC Dynamic Update Client

DTMF Dual Tone Multi-Frequency

FXO Foreign Exchange Office

FXS Foreign Exchange Station

GPL General Public License

GSM Global System For Mobile Communications

GUI Graphical User Interface

HTTP Hyper Text Transport Protocol

IAX Inter Asterisk Exchange

ISDN Integrated Services Digital Network

ISP Internet Service Provider

IVR Interactive Voice Response

LCD Least Cost Dialing

LCR Least Cost Routing

NAT Network Address Translation

Trang 4

NGN Next Generation Networks

OSS Operations Support System

PBX Private Branch Exchange

PCM Pulse Code Modulation

PIN Personal Identification Number

PRI Primary Rate Interface

PSTN Public Switch Telephone Network

RCTP RTP Control Protocol

RPM Red Hat Package Manager

RTP Real Time Protocol

SDP Session Description Protocol

SER SIP Express Router

SIP Session Initial Protocol

SS7 Signaling System 7

TCP Transmission Control Protocol

UAC User Agent Client

UAS User Agent Server

UDP User Datagram Protocol

URI Universal Resource Identifier

URL Universal Resource Location

URL Uniform Resource Locator

VoIP Voice Over Internet Protocol

VSP VoIP Service Provider

WAV Waveform audio format

Trang 5

Chương 1 TỔNG QUAN VỀ VOIP

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

Mạng điện thoại chuyển mạch công cộng, hay còn gọi là PSTN (Public Switch Telephone Network), là mô hình mạng điện thoại truyền thống được sử dụng rộng rãi hiện nay Trong phần này, chúng ta sẽ tìm hiểu một cách sơ lược về những vấn đề cơ bản của PSTN

Ban đầu, việc truyền giọng nói được thực hiện bằng một mạch gọi là down, trong đó không sử dụng các số điện thoại để gọi như bây giờ mà dùng dây nối

ring-trực tiếp giữa hai thiết bị Thiết kế đơn giản này dần dần được cải tiến, từ việc chỉ

có một người nói phát triển thành hệ thống cho phép hai người cùng trao đổi trực tiếp với nhau Việc truyền tín hiệu thoại trên các cặp dây đồng đòi hỏi phải có các thành phần kèm theo khác như micro bằng cacbon, pin, nam châm điện và màng rung Ngoài ra phải có dây nối trực tiếp các thiết bị của người nói và người nghe với nhau Những yêu cầu như vậy làm cho hệ thống điện thoại không hiệu quả, chi phí cao và không linh hoạt

Điều này cũng dễ hiểu, ví dụ chúng ta có 4 máy điện thoại cần liên lạc với nhau, các máy đó phải nối trực tiếp với nhau như hình 2.1 Khi số lượng máy càng nhiều thì sơ đồ kết nối càng chằn chịt Nếu muốn kết nối một hệ thống có 8 máy thì

số lượng cặp dây đồng là 28 như hình 2.2

Trang 6

Hình 1.1.1.1.1.1 Sơ đồ kết nối 8 máy

Một cách tổng quát, khi có N máy trong hệ thống thì phải có N(N-1)/2 cặp dây nối Rõ ràng, với cách thức cấu hình và hoạt động như trên, hệ thống không những đòi hỏi một một chi phí quá cao, mà cách thức tổ chức quản lý cũng rất khó khăn Chẳng hạn, khi cần thêm một máy vào một hệ thống đang có sẵn N máy thì phải nối thêm vào N cặp dây mới Để khắc phục những khuyết điểm của hệ thống trên, một cơ chế mới ra đời cho phép kết nối các cuộc gọi một cách dễ dàng và thuận lợi hơn nhiều Cơ chế này sử dụng một thiết bị chuyển mạch (switch), nó giúp cho người sử dụng có thể thực hiện cuộc gọi với máy điện thoại khác thông qua trung tâm chuyển mạch Mỗi máy chỉ cần kết nối với trung tâm chuyển mạch mà không cần phải nối trực tiếp với các máy khác

Ban đầu khi mới phát triển, bộ phận chuyển mạch do con người trực tiếp đảm nhận Hình 2.3 mô tả một sơ đồ cơ bản của hệ thống chuyển mạch lúc mới hình thành

Trải qua hơn 100 năm phát triển, các hệ thống chuyển mạch điện thoại ngày nay đã được thay thế bằng những hệ thống chuyển mạch tự động, sử dụng các công nghệ điện tử mới PSTN là mạng điện thoại sử dụng hệ thống chuyển mạch tự động đang được dùng một cách rộng rãi hiện nay

Trang 7

1.1.2 Những kiến thức cơ bản về PSTN

Các tín hiệu trong tự nhiên vốn là các tín hiệu tương tự Tín hiệu tương tự được thể hiện bằng các đại lượng vật lý biến thiên liên tục theo thời gian, ví dụ như biên độ dòng điện, sóng âm,… Tuy nhiên, trong thực tế, khi sử dụng tín hiệu tương

tự để truyền tin tức đi xa thường gây ra nhiều tổn thất về năng lượng, nhất là độ tin cậy của tín hiệu do quá trình thâm nhập của các nhiễu và mất mát trên đường truyền Do đó người ta thường chuyển các tín hiệu tương tự thành tín hiệu số trong các hệ thống viễn thông Tín hiệu số về cơ bản đó là một chuỗi các ký hiệu rời rạc được chọn từ một tập hữu hạn các ký hiệu rời rạc, ví dụ như các chuỗi các ký tự chữ hay số

Hệ thống thông tin số đã chứng tỏ được những ưu thế của mình so với hệ thống tương tự Chính vì vậy, trong hệ thống điện thoại người ta đã sử dụng các phương pháp điều chế số để chuyển đổi giữa tương tự và số Phương pháp điều chế xung mã PCM (Pulse Code Modulation) là một ví dụ được sử dụng rộng rãi

PCM là phương pháp mã hóa phổ biến được sử dụng trong các hệ thống điện thoại truyền thống Nó cho phép chuyển đổi các tín hiệu tương tự thành các chuỗi các bit 0 và 1 Quá trình này phải tuân theo định luật Nyquist, tức là một tín hiệu liên tục theo thời gian có thể được phục hồi chính xác nếu như băng thông của

nó là hữu hạn và tần số lấy mẫu lớn hơn hoặc bằng hai lần băng thông tín hiệu

Trong các hệ thống mã hóa thoại, quá trình của PCM như sau:

• Tín hiệu thoại là tín hiệu tương tự được cho qua bộ lọc thông thấp để loại

bỏ các thành phần có tần số cao hơn 4000 Hz

• Tín hiệu sau đó được lấy mẫu ở tần số 8000 Hz

• Sau khi được lấy mẫu, tín hiệu sẽ được chuyển thành dạng rời rạc qua quá trình lượng tử hóa Thông thường trong hệ thống thoại người ta sử dụng 8 bit để lượng tử và dùng giải thuật nén để có thể gán nhiều bit hơn cho các tín hiệu có biên độ nhỏ

Từ cách thức hoạt động như trên, có thể thấy được tốc độ của hệ thống thoại phổ biến là 64 kbps Có hai loại PCM 64 kbps được dùng nhiều là µ-law ở các nước Bắc Mỹ và a-law ở các nước Châu Âu Cả hai dạng này đều khá giống nhau, thay

vì phải dùng đến 12 hay 13 bit như trong PCM tuyến tính thì chúng chỉ dùng 8 bit cho từ mã Tuy nhiên µ-law tỏ ra hiệu quả hơn so với a-law trong những trường hợp tỷ số tín hiệu trên nhiễu thấp

Local loop dùng để chỉ vòng lặp trong đôi dây nối từ trung tâm chuyển mạch

đến máy điện thoại của khách hàng Quá trình giao tiếp giữa các thuê bao với trung

tâm được thực hiện trong vòng lặp này Trunk là đường giao tiếp giữa các trung tâm

chuyển mạch với nhau

Trang 8

Hình 1.1.2.3.1.1 Mô hình mạng điện thoại dạng cây

Các thuê bao không nối trực tiếp với nhau mà kết nối với một trung tâm chuyển mạch Các trung tâm này lại kết nối với nhau và kết nối với trung tâm chuyển mạch cấp cao hơn Cứ như thế tạo ra một mô hình mạng điện thoại dạng hình cây như hình vẽ 2.4

Với việc kết nối như vậy, khi có quá nhiều cuộc gọi xảy ra cùng một lúc thì các trung tâm có thể điều khiển các cuộc gọi đi theo các hướng phù hợp để tránh gây ra nghẽn mạng

PSTN có hai dạng truyền tín hiệu (signaling), đó là user – network signaling

và network – network signaling.

Trong kiểu thứ nhất, user – network signaling, thiết bị đầu cuối người sử dụng

liên lạc với mạng điện thoại thông qua cặp dây xoắn Signaling phổ biến trong trường hợp này là DTMF (Dual Tone Multi-Frequency) Hình vẽ 2.5 dưới dây mô

tả cấu trúc của một bàn phím DTMF

Trang 9

Bàn phím DTMF cấu thành từ một ma trận 4x4, mỗi hàng tương ứng với một tần số thấp và mỗi cột tương ứng với một tần số cao Mỗi phím bấm tương ứng với một tín hiệu sin có hai xung ở các vị trí thấp và cao tương ứng Ví dụ, khi phím 9 được bấm thì một tín hiệu sin có hai xung ở các tần số 852 Hz và 1477 Hz được gửi

đi Tín hiệu này được bộ phận chuyển mạch tiếp nhận, giải mã và xác định phím

nào đã được bấm DTMF là phương pháp in-band signaling.

Trong ISDN (Intergrated Services Digital Network), phương pháp truyền tín

hiệu là out-of-band signaling Với phương pháp này, tín hiệu được truyền trong

những kênh khác nhau Kênh truyền các tín hiệu voice, data, fax gọi là kênh bearer hay còn gọi là kênh B với tốc độ 64 kbps Kênh truyền các tín hiệu mang gọi là kênh điều khiển hay là kênh D

Đối với các văn phòng nhỏ thì chỉ cần dùng BRI (Basic Rate Interface) với 2 kênh B 64 kbps và một kênh D 16 kpbs Tuy nhiên với các công ty lớn hơn, lượng thông tin cần truyền nhiều hơn thì phải dùng PRI (Primary Rate Interface) với 23 kênh B 64 kbps và 1 kênh D 64 kpbs

Việc sử dụng out-of-band signaling có những ưu điểm như dùng được một

cách phức hợp trong các kênh thông thường, giảm nhiễu, hạn chế trễ tín hiệu,…

Kiểu thứ hai là giao tiếp network – network signaling, thường dùng các

phương tiện truyền dẫn như:

• T1/E1 với các cặp dây xoắn đôi: T1 là đường truyền có tốc độ 1.554 Mbps thường dùng ở Bắc Mỹ và Nhật E1 cũng là đường truyền số nhưng tốc độ cao hơn 2.048 Mbps dùng ở Châu Âu

• T3/E3, T4 với cáp xoắn đồng trục: T3 chứa 28 kênh T1, E3 chứa 16 kênh E1 và T4 chứa 168 kênh T1

• T3 và T4 dùng sóng vi ba

• SONET (Synchronous Optical Network) truyền qua cáp quang tốc độ lên đến vài Gbps

Network – network signaling sử dụng phương pháp in-band signaling như MF

(Multi-Frequency) hay RBS (Robbed Bit Signaling) MF khá giống với DTMF nhưng khác ở chỗ nó dùng tập các giá trị tần số khác và thay vì trao đổi giữa người dùng với nhau như DTMF thì MF lại trao đổi giữa các bộ phận chuyển mạch với nhau

Ngoài ra network – network signaling còn sử dụng các out-of-band signaling như SS7 (Signaling System 7) SS7 là phương thức trao đổi thông tin

giữa các bộ phận chuyển mạch với nhau nhằm điều khiển các cuộc gọi và dịch vụ CLASS (Custom Local Area Signaling Services)

PSTN cung cấp nhiều dịch vụ cho người sử dụng, ngoài những chức năng nghe nói thông thường, có thể kể ra một vài ứng dụng của PSTN như: cuộc gọi chờ, chuyển hướng cuộc gọi, conference, hiển thị số người gọi, tự động gọi lại,…

Trang 10

1.1.3 Những hạn chế của PSTN

Mạng điện thoại PSTN đã đáp ứng được khá tốt nhu cầu trao đổi thông tin thông qua âm thoại Tuy nhiên, ngày nay với sự phát triển của hệ thống mạng IP các doanh nghiệp luôn muốn tích hợp cả dữ liệu và tiếng nói lên một hạ tầng chung Các mạng này sẽ đáp ứng được những yêu cầu mới, dịch vụ mới với giá thành thấp

và chất lượng chấp nhận được

Qua một thời gian hình thành và phát triển của PSTN, người ta thấy rằng nó

có một số nhược điểm nổi bậc như:

• PSTN không thể tạo ra và triển khai các ứng dụng một cách nhanh chóng Khi sự cạnh tranh ngày càng cao trong thị trường, biện pháp hữu hiệu nhất

để tạo nên ưu thế cho mình chính là tạo ra các dịch vụ mới nhất và nhanh nhất PSTN là hệ thống mạng dựa trên một hạ tầng khép kín, nghĩa là chỉ có nhà cung cấp dịch vụ có quyền phát triển các ứng dụng trên dịch vụ đó Điều này gây khó khăn cho các công ty khi muốn đáp ứng đầy đủ nhu cầu của khách hàng Do đó người ta hướng đến một giải pháp mở cho phép nhiều nhà khai thác phát triển một cách sáng tạo và hiệu quả các ứng dụng

• Không thể truyền đồng thời data, voice và video trên hạ tầng mạng PSTN truyền thống với các dây điện thoại analog như hiện nay Cần phải sử dụng

hệ thống truyền dẫn băng rộng tốc độ cao như DSL, cáp, hay wireless để có thể tích hợp đồng thời voice, data và video

• Hạ tầng mạng xây dựng cho voice không thích hợp cho truyền dẫn data

Sử dụng băng thông không hiệu quả PSTN dùng kiểu chuyển mạch circuit switching đòi hỏi 64-kpbs cho một cuộc thoại trên đôi dây.Nghĩa là khi có

người đang thực hiện một cuộc gọi trên đôi dây nào đó thì 64-kpbs sẽ được

sử dụng cho suốt cả quá trình thoại mà không có thành phần thứ ba nào có thể chen vào sử dụng nó

• Giá thành cho xây dựng và chi phí phải trả cho các nhà cung cấp dịch vụ cao

Xu thế tích hợp voice và data trên một mạng chung là nhu cầu tất yếu trong thời đại hiện nay khi mà Internet đã trở nên phổ biến rộng rãi VoIP được xem như

là một bước tiến mới giúp cải thiện đáng kể những nhược điểm của PSTN và phát triển được nhiều ứng dụng mới

1.2 Voice over Internet Protocol (VoIP)

VoIP là công nghệ truyền tín hiệu thoại trên đường truyền mạng nền tảng

IP Công nghệ này sử dụng những kỹ thuật riêng để mã hóa tín hiệu voice thành các gói tin có thể truyền tải qua mạng IP như LAN hay Internet VoIP không chỉ giải quyết được vấn đề nội bộ mà còn có thể kết nối với PSTN thông qua các Gateway VoIP làm được những gì mà PSTN có thể làm được với chi phí thấp hơn nhiều

Chuyển mạch gói

Trang 11

Trong PSTN người ta sử dụng phương thức truyền bằng circuit switching Điều này có nghĩa là khi ai đó đang thực hiện cuộc gọi thì circuit switching tạo ra

một liên kết đòi hỏi các tài nguyên như đường dây, các switch, các kết nối phải được

sử dụng liên tục cho cuộc gọi này và một người khác không thể sử dụng các tài nguyên đó Sử dụng phương pháp này cho phép thu được chất lượng khá tốt nhưng làm hao phí tài nguyên

VoIP sử dụng packet switching để truyền tín hiệu thoại Phương thức hoạt động của packet switching khác với phương thức hoạt động của circuit switching Thay vì phải tạo ra một kết nối liên tục như là circuit switching, packet switching

chia tín hiệu cần truyền ra làm các phần nhỏ, các phần này sẽ được đóng gói thành

các packet để truyền đi và sẽ được tái hợp lại thành tín hiệu ban đầu ở nơi nhận

Cách làm này cho phép tận dụng tài nguyên một cách hiệu quả

Tín hiệu dải băng nằm giữa 0.3 và 3.4 KHz được xem như là tín hiệu voice Thông thường tín hiệu voice được lấy mẫu ở tần số 8 KHz Các mẫu này được lượng tử hóa đều hay không đều sử dụng một mức lượng tử cho trước Ví dụ khi dùng 8 bit lượng tử, tức là có 256 mức lượng tử, thì tốc độ tín hiệu là 64 Kbps Cơ chế này được gọi là mã hóa PCM và được dùng rộng rãi trong hệ thống PSTN hiện nay với các luật A và µ

VoIP đòi hỏi tốc độ bit thấp hơn so với PSTN nên không dùng phương pháp

mã hóa và giải mã của PSTN Cùng với sự phát triển của các công nghệ vi xử lý, tín hiệu và bộ nhớ, nhiều kỹ thuật mã hóa và giải mã ra đời để phục vụ cho các ứng dụng với tốc độ bit thấp như VoIP, trong đó được sử dụng rộng rãi nhất là các chuẩn G.723.1 và G.729A

G.723.1 có tốc độ từ 5.3 đến 6.1 Kbps với 30-ms frame và G.729A có tốc độ bit là 8 Kbps với 10-ms frame Frame ở đầu ra của G.723.1 có 159 bit khi hoạt động

Trang 12

ở tốc độ 5.3 Kbps và có 192 bit khi hoạt động ở 6.4 Kbps Trong khi đó với G.729A thì độ dài frame đầu ra chỉ có 80.

G.729A được lắp đặt đơn giản hơn và sử dụng hiệu quả hơn G.723.1 nên được

sử dụng rộng rãi hơn Cả hai thiết kế này đều sử dụng cùng một lượng bộ nhớ là 10K ROM và 2K RAM, nhưng G.723.1 cần đến 16 MIP (Message Tranfer Parts) của dung lượng xử lý trong khi G.729.A chỉ cần dùng 10 MIPS

Ngoài ra còn có một số chuẩn CODEC khác Bảng 2.1 mô tả so sánh các chuẩn CODEC khác nhau

Nền tảng của công nghệ VoIP là hai giao thức cơ bản H323 và SIP (Session Initiation Protocol) Để truyền tín hiệu voice cả hai đều dùng chung một chuẩn RTP/UDP/IP

Chuẩn H.323 là chuẩn được phát triển đầu tiên bởi ITU (International Telecommunications Union), được sử dụng khá lâu và được tích hợp dễ dàng vào các

hệ thống tổng đài nội bộ PBX (Private Branch eXchange) để thực hiện các cuộc gọi qua VoIP thông qua các kênh truyền như ISDN Hiện nay các thiết bị VoIP

Trang 13

các kỹ thuật bảo mật khá tốt Để thiết lập hệ thống VoIP dựa trên nền H.323 cần có một số thiết bị như điện thoại (Terminal), MCU (MultiPoint Control Unit), Gateway, GateKeeper Hình 2.8 mô tả các thành phần cơ bản của H.323.

Chuẩn SIP được phát triển bởi IETF (Internet Engineering Task Force) như một giao thức peer-to-peer gọn nhẹ và hiệu quả trên đường truyền mạng internet hay LAN Dựa trên nền tảng HTTP (Hyper Text Transfer Protocol) và MIME (Multi purpose Internet Mail Extensions), SIP hiệu quả hơn trong việc tích hợp voice và data theo thời gian thực và chiếm ít băng thông trên đường truyền SIP hỗ trợ đặt tên các account thông qua DNS (Domain Name System) hay URL (Uniform

Resource Locator) và ứng dụng PC-based phone do đó linh hoạt hơn khi thiết kế

mạng

Trang 14

Hình 1.2.3.1.1.2 Các thành phần cơ bản của SIPCác vấn đề về SIP sẽ được đề cập kỹ hơn trong chương sau.

Ngoài H.323 và SIP ra, khi nói đến VoIP cần phải quan tâm đến một số protocol khác như MGCP (Media Gateway Control Protocol), H.248/MEGACO, RTP, RCTP

MGCP là sự kết hợp giữa giao thức đơn giản để điều khiển gateway SGCP (Simple Gateway Control Protocol) phát triển bởi Cisco và Telcordia với giao thức Internet để điều khiển các thiết bị IPDC (Internet Protocol Device Control) MGCP điều khiển và quản lý cuộc gọi thông qua các media gateway Nhiệm vụ của các media gateway là tạo nên sự chuyển đổi tương thích giữa các tin tức được dùng trong PSTN và trong mạng IP bằng cách chuyển các dạng mã hóa và giải mã từ G.711 trong PSTN sang G.723 hay G.729 trong VoIP Bên cạnh đó, media gateway cũng hỗ trợ loại trừ tiếng vọng thông qua phần cứng

RTP (Real-time Transport Protocol) và RCTP (RTP Control Protocol) là những giao thức điều khiển vận chuyển tín hiệu thời gian thực Các giao thức này rất quan trọng để đảm bảo real-time cho cuộc gọi

Một cuộc gọi thông thường chia làm nhiều phiên khác nhau bao gồm báo hiệu cuộc gọi, điều khiển cuộc gọi, thỏa thuận các phương thức truyền thông và phiên hội thoại Vị trí của RTP chính là ở phiên hội thoại

Qua việc thỏa thuận phương thức truyền thông, các bên tham gia hội thoại sẽ tiến hành mở hai cổng UDP kề nhau, cổng chẵn dùng để truyền tiếng nói (RTP) và cổng lẻ dùng để truyền thông tin trạng thái giám sát (RCTP) Thông thường hai cổng mặc định được chọn là 5004 và 5005

Trang 15

địa chỉ

nguồn, địa chỉ đích, cổng tương ứng, header RTP và một số thông tin có liên quan khác

Header RTP cho biết các thông tin quan trọng về gói như phương pháp mã hóa, chỉ mục gói, nhãn thời gian,…Các thông tin này cho phép xác định sự ràng buộc giữa gói tin với thời gian Nhờ đó, các gói tin được sắp xếp theo đúng thứ tự thời gian thực trước khi được giải mã và phát lại

RCTP có nhiệm vụ giám sát đánh giá quá trình truyền tin dựa trên việc truyền một cách định kỳ các gói tin điều khiển tới các thành viên tham gia hội thoại cùng với cơ chế truyền dữ liệu Có thể kể ra bốn chức năng chính của RCTP như sau:

• Cung cấp cơ chế phản hồi chất lượng truyền dữ liệu Bên gửi thống kê quá trình gửi qua các bản tin người gửi cho các thành viên Bên nhận cũng làm nhiệm vụ thống kê các tin nhận qua bản tin người nhận Từ việc giám sát các thông tin từ bên gửi và bên nhận có thể điều khiển lại các thông số cần thiết để tăng chất lượng cuộc gọi Đây là chức năng quan trong nhất của RCTP

• Mỗi nguồn cung cấp gói tin RTP được định dạng bởi một tên CNAME RCTP

sẽ cho các thành viên biết tên này

• Quan sát số thành viên tham gia hội thoại bằng việc thống kê các bản tin

• Mang các thông tin thiết lập cuộc gọi, các thông tin về người dùng Đây là chức năng tùy chọn Nó đặc biệt hữu hiệu khi điều khiển các phiên lỏng, cho phép thêm bớt thành viên một cách dễ dàng mà không có ràng buộc nào

Thực ra để hệ thống VoIP hoạt đông hiệu quả nhất còn phải sử dụng nhiều giao thức khác Có thể tham khảo các chuẩn mà ITU hay EITF đưa ra để biết rõ hơn về các giao thức này

VoIP ra đời khai thác được một cách hiệu quả những tính năng của mạng truyền số liệu, khai thác tính linh hoạt trong việc phát triển các ứng dụng mới của mạng IP Những ưu điểm nổi bật của VoIP có thể kể ra dưới đây:

• Giảm đáng kể chi phí cuộc gọi: đây là ưu điểm rất lớn của VoIP so với dịch vụ điện thoại truyền thống VoIP có khả năng cung cấp những cuộc điện thoại đường dài với chi phí thấp và chất lượng dịch vụ chấp nhận

Trang 16

tương đương với chi phí sử dụng internet Nguyên nhân là các tín hiệu voice

đã được mã hoá và truyền trong mạng IP nên khả năng sử dụng kênh đạt hiệu quả cao hơn Bên cạnh đó, tín hiệu thoại bây giờ đã được nén từ 64 Kbps trước đây xuống còn 8 Kbps, kết hợp với tốc độ xử lý nhanh hiện nay đảm bảo cho VoIP có thể đáp ứng đòi hỏi thời gian thực trong điều kiện băng thông hạn chế Khi thực hiện cuộc gọi trong mạng PSTN, chi phí bỏ

ra là để duy trì một kênh truyền 64 Kbps xuyên suốt từ máy này đến máy kia thông qua các tổng đài Với các cuộc gọi đường dài thì chí phí này rõ ràng là rất lớn Trong khi đó, khi gọi từ mạng PSTN dùng VoIP thì chi phí phải bỏ ra chỉ là để duy trì một kênh 64 Kbps từ máy gọi đến gateway Do

đó hiệu quả kinh tế cao hơn nhiều

• Tích hợp mạng thoại, mạng số liệu và mạng báo hiệu: trong VoIP, tất cả các tín hiệu voice, data hay các báo hiệu đều có thể đi chung trong mạng

IP Điều này cho phép tiết kiệm được một chi phí đáng kể khi đầu tư xây dựng cơ sở hạ tầng

• Khả năng mở rộng: các hệ thống tổng đài cũ thường là hệ thống kín nên rất khó thêm vào những tính năng mới Trong khi đó khi dùng VoIP với các

mã nguồn mở cho phép tự do thêm vào các tính năng mới, đồng thời hệ thống sẽ linh hoạt hơn và dễ dàng mở rộng hơn

• Không cần thông tin điều khiển để thiết lập kênh truyền vật lý: các gói thông tin trong mạng IP được truyền đến đích mà không cần phải thiết lập nên một kênh truyền riêng nào

• Quản lý băng thông hiệu quả: như đã nói ở trên, VoIP đã nén tín hiệu xuống còn 8 Kbps nên tiết kiệm được băng thông đáng kể Ngoài ra việc quản lý băng thông cũng linh hoạt hơn do khả năng điều tiết băng thông phù hợp

• Dịch vụ đa dạng: VoIP cho phép tạo ra nhiều tính năng dịch vụ mới như thông tin người gọi tới, nhiều số cho một thiết bị đầu cuối, truyền file, chia

sẻ dữ liệu, xem hình ảnh người gọi,…

• Kỹ thuật phức tạp: Đảm bảo thời gian thực trong truyền tín hiệu bằng các gói là rất khó do tình trạng mất gói và độ trễ không cố định

• Vấn đề bảo mật: VoIP sử dụng mạng Internet làm cơ sở hạ tầng nên vấn

đề bảo mật cần phải được đề cao vì Internet là môi trường phổ biến toàn cầu

và rất phức tạp đồng thời nó cũng là hạ tầng chung cho rất nhiều các ứng dụng khác

Với VoIP, người sử dụng có thể thực hiện các cuộc gọi không chỉ giữa các

Trang 17

1.2.6.2 Thoại thông minh

Sự kết hợp giữa Internet và mạng PSTN cho phép tạo ra những dịch vụ điện thoại thông minh Internet cho phép giám sát và điều khiển cuộc gọi hiệu quả hơn

Thoại qua Internet cho phép nhà cung cấp những dịch vụ tính cước cuộc gọi cho các khách hàng trong và ngoài nước Chỉ cần có PC kết nối Internet và phần mềm chuyển đổi như Quicknet’s Technologies Internet PhoneJACK là có thể thực hiện được điều này

“World Wide Web” đã làm một cuộc cách mang trong cách giao dịch với khách hàng của các doanh nghiệp Với tất cả các tiềm năng của web, điện thoại vẫn là phương tiện kinh doanh không thể thiếu “Điện thoại web” cho phép đưa các phím bấm lên trên web để kết nối các cuộc gọi

Khi sử dụng fax qua IP sẽ tiết kiệm được chi phí và kênh thoại Lúc này fax được truyền trực tiếp qua Internet chứ không dùng line điện thoại như thông thường

Gateway Call Center với công nghệ thoại qua Internet cho phép nhà kiểm duyệt trang web với các PC trang bị multimedia kết nối được với bộ phân phối các cuộc gọi tự động Một ưu điểm của thoại Ip là khả năng kết hợp thoại và dữ liệu trên cùng một kênh

Trang 18

Chương 2 GIAO THỨC KHỞI TẠO PHIÊN SIP

2.1 Giới thiệu giao thức SIP

Giao thức khởi tạo phiên (Session Initiation Protocol - SIP) là giao thức thuộc lớp ứng dụng dùng để khởi tạo, hiệu chỉnh và kết thúc cuộc gọi

Các chức năng cơ bản của SIP bao gồm:

• Định vị người sử dụng: xác định hệ thống đầu cuối mà người dùng sử dụng cho truyền thông

• Tính sẵn có của người sử dụng: xem người sử dụng có sẵn sàng để giao tiếp không

• Khả năng người sử dụng: xác định các phương tiện truyền thông và các tham số cho các phương tiện sử dụng

• Khởi tạo phiên: báo chuông, thiết lập các thông số phiên

• Quản lý phiên: bao gồm việc chuyển đổi và kết thúc một phiên, thay đổi các thông số phiên và yêu cầu các dịch vụ

SIP là một thành phần được sử dụng chung với các giao thức khác để tạo thành

hệ thống đa phương tiện hoàn chỉnh Hai giao thức thường được sử dụng chung với SIP là giao thức vận chuyển thời gian thực RTP (Real-time Transport Protocol) và giao thức đặc tả phiên SDP (Session Description Protocol) RTP là giao thức cho phép vận chuyển các tín hiệu (gồm cả audio, video và text) đáp ứng theo thời gian thực Các tín hiệu này được mã hoá và chia thành các gói để truyền qua Internet SDP dùng để đặc tả các thông số của phiên

Một mạng SIP bao gồm nhiều thành phần, các thành phần đó có thể tương tác với nhau để thực hiện một phiên nào đó, đồng thời có thể tương tác với các thành phần của một mạng SIP khác một khi user có nhu cầu thực hiện kết nối tới một user khác không cùng mạng với nó

Trang 19

2.2 Các thành phần của SIP

User Agent bao gồm hai loại: User Agent Client và User Agent Server Để dễ hiểu, ta có thể định nghĩa User Agent (UA) là một ứng dụng mà có thể khởi tạo (thiết lập), chấp nhận và kết thúc một cuộc gọi trong một phiên kết nối Khi UA khởi tạo cuộc gọi bằng việc gửi bản tin yêu cầu INVITE thì UA sẽ đóng vai trò là một client Ngược lại UA nhận bản tin yêu cầu thì nó lại có vai trò là một server

Trong một phiên kết nối của SIP, UA thường tồn tại trên các máy user dưới dạng các ứng dụng như PC cài softphone nhưng nó cũng có thể là phần cứng được

“nhúng” sẵn phần mềm hỗ trợ giao thức SIP như IP phone…hoặc là cell phone, các cổng PSTN, thiết bị hỗ trợ cá nhân PDA…

User Agent Client (UAC) có nhiệm vụ gửi bản tin yêu cầu để khởi tạo phiên kết nối Chức năng này chỉ tồn tại trong quá trình gửi bản tin yêu cầu ( tạm gọi là quá trình giao dịch) Vì sau khi gửi xong bản tin, nó lại có thể nhận một yêu cầu từ một UA khác Vào lúc này, nó không còn là UAC nữa mà lại là UAS (User Agent Server)

Một UAC có thể gửi các bản tin yêu cầu như INVITE, ACK, OPTIONS, BYE, CANCEL và REGISTER

User Agent Server (UAS) có nhiệm vụ nhận bản tin yêu cầu, sau đó xử lý bản tin yêu cầu này và cuối cùng là gửi bản tin phản hồi về nơi đã phát bản tin yêu cầu đến cho nó Cũng như UAC, UAS chỉ có vai trò trong thời gian nhận bản tin yêu cầu và gửi lại bản tin phản hồi, khi quá trình này kết thúc thì nó lại có thể là một UAC nếu nó gửi yêu cầu cho một Client hoặc một Server khác

Như vậy, một thiết bị đầu cuối trong mạng SIP vừa có thể là UAC và vừa có thể

là UAS Tuy nhiên nó chỉ có thể đảm nhiệm một chức năng duy nhất trong một quá trình giao dịch Tùy thuộc vào việc nhận hay là gửi bản tin yêu cầu mà nó có thể là UAC hoặc UAS

Proxy Server là một thực thể trung gian có nhiệm vụ nhận các bản tin yêu cầu SIP, gửi lại bản tin đáp ứng về nơi đã gửi bản tin yêu cầu và cuối cùng là forward bản tin yêu cầu này đến UAS hoặc một Server khác Như vậy, Proxy Server vừa là một UAC vừa là một UAS Khi nó nhận bản tin yêu cầu từ một UAC thì nó đóng vai trò như một UAS Ngược lại, khi nó forward bản tin yêu cầu mà nó nhận được thì nó lại là một UAC

Tuy nhiên, Proxy Server không trực tiếp tạo ra bản tin yêu cầu như một UAC

mà tiếp nhận bản tin yêu cầu rồi chỉnh sửa bản tin này cho phù hợp rồi forward chúng

đi mà thôi Hơn nữa, Proxy Server chỉ có thể nhận và forward các bản tin báo hiệu SIP chứ không nhận hoặc forward bản tin thoại

Proxy Server được chia làm hai loại: Stateless Proxy và Statefull Proxy

Trang 20

Stateless Proxy chỉ đơn giản là forward bản tin đi Khi nhận một bản tin yêu cầu, Stateless Proxy sẽ xử lý yêu cầu này sau đó nó forward bản tin yêu cầu đã được

xử lý mà không có lưu lại bất kì trạng thái nào của quá trình giao dịch Điều này có nghĩa là Stateless Proxy sẽ không nhớ là nó đã từng nhận và xử lý bản tin yêu cầu này Đây cũng chính là nhược điểm của Stateless Proxy Vì Stateless Proxy hoàn toàn không biết được quá trình giao dịch có thành công hay không và nó cũng không thể truyền lại các bản tin yêu cầu hay bản tin phản hồi đã gửi trước đó trong trường hợp bản tin bị mất hay thất lạc

Statefull Proxy phức tạp hơn Stateless Proxy Trong lúc nhận bản tin yêu cầu, Stateful Proxy sẽ tạo ra một trạng thái và giữ nó cho đến khi sự giao dịch kết thúc Vì thế nó có thể truyền lại các bản tin mà nó đã gửi trước đó

Ví dụ như khi một bản tin Request được forward đi thì đồng thời bộ định thời được bật lên, nếu như trong khoảng thời gian nào đó mà không nhận được bản tin Response thì Proxy Server sẽ tiến hành gửi lại bản tin Request đó Statefull còn có ưu điểm là có khả năng “fork” (rẻ nhánh) Có nghĩa là trong khi nhận một bản tin yêu cầu,

nó cũng có thể gửi đi một hay nhiều bản tin khác

Hầu hết các Proxy Server ngày nay đều là Statefull Proxy vì chúng đòi hỏi cấu hình phức tạp, các chức năng giám sát, rẻ nhánh, tính toán…và các chức năng thiết yếu của một Statefull Proxy

Thông thường với các hệ thống nhỏ, Registrar server được cài đặt cùng với Proxy Server/ Redirect Server Tuy nhiên với các hệ thống lớn, nếu tích hợp Registrar Server cùng với Proxy hoặc Redirect thì sẽ gây ra hiện tượng quá tải (over load), và một khi có lỗi xãy ra sẽ ảnh hưởng đến toàn bộ hệ thống Do đó, trong trường hợp đòi hỏi phải lưu trữ nhiều cơ sở dữ liệu thì Registrar được cài đặt trên một máy tính ở xa Khi đó, các Proxy Server/ Redirect Server muốn truy xuất để lấy database thì lại phải

sử dụng một giao thức khác (không phải giao thức SIP) – giao thức LDAP

Trang 21

2.2.3 Back to Back User Agent (B2BUA)

\

B2BUA là một thực thể logic của mạng SIP Nó tương tự như một Proxy Server: vừa là một UAC vừa là một UAS trong việc nhận và forward bản tin yêu cầu cũng như gửi lại bản tin phản hồi

Tuy nhiên, B2BUA khác với Proxy Server ở chỗ nó tham gia vào suốt quá trình hội thoại giữa hai đầu cuối Bản tin báo hiệu và bản tin thoại đều phải thông qua B2BUA B2BUA có khả năng ngắt kết nối trong khi Proxy Server thì không thể

Điều đặc biệt ở chỗ là B2BUA sẽ “ẩn” danh tính (địa chỉ IP hoặc SIP URIs) của bên đã gửi bản tin đến nó, thậm chí cho phép sửa đổi các thông tin trong bản tin như port, codecs, địa chỉ IP

Tuy nhiên, một số trường hợp vẫn có thể cấu hình B2BUA sao cho nó hoạt động như một Proxy Tức là bản tin báo hiệu vẫn thông qua B2BUA còn bản tin thoại thì lúc này sẽ trực tiếp gửi qua lại giữa các đầu cuối mà không thông qua B2BUA Asterisk Server hoạt động như một B2BUA, ta có thể cấu hình trong file sip.conf với thông số canreinvite=yes/no để gói tin thoại có thể hoặc không thể qua Asterisk Server

Trang 22

Hình 2.2.3.1.1.2 Cấu hình Asterisk với canreinvite

Trong mô hình này, cả Tesla và Marconi đều đã biết địa chỉ của nhau

Đầu tiên, Tesla muốn thiết lập cuộc gọi với Marconi nên gửi bản tin yêu cầu INVITE đến Marconi Giả sử Marconi không sẳn sàng thiết lập phiên kết nối thì sau một khoảng thời gian khi Marconi không gửi lại bản tin đáp ứng nào chứng tỏ mình có khả năng thực hiện cuộc gọi thì một bản tin Request Timeout được gửi từ Marconi đến Tesla

Nếu Marconi đang rảnh, một tín hiệu chuông sẽ được gửi từ Marconi về cho Tesla, lúc này Tesla hiểu rằng Marconi đã nhận được bản tin INVITE Khi Marconi nhấc máy, một bản tin 200 OK từ Marconi gửi về Tesla báo cho Tesla biết rằng Marconi chấp nhận yêu cầu thiết lập phiên kết nối với Tesla Khi đó, Tesla sẽ gửi lại một bản tin ACK để Marconi biết rằng Tesla đã nhận được bản tin 200 OK Phiên kết

Trang 23

Trong quá trình đàm thoại, cả hai bên Tesla và Marconi đều có quyền yêu cầu chấm dứt phiên kết nối bằng cách gửi một bản tin yêu cầu BYE Khi đó bên còn lại sẽ xác nhận việc nhận bản tin BYE bằng bản tin 200 OK để kết thúc phiên kết nối.

Mô hình Peer to Peer là mô hình không thông dụng bởi vì đòi hỏi các SIP phones phải lưu trữ lại tên và địa chỉ của các SIP Phones khác Vậy với một số lượng lớn các SIP phones thì sao? Lúc này cuộc gọi sẽ thực hiện qua một cơ chế khác đó là thông qua Proxy Server hoặc Redirect Server

Đầu tiên, user1 sẽ gửi bản tin INVITE để yêu cầu được thiết lập phiên kết nối với user2 Tuy nhiên user1 không biết chính xác địa chỉ của user1 trong mạng IP nên

nó gửi INVITE này đến cho Proxy Server - quản lý miền của user1

Trang 24

Proxy Server lúc này sẽ gửi một đáp ứng 100 TRYING về cho user1 để thông báo cho user1 rằng proxy đang thay mặt user1 forward bản tin này đến cho user2.

Proxy Server sẽ truy xuất lên vùng dữ liệu của nó để tìm kiếm địa chỉ hiện tại của user2

Nếu user2 đã đăng kí với Registrar Server thì các thông tin như username, password của nó sẽ được lưu trữ trong vùng dữ liệu database để Proxy/Redirect có thể truy xuất bất cứ lúc nào

Location Service sẽ gửi trả lại cho proxy địa chỉ hiện tại của user2

Proxy Server sẽ gửi một bản tin INVITE mới dựa trên bản tin INVITE mà nó

đã nhận được từ user1 để gửi đến user2 Nhưng lúc này, Request URI trong dòng Start Line đã được đổi thành user2@alp.sev.com (địa chỉ hiện tại của User2)

User2 đáp ứng lại bản tin INVITE từ Server bằng bản tin 100 TRYING

SIP phone của User2 xuất hiện tín hiệu chuông để cảnh báo với user2 rằng có một cuộc gọi đang đến Đồng thời, một bản tin 180 RINGING từ SIP phone của user2 gửi về cho user1 thông qua Proxy để thông báo với user1 rằng user2 đã nhận được bản tin INVITE của user1

Khi user2 nhấc máy, một bản tin 200 OK được gửi từ sip phone của user2 đến user1 để thông báo với user1 rằng user2 đã nhận cuộc gọi

Khi user1 nhận được bản tin 200 OK, user1 hiểu rằng user2 đã nhấc máy và chấp nhận kết nối vói user1 Lúc này user1 sẽ gửi một xác nhận ACK về cho user2 để thông báo với user2 rằng nó đã nhận được đáp ứng 200 OK và lúc này cuộc gọi chính thức được thiết lập

Đầu tiên user1 gửi một bản tin INVITE đến Redirect Server là host1@seq.com

để yêu cầu được thiết lập cuộc gọi với user2

Redirect Server lúc này sẽ tìm kiếm trong cơ sở dữ liệu của nó (location

Trang 25

Sau khi nhận được đáp ứng 302 từ phía redirect server, user1 sẽ xác nhận việc

đã nhận được bản tin này bằng bản tin ACK

Dựa vào địa chỉ của user2 trong bản tin đáp ứng 302 từ Redirect Server, user1

sẽ trực tiếp gửi bản tin INVITE đến cho user2 ở địa chỉ sev.alp.com

User2 nhấc máy để chấp nhận cuộc gọi, đồng thời một bản tin 200 OK được gửi

Hầu hết các cuộc gọi SIP thường có sự tham gia của Server Vì vậy Server có vai trò quan trọng trong việc tìm kiếm vị trí của user bị gọi

Mỗi user phải được đăng kí với Registrar Server về vị trí hiện tại của user đó bằng cách gửi một bản tin REGISTER Bản tin này sẽ chứa các thông tin về user như username và password, địa chỉ IP…Registrar Server sẽ lưu các thông tin này vào vùng

cơ sở dữ liệu của nó Proxy và Redirect có thể truy xuất lên cơ sở dữ liệu này để định

vị được user bị gọi

Trang 26

Đầu tiên userB sẽ gửi một bản tin REGISTER đến Registrar Server để đăng kí.Registrar Server sẽ gửi một bản tin phản hồi 401 Unauthenticate về cho userB, thông báo với userB rằng Registrar server chưa nhận dạng được userB.

Sau đó user B sẽ gửi lại bảng tin REGISTER tới Registrar Server kèm theo các thông tin về chứng thực trong trường Authentication như Username, password đã được

mã hóa MD5, địa chỉ SIP URI…

Registrar Server sẽ gửi lại cho userB bảng tin 200 OK thông báo cho user B rằng việc đăng kí đã thành công

Cuộc gọi SIP thông qua mô hình B2BUA:

Về cơ bản, B2BUA hoạt động giống như một Proxy Server ở chức năng báo hiệu Tuy nhiên, B2BUA khác ở một Proxy ở chỗ là bản tin thoại cũng phải thông qua B2BUA chứ không trực tiếp truyền giữa hai user

Đầu tiên, UserA muốn thiết lập cuộc gọi với userB nhưng lại không biết chính xác vị trí của UserB nên userA gửi bản tin INVITE đến B2BUA

B2BUA tìm kiếm vị trí của userB trong cơ sở dữ liệu của nó rồi forward bản tin INVITE mới đến userB Bản tin INVITE này đã được B2BUA thay đổi trường Via với địa chỉ của chính nó

Khi userB nhận được bản tin INVITE từ B2BUA, một tín hiệu chuông 180 RINGING sẽ được gửi từ userB đến B2BUA báo với B2BUA rằng userB đã nhận được bản tin yêu cầu INVITE và đang rung chuông để cảnh báo bên bị gọi là có cuộc gọi đang đến

B2BUA gửi bản tin 180 RINGING về cho userA

Khi userB nhấc máy, một bản tin 200 OK sẽ được gửi đến B2BUA để thông

Trang 27

UserA xác nhận bằng bản tin ACK gửi đến B2BUA, B2BUA lại forward bản tin này đến userB.

Phiên cuộc gọi được thiết lập

Lưu ý: Đến đây userA muốn gửi tín hiệu thoại đến userB thì trước tiến nó phải gửi bản tin thoại đến B2BUA, B2BUA mới chuyển bản tin thoại đến userB và ngược lại B2BUA hoàn toàn giấu danh tính của hai bên cho dù cuộc gọi đã được thiết lập Vì thế hai bên tham gia cuộc gọi không hề biết thông tin về nhau

H.323 dùng dạng trình diễn nhị phân cho các bản tin dựa trên ASN.1 và PER (Packet Encoding Rules) SIP thì sử dụng một dạng trình diễn khác, đó là dạng text, khá giống với HTTP và RTSP (Real Time Streaming Protocol), làm cho cú pháp cũng như là quá trình xử lý đơn giản hơn Bên cạnh đó, với dạng text, SIP còn tận dụng được sức mạnh của các ngôn ngữ xử lý như Perl

Sự phức tạp của H.323 còn thể hiện ở chỗ nó dùng nhiều protocol khác như H.450, H.225.0 và H.245 Việc sử dụng như vậy làm nẩy sinh nhiều vấn đề liên quan đến firewall Ngược lại, SIP sử dụng protocol đơn giản hơn, và chỉ yêu cầu những thông tin cần thiết mà thôi

Khả năng mở rộng là một thước đo rất quan trọng để đánh giá một protocol SIP dựa trên nền tảng của HTTP và SMTP (Simple Mail Tranfer Protocol), những protocol đã và đang được sử dụng rộng rãi, và được thiết kế với những tính năng cho phép mở rộng về sau Theo mặc định, những header không rõ ràng sẽ bị loại

bỏ Các clients sử dụng header Require để yêu cầu các tính năng nào đó từ server Chú ý rằng các tính năng này phải được server lưu trữ và nhận biết Khi nhận được yêu cầu, server sẽ kiểm tra xem thử những tính năng này có tồn tại hay không và cho câu trả lời tương ứng Các tính năng mới có thể được đăng ký với server, điều này có nghĩa là người sử dụng có thể viết ra những tính năng mới và đăng ký với server để sử dụng

Để tăng cường khả năng mở rộng, các lỗi trong SIP được chia làm 6 lớp, mỗi lớp tương ứng với một dạng lỗi SIP giống như HTTP nên cơ chế mở rộng của nó cũng giống với HTTP PEP (Protcol Extension Protocol) là một cách được sử dụng phổ biến

Trang 28

H.323 cũng cung cấp cơ chế mở rộng khá tốt Tuy nhiên vẫn có một số giới hạn Thứ nhất, việc mở rộng chỉ cho phép với những nơi có các tham số non-standard Khách hàng không thể thêm giá trị mới vào cho tham số sẵn có Thứ hai, H.323 không cung cấp cơ chế để các thiết bị đầu cuối trao đổi thông tin với các mở rộng mà nó hỗ trợ Những giá trị tham số này không tự nói lên ý nghĩa của nó Đó là những giá trị của riêng các nhà sản xuất.

Chỉ sử dụng duy nhất một đường để truyền media và báo hiệu nên IAX cho phép nó được định hướng NAT trong suốt và chỉ sử dụng một port duy nhất nên dễ dàng trong việc quản lý Vì vậy không bao giờ có tình huống cuộc gọi đã được thiết lập mà không thể chuyển tín hiệu âm thanh (ngoại trừ vấn đề không đủ băng thông)

SIP tuân theo chuẩn IETF, trong khi đó IAX chỉ mới có một vài tài liệu mới xuất bản nên tiêu chuẩn của nó vẫn chưa được công nhận

IAX cho phép một đầu cuối kiểm tra tính hợp lý của số điện thoại quay để biết việc quay số đã hoàn tất chưa hay vẫn còn dang dở Điều này không được hỗ trợ trong giao thức SIP

Các bản tin trong IAX được gọi là các frame và được chia làm 3 loại chính là full, mini và meta frame Để xác định bản tin thuộc loại nào thì dựa vào bit F trong bản tin, nếu F=1thì bản tin thuộc loại full frame, còn F=0 thì có thể là mini hay meta frame

Loại

Mini Không yêu cầu bản tin

ACK từ IAX bên kia 4 bytes Vận chuyển dữ liệu thoại

Full Yêu cầu sự xác nhận từ bên kia 12 bytes Vận chuyển dữ liệu đòi hỏi độ tin cậy như bản tin báo hiệu

Meta Không yêu cầu bản tin

ACK từ IAX bên kia

Video frame:6 bytesTrunk frame:8 bytes

Vận chuyển video hay nhiều miniframe chỉ với một header

Trang 29

Tóm lại là IAX là giao thức dành cho VoIP mới nhất cho đến thời điểm này với nhiều ưu điểm hấp dẫn như:

• Tối thiểu sử dụng băng thông

• Trong suốt với NAT

• Hiệu quả với cơ chế trung kế

2.5 Kết luận

SIP ngày càng trở nên phổ biến và đã trở thành một giao thức báo hiệu chính của VoIP Vì vậy việc tiêu chuẩn hóa giao thức báo hiệu SIP là cần thiết Giao thức SIP cho phép thực hiện truyền thông liên doanh nghiệp đa phương tiện và cung cấp một cấp độ phát minh và lợi thế cạnh tranh mới

Giao thức này sẽ được sử dụng để hội tụ rất nhiều ứng dụng, thiết bị và cách thức truyền thông để tạo ra những tính năng và khả năng mới.Các lợi ích của SIP sẽ trở thành một bộ phận không tách rời của hệ thống truyền thông và mạng thông minh

Trang 30

Chương 3 GIỚI THIỆU VÀ CÀI ĐẶT ASTERISK

3.1 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 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

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 mạng 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 đồ họa GUI

• Thông tin hợp nhất

PBX không thực hiện được một chức

năng của IP-PBX: Web, Instant message,

E-mail…

IP-PBX có đầy đủ các chức năng của một PBX truyền thống (CTI, VoiceMail, ACA

và kết nối ISDN ra PSTN)

PBX đòi hỏi phải có một hệ thống mạng

điện thoại nội bộ

Cho phép thực hiện liên lạc nội bộ qua mạng LAN ngay cả khi chưa có hệ thống PBX

PBX truyền tín hiệu thoại trên hệ thống

đường điện thoại nội bộ Nếu muốn

truyền dữ liệu, bắt buộc phải có thêm hệ

IP-PBX truyền dữ liệu và thoại trên cùng một đường dây

Trang 31

thoại tương tự thoại khác nhau: điện thoại tương tự, điện thoại IP, máy tính cá nhân

Khả năng phát triển các loại hình dịch vụ

giá trị gia tăng kém

Có thêm nhiều dịch vụ giá trị gia tăng khác: telephone, e-mail, fax, web call back, web chat, instant messaging,

Mỗi đường dây thoại chỉ có thể thực hiện

được một cuộc gọi tại một thời điểm, do

đó không tiết kiệm băng thông

Tín hiệu trước khi chuyển đến đường truyền đã được thông qua các bộ nén và giải nén, băng thông cho mỗi cuộc gọi có thể được nén xuống còn 5,3 Kbits/s (chuẩn nén thoại G.723.1), thay vì 64 Kbits/s của thoại thường Do tính chất tiết kiệm băng thông như vậy nên với một đường dây thoại (CO line) có thể thực hiện được nhiều cuộc gọi hơn

Khó mở rộng, nâng cấp và bảo dưỡng Dễ dàng mở rộng, nâng cấp và bảo

dưỡng

Có thể đơn giản hoá quá trình triển khai tổng đài IP-PBX cho một doanh nghiệp như sau:

• Xây dựng mạng LAN

• Thiết lập hệ thống máy chủ và cài đặt phần mềm điều khiển IP-PBX

• Thiết lập các Gateway ra mạng PSTN hoặc Internet

• Thiết lập các đầu cuối VoIP

Bước thứ nhất là phức tạp nhất và đòi hỏi đầu tư lớn nhất nhưng thực ra lại đơn giản nhất vì đa số các doanh nghiệp đã có sẵn mạng LAN Bước thứ 2 quan trọng nhất, nhưng thực ra cũng chỉ đơn giản là cài đặt phần mềm lên một máy chủ Máy chủ này có thể là dành riêng cho IP-PBX hoặc cũng có thể được chia sẻ với các ứng dụng khác của doanh nghiệp Bước thứ 3 đòi hỏi phải mua thiết bị chuyên dụng để kết nối với mạng PSTN Gateway kết nối IP/PSTN thường là card PCI cắm trong máy chủ cộng với phần mềm điều khiển chuyên dụng

Các đầu cuối VoIP trong bước 4 có thể là phần mềm chạy ngay trên máy PC (là các Softfone như X-lite) hay là một thiết bị chạy độc lập (như IP Phone của Cisco)

và cũng có thể là các Mobile Fone hỗ trợ SIP

3.2 Tìm hiểu về Asterisk

Asterisk là hệ thống chuyển mạch mềm, là phần mề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

Trang 32

tổng đài PBX 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 đem đến cho người sử dụng tất

cả các tính năng và ứng dụng của hệ thống tổng đài PBX và cung cấp nhiều tính năng mà tổng đài PBX thông thường không có được, đó là sự kết hợp giữa chuyển mạch VoIP và chuyển mạch TDM, đó là khả năng mở rộng đáp ứng nhu cầu cho từng ứng dụng…

Asterisk là một phần mềm thực hiện chức năng tổng đài điện thoại PBX mang tính cách mạng, tin cậy, mã nguồn mở và miễn phí, biến 1 PC thông thường chạy hệ điều hành Linux thành 1 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à 1 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 hóa 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

Và hiện nay Asterisk vẫn tiếp tục được cộng đồng những người dùng trên thế giới phát triển mạnh mẽ

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 hoặc 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 với Remote Agents

• Gateway và Aggregation cho các hệ thống PBX

• Remote Office hay User Telephone Services

• PBX long distance Gateway

• Telemarketing Block

• Standalone Voicemail System

Hiện nay Asterisk đang trên đà phát triển nhanh được rất nhiều doanh nghiệp

Trang 33

thực hiện các cuộc gọi nội bộ của công ty Không gói gọn thông tin liên lạc trong công

ty mà các ứng dụng giao tiếp với mạng PSTN hoặc mạng VoIP (như voice777) cho phép gọi ra bất cứ số điện thoại nào có trên mạng PSTN Ngoài ra việc tích hợp vào các ứng dụng như CRM và hệ thống Outlook làm cho khả năng ứng dụng của Asterisk linh hoạt hơn đáp ứng nhu cầu cần thiết cho người sử dụng điện thoại

Asterisk thoạt đầu được phát triển trên GNU/Linux nền x86 (Intel), nhưng giờ đây nó cũng có thể biên dịch và chạy trên OpenBSD, FreeBSD và Mac OS X và Microsoft Windows

Asterisk là hệ thống chuyển mạch tích hợp vừa là công nghệ truyền thống TDM vừa là chuyển mạch VoIP Hình trên cũng cho thấy khả năng giao tiếp của hệ thống Giao tiếp với điện thoại analog thông thường, giao tiếp với thiết bị điện thoại VoIP, ngoài ra còn có thể giao tiếp với mạng PSTN và các nhà cung cấp VoIP khác

Trang 34

3.2.2 Kiến trúc cơ bản của 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, công nghệ đ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 Các ứng dụng thoại như chuyển mạch cuộc gọi, tương tác thoại, caller ID, voicemail, chuyển cuộc gọi…

Asterisk có một số chức năng chính đóng vai trò quan trọng trong hệ thống chuyển mạch cuộc gọi 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

• Chức năng 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, các chức năng được phát triển bởi cộng đồng phát triển asterisk

• Codec Translator xác nhận các kênh nén dữ liệu ứng với các chuẩn khác

Trang 35

• Tất cả các cuộc gọi định hướng qua hệ thống Asterisk đều thông qua các giao tiếp như SIP, Zaptel, IAX Nên hệ thống Asterisk phải đảm trách nhiệm

vụ liên kết các giao tiếp khác nhau đó để xử lý cuộc gọi

• Codec translator API: các hàm đảm nhiệm thực thi và giải nén các chuẩn

khác nhau như G711, GMS, G729…

• Asterisk Channel API: Giao tiếp với các kênh liên lạc khác nhau, đây là

đầu mối cho việc kết nối các cuộc gọi tương thích với nhiều chuẩn khác nhau như SIP, IAX, H323, Zaptel…

• Asterisk file format API: Asterisk tương thích với việc xử lý các loại file có

định dạng khác nhau như mp3, wav, gsm…

• 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…

Ngoài ra, Asterisk còn có thư viện Asterisk Gateway Interface (AGI, tương tự như CGI) - cơ chế kích hoạt ứng dụng bên ngoài, cho phép viết kịch bản phức tạp với một số ngôn ngữ như PHP hay Perl Nói chung, khả năng viết các ứng dụng tùy biến rất lớn

Trang 36

Đây là hệ thống chuyển mạch VoIP được xây dựng phục vụ các công ty có nhu cầu thực hiện trên nền tảng mạng nội bộ đã triển khai Thay vì lắp đặt một hệ thống PBX cho nhu cầu liên lạc nội bộ thì nên lắp đặt hệ thống VoIP điều này sẽ làm giảm chi phí đáng kể Hệ thống có thể liên lạc với mạng PSTN qua card giao tiếp TDM hoặc các gateway.

Một ngữ cảnh đặt ra ở đây là hiện tại công ty đã trang bị hệ thống PBX bây giờ cần trang bị thêm để đáp ứng nhu cầu liên lạc trong công ty sao cho với chi phí thấp nhất, giải pháp để thực hiện đó là trang bị hệ thống Asterisk và kết nối với hệ thống PBX đang tồn tại qua luồng E1 Ngoài ra để tăng khả năng liên lạc với mạng PSTN và VoIP khác, công ty có thể thực hiện kết nối với nhà cung cấp dịch vụ VoIP

Trang 37

3.2.4.2 Kết nối giữa các server Asterisk

Phương pháp trên ứng dụng rất hiệu quả cho các công ty nằm rãi rác ở các vị trị địa lý khác nhau nhằm giảm chi phí đường dài Ví dụ công ty mẹ có trụ sở đặt tại nước

Mỹ và các chi nhánh đặt tại Việt Nam với các địa điểm thành phố Hồ Chí Minh và Hà Nội Thông qua mạng WAN của công ty các cuộc gọi nội bộ giữa các vị trí khác nhau

sẽ làm giảm chi phí đáng kể

Trang 38

3.2.4.3 Các ứng dụng IVR, VoiceMail, Điện Thoại Hội Nghị

Ứng dụng thực hiện các server kết nối với hệ thống PSTN hay tổng đài PBX để triển khai các ứng dụng như tương tác thoại IVR Một ví dụ cho ứng dụng tương tác thoại đó là cho biết kết quả sổ số hay kiểm tra cước cuộc gọi giống dịch vụ 19001260 vậy Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phía thuê bao giống như chức năng hộp thư thoại của bưu điện thành phố Còn chức năng điện thoại hội nghị thiết lập cho nhiều máy điện thoại cùng nói chuyện với nhau

Trang 39

3.2.4.4 Chức năng phân phối cuộc gọi tự động ACD

ACD (Automatic Call Distribution): Phân phối cuộc gọi tự động Đây là chức năng ứng dụng cho nhu cầu chăm sóc khách hàng hay nhận phản hồi từ phía khách hàng Giả sử công ty có khả năng tiếp nhận cùng một lúc 10 cuộc gọi Như thế cuộc gọi thứ 11 gọi đến thì hệ thống giải quyết như thế nào? Bình thường thì sẽ nghe tín hiệu bận nhưng với chức năng phân phối cuộc gọi sẽ đưa thuê bao đó vào hàng đợi để chờ trả lời, trong khi chờ trả lời cuộc gọi thuê bao có thể nghe những bài hát hay do Asterisk cung cấp, trong lúc này nếu 1 trong 10 số điện thoại trở về trạng thái rỗi thì cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịch vụ 1080 hay 116 của bưu điện thành phố vậy

IAX là giao thức báo hiệu VoIP được phát triển bởi tác giả của phần mềm Asterisk để khắc phục những hạn chế trong giao thức SIP Không giống như giao thức SIP chuyển tải thoại và báo hiệu trên hai kênh khác nhau (out of band), IAX chuyển tải thoại và báo hiệu trên cùng một kênh (in band) IAX giải quyết được vấn đề NAT đề cập trên phần giao thức SIP Mặc khác IAX là giao thức tối ưu trong việc sử dụng băng thông, cho phép nhiều gói dữ liệu thoại trên cùng một IP header, cơ chế chuyển tải nhiều cuộc gọi trên cùng một gói IP được gọi là trung kế (Trunk)

Có thể giải thích thêm cơ chế trung kế như sau: giả sử Tôi cần gửi 5 bức thư tới người bạn của Tôi, Tôi sẽ có hai hình thức để thực hiện, thứ nhất là mỗi bức thư Tôi

bỏ vào một phong bì vậy tổng cộng tôi phải sử dụng 5 phong bì để gửi đi 5 bức thư,

Trang 40

cách thứ hai là Tôi bỏ 5 bức thư vào 1 phong bì và gửi đi vậy tổng cộng Tôi chỉ tốn 1 phong bì Qua phân tích trên, rõ ràng việc đưa 5 bức thư vào một phong bì gửi đi sẽ tiết kiệm hơn so với việc gửi 5 bức thư với 5 phong bì Cơ chế trên cũng giống như nhiều cuộc gọi được đóng thành gói và chuyển đi trên đường trung kế.

3.3 Cài đặt và cấu hình Asterisk

Tùy theo mục đích sử dụng và số lượng các user trong hệ thống mà thiết bị phần cứng được trang bị theo mức độ khác nhau Dưới đây là một số khuyến nghị theo cộng đồng Asterisk về cấu hình phần cứng cho Asterisk Server:

Mục đích Số lượng các kênh Cấu hình tối thiểu

vừa và lớn >15 Dual CPUs hoặc triển khai trên nhiều server

Có thể cài đặt Asterisk không cần kết nối mạng nếu có sẵn các gói phụ kiện, tuy nhiên do cần phải cập nhật hệ điều hành trước khi cài Asterisk nên tốt nhất là kết nối với đường truyền Internet Việc cài đặt nhanh hay chậm điều phụ thuộc vào tốc độ mạng Internet và cấu hình máy tính

Để cài đặt Asterisk, trước tiên chúng ta cần phải cài đặt hệ điều hành Linux trên máy tính của mình Có thể cài hệ điều hành Linux Fedora, CentOS, Redhat, hoặc Debian

Trong đồ án tốt nghiệp này, nhóm thực hiện đề tài sử dụng hệ điều hành Ubuntu Server 10.0.4 Quá trình chuẩn bị trước khi tiến hành cài đặt Asterisk được trình bày như sau

Cần thiết lập cho server một địa chỉ IP tĩnh để tiện cho việc truy cập vào giao diện web của Server Ở đây hệ thống Server có địa chỉ IP tĩnh là: 192.168.1.10

Ngày đăng: 11/11/2015, 14:56

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w