2009-01-30 28 views
11

Tôi cần thiết lập một hệ thống IVR đơn giản cho công ty của một người bạn sẽ cho phép người gọi điều hướng qua menu bằng cách bấm các phím của điện thoại. Kiểu giống như lịch trình xe buýt.thiết lập IVR với Asterisk

cho báo cáo lịch biểu ngày hôm nay '1', cho lịch biểu ngày mai '2' và , v.v.

Nó chỉ là hệ thống thông tin, tức là không có tuyến đường định hướng nào sẽ kết thúc với một người thực nhưng chỉ có tin nhắn âm thanh được phát.

Bây giờ, tôi chưa bao giờ thiết lập bất cứ điều gì như thế này trước đây và đã thực hiện một chút đào bới trên Google. Có vẻ như tôi sẽ có thể đạt được điều này bằng cách sử dụng Asterisk.

  • Tôi cần gì khác về phần cứng?
  • Máy chủ Linux đơn giản và tài khoản VOIP có nhà cung cấp ở Đức có đủ không?
  • VPS có xử lý tác vụ không?
  • Làm thế nào về nhiều cuộc gọi đến đồng thời?
  • Là những người được Asterisk xử lý?
+0

Có góc lập trình nào không? – Kev

+1

Tôi chưa biết ... bây giờ nó chỉ là công nghệ liên quan. Nhưng mọi người dường như háo hức muốn giúp đỡ và trả lời ... – Sebastian

Trả lời

16

Hoàn toàn có thể.

Những gì bạn cần biết:

  1. Asterisk có một số vấn đề với H323.Nếu nhà cung cấp của bạn cung cấp SIP, hãy yêu cầu họ cung cấp SIP thay thế.

  2. Bạn có thể tạo toàn bộ IVR trên kế hoạch quay số trong extensions.conf của mình, nhưng đối với các tác vụ phức tạp, tốt hơn nên sử dụng AGI. Đây là Perl hoặc Python hoặc bất kỳ tập lệnh ngôn ngữ nào triển khai logic IVR của bạn. Mỗi phiên AGI kéo dài một quy trình con, sử dụng FastAGI và trình nền mạng nếu bạn mong đợi các kết nối thường xuyên.

  3. Nhiều cuộc gọi đồng thời không phải là vấn đề, cài đặt Asterisk của tôi trên một máy tính đơn giản xử lý các cuộc gọi đồng thời .

  4. Những điều duy nhất mà có thể thực sự ảnh hưởng đến hiệu suất là âm thanh chuyển đổigiai điệu phát hiện.

    Để cải thiện hiệu suất, bạn nên:

    1. Stick với một codec (µLaw là tôi sử dụng), buộc tất cả SIP kết nối để sử dụng codec nào, và preconvert tất cả các file âm thanh của bạn để nó sử dụng sox -t ul. Ngay sau khi bạn thực hiện xong, tất cả các hoạt động của Asterisk sẽ đọc các byte tệp từ đĩa và gửi chúng qua mạng chỉ với gói cơ bản. Không có toán học, không có gì ngoại trừ các hoạt động đọc-quấn-gửi đơn giản.

    2. Yêu cầu nhà cung cấp của bạn phát hiện các tông màu ở bên cạnh và gửi cho bạn ngoài băng tần, sử dụng RFC 2833. Phát hiện âm thanh là một hoạt động tiêu tốn CPU, hãy để chúng tự làm.

    Cá nhân tôi chạy Asterisk trên 2,66 MHz Celeron IV với 2048 MB RAM, dưới Fedora 10 X86_64. 150 kết nối cùng một lúc hoạt động OK, không có sự chậm trễ.

    Lưu lượng truy cập tổng thể vào khoảng 9.6 KByte/sec cho mỗi kết nối. Đối với một VPS hiện đại, không có vấn đề gì cả.

+0

Bạn có nghĩ rằng IVR cũng có thể được thực hiện bằng cách sử dụng VPS thông thường có cài đặt Asterisk không? Hoặc tôi nên có được một máy chủ chuyên dụng? – Sebastian

+0

Xem bài đăng cập nhật – Quassnoi

+0

và bạn có thể đề xuất một số phần cứng (bảng) cho một hệ thống như vậy không? – sepehr

0

Tôi đã làm việc với IVR trong quá khứ nhưng chủ yếu là với các hệ thống lớn và chưa bao giờ sử dụng Asterisk. Tôi đã xem nhanh trang web của họ (http://www.asterisk.org/) mặc dù và có vẻ như rất nhiều thông tin, bạn đã kiểm tra ở đó chưa?

+0

yepp. Đã làm điều đó. Nhưng tôi muốn nghe từ ai đó đã làm những gì tôi muốn làm và ai có thể cho tôi biết về những biến chứng có thể xảy ra hoặc đề nghị thiết lập. – Sebastian

2

Đá hoa thị. Đối với một vài dòng đơn giản P3 hoặc tốt hơn sẽ làm. Đừng ảo hóa PBX; Asterisk dựa trên thời gian khá chính xác.

FreePBX giúp bạn dễ dàng thiết lập IVR - có giao diện người dùng dựa trên web và hỗ trợ một số công cụ Asterisk tuyệt vời trong hộp.

EDIT: FreePBX không phải là dấu sao - đó là giao diện đẹp tạo cấu hình cho bạn. Trixbox bao gồm nó theo mặc định nếu bạn muốn có một giải pháp điểm và bắn đơn giản.

Nếu tài khoản VoIP của bạn hỗ trợ nhiều dòng đến thì Asterisk sẽ sử dụng chúng tốt. Bạn cũng cần đủ băng thông Internet và QoS tốt. Đối với nhiều hơn một dòng trên một hệ thống kinh doanh, tôi sẽ nhấn mạnh vào một kết nối chuyên dụng, do đó bạn không kinh nghiệm bỏ học khi người dùng đang truy cập vào mạng.

+0

Bạn có nghĩ rằng IVR cũng có thể được thực hiện bằng cách sử dụng VPS thông thường có cài đặt Asterisk không? Hoặc tôi nên có được một máy chủ chuyên dụng? – Sebastian

+0

Nếu bạn đã cài đặt Asterisk ở đâu đó thì mọi phương tiện đều sử dụng nó. Một IVR cho một số ít các dòng sẽ khó đòi hỏi nhiều tài nguyên. Nếu bạn đang nói nhiều dòng (20+) thì hãy nghĩ về phần cứng chuyên dụng. –

+0

liên kết đến FreePBX trỏ đến Free-B-P-X. Người đăng có thể muốn khắc phục điều đó. –

0

nó không lập trình liên quan nhưng ...

Hãy xem trixbox.org, Nó hỗ trợ cấu hình từ cisco để ... điện thoại SNOM Asterisk của nó/mod FreePBX và tất cả mọi thứ dưới một giao diện người dùng tốt đẹp!

tôi có một nhà cung cấp ở Úc đã thêm chúng dưới dạng thân cây gsm, mất 3 giờ để thiết lập 4 điện thoại. IVR được hỗ trợ

Vấn đề duy nhất có thể là ... chất lượng giọng nói của bản ghi

0

Nó khá đơn giản. Tôi đang sử dụng sipgate.de làm nhà cung cấp cho dấu hoa thị của tôi. bạn cần thiết lập quay số.

điều này cũng khá đơn giản. hãy xem here. bạn cũng nên xem xét tệp extensions.conf. có một số mẫu bên trong. cũng là một mẫu phù hợp với vấn đề của bạn. để kết nối với sipgate, hãy nhìn vào knowlogebase của họ. có một số mẫu cho cấu hình dấu hoa thị.

sipgate miễn phí, ngoại trừ bạn đang thực hiện cuộc gọi đi.

2

Cách tốt nhất để tạo ứng dụng IVR là sử dụng VoiceXML được thiết kế bởi W3C.org (http://www.w3.org/TR/voicexml21/). Asterisk không đi kèm với trình duyệt VoiceXML nhưng có các công ty cung cấp cho Asterisk như SoftSyl Technologies (http://www.softsyl.com).

Các công ty như Cisco và Avaya cũng cung cấp trình duyệt VoiceXML nhưng không phải dành cho Asterisk.

1

Bạn có thể làm điều này trong kế hoạch quay số ...

[menu-main] 
exten => s,1,Noop() 
exten => s,n(msg),Background(ForTodayPress1TomorrPress2) 
exten => s,1,Goto(menu-today) 
exten => s,2,Goto(menu-tomorrow) 
exten => i,1,Playback(invalid) 
exten => i,n,Goto(msg) 
exten => t,1,Goto(msg) 

[menu-today] 
etc... 

[menu-tomorrow] 
etc... 

Hoặc như ai đó đã gợi ý bạn có thể làm điều đó trong bất kỳ ngôn ngữ có thể viết thư cho stdin và đọc từ thiết bị xuất chuẩn. Việc thực hiện phpagi là hương vị yêu thích của tôi. Nó có thể phù hợp với ví dụ này như vậy, nơi PHP đang được chạy trên một hộp riêng biệt để nó không ảnh hưởng đến PBX dưới bất kỳ loại tải nào.

[menu-main] 
exten => s,1,Noop() 
exten => s,n(msg),Background(ForTodayPress1TomorrPress2) 
exten => s,1,Goto(menu-today,s,1) 
exten => s,2,Goto(menu-tomorrow,s,1) 
exten => i,1,Playback(invalid) 
exten => i,n,Goto(msg) 
exten => t,1,Goto(msg) 

[menu-today] 
exten => s,1,Noop() 
exten => s,n,agi(http://myapache/agi/readschedule.php) 
exten => s,n,Hangup() 
1

Đối với IVR phức tạp hơn, bạn có thể thử Astive Toolkit, đặc biệt nếu bạn cần lặp lại cơ sở dữ liệu hoặc webservices.

2

Nếu bạn hoàn toàn mới, tôi khuyên bạn nên học FreeSWITCH thay vì Asterisk. Nó được cấu trúc tốt hơn nhiều, và cũng đi kèm với một số ví dụ dựng sẵn, bao gồm một menu IVR và cú pháp IVR khá đơn giản: http://wiki.freeswitch.org/wiki/IVR_Menu

Tôi đang chạy một cá thể FreeSWITCH trên máy chủ ảo Xen và nó chạy hoàn hảo với nhiều cuộc gọi đồng thời.

+0

BTW, ở dưới cùng là mô tả chi tiết về những gì tôi đã thực hiện: http://txlab.wordpress.com/tag/dvop- mạng lưới/ –

1

Thiết kế IVR trong dấu hoa thị không khó, nhưng có một chút "vách đá học tập" được kết hợp với việc khởi động và khởi động máy chủ Asterisk đầu tiên của bạn.

Như được người khác nêu, chất lượng cuộc gọi là mọi thứ. Trả tiền để có bản ghi âm chuyên nghiệp được thực hiện cho lời nhắc IVR và thông báo của bạn. Đảm bảo rằng bạn đang sử dụng các mã 64k như uLaw và aLaw; GSM (điện thoại di động) có thể rẻ trên băng thông, nhưng nó phá vỡ sự mong đợi của khách hàng về chất lượng.

Tôi đặc biệt khuyên bạn nên đặt IVR vào ngữ cảnh kế hoạch quay số riêng của nó và sau đó thực hiện cuộc gọi trực tiếp vào đó. Điều đó làm cho việc quản lý những thứ như lựa chọn menu dễ dàng hơn nhiều. Đối với mỗi nhóm phụ tùy chọn, hãy sử dụng ngữ cảnh kế hoạch quay số khác.

Hãy thử và giữ menu của bạn "cạn". Nếu phải mất hơn ba tùy chọn trình đơn để có được thông tin mà khách hàng của bạn đang tìm kiếm, họ rất có khả năng bị treo máy hoặc chỉ cần bấm "0" để nói chuyện với một người. Điều đó đánh bại điểm của IVR của bạn.

Nếu bạn định làm điều gì đó khá mát mẻ với việc tra cứu cơ sở dữ liệu hoặc xác thực tài khoản hoặc tương tự, tôi khuyên bạn nên sử dụng "AGI" - Giao diện Cổng Asterisk - ứng dụng. Yêu thích cá nhân của tôi là "Adhearsion", kết hợp tốt với Ruby/Rails ở phía DB/Web.

Nếu bạn cần trợ giúp hoặc biết thêm thông tin, hãy cho tôi biết.

0

Nếu bạn muốn thiết lập Asterisk IVR, bạn cũng có thể sử dụng một số công cụ dựa trên web Kéo và Thả để làm đơn giản (như trong ví dụ) hoặc IVR phức tạp (quản lý tập lệnh hoặc IVR cơ sở dữ liệu) . Một tùy chọn là Cally Square. Có một cái nhìn ở đây: http://www.callysquare.com/