Chia sẻ kinh nghiệm
CÁC THÔNG SỐ SIP TRUNK CỦA TỔNG ĐÀI ASTERISK
Có
2 mô hình SIP Trunk được sử dụng trên tổng đài ASTERISK: Trunk peer (Peer-to-Peer): Với mô hình này thì cả 2 tổng đài đều đứng ngang hàng với nhau và dùng IP tĩnh để xác thực: Trunk register (Client-Server): Với mô hình này thì trong hai tổng
đài đấu nối với nhau sẽ có một tổng đài đóng vai trò Client và một tổng đài
đóng vai trò Server. Mô hình này xác thực bằng cách Client sẽ gởi thông tin
username và password được chứa trong Trunk detail và Trunk registeration String (có dạng:
username:password@host/ID) lên Server: |
Hướng dẫn cài đặt FREEPBX 14 trên CENTOS 7
Disable SELINUX: sử dụng câu lệnh sau: sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux Reboot lại server sau đó kiểm tra lại bằng lệnh: sestatus Update server của bạn trước khi cài đặt FREEPBX 14: yum -y update yum -y groupinstall core base "Development Tools" Tạo user Asterisk trên server: adduser asterisk -m -c "Asterisk User" Cấu hình Firewalld: Mở port 80 để có thể truy cập đến giao diện quản trị sau khi hoàn tất quá trình cài đặt FREEPBX 14 firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload Cài đặt các gói phần mềm cơ bản chuẩn bị cho cài đặt Freepbx 14: yum -y install automake gcc gcc-c++ ncurses-devel openssl-devel libxml2-devel unixODBC-devel libcurl-devel libogg-devel libvorbis-devel speex-devel spandsp-devel freetds-devel net-snmp-devel iksemel-devel corosynclib-devel newt-devel popt-devel libtool-ltdl-devel lua-devel sqlite-devel radiusclient-ng-devel portaudio-devel neon-devel libical-devel openldap-devel gmime-devel mysql-devel bluez-libs-devel jack-audio-connection-kit-devel gsm-devel libedit-devel libuuid-devel jansson-devel libsrtp-devel git subversion libxslt-devel kernel-devel audiofile-devel gtk2-devel libtiff-devel libtermcap-devel ilbc-devel python-devel bison tftp-server httpd sox tzdata mysql-connector-odbc mariadb mariadb-server fail2ban jwhois xmlstarlet ghostscript libtiff-tools patch e2fsprogs mpg123 lame gstreamer mongodb-server Cài đặt PHP 5.6: rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm yum remove php* yum install php56w php56w-pdo php56w-mysql php56w-mbstring php56w-pear php56w-process php56w-xml php56w-opcache php56w-ldap php56w-intl php56w-soap Cài đặt nodejs: curl -sL https://rpm.nodesource.com/setup_8.x | bash - yum install -y nodejs Cấu hình ODBC để kết nối với cơ sở dữ liệu: cat >> /etc/odbc.ini << EOF [MySQL-asteriskcdrdb] Description = MariaDB connection to 'asteriskcdrdb' database driver = MySQL server = localhost database = asteriskcdrdb Port = 3306 Socket = /var/lib/mysql/mysql.sock option = 3 Charset=utf8 EOF Cài đặt và cấu hình Asterisk cùng các phần mềm phụ thuộc: Tải các gói cài đăt: cd /usr/src wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.10.tar.gz Cài đặt DAHDI: cd /usr/src tar xvfz dahdi-linux-complete-current.tar.gz tar xvfz libpri-current.tar.gz rm -f dahdi-linux-complete-current.tar.gz libpri-current.tar.gz cd dahdi-linux-complete-* make all make install make config cd /usr/src/libpri-* make make install Cài đặt jansson: cd /usr/src tar vxfz jansson.tar.gz rm -f jansson.tar.gz cd jansson-* autoreconf -i ./configure --libdir=/usr/lib64 make make install Cài đặt Asterisk: cd /usr/src tar xvfz asterisk-14-current.tar.gz rm -f asterisk-14-current.tar.gz cd asterisk-* contrib/scripts/install_prereq install ./configure --libdir=/usr/lib64 --with-pjproject-bundled contrib/scripts/get_mp3_source.sh make menuselect Chọn các option cần thiết hoăc để mặc định sau đó lưu lại và thoát. make make install make config ldconfig chkconfig asterisk off Thiết lập quyền cho Asterisk: chown asterisk. /var/run/asterisk chown -R asterisk. /etc/asterisk chown -R asterisk. /var/{lib,log,spool}/asterisk chown -R asterisk. /usr/lib64/asterisk chown -R asterisk. /var/www/ Cài đặt và cấu hình FREEPBX 14: Cấu hình Apache: sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf systemctl restart httpd.service Cài đặt FREEPBX: cd /usr/src wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz tar xfz freepbx-14.0-latest.tgz rm -f freepbx-14.0-latest.tgz cd freepbx ./start_asterisk start ./install -n Bạn đã hoàn thành việc cài đặt Freepbx 14, sau đó có thể truy cập vào http://ip_của_server để truy cập giao diện quản lý của Freepbx |
Hướng dẫn cài đặt Freepbx 13 trên CentOS 6
Hướng dẫn cài đặt Freepbx 13 trên CentOS 6 Mở file /etc/sysconfig/selinux và chuyển thành disabled. Hoặc có thể chạy lệnh sau: sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux Reboot server, sau đó kiểm tra bằng lệnh: sestatus . Kết quả phải là: SELinux status: disabled Update các phần mềm trên server trước khi bắt đầu cài đặt Freepbx: yum -y update yum -y groupinstall core base "Development Tools" Cài đặt các gói phần mềm cơ bản chuẩn bị cho cài đặt Freepbx: yum install gcc gcc-c++ lynx bison mysql-devel mysql-server php php-mysql php-pear php-mbstring php-xml tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel subversion kernel-devel git subversion kernel-devel php-process crontabs cronie cronie-anacron wget vim php-xml uuid-devel libtool sqlite-devel unixODBC mysql-connector-odbc libuuid-devel binutils-devel php-ldap Iptables Nên tạm thời tắt Iptables để quá trình cài đặt Freepbx được ổn định Kiểm tra trạng thái Iptables: chkconfig iptables --list Tắt iptables: chkconfig --level 0123456 iptables off service iptables stop MySQL Auto start Mysql chkconfig --level 345 mysqld on Khởi động Mysql service mysqld start Apache Auto start Apache chkconfig --level 345 httpd on Khởi động Apache: service httpd start Cài đặt PearDB: pear channel-update pear.php.net pear install db-1.7.14 Tạo user cho Asterisk: adduser asterisk -M -c "Asterisk User" Cài đặt Asterisk và các phần mềm phụ thuộc trước khi cài đặt Freepbx: cd /usr/src wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz Cài đặt Dahdi: cd /usr/src tar xvfz dahdi-linux-complete-current.tar.gz cd dahdi-linux-complete-* make all make install make config Cài đặt Libpri: cd /usr/src tar xvfz libpri-current.tar.gz cd /usr/src/libpri-* make make install Cài đặt Asterisk: cd /usr/src tar xvfz asterisk-13-current.tar.gz cd asterisk-* contrib/scripts/install_prereq install contrib/scripts/get_mp3_source.sh make menuselect make make install make config ldconfig Download các file âm thanh bổ sung cho Freepbx: mkdir -p /var/lib/asterisk/sounds cd /var/lib/asterisk/sounds wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz tar xvf asterisk-core-sounds-en-wav-current.tar.gz rm -f asterisk-core-sounds-en-wav-current.tar.gz tar xfz asterisk-extra-sounds-en-wav-current.tar.gz rm -f asterisk-extra-sounds-en-wav-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-g722-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-g722-current.tar.gz tar xfz asterisk-core-sounds-en-g722-current.tar.gz rm -f asterisk-core-sounds-en-g722-current.tar.gz tar xfz asterisk-extra-sounds-en-g722-current.tar.gz rm -f asterisk-extra-sounds-en-g722-current.tar.gz Cấu hình permission cho Freepbx: chown asterisk. /var/run/asterisk chown -R asterisk. /etc/asterisk chown -R asterisk. /var/{lib,log,spool}/asterisk chown -R asterisk. /usr/lib64/asterisk chown -R asterisk. /var/www/ Cấu hình Apache sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf service httpd restart Cài đặt Freepbx cd /usr/src wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz tar xfz freepbx-13.0-latest.tgz cd freepbx ./start_asterisk start ./install -n Đến đây bạn đã cài đặt Freepbx 13 thành công, sau đó có thể truy cập vào http://ip_của_server để truy cập giao diện quản lý của Freepbx |
Hướng dẫn cài đặt Freepbx 12 trên CentOS 6
Cách xử lý lỗi "You do not appear to have the sources for the 2.6.32-358.6.2.el6.x86_64 kernel installed."
Trong quá trình cài đặt Asterisk trên Centos, bạn cần phải cài Dahdi và rất thường hay bị lỗi Kernel dạng như sau: [root@shark dahdi-linux-2.6.2]# make make -C drivers/dahdi/firmware firmware-loaders make[1]: Entering directory `/usr/src/dahdi-linux-2.6.2/drivers/dahdi/firmware' make[1]: Leaving directory `/usr/src/dahdi-linux-2.6.2/drivers/dahdi/firmware' You do not appear to have the sources for the 2.6.32-358.6.2.el6.x86_64 kernel installed. make: *** [modules] Error 1 Để xử lý lỗi này bạn chỉ cần cài thêm gói kernel-devel của version kernel bạn đang thiếu. Ví dụ với lỗi trên thì sẽ cài: yum install kernel-devel-2.6.32-358.6.2.el6.x86_64 Restart lại server sau đó cài lại Dadhi xem được không nhé! Good luck :) |
Tổng hợp các softphone miễn phí cho anh em đam mê VoIP
Sau đây là các softphone miễn phí để test cuộc gọi VoIP, qua mấy năm làm VoIP thì mình tích góp được thế này, bạn nào biết thêm thì cập nhật giúp mình với nhé: + cấu hình Zoiper đơn giản, hỗ trợ nhiều tài khoản1) Zoiper: http://www.zoiper.com/en/voip-softphone/download/zoiper3 + hỗ trợ giao thức SIP, IAX, XMPP + có TLS + xài được trên Windows, Mac, Linux, Android, iOS 2) Jitsi: https://jitsi.org/Main/Download#stableline + cấu hình Jitsi đơn giản, hỗ trợ đăng nhập nhiều tài khoản và tích hợp sẳn rất nhiều API từ các nhà cung cấp dịch vụ VoIP lớn + hỗ trợ giao thức SIP, XMPP + có TLS, ZRTP, DTLS-SRTP + xài tốt trên Windows, Mac, Ubuntu + đang được phát triển liên tục 3) Blink: http://icanblink.com/download.phtml + cấu hình Blink đơn giản, hỗ trợ nhiều tài khoản SIP, là softphone tốt nhất để test TLS, SRTP, ZRTP + hỗ trợ SIP MESSAGE + xài tốt trên Windows, riêng Mac thì phải trả phí :( + hỗ trợ SIP SIMPLE (IM, Presence) + xài được trên Windows, Mac + hỗ trợ Windows, iOS, Android + hỗ trợ IM + hỗ trợ Windows, Android 7) Linphone: http://www.linphone.org/downloads-for-desktop.html + cấu hình Linphone đơn giản, hỗ trợ nhiều tài khoản SIP + hỗ trợ IM, Presence + hỗ trợ Windows, Mac, Ubuntu, Android, iOS 8) Qutecom: http://qutecom.org/ + cấu hình Qutecom đơn giản, hỗ trợ nhiều tài khoản SIP, nhưng rất hay bị crashed + hỗ trợ Windows, Mac, Ubuntu + gần đây không thấy tiếp tục phát triển + cấu hình Ekiga đơn giản, hỗ trợ nhiều tài khoản + hỗ trợ SIP, H323 + hỗ trợ IM, Presence + chạy được trên Windows, Ubuntu 10) Csipsimple: https://play.google.com/store/apps/details?id=com.csipsimple&hl=en + cấu hình Csipsimple hơi phức tạp, có tích hợp sẳn API của một số nhà cung cấp dịch vụ VoIP lớn + hỗ trợ SIP, SIP SIMPLE + có TLS, SRTP/ZRTP + sử dụng tốt trên Android |
Cấu hình chat giữa 2 sip clients trên Asterisk
Bài này sẽ hướng dẫn cách cấu hình chat giữa 2 sip clients trên Asterisk server. Yêu cầu Asterisk phiên bản từ 11 trở về sau: # Và thêm vào nội dung sau: /usr/local/libcd /usr/src wget https://iksemel.googlecode.com/files/iksemel-1.4.tar.gz tar xf iksemel-1.4.tar.gz cd iksemel-1.4 ./configure make make install Mở module res_xmpp trên Asterisk cd /usr/src/asterisk-11.14.1/ ./configure make menuconfig make make install vi /etc/ld.so.conf.d/libiksemel.conf Sau đó gõ lệnh: ldconfig Kiểm tra xem module xmpp đã được load thành công hay chưa: localhost*CLI> module show like res_xmpp.so Module Description Use Count res_xmpp.so Asterisk XMPP Interface 0 1 modules loaded Cấu hình Dialplan trong file extensions.conf: exten => _.,1,NoOp(SMS receiving dialplan invoked) exten => _.,n,NoOp(To ${MESSAGE(to)}) exten => _.,n,NoOp(From ${MESSAGE(from)}) exten => _.,n,NoOp(Body ${MESSAGE(body)}) exten => _.,n,Set(ACTUALTO=${CUT(MESSAGE(to),@,1)}) exten => _.,n,MessageSend(${ACTUALTO},${MESSAGE(from)}) exten => _.,n,NoOp(Send status is ${MESSAGE_SEND_STATUS}) exten => _.,n,GotoIf($["${MESSAGE_SEND_STATUS}" != "SUCCESS"]? sendfailedmsg) exten => _.,n,Hangup() exten => h,1,Hangup() ; ; Handle failed messaging exten => _.,n(sendfailedmsg),Set(MESSAGE(body)="[${STRFTIME(${EPOCH},, %d%m%Y-%H:%M:%S)}] Your message to ${EXTEN} has failed. Retry later.") exten => _.,n,Set(ME_1=${CUT(MESSAGE(from),<,2)}) exten => _.,n,Set(ACTUALFROM=${CUT(ME_1,@,1)}) exten => _.,n,MessageSend(${ACTUALFROM},ServiceCenter) exten => _.,n,Hangup() exten => h,1,Hangup() Nếu sử dụng Xlite, bạn có thể gặp lỗi sau |
Hướng dẫn cài đặt Siremis trên Ubuntu 12.04
Trước khi cài đặt Siremis, bạn cần cài đặt Kamailio phiên bản 4.1 theo như hướng dẫn trong bài viết sau http://www.tel4vn.com/solutions/huongdancaidatkamailio41trenubuntu1204 Tiếp theo ta cần cài đặt Apache2 và PHP5: apt-get install apache2 a2enmod rewrite apt-get install php5 php5-mysql php5-gd cd /var/www wget http://siremis.asipto.com/pub/downloads/siremis/siremis-4.1.0.tgz tar zxvf siremis-4.1.0.tgz cd siremis-4.1.0/ Cài đặt alias cho Apache2: make apache-confSau đó, chạy lệnh sau để lấy file cấu hình Apache2 của Siremis: siremis-x.y.z# make apache-conf # siremis apache conf snippet ... Alias /siremis "/var/www/siremis-x.y.x/siremis" <Directory "/var/www/siremis-x.y.x/siremis"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all <FilesMatch "\.xml$"> Order deny,allow Deny from all </FilesMatch> <FilesMatch "\.inc$"> Order deny,allow Deny from all </FilesMatch> </Directory>Sau đó bạn có thể copy config này vào Apache2: vi /etc/apache2/sites-available/siremis # Paste nội dung config ở trên vào file này cd /etc/apache2/sites-enabled/ ln -s ../sites-available/siremis . Bước tiếp theo là tạo file .htaccess và cấu hình của Siremis: siremis-x.y.z# make prepare updating htaccess file... updating app.inc file... doneTa cần cấp quyền write vào cái files sau cho user của Apache2
siremis-x.y.z# make chownTruy cập vào Mysql và thực hiện lệnh sau: GRANT ALL PRIVILEGES ON siremis.* TO siremis@localhost IDENTIFIED BY 'siremisrw';Các công tác chuẩn bị đã hoàn tất, việc tiếp theo là cài đặt Siremis trên giao diện web: http://yourwebserver.com/siremis/ Bước 1: Hệ thống sẽ kiểm tra các phần được yêu cầu trước khi cài đặt Siremis, bạn cần kiểm tra lại và cài đặt các phần còn thiếu cho đến khi tất cả các phần được checked. Bước 2: Cấu hình tài khoản truy cập vào database Kamailio và Siremis. Lần đầu tiên cài đặt Siremis, bạn cần tick vào cả 4 phần này:
Bước 3: Hiển thị kết quả cài đặt, cùng với các thư mục được quyền write và thông tin truy cập database Bước 4: Kết thúc quá trình cài đặt Siremis, hệ thống hiển thị tài khoản đăng nhập vào Siremis. Đăng nhập vào Siremis: Và đây là giao diện của Admin: Bạn cũng có thể chuyển sang giao diện của SIP Admin: Chúc mừng bạn đã cài đặt Siremis 4.1 thành công, việc tiếp theo là cài đặt các thành phần khác, và mình sẽ cập nhật bài viết về các thành phần này trong thời gian sớm nhất.
|
Hướng dẫn cài đặt Kamailio trên Centos 6
Với một server mới thì việc đầu tiên là update packages sau đó reboot để apply: yum updatereboot 1) Công tác chuẩn bị Trước khi cài đặt Kamailio, bạn cần cài đặt các package cơ bản: yum install gcc make flex bison mysql-server mysql-client mysql-devel Việc cài đặt Kamailio ở các version khác có thể cần thêm các packages ngoài danh sách ở trên, bạn cần vào trang web của Kamailio để kiểm tra lại. 2) Cài đặt Kamailio cd /usr/src wget http://www.kamailio.org/pub/kamailio/latest/src/kamailio-4.1.6_src.tar.gz tar zxvf kamailio-4.1.6_src.tar.gz cd kamailio-4.1.6 make FLAVOUR=kamailio include_modules="db_mysql" cfg Compile Kamailio: make all make install Sau khi cài đặt Kamailio xong thì file cấu hình của Kamailio sẽ được lưu trữ tại: /usr/local/etc/kamailio/kamailio.cfg Chú ý: Mặc định Kamailio sẽ listen ở 127.0.0.1, vì thế bạn cần thay đổi 1 xíu phần listen trong file cấu hình của Kamailio để các softphone có thể register được: listen=udp:0.0.0.0:5060 # Nếu bạn chỉ muốn Kamailio listen ở ip thì bạn thay 0.0.0.0 bằng ip address của server, trong bài này mình sử dụng listen=udp:192.168.2.200:5060 3) Tạo database cho Kamailio: Set password cho mysql, chẳng hạn password là "TEL4VN.COM": mysqladmin -u root password 'TEL4VN.COM' Thay đổi thông số của db sẽ được tạo ra dành cho Kamailio, bằng cách mở file /usr/local/etc/kamailio/kamctlrc và enable các dòng sau: SIP_DOMAIN=192.168.2.200 # nếu bạn không có domain thì có thể input ip của server Kamailio như thế này DBENGINE=MYSQL DBHOST=localhost # nếu bạn sử dụng db trên cùng server với Kamailio thì set localhost DBNAME=kamailio # tên của db sẽ được tạo ra, bạn có thể thay đổi tên tuỳ ý DBRWUSER=kamailio # user sẽ được tạo ra để Kamailio connect tới db, bạn có thể thay đổi tên user tuỳ ý DBRWPW="kamailiorw" # password của user ở trên, bạn không nên để giá trị mặc định DBROUSER="kamailioro" DBROPW="kamailioro" FIFOPATH="/tmp/kamailio_fifo" Sau khi quy định thông số của db xong, ta sẽ chạy script để tạo db. /usr/local/sbin/kamdbctl create Hệ thống sẽ yêu cầu bạn nhập root password và confirm vài câu hỏi, bạn chỉ cần input yes (y) là được. Ví dụ: MySQL password for root: INFO: test server charset INFO: creating database kamailio ... INFO: granting privileges to database kamailio ... INFO: creating standard tables into kamailio ... INFO: Core Kamailio tables succesfully created. Install presence related tables? (y/n): y INFO: creating presence tables into kamailio ... INFO: Presence tables succesfully created. Install tables for imc cpl siptrace domainpolicy carrierroute userblacklist htable purple uac pipelimit mtree sca mohqueue rtpproxy? (y/n): y INFO: creating extra tables into kamailio ... INFO: Extra tables succesfully created. Install tables for uid_auth_db uid_avp_db uid_domain uid_gflags uid_uri_db? (y/n): y INFO: creating uid tables into kamailio ... INFO: UID tables succesfully created. Việc cuối cùng sẽ là tạo 2 SIP accounts và thực hiện cuộc gọi: kamctl add 1001 1234 # ext: 1001, password:1234 kamctl add 1002 1234 # ext: 1002, password: 1234 Ta cũng cần kiểm tra table subscriber xem 2 SIP accounts đã được tạo ra thành công hay chưa Đến đây bạn có thể login 2 SIP accounts này trên softphone (Xlite, 3CX, PortGo Lite, Qutecom,...) và gọi với nhau. Chúc mừng bạn đã cài đặt Kamailio thành công, nhiệm vụ tiếp theo của bạn là tìm hiểu thông tin về các modules bạn muốn sử dụng, tại http://www.kamailio.org/docs/modules/4.1.x/ Bạn cũng có thể tìm hiểu thêm về giao diện quản lý cho Kamailio, đó Siremis |