Showing posts with label Voip IP. Show all posts
Showing posts with label Voip IP. Show all posts

October 11, 2015

Tích hợp Microsoft Lync, Asterisk và skype



Hướng dẫn install tích hợp Microsoft Lync, Asterisk và skype

Theo đó trong giải pháp này mục tiêu đặt ra gồm:

1. Cài đặt AsteriskNow, cấu hình các SIP extension và lập dial-plan cho hệ thống – việc chọn AsteriskNow cho giải pháp này nhằm đơn giản hóa việc cài đặt cho người dùng.

2. Cài đặt và cấu hình Skype trên Asterisk (SFA), và đảm bảo rằng các SIP extension có thể định tuyến vào ra thông qua Skype

3. Triển khai Lync 2010 Server và tích hợp nó với Asterisk

Thực hiện các cuôc gọi đến và đi từ các Asterisk SIP extesion (Lync và SFA)

Thực hiện các cuôc gọi đến và đi từ Lync client (SIP và SFA)

Và đây là mô hình cho ý tưởng triển khai trên ( mô hình khá hay cho các tổ chức đang sử dụng Asterisk và có ý muốn đưa Lync 2010 vào hệ thống)

Hình ảnh

Giới thiệu về SFA

Theo như thị trường hiện nay Skype cung cấp 2 giải pháp về voiceIP cho các doanh nghiệp vừa và nhỏ:

1. Skype for SIP: đây là một sản phẩm phần mềm cho phép các khách hàng sử dụng Skype liên lạc với hệ thống của chúng ta lúc này từ số Skype chúng ta sẽ redirect cuộc gọi vào tổng đài bên trong bằng phương thức SIP. Đây là danh sách một số nhà cung cấp PBX hỗ trợ http://www.skype.com/intl/en-us/busines ... solutions/

2. Skype for Asterisk (SFA) đây là một add on điều khiển kênh dành cho tổng đài Asterisk, nó cho phép tạo, nhận và chuyển các cuộc gọi từ Skype thông qua Asterisk. Đặc biệt nhờ nó mà hoàn toàn có thể tạo ra các cuộc gọi đến mạng PSTN tất nhiên phải trả phí cho dịch vụ.

Nếu hệ thống bạn đang vận hành đang có một tổng đài Asterisk thì chắc hẳn bạn phải quan tâm đến sự khác biệt giữa hai giải pháp trên:

1. Về giá thành – SFS khá là đắt với $6.95 cho một channel tức càng mua nhiều kênh bạn càng nhận được nhiều cuộc gọi và cộng thêm với phí trả cho mỗi cuộc gọi.

2. Về chức năng – SFA không tính theo channel mà tính theo user. Tiền bản quyền cứ tính $66 cho mỗi user trong hệ thống của bạn. Một user có thể tính là tương đương một kênh. Trong bài này sẽ kích hoạt một số user cấu hình gọi ra ngoài bằng user SIP hoạc từ Lync đối với việc gọi vào, bạn có thể dùng group của Asterisk hoặc của Lync tùy.

Yêu cầu của bài LAB

1. BàI viết sử dụng Windows Server 2008 R2 chạy Hyper-V để tạo máy ảo Lync Server 2010 và Asterisk Now ( bạn có thể dung VMware để thay thế).

2. Ram: 2GB cho Lync Server 2010 và 512 cho AsteriskNow

3. Bạn sẽ cần phải tạo một tài khoản Skype business

4. Mua license cho SFA từ Skype

Lab

Download một bản AsteriskNOW, sau đó triển khai trên một máy ảo với cac bước sau:

Khai báo tên máy ảo như hình:

Hình ảnh

Khai báo dung lượng Ram
Hình ảnh

Không kết nối tới mạng ảo của Hyper-V, việc chúng ta cần là tao một card mạng Legacy khi chạy Linux

Hình ảnh

Chọn ổ đĩa nơi lưu trữ ổ ảo VHD

Hình ảnh

Moute đĩa ISA AsteriskNOW vừa down vào máy ảo

Hình ảnh

Chọn Finish

Hình ảnh

Trước khi qua tới việc cài đặt vào setting máy ảo vừa tạo thêm vào một card mạng legacy và chắc rằng nó phải được kết nối với mạng ảo của bạn.

Hình ảnh

Khởi động máy ảo, chọn lựa chọn thứ 5 trong quá trình boot

Hình ảnh

Chọn Yes khi yêu cầu tạo mới ổ đĩa và format trắng toàn bộ

Hình ảnh

Tiếp đến là việc phân vùng cài đặt để mặc định và chọn Yes. Sau đó tiếp tục chọn thông tin về vị trí địa lý Next cuối cùng khai báo password admin

Hình ảnh

Chọn Install.

Hình ảnh

Khi cài đặt hoàn tất, unmout đĩa ISO bằng thanh công cụ trên Hyper-V ( Meida -> Drive –> Eject) . Sau đó reboot lại hệ điều hành.

Hình ảnh

Sau khi reboot

Hình ảnh

Login với tài khoản admin và bắt đầu cấu hình network bằng cách đánh lệnh System-config-network. Bạn sẽ thấy giao diện sau:

Hình ảnh

Cấu hình thông số card mạng eth0 với IP tĩnh 192.168.10.30

Hình ảnh

Save lại và chuyển qua cấu hình DNS. Trong bài này DNS server là 192.168.10.253 nhưng bạn hoàn toàn có thể cấu hình theo yêu cầu riêng của bạn. Ở đây hostname sử dụng cho server này là ast.jacobs.local với .jacobs.local là domain được tạo. Cuối cùng Save và Quit

Hình ảnh

Lúc này reboot lại lần nữa để hoàn tất cập nhật với lệnh Shutdown –r now. Việc tiếp theo là kiểm tra từ local ra internet được chưa với lệnh ping nếu gặp trục trặc gì thì nên kiểm tra lại các thông số địa chỉ IP hoặc DNS.

Khi mọi thứ sẵn sàng chúng ta way lại với giao diện command line, đánh lệnh “Yum install register” chọn Y cho việc cài đặt. Đây là gói cho phép active SFA license.

Hình ảnh

Tiếp theo update version cho AsteriskNOW dùng lệnh “yum update asterisk16” và chấp nhận tất cả các gói update.

Hình ảnh

Hoàn tất mọi update cho Asterisk thì chúng ta sẽ quay sang cài đặt addon SFA dùng lệnh “ yum install asterisk16-skypeforasterisk” và chọnYes cho tất cả các gói yêu cầu. Cài đặt xong tiến hành reboot lần nữa “type shutdown –r”

Hình ảnh

Sau khi reboot vào với quyền root và đăng kí cho module SFA dùng key đã mua từ Digium chẳng hạn. Dùng lệnh “Register” trong list hiện ra chọn dòng 1 ( Digium Products) sau đó chọn dòng 7 “Skype for Asterisk”.

Qua bước này một hộp thoại hiện ra yêu cầu nhập key vào và đăng ký. Chọn Space Bar bỏ qua và chấp nhận thông báo yêu cầu. Khi hoàn tất thông tin cá nhân license của bạn sẽ được ghi vào var/lib/asterisk/license/ (nên backup lại để đảm bảo an toàn).Reboot lại lần cuối cùng shutdown –r

Hình ảnh

Trong việc cấu hình chúng ta cần phải chỉnh lạI thông số trong một số tập tin cần thiết. Bài viết sử dụng SSH client (WinSCP) để kết nối vớI Asterisk chỉnh sửa các tập tin trên Windows.

Cấu hình WinSCP

Hình ảnh

Sau khi thay đổi thông tin thư mục remote mặc định như hình dưới thi chúng ta phải save lại

Hình ảnh

Save xong bạn click nút Login. Khi đăng nhập lần đâu tiên nó sẽ yêu cầu bạn save key của Asterisk, bạn sẽ click Yes để thêm host key vào cache. Cuối cùng là nhập passowrd

Hình ảnh

Bạn có thể dùng cái này để backup file license đã nói lúc nãy trong /var/lib/asterisk/licenses với file cần backup có đuôi .lic. Xong xuôi bạn quay lai thư muc chính /etc/Asterisk đây là nơi chứa các file cấn cấu hình.

Chúng ta sẽ có 3 file cần edit ( chỉ việc chuột phải –> Edit)

1. Sip.conf – file cấu hình chính của Asterisk ( các trunk / các extension)

2. Extension.conf – nơi chứa các dial plan của bạn

3. Chan_skype.conf – các thông số cho SFA

Trước tiên mở file Sip.conf, thay đổi giống như nội dung bên dưới (trước hết là nên backup lại file này trước khi làm gi với nó)

Trích dẫn:
[general]
context=default______________________; Default context for incoming calls
allowoverlap=no______________________; Disable overlap dialing support. (Default is yes)
udpbindaddr=0.0.0.0______________________; IP address to bind UDP listen socket to (0.0.0.0 binds to all)
bindport=5060
bindaddr=0.0.0.0
tcpenable=yes______________________; Enable server for incoming TCP connections (default is no)
tcpbindaddr=0.0.0.0______________________; IP address for TCP server to bind to (0.0.0.0 binds to all interfaces)
srvlookup=yes______________________; Enable DNS SRV lookups on outbound calls
notifyhold = yes______________________; Notify subscriptions on HOLD state (default: no)

[1001]______________________; A locally attached SIP extension
type=friend
callerid=1001
canreinvite=no
dtmfmode=rfc2833
mailbox=1001
disallow=all
allow=ulaw
transport=udp
secret=password
host=dynamic
context=default

[Lync_Trunk]______________________; Our Lync trunk
type=friend
port=5068______________________; This is the default Lync Server TCP listening port
host=192.168.10.29______________________; This should be the IP address of your Lync Server
dtmfmode=rfc2833
context=from-lync
qualify=yes
transport=tcp,udp


Tiếp đến là file Extension.conf
Trích dẫn:
[general]
static=yes
writeprotect=no

[globals]

[default]

;dialling other extensions starting with 1 followed by three digits
exten=>_1XXX,1,Dial(SIP/${EXTEN},20)
exten=>_1XXX,n,hangup()
;send every digit after 9 to Skype for Asterisk
exten=>_9.,1,Dial(Skype/${EXTEN:1},20)
exten=>_9.,n,hangup()

;dialling other extensions starting with 2 followed by three digits
exten=>_2XXX,1,Dial(SIP/Lync_Trunk/${EXTEN},20)
exten=>_2XXX,n,hangup()

[from-lync]

;dialling other extensions starting with 1 followed by three digits
exten=>_1XXX,1,Dial(SIP/${EXTEN},20)
exten=>_1XXX,n,hangup()
;send other calls to Skype for Asterisk
exten=>_.,1,Dial(Skype/${EXTEN},20)
exten=>_.,n,hangup()

Dial Plan này sẽ kích hoạt việc routing giữa Lync , Asterisk và SFA. Cuối cùng chúng ta sẽ cần cấu hình file chan_skype.conf

Bạn sẽ cần cấu hình thay đổi tham số default_user là Skype ID của bạn.

;default_user=james_bond changed to (general section)

Trích dẫn:
default_user=imapcblog


và tiếp đến là nhập password trong phần secret

;secret=goldeneye changed to (user section)

Trích dẫn:
secret=myskypepassword


Thay đổi tên context giống với tên trong mục dialplan

;context=demo changed to (user section)

Trích dẫn:
context=default


Tiếp đến route inbound các cuộc gọi vào extension của Lync

;exten=s changed to (user section)

Trích dẫn:
exten=2001


Sau khi cấu hình hoàn tất bạn reboot lại một lần nữa. Chúng ta giờ đây sẽ chuyển qua cấu hình trên Lync nên xem qua ở đây trước các bước cài đặt. Đến bước Lync Topology Builder bạn sẽ chọn hàng đầu tiên là Download your Topology from the existing deployment save lại file này. Sau đó thêm vào một cổng PSTN

Hình ảnh

Hình ảnh

Một khi đã hoàn tất thêm cổng PSTN bạn sẽ cần phải republish mô hình mạng với cấu hình mới, chọn Finish

Hình ảnh

Đề cho phép các cuộc gọi giữa các hai bên Lync và Asterisk trên thế giới chúng ta cần phải định nghĩa việc routing voice trong Lync Server 2010. Mở Lync Server Control Panel và vào mục Voice Routing . Ở đây chúng ta sẽ cấu hình Dial Plan , Voice Policy, Route và PSTN.

Trước hết nội dung route của tôi ở đây là 1xxxn tới Asterisk , +44xxxxxxxxxxx tới Asterisk và 2xxx vào internal

Hình ảnh

Tiếp theo là chính sách cho voice,

Hình ảnh

Chúng ta sẽ có các route như sau

Hình ảnh

Cuối cùng là vấn đề sử dụng PSTN

Hình ảnh

Hình ảnh

Bước này chúng ta sẽ tạo 1 user test với số điện thoai là tel:2001

Kiểm tra thử bằng việc cấu hình X-lite

Ở đây X-lite đang gọi đến Lync

Hình ảnh

Và ngược lại là Lync đến X-lite

Hình ảnh

Và tiếp theo là thử gọi từ Lync vào Skype

Hình ảnh

October 10, 2015

Error when install Asterisk

Any time you install additional packages, you will need to run the ./configure script in your Asterisk source in order for the new package to be detected.

-bash: wget: command not found

This message means you have not installed the wget application, which is required for you to download packages from the Asterisk downloads site, for Asterisk to download sound files, or for DAHDI to download firmware for hardware.

Ubuntu CentOS 
sudo apt-get install wgetsudo yum -y install wget

configure: error: no acceptable C compiler found in $PATH

This means that the Asterisk configure script is unable to find your C compiler, which typically means you have not yet installed one. Be sure to install the gcc package for your system.

UbuntuCentOS 
sudo apt-get install gccsudo yum install gcc

make: gcc: command not found

This means that the Asterisk configure script is unable to find your C compiler, which typically means you have not yet installed one. Be sure to install the gcc package for your system.

UbuntuCentOS 
sudo apt-get install gccsudo yum install gcc

configure: error: C++ preprocessor “/lib/cpp” fails sanity check

This error is presented by the Asterisk configure script when you have not installed the GCC C++ preprocessor.

UbuntuCentOS 
sudo apt-get install g++sudo yum install gcc-c++

configure: error: *** Please install GNU make. It is required to build Asterisk!

This error is encountered when you have not installed the make application, which is required to build Asterisk.

UbuntuCentOS 
sudo apt-get install makesudo yum install make

configure: *** XML documentation will not be available because the ‘libxml2’ development package is missing.

You will encounter this error when the XML parser libraries are not installed. These are required by Asterisk 1.8 and later, since console documentation (e.g., when you run core show application dial on the Asterisk CLI) is generated from XML.

UbuntuCentOS 
sudo apt-get install libxml2-devsudo yum install libxml2-devel

configure: error: *** termcap support not found

This error happens when you don’t have the ncurses development library installed, which is required by menuselect and for other console output in Asterisk.

UbuntuCentOS 
sudo apt-get install ncurses-devsudo yum install ncurses-devel

You do not appear to have the sources for the 2.6.18-164.6.1.el5 kernel installed.

You will get this error when attempting to build DAHDI without having installed the Linux headers, which are required for building Linux drivers.

UbuntuCentOS 
sudo apt-get install linux-headers-`uname -r`sudo yum install kernel-devel

E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

If you encounter this error it’s likely that you forgot to prepend sudo to the start of the command you were running, which requires root permissions.


ISSUE: Asterik need SQLITE3 , when it doesn't find this then shows the following warnings -

configure: WARNING: *** Asterisk now uses SQLite3 for the internal Asterisk database.
configure: WARNING: *** Please install the SQLite3 development package.
And the configure fails.

Fix:
yum install sqlite, sqlite-devel

configure: error: *** termcap support not found (on modern systems, this typically means the ncurses development package is missing)

fix:
# yum install ncurses-devel 

October 9, 2015

How to insert a previous backup on Elastix

You installed a new Elastix 2.4.0 and would like to restore backups from the old installation.
Resolution:
  • you access https://serverip/index.php?menu=backup_restore and you can notice that no restore options are available (because no backups exist, yet)
  • SSH to the Elastix box
  • from the SSH CLI, FTP to a box where you have stored the old backups
  • lcd to /var/www/backup
  • get the backup from the FTP server (bin, hash, get filename.tar)
  • re-access https://serverip/index.php?menu=backup_restore and select the backup file.
  • Press “Proceed”

Reset Elastix Web Interface Admin Password

This requires that you can log into the server at the console, or via SSH. If you dont have the login details to log into the console, or ssh in, you will need to reset the root password.

After logged in, to reset the admin account password for the Elastix web interface using below command:

elastix-admin-passwords --change

Then input new mysql password and new admin elastix password

DONE