26 02

Xây dựng hệ thống tổng đài ảo mini phần 3



Như chúng ta đã biết freePBX có thể dùng SIP trunk để kết nối đến
    - Một GSM gateway để thực hiện cuộc gọi ra và tiếp nhận cuộc gọi đến trên các sim số di động
    - Một freePBX khác hoặc bất cứ một tổng đài IP nào khác để thực hiện cuộc gọi giữa các chi nhánh.
    - Một nhà cung cấp dịch vụ để có thể dùng các số di động, hoặc số cố định làm số tổng đài

Trong bài viết này chúng ta sẽ khởi tạo kết nối freePBX gateway Dinstar có 8 khe cắm SIM để thực hiện cuộc gọi ra qua 2 SIM số di động được cắm ở khe 1 và khe 2. Ngoài ra chúng tôi cũng hướng dẫn các bạn cài đặt lời chào tự động (IVR) trên Gateway để hướng dẫn người gọi đến công ty có thể nói chuyện với đúng bộ phận mình. Mô hình kết nối như đã mô tả ở phần 1 như hình vẽ dưới dây


Mô hình kết nối freePBX tới GSM gateway

Cấu hình gateway Dinstar UC-2000

Bước 1: Cấu hình mạng và kiểm tra các thông số

Vào cấu hình Network Configuration, chọn sub-menu Local Network và đặt thông số như hình sau:


Cấu hình mạng cho gateway Dinstar

Lưu ý sau khi cấu hình xong vào mục Tools->restart để khởi động lại GW. Cắm SIM vào các khe cắm số 0 và số 1 trên GW sau đó kiểm tra xem GW đã nhận SIM chưa bằng cách vào System Information và xem bảng Mobile Information Nếu các SIM đều có sóng và status là Mobile Registered thì mới thực hiện tiếp theo (xem hình sau)

Kiểm tra cấu hình SIM trên Dinstar GW


Bước 2: Cấu hình sip trunk


Vào mục Call Configuration chọn SIP configuration rồi cấu hình như mục sau. Các tham số khác không có trong hình dưới đây thì để default. Lưu ý sau khi cấu hình xong vào mục Tools->restart để khởi động lại GW 

Dinstar UC-2000 cấu hình sip trunk
   

Sau đó các bạn cấu hình một SIP trunking để kết nối đến freePBX. IP của free PBX là 192.168.1.111. Vào mục Call Configuration -> SIP Trunk configuration rồi cấu hình như sau:


Cấu hình sip trunk cho Dinstar GW

Bước 3: Cấu hình cuộc gọi đi


Vào mục Call Configuration / IP -> Tel Routing, thiết lập 2 routing cho 2 cổng SIM 0 và SIM 1 như dưới đây.


Cấu hình Dinstar UC-2000 cuộc gọi ra

Lưu ý: Chúng ta có thể cấu hình tất cả các cuộc gọi ra đến từ SIP trunk sẽ được đi qua SIM 0 hoặc có thể phân loại cuộc gọi (ví dụ gọi đến mạng Mobifone thì đi qua sim 1, gọi đến mạng Viettel, đi qua SIM 2 và gọi đến mạng Vinaphone thì đi qua SIM 3) Cấu hình như vậy sẽ tiết kiệm chi phí cuộc gọi vì gọi nội mạng sẽ rẻ hơn là gọi liên mạng. Chúng ta cũng có thể định tuyến theo kiểu 1-1 có nghĩa là extension 0 sẽ gọi qua SIM 0, extention 1 sẽ gọi qua SIM 1.... Để định tuyến từng cuộc theo yêu cầu như vậy, các bạn mở chức năng Advance Rules và định nghĩa prefix để xác định điều kiện gọi ra. Source Prefix là để lọc các cuộc gọi theo extension, còn Destination Prefix là để định nghĩa theo đầu số nhận cuộc gọi. Ví dụ trong hình trên, phần Advance Rules chúng ta có định nghĩa các cuộc gọi từ extention 0 sẽ đi qua SIM 1. Nếu chúng ta không khai báo Advanced Rules thì cuộc gọi sẽ đi theo Destination (các cổng) được khai báo bên trên.

Bước 4:  Cấu hình cuộc gọi đến (Tel to IP)


Vào mục Call Configuration / Tel -> IP Routing, định nghĩa các routing cho cuộc gọi đến như hình sau

Cấu hình cuộc gọi đến Dinstar


Lưu ý: Chúng ta có thể tạo một port group để định tuyến tất cả các cuộc gọi đến trên tất cả các SIM đều đi qua SIP trunk đã tạo ở mục 2. Tuy nhiên, trong ví dụ này chúng ra tạo riêng từng routing, cho từng cổng SIM ví dụ SIM 0 thì đi qua SIP trunk 1, SIM 1 thì đi qua SIP trunk 2 trong trường hợp mà GW được kết nối với nhiều hơn 1 PBX.  Ngoài ra cũng có thể dùng chức năng Advance  Rules để định nghĩa chi tiết hơn các cách định tuyến. Chẳng hạn có thể định tuyến tất cả các cuộc gọi đến SIM 0 thì sẽ đi đến extension 0. 


Cấu hình freePBX


Khởi tạo các extension theo thiết kế


Trong phần 1 chúng ta đã tạo các extension 1010 và 1020 để gọi nội bộ và test chức năng của tổng đài. Tuy nhiên để làm theo toplogy đã thiết kế ở đầu bài viết này, chúng ta sẽ xóa hết các extension thử nghiệm đó và tạo lại 4 extention để cấp cho các phòng ban trong công ty. Ext-1 là phòng kinh doanh, Ext-2 là phòng kế toán, Ext-3 là phòng kỹ thuật, các yêu cầu khác thì sẽ rout đến Ext-0 là lễ tân hoặc nhân viên trực tổng đài.

Cấu hình extension tiêu chuẩn

Cấu hình SIP trunk


Bây giờ chúng ta sẽ tạo một SIP trunk để kết nối đến Dinstar UC-2000 đã cấu hình ở các bước trên để tiếp nhận cuộc gọi và thực hiện các cuộc gọi ra. Vào menu Connectivity --> Trunk bấm Add trunk -> Add SIP (chan_pjsip) Trunk và cấu hình như hình vẽ sau:


Cấu hình sip trunk cho freePBX


Lưu ý, trong tab GENERAL, tham số Maximum Channels là số cuộc gọi đồng thời thực hiện trên trunking, nếu như chúng ta kết nối đến gateway thì nên đặt số này bằng số lượng SIM cắm vào GW, còn nếu chúng ta kết nối đến một tổng đài ảo khác hoặc tổng đài của nhà cung cấp dịch vụ thì nên giới hạn con số này dựa trên băng thông, cũng như performance xử lý của tổng đài. Với cuộc gọi qua Internet thì nên giới hạn tối đa là 8, với cấu hình nhỏ gọn của Raspberry thì cũng nên giới hạn xử lý 4 cuộc gọi đồng thời là vừa đủ.

Định tuyến cuộc gọi đến


Vào Connectivity --> Inbound Routes, sau đó bấm Add Inbound Route và cấu hình như hình vẽ sau


Định tuyến cuộc gọi đến sip trunk của freePBX


Lưu ý các tham số: DID numberCaller ID number là các số điện thoại gọi đến do GW chuyển tiếp sang, chúng ta có thể  dùng các tham số này để chặn các cuộc gọi không mong muốn và để routing đúng đến máy lẻ cần gọi. Còn Destination là để định nghĩa các cuộc gọi đến các extention nhất định. Trong hình trên chúng ta khai báo No Destination vì sẽ sử lý cuộc gọi đến bằng IVR trả lời tự động, sau đó người gọi sẽ bấm trực tiếp số máy lẻ. Còn nếu các bạn muốn cuộc gọi được route đến thẳng một Ext nào đó thì khai báo vào phần destination này.

Định tuyến cuộc gọi đi


Vào Connectivity --> Outbound Routes, sau đó bấm Add Outbound Route, và điền tham số như hình sau

cáu hình outbout route


Lưu ý:  ở tab Route Settings, các tham số Trunk Sequence for Matched Routes dùng để định nghĩa thứ tự lựa chọn trunk gọi ra trong trường hợp có khai báo nhiều trunking. Còn trong tab Dial Patterns định nghĩa các mẫu (sample) gọi ra cho từng cuộc gọi. Một số tổng đài vật lý trước đây thường hay định nghĩa đầu 9 để gọi ra ngoài ví dụ muốn gọi số 090333 8888 thì chúng ta sẽ phải quay số 9. 090333 8888. Trong trường hợp của bài vieetsnayf, chúng ta định nghĩa prefix 0ZX có nghĩa là chúng ta quay số 090333 8888 trực tiếp sẽ được route qua trunking của GW. Vì 0 là cuộc gọi có số 0 ở đầu tiên, Z được hiểu là tập các số từ 1 đến 9, X được hiểu là tập các số từ 0 đến 9.

Thử nghiệm các cuộc gọi đi đến


Sau các bước cấu hình gateway Dinstar UC-2000 và tổng đài ảo freePBX như trên, chúng ta đã có thể thực hiện các cuộc gọi đi và đến 2 số SIM di động cắm trên Gateway. Với cuộc gọi ra thì từ softphone (máy tính, smartphone) chúng ta gọi qua app và chỉ cần bấm số điện thoại di động cần gọi là cuộc gọi sẽ đi ra ngoài. Còn với cuộc gọi đến, chúng ta sẽ nhận được một lời chào tự động bằng tiếng Anh với nội dung là "Please dial extension number..." nghĩa là bấm số máy lẻ cần gặp ..., chúng ta bấm tiếp số 1,2,3 hoặc 0 để được route đến các extention tương ứng.

Cài đặt lời chào tự động


Tạo file giọng nói bằng công cụ AI


Bây giờ chúng ta sẽ tạo một lời chào với nội dung "Chào mừng bạn đến với văn phòng công ty ABC, để gặp phòng kinh doanh nhấn phím 1, để gặp phòng kỹ thuật nhấn phím 2, để gặp phòng kế toán nhấn phím 3, để gặp điện thoại viên nhấn phím 0." Hiện nay có nhiều website AI chẳng hạn như Viettel AI, FPT AI cung cấp các công cụ chuyển đổi text to speech để có thể chuyển đổi đoạn text nói trên thành file giọng nói. Các bạn tham khảo một số link dưới đây:

Với các công cụ này các bạn sẽ tạo được ra file giọng nói có phần mở rộng là .WAV. Lưu ý là file lời chào cần save ở dạng .WAV, đóng gói (sampled) ở tần số 8khz, mã hóa 16 bit và dung lượng không vượt quá 940k. Nếu các bạn thấy file của mình chưa đáp ứng các yêu cầu này thì cần dùng thêm một công cụ convert âm thanh để chuyển đổi về đúng khuôn dạng này trước khi tải lên gateway.

Tải file giọng nói lên gateway


Các bạn đăng nhập lại vào gateway Dinstar UC-2000, sau đó làm theo 3 bước sau để tải file giọng nói lên gateway, thay thế cho lời chào tự động bằng tiếng Anh

1) Vào Tools --> File Upload và upload file như ví dụ ở hình sau

Tải file trả lời tự động lên dinstar


2) Vào Call Configuration --> Media Parametter, cấu hình theo hình sau:

Tải file trả lời tự động lên dinstar

3) Sau đó vào Tools -> Restart để khởi động lại GW


Đến đây là hoàn thành việc cài lời chào tự động và toàn bộ công việc setup một tổng đài mini cho văn phòng của bạn. Các bạn có thể gọi đến số máy 098-984-8886 để trải nghiệm, và nếu cần tư vấn thêm về giải pháp tổng đài này vui lòng gọi đến số máy 090 326 0271