Road to Asterisk-GUI on QNAP TS-110
[i=s] 本帖最後由 角色 於 2012-10-20 02:54 編輯 [/i]我们先安装Asterisk,然后再安装Asterisk-GUI。
下面所说的安装适用ARM或ATOM CPU的QNAP NAS。
1、 先把旧的Asterisk 1.4.22删掉。
2、 如果新安装,那么你要安装QPKG的Optware Package。
3、 用putty进入你的NAS,一般用port 22,然后输入你的NAS IP。 (login: admin, password:你的NAS密码)
4、 进入了NAS,输入ipkg是有反应,如果没有那么你用NAS里的Web Admin安装QPKG Optware Package。
5、 因为要用Subversion Version Control Software,可以用ipkg安装[code]ipkg install svn
Installing svn (1.7.6-1) to root...
...
...
...
Configuring svn
Configuring zlib
Successfully terminated.
[/code]6、 安装ipkg的optware-devel package,[code]ipkg install optware-devel
...
...
...
Configuring tar
update-alternatives: Linking //opt/bin/tar to /opt/bin/gnutar
Configuring tcl
Configuring wget-ssl
Successfully terminated.
[/code]7、 去Asterisk官方网站“[url]http://www.asterisk.org/downloads[/url]”,选出你需要的版本,copy tarball link,然后下载[code][/opt] # cd /opt
[/opt] # mkdir Source
[/opt] # cd Source
[/opt/Source]# mkdir asterisk
[/opt/Source]# cd asterisk
[/opt/Source/asterisk] # wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.16.0.tar.gz[/code]8、 下载后,我们用tar command把tarball解开[code][/opt/Source/asterisk] # tar xvf asterisk-1.8.16.0.tar.gz[/code]9、 Compile之前,要set好environment variables[code]
[/opt/Source/asterisk] # export PATH=/opt/bin:$PATH
[/opt/Source/asterisk] # export LDFLAGS="-L/opt/lib"
[/opt/Source/asterisk] # export CFLAGS="-I/opt/include"
[/opt/Source/asterisk] # export LD_LIBRARY_PATH=/opt/lib
[/code]10、 Configure安装路径"--prefix=/opt"[code]
[/opt/Source/asterisk] # cd asterisk-1.8.16.0
[/opt/Source/asterisk/asterisk-1.8.16.0] # ./configure --prefix=/opt
[/code]11、 Configure中出现下面error[code]configure: error: *** termcap support not found (on modern systems, this typically means the ncurses development package is missing)[/code]12、 安装screen package里带有termcap library, (参考网站:[url]http://discypus.jp/wiki/?PC%2FQNAP%20TurboNAS[/url]) (我还有安装了newt and newt-devel packages)[code]ipkg install screen[/code]13、 再次执行configure, 最后成功得出:
[attach]1538[/attach]
14a、ipkg install newt ncurses ncurses-dev packages otherwise error will come out when execute make menuselect
14b、 然后make menuselect,出现下面的图片: (现在我们什么都不暂不选择,按exit)
[attach]1537[/attach]
15a、 幸好,没有error,不然的话,又要安装其他packages (要花一个小时才能把source code compiled完)
15b、make install, it gives
[attach]1541[/attach]
16、 输入“make install”,然后你就得到下图:
[attach]1542[/attach]
17、 执行“make samples”[code][/opt/Source/asterisk/asterisk-1.8.16.0] # make samples[/code]18、 执行“/opt/sbin/asterisk”
19、 进入Asterisk的command line mode (第一次,因为系统要set一些parameters,所以太快你不到,你要执行二次才开到)[code][/] # /opt/sbin/asterisk -rvvvv
Asterisk 1.8.16.0, Copyright (C) 1999 - 2012 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
== Parsing '/opt/etc/asterisk/asterisk.conf': == Found
== Parsing '/opt/etc/asterisk/extconfig.conf': == Found
Connected to Asterisk 1.8.16.0 currently running on QNAP (pid = 28804)
Verbosity is at least 4
-- Remote UNIX connection
QNAP*CLI>
[/code]到这里Asterisk的安装完成,怎样自动开机后可以自动实行Asterisk,下第三贴会讨论。 [i=s] 本帖最後由 角色 於 2012-10-7 21:33 編輯 [/i]
安装Asterisk-GUI
由于我们打算安装在/opt之下的directory,而Asterisk-GUI的default settings都是在root “/”目录下安装,所以比较麻烦。
1、用putty进入NAS系统,进入/opt/Source[code][~] # cd /opt/Source/
[/opt/Source] #
[/code]2、 用SVN checkout最新的asterisk-gui。用Subversion Version系统,你可以有最新的asterisk-gui更加,不需要用tarball。从下图,你可以看到你的revision是5220。[code]
svn checkout http://svn.digium.com/svn/asterisk-gui/trunk asterisk-gui
...
...
...
A asterisk-gui/install-sh
U asterisk-gui
Checked out revision 5220.
[/code]3、 Change directory to asterisk-gui
4、 Execute "./configure --prefix=/opt"
5、 Edit Makefile by adding the sentences in orange oval as follows: (目的就是把所有的文件都在/opt之下)
[attach]1558[/attach]
[attach]1559[/attach]
6、 Make,it gives[code][/opt/Source/asterisk-gui] # make
+------- Asterisk-GUI Build Complete -------+
+ Asterisk-GUI has successfully been built, +
+ and can be installed by running: +
+ +
+ make install +
+-------------------------------------------+
[/opt/Source/asterisk-gui] #
[/code]7、 Make install, it gives
[attach]1560[/attach]
8、Edit /opt/etc/asterisk/manager.conf as follows:
[general]
1. enabled=yes
2. webenabled = yes
[admin]
secret=admin
read=system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan
write=system,call,agent,user,config,command,reporting,originate
9、 Edit /opt/etc/asterisk/http.conf as follows:
[general]
enabled=yes
bindaddr=0.0.0.0
prefix=asterisk
enablestatic=yes
10、 在asterisk-gui directory,执行make checkconfig去检测一下你的settings是否正确,如果没有问题,那么你会得到下面图片:
[attach]1561[/attach]
11、Asterisk要重新启动,先把旧的asterisk program杀掉,然后再启动一个新的,那么之前改动的东西才能生效。[code][/opt/Source/asterisk-gui] # !ps
ps -aux | grep asterisk
10126 admin 568 R grep asterisk
28804 admin 15220 S /opt/sbin/asterisk
[/opt/Source/asterisk-gui] # kill 28804
[/opt/Source/asterisk-gui] # !ps
ps -aux | grep asterisk
10131 admin 568 R grep asterisk
[/opt/Source/asterisk-gui] # /opt/sbin/asterisk
[/code]12、用Firefox browser, 输入[url]http://192.168.1.4:8088/asterisk/static/config/index.html[/url], it gives
[attach]1562[/attach]
13、 输入 user name: admin and password: admin,然后按login
[attach]1563[/attach]
14、 你会看到下面的信息:
[attach]1564[/attach]
15、安装上面11、的方法把asterisk重新启动。
16、再重新登入和login,你会看到下面画面不断loop,
[attach]1565[/attach]
[attach]1566[/attach]
[attach]1567[/attach]
17、 主要修改的地方非常多,主要都在/opt/var/lib/asterisk。
18、 先现在/opt/var/lib/asterisk/scripts下的文件做修改:[code]~/scripts/detectdahdi.sh
--5 OUTPUTFILE="/etc/asterisk/dahdi_guiread.conf"
++5 OUTPUTFILE="/opt/etc/asterisk/dahdi_guiread.conf"
~/scripts/dldsoundpack
--10 SOUND_BASE="/var/lib/asterisk/sounds"
++10 SOUND_BASE="/opt/var/lib/asterisk/sounds"
--85 echo "DoneDoneDone" >> /var/lib/asterisk/static-http/config/sysinfo_output.html
++85 echo "DoneDoneDone" >> /opt/var/lib/asterisk/static-http/config/sysinfo_output.html
~/scripts/editmisdn.sh
--10 MISDNCONF="/etc/misdn-init.conf"
++10 MISDNCONF="/opt/etc/misdn-init.conf"
--11 MISDNFILE="/etc/asterisk/applymisdn.conf"
++11 MISDNFILE="/opt/etc/asterisk/applymisdn.conf"
~/scripts/editzap.sh
--11 ZAPCONF="/etc/zaptel.conf"
++11 ZAPCONF="/opt/etc/zaptel.conf"
--15 ZAPCONF="/etc/dahdi/system.conf"
++15 ZAPCONF="/opt/etc/dahdi/system.conf"
--18 FILENAME="/etc/asterisk/applyzap.conf"
++18 FILENAME="/opt/etc/asterisk/applyzap.conf"
~/scripts/listfiles
--3 SYSINFO_OUTPUT="/var/lib/asterisk/static-http/config/sysinfo_output.html"
++3 SYSINFO_OUTPUT="/opt/var/lib/asterisk/static-http/config/sysinfo_output.html"
~/scripts/mastercsvexists
--3 MASTERCSV="/var/log/asterisk/cdr-csv/Master.csv"
++3 MASTERCSV="/opt/var/log/asterisk/cdr-csv/Master.csv"
--4 STATICHTTP="/var/lib/asterisk/static-http/"
--4 STATICHTTP="/opt/var/lib/asterisk/static-http/"
--11 if [ -f /var/log/asterisk/cdr-csv/Master.csv ]; then
++11 if [ -f /opt/var/log/asterisk/cdr-csv/Master.csv ]; then
-- 13 ln -s $MASTERCSV /var/lib/asterisk/static-http/config/`basename $MASTERCSV`
++ 13 ln -s $MASTERCSV /opt/var/lib/asterisk/static-http/config/`basename $MASTERCSV`
~/scripts/registerg729.sh
--9 INPUTFILE="/etc/asterisk/g729reginfo.conf"
++9 INPUTFILE="/opt/etc/asterisk/g729reginfo.conf"
--10 OUTPUTFILE="/etc/asterisk/g729reginfo_tabs.conf"
++10 OUTPUTFILE="/etc/asterisk/g729reginfo_tabs.conf"
~/scripts/takebackup
--2 /bin/tar -cf $1 /etc/asterisk /etc/localtime
++2 /bin/tar -cf $1 /opt/etc/asterisk /etc/localtime
--5 /bin/tar -cf "${SF}"_sounds.tar /var/lib/asterisk/sounds/voicemail /var/lib/asterisk/sounds/record
++5 /bin/tar -cf "${SF}"_sounds.tar /opt/var/lib/asterisk/sounds/voicemail /opt/var/lib/asterisk/sounds/record
[/code] [i=s] 本帖最後由 角色 於 2012-10-9 06:38 編輯 [/i]
19、 还有修改下面的文件:[code]
~/static-http/core-en_US.xml
--3785 exten => 1234,1,MP3Player(/var/lib/asterisk/playlist.m3u)
++3785 exten => 1234,1,MP3Player(/opt/var/lib/asterisk/playlist.m3u)
--5469 <para>Uses some of the sound files stored in <directory>/var/lib/asterisk/sounds</directory> to construct a phrase
++5469 <para>Uses some of the sound files stored in <directory>/opt/var/lib/asterisk/sounds</directory> to construct a phrase
--11048 <note><para>If (and only if), in <filename>/etc/asterisk/asterisk.conf</filename>, you have
++11048 <note><para>If (and only if), in <filename>/opt/etc/asterisk/asterisk.conf</filename>, you have
~/static-http/config/upload_abe_overlay.html
--39 var overlay_disk_Path = '/var/lib/asterisk/gui-overlay/';
++39 var overlay_disk_Path = '/opt/var/lib/asterisk/gui-overlay/';
~/static-http/config/js/index.js
--195 u.new_action('append', 'post_mappings' , 'uploads', '/var/lib/asterisk/sounds/imageupdate' ) ;
++195 u.new_action('append', 'post_mappings' , 'uploads', '/opt/var/lib/asterisk/sounds/imageupdate' ) ;
--297 sessionData.directories.asteriskConfig = ASTERISK_CONF.getProperty('astetcdir') || '/etc/asterisk/' ;
++297 sessionData.directories.asteriskConfig = ASTERISK_CONF.getProperty('astetcdir') || '/opt/etc/asterisk/' ;
--298 sessionData.directories.astvarlibdir = ASTERISK_CONF.getProperty('astvarlibdir') || '/var/lib/asterisk/' ;
++298 sessionData.directories.astvarlibdir = ASTERISK_CONF.getProperty('astvarlibdir') || '/opt/var/lib/asterisk/' ;
--299 sessionData.directories.AGIBIN = ASTERISK_CONF.getProperty('astagidir') || '/var/lib/asterisk/agi-bin/' ;
++299 sessionData.directories.AGIBIN = ASTERISK_CONF.getProperty('astagidir') || '/opt/var/lib/asterisk/agi-bin/' ;
--568 // ASTGUI.systemCmdWithOutput( "ls /var/lib/asterisk/" , function(a){
++568 // ASTGUI.systemCmdWithOutput( "ls /opt/var/lib/asterisk/" , function(a){
~/static-http/config/js/flashupdate.js
--22 var uImage_uploadpath = "/var/lib/asterisk/sounds/imageupdate";
++22 var uImage_uploadpath = "/opt/var/lib/asterisk/sounds/imageupdate";
--27 var overlay_disk_Path = '/var/lib/asterisk/sounds/asteriskoverlay/';
++27 var overlay_disk_Path = '/opt/var/lib/asterisk/sounds/asteriskoverlay/';
--172 ASTGUI.systemCmdWithOutput( "ls /var/lib/asterisk/sounds/a*" , function(a){
++172 ASTGUI.systemCmdWithOutput( "ls /opt/var/lib/asterisk/sounds/a*" , function(a){
--173 if( a.contains('/var/lib/asterisk/sounds/asteriskoverlay') ){
++173 if( a.contains('/opt/var/lib/asterisk/sounds/asteriskoverlay') ){
~/static-http/config/js/backup.js
--186 //parent.astmanEngine.run_tool("rm /etc/asterisk/* -rf ", callback=function(){ } );
++186 //parent.astmanEngine.run_tool("rm /opt/etc/asterisk/* -rf ", callback=function(){ } );
--287 parent.ASTGUI.systemCmd( "tar -chf " + bkpPath + bkpfile + ' ' + ' /etc/asterisk', function(){
++287 parent.ASTGUI.systemCmd( "tar -chf " + bkpPath + bkpfile + ' ' + ' /opt/etc/asterisk', function(){
~/static-http/config/js/hardware.js
--394 parent.ASTGUI.dialog.waitWhile("Please check if <B>ztscan</B> is installed ? <BR> /etc/asterisk/ztscan.conf not found");
++394 parent.ASTGUI.dialog.waitWhile("Please check if <B>ztscan</B> is installed ? <BR> /opt/etc/asterisk/ztscan.conf not found");
--466 parent.ASTGUI.dialog.waitWhile("/etc/asterisk/users.conf not found");
++466 parent.ASTGUI.dialog.waitWhile("/opt/etc/asterisk/users.conf not found");
--654 var cmd = 'rm /etc/asterisk/' + hwcfgfile + '; touch /etc/asterisk/' + hwcfgfile;
++654 var cmd = 'rm /opt/etc/asterisk/' + hwcfgfile + '; touch /opt/etc/asterisk/' + hwcfgfile;
--734 var cmd1 = "cp /etc/asterisk/modprobe_default /etc/modprobe.d/dahdi.conf";
++734 var cmd1 = "cp /opt/etc/asterisk/modprobe_default /opt/etc/modprobe.d/dahdi.conf";
--1191 ASTGUI.systemCmd( 'touch /etc/asterisk/modprobe_default', function(){
++1191 ASTGUI.systemCmd( 'touch /opt/etc/asterisk/modprobe_default', function(){
~/static-http/config/js/networking.js
--53 var network_params = "/etc/asterisk/scripts/network.params";
++53 var network_params = "/opt/etc/asterisk/scripts/network.params";
~/static-http/config/js/pbx.js
--2386 ASTGUI.systemCmd( "tar -cf " + top.sessionData.directories.ConfigBkp + tmp_bkpFileName + ' ' + ' /etc/asterisk', function(){
++2386 ASTGUI.systemCmd( "tar -cf " + top.sessionData.directories.ConfigBkp + tmp_bkpFileName + ' ' + ' /opt/etc/asterisk', function(){
[/code]20、 更改后,在打开Asterisk-GUI
[url]http://192.168.1.4:8088/asterisk/static/config/index.html[/url]
[attach]1568[/attach]
先参考下面的link:
[url]http://www.telecom-cafe.com/forum/viewthread.php?tid=4104&extra=page%3D1[/url]
TS-110自动启动的autorun.sh script。(另外雯雯在12楼提供的是给QNAP TS-269 Pro用的autorun.sh的script)[code]1) mount -t ext2 /dev/mtdblock5 /tmp/config
2) cd /tmp/config
3) vi autorun.sh, which contains
#!/bin/sh
#sym-link ./Optware to /opt
rm -rf /opt
ln -sf /share/HDA_DATA/.qpkg/Optware /opt
/opt/sbin/asterisk &
4) chmod u+x autorun.sh
5) cd /
6) umount /tmp/config
7) reboot
[/code] Thx 角色 請問假如不同款NAS,核心採譬如Atom or ARM,下的參數是不是應該不一樣? [b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=25857&ptid=4817]5#[/url] [i]paneb[/i] [/b]
根据我的经验,是一样,但是有些codes呢?ATOM会有,而ARM就没有。 [b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=25857&ptid=4817]5#[/url] [i]paneb[/i] [/b]
如果你是在台湾,你可以与台湾的Alang(阿郎)沟通。 看来安装optware-devel的东西太多了,安装那么久还没有完成!:L 现在刚刚输入make command去compile,不知道QNAP TS-110要多久才能compile完而没有error呢? 花了一个小时后终于compiled完。 比個like!伱:lol [b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=25847&ptid=4817]1#[/url] [i]角色[/i] [/b]
尚欠Asterisk GUI, Asterisk自動啟動:
1) mount /dev/sdx6 /tmp/config
2) cd /tmp/config
3) vi autorun.sh, which contains
#!/bin/sh
#sym-link ./Optware to /opt
rm -rf /opt
ln -sf /share/MD0_DATA/.qpkg/Optware /opt
/opt/sbin/asterisk &
4) chmod u+x autorun.sh
5) cd /
6) umount /tmp/config
7) reboot [b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=25900&ptid=4817]12#[/url] [i]雯雯[/i] [/b]
谢谢雯雯的信息。
今天开始安装Asterisk-GUI,因为不是用standard path安装,所以需要大量的更改。 Asterisk-GUI初步弄好了,但是login后会经常looped,主要原因是Asterisk-GUI的path不是从/opt开始,这个问题现在只能用人手修改,不能在安装时自动更改。可能将来有些高手可以指点怎样自动修改和安装。 终于搞定!Asterisk-GUI。
随后是Automatic Restart Outgoing no problem now
Today go to office I will try incoming
Thx [b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=25965&ptid=4817]16#[/url] [i]scottlio[/i] [/b]
你的系统还有一些没有set好,现在不知道怎样set,但是不太重要。还有auto start Asterisk 问题,雯雯已经提供参考方案待我整理好,再写出来。 [b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=25965&ptid=4817]16#[/url] [i]scottlio[/i] [/b]
你等打出,已经是成功一大步!继续努力,遇到什么问题,怎样解决,要写出来,你一点,我一点,网站内容会更加丰富。 我之前outgoing 用_9XXXXXXXX! 打8位電話號碼沒有事
一打1878200 1083 18503 就出事
現在用_9. 一齊問題就沒有了打什麼電話都沒有事了 [b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=25968&ptid=4817]19#[/url] [i]scottlio[/i] [/b]
因为你太熟悉Dail Plan的建立。慢慢你就明白。你在
_9X. : 9字头的电话,你可以看成prefix,然后后面X就是一个[0-9]的数字,(可能有错),然后后面就可以任何长度的电话。
而你的_9XXXXXXXX!,就是一定要8位的电话。而你有测试有些事7位,所以符合dialling rule,所以不能打出。 今我用_9. 有錯嗎請指教 [b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=25980&ptid=4817]21#[/url] [i]scottlio[/i] [/b]
都没有问题。 [b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=25980&ptid=4817]21#[/url] [i]scottlio[/i] [/b]
现在你的NAS,reboot后,你的Asterisk会自己启动,那么你就不用把它死掉! 这幅帖子可以说在NAS用Asterisk和Asterisk-GUI最详细的安装说明之一,估计很多人在将来都会作为参考只用,如果大家在安装过程中,如有问题,可以跟帖讨论。 你的OBi110 + HGC PSTN 资源可以考虑介入你的Asterisk系统,那么每一个extension都可以采用或者不采用。 [i=s] 本帖最後由 freylin 於 2016-3-8 23:26 編輯 [/i]
你好,
~/scripts/registerg729.sh
--9 INPUTFILE="/etc/asterisk/g729reginfo.conf"
++9 INPUTFILE="/opt/etc/asterisk/g729reginfo.conf"
--10 OUTPUTFILE="/etc/asterisk/g729reginfo_tabs.conf"
++10 OUTPUTFILE="/etc/asterisk/g729reginfo_tabs.conf"
這裡應該錯誤...
我是安裝entware裡面的asterisk1.8 然後再接這這篇的說明安裝gui. 結果我還是得到 loop的loading.
我一定要從頭安裝嗎? 我也有嘗試過, 但是在安裝screen之後, 錯誤沒有消失....
Google很久之後 最後是再補上安裝 asterisk18-app-system asterisk18-chan-local 就可以用了 請問想要安裝 g723 g729的話
是要放在 /usr/lib/asterisk/modules 或是 /opt/usr/lib/asterisk/modules
不管是哪一個, 都沒有這個目錄, 要自己產生? 會不會發生找不到的問題?
謝謝. [b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=42342&ptid=4817]26#[/url] [i]freylin[/i] [/b]
你把问题搞好就好。 [i=s] 本帖最後由 角色 於 2016-3-9 17:08 編輯 [/i]
[b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=42343&ptid=4817]27#[/url] [i]freylin[/i] [/b]
我记得是/opt/usr/lib/asterisk/modules。如果没有,你前面一定没有安装好。之前的10、 Configure安装路径"--prefix=/opt",决定是从/opt开始。 用 browser 連接時,出現 checking write permission for gui,然後就 disconnect !
試過:
chown -R asterisk:asterisk /etc/asterisk/ /var/lib/asterisk /usr/share/asterisk
chmod 644 /etc/asterisk/*
吾得!
頁:
[1]
2