2013年09月27日

asterisk很强大很好使,亲测可用,首先执行下面的操作:

For this install I am using Asterisk 11.0.1 and will be compiling from source on Ubuntu 12.04.1.

注意,这里的含有&&都可以分步做,更好哦。

Before you begin the install process you will want to be sure that your server OS is up to date. When the update completes the server will reboot.

 apt-get update && apt-get upgrade -y && reboot

Next you will want to resolve basic dependencies

apt-get install build-essential wget libssl-dev libncurses5-dev libnewt-dev  libxml2-dev linux-headers-$(uname -r) libsqlite3-dev

Download the source tarballs. These commands will get the current version of DAHDI, libpri and Asterisk.

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-1.4-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz

Extract the files from the tarballs

tar zxvf dahdi-linux-complete*
tar zxvf libpri*
tar zxvf asterisk*

Install DAHDI

cd /usr/src/dahdi-linux-complete*
make && make install && make config

Install libpri

NOTE: libpri 1.4.13 won’t compile on Ubuntu 12.04 due to a bug (https://issues.asterisk.org/jira/browse/PRI-145). See the video for how to apply a patch to fix the bug. (Edit: libpri 1.4.14 has been released with this bug fix included. If you are a using 1.4.14 or later you should not encounter this bug.)

cd /usr/src/libpri*
make && make install

Install Asterisk. Select your options when the menuselect command runs. Then select “Save & Exit” and the install will continue.

接下来这步会弹出菜单,上下左右键盘操作,回车选择或取消,
建议选上所有Application的组件和尽可能多的CORE支持,但注意单选和不要选择测试模式文件。

cd /usr/src/asterisk*
./configure && make menuselect && make && make install && make config && make samples

Start DAHDI

/etc/init.d/dahdi start

Start Asterisk and connect to the CLI

/etc/init.d/asterisk start
asterisk -rvvv

Verify your installation by checking for the DAHDI and libpri versions on the Asterisk CLI

*CLI> dahdi show version
DAHDI Version: 2.6.1 Echo Canceller: HWEC
*CLI> pri show version
libpri version: 1.4.13

Congratulations! You now have Asterisk 11 running on Ubuntu 12.04. To continue configuring Asterisk check out the quick start guide or take a look at the official Digium online training.

上面做完了,Asterisk就完事了,下面安装Asterisk-Gui。

2. 去http://downloads.asterisk.org/pub/telephony/asterisk-gui/releases/下载最新的Asterisk GUI

本人使用的是:http://downloads.asterisk.org/pub/telephony/asterisk-gui/releases/asterisk-gui-2.1.0-rc1.tar.gz而且没有出现后面说到的警告循环问题,警告一次后即完成文件生成。

3. 下载并解压缩

wget http://downloads.asterisk.org/pub/telephony/asterisk-gui/releases/asterisk-gui-2.1.0-rc1.tar.gz
tar zxvf asterisk-gui-2.1.0-rc1.tar.gz
4. 安装Asterisk GUI

$ ./configure
$ make
$ sudo make install

完成之后,可每执行一次下面的步骤,便运行make checkconfig进行配置完成检查,注意保持路径,也可以不执行下面的第5步,而直接执行配置检查,根据报错逐个修改,最后根据提示修改文件,创建用户名密码。

5. 修改/etc/asterisk/http.conf

enabled=yes

bindaddr=0.0.0.0      #0.0.0.0表示本机的所有IP都可以访问

bindport=8088

enablestatic=yes

修改/etc/asterisk/manager.conf

[general]

enabled = yes

webenabled = yes

port = 5038

bindaddr = 0.0.0.0

[admin]              #登录时的账户名称

secret=admin         #登录时的账户密码

read = system,call,log,verbose,command,agent,config,read,write,originate

write = system,call,log,verbose,command,agent,config,read,write,originate

6. 复制文件及创建连接 (这一步很重要,网上的很多教程都没有这一步,可能会导致”404 not found”, 权限不够等问题)

$ sudo cp -Rfv /var/lib/asterisk/* /usr/share/asterisk/
$ sudo mv /var/lib/asterisk /var/lib/asterisk_original
$ sudo ln -s /usr/share/asterisk  /var/lib/asterisk
$ sudo chmod 777 /usr/share/asterisk/* -R

7. 重启asterisk服务

此处务必要使用root, 否则虽然能启动asterisk,但是http server会总是disabled的状态。

同时asterisk -r是也需要root,否则会出现错误:Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)

$ sudo /etc/init.d/asterisk restart
$ sudo asterisk -r

进入asterisk操作界面后运行运行”http show status “可以查看Http服务状态

看到如下状态则成功了。

royn-VGN-Z690J*CLI> http show status
HTTP Server Status:
Prefix:
Server Enabled and Bound to 0.0.0.0:8088
Enabled URI’s:
/httpstatus => Asterisk HTTP General Status
/phoneprov/… => Asterisk HTTP Phone Provisioning Tool
/amanager => HTML Manager Event Interface w/Digest authentication
/arawman => Raw HTTP Manager Event Interface w/Digest authentication
/manager => HTML Manager Event Interface
/rawman => Raw HTTP Manager Event Interface
/static/… => Asterisk HTTP Static Delivery
/amxml => XML Manager Event Interface w/Digest authentication
/mxml => XML Manager Event Interface
Enabled Redirects:
None.

8. 登陆页面

http://localhost:8088/static/config/index.html

注意,修改完成配置文件manager.conf后,直接登录GUI将显示用户名或密码不正确,此时应该重新启动系统,然后登录,接着会看到一个配置更新的警告界面,之后再次登录,即可使用。

ID:admin Password: admin

这里还有要注意的,GUI的设置并不会立即生效,需要重新启动ASTERISK服务才能生效!

——–相关解决说明:

此时页面会陷入死循环,不断刷新,显示:

Your configuration will now be upgraded to work with the latest version of GUI.
这是asterisk-gui和asterisk 1.8不兼容导致的。

修改 /var/lib/asterisk/static-http/config/js/index.js重新登陆即可。

if ( resp_lower.contains(“branches/1.6″) || resp_lower.contains(“asterisk/1.6″) || resp_lower.contains(“svn-branch-1.6″) || resp_lower.contains(“svn-trunk-”) )
..

改为

replace:
if ( resp_lower.contains(“branches/1.6″) || resp_lower.contains(“asterisk/1.6″) || resp_lower.contains(“svn-branch-1.6″) || resp_lower.contains(“svn-trunk-”) || resp_lower.contains(“asterisk/1.8″) )

2013年09月22日

故事一:

两个人其实已经分手很久了,但因为是学生时代的爱情,所以就算分开也舍不得做仇人。加上共同的朋友太多,断断续续的还有联系。男孩已经结婚,女孩也有了稳定的恋情。有天在网上碰到,男孩正在国外玩儿,和女孩聊了两句,问“你有没有什么需要我带的。”女孩开始说不用,后来想了想,随口说“上大学的时候你有一次和家里人出去玩,回来给我带了一条项链,还记得吗?银的链子,带一个蓝色的小坠子,很简单。我特别喜欢,戴了好久。”男孩说:“嗯,我记得。”女孩接着说:“前几年链子断了,坠子就找不到了,你要看到差不多的,给我带一个,没有就算了。”男孩在那头开玩笑说:“你看你,送你的东西都不注意,太没良心了。”女孩一下子就不高兴,说:“我没良心?你给我买过一块手表,白色的皮表带,我戴了四五年,电池都换了两回,最后带子都断了,这款早就停产了,没得修,一直放抽屉里。我搬了这么多次家,像我这种丢三落四的性格,合同都差点找不到。可那块手表到现在还好好的在我的抽屉里。”这话说完,女孩有点意识到自己的失态。男孩也有点尴尬,两个人都没有再多说什么。

那些年,闯进你生命中的那张温暖过你的脸

那块手表是一个很普通的牌子,几百块的样子。当时两个人都是学生,男生后来回忆说,那天买了回到学校,已经挺晚了,本来想第二天见面的时候给她。可在怀里揣着就觉得存不住,巴不得立马给她戴上。于是,赶在宿舍关门前把她叫下楼匆匆忙忙的塞给她。她并没说过有多喜欢,只不过一直都戴着,分手了也没见摘掉。女孩其实是一个挺得瑟的性格,工作之后,手上戴的,宝格丽的手链、卡地亚的镯子也没少买,但是手表确没再买过一块。

故事二:

朋友聚会,关系很铁的一个男生喝醉了,他跟我说起他的初恋。他说那个女孩子对他很好,当年大学时,他爱和兄弟们拼酒,喝醉后总是女孩把他拖回去,给他熬养胃汤,为他擦洗身体。他对我说,不知道当年小小身体的她,是怎么把他拖回家的;不知道每次喝醉时,她是怎样默默一个人收拾一地狼藉。不知道她是怎么一边心疼的看着喝醉酒的他。可是后来,他们还是分手了,因为女孩家庭条件不好,毕业后没有正式工作,男生家里一直反对反对,他的母亲甚至说要赶他出门,他们坚持了好几年,最后还是输给了现实。他说:“我现在很少喝碎酒了。”我说:“是因为年纪大了,要注意身体了吗?”他说:“不是,是因为有天我喝醉了,发现自己在车上睡了一夜,没有人找我,也没有人管我冷不冷,安不安全。”我说:“你老婆呢?”他说:“我老婆说了,我不管你喝酒,但你喝醉了也别麻烦我。”他现在的妻子是相亲认识的,一年内结婚生子,说不上特别爱,彼此相敬如宾。他妻子几乎从不跟他和他兄弟出来玩,她有自己的世界和朋友。对他说不上很上心,该做的都做,却也不会过分的纵容他。不会管他和兄弟出去喝得很醉,但也不会在他醉了之后为他收拾一地狼藉、为他擦洗身体,为他熬一碗热热的养胃茶。但她是他父母觉得不错的女孩,家事不错,有稳定的工作,性格也不错。他和她是世俗大众喜欢看到的般配。

他的女儿,叫:思琦。是他坚定要取的名字。曾经在他喝醉后背他回家,默默陪伴他、照顾他、爱他很多年的那个女孩,乳名叫琦琦。他们还很相爱的时候,他开玩笑说:“如果有一天你离开了我,我就给自己的孩子取名叫思琦,我要一辈子想念着你。”现在真的这样了,他真的只能在一个名字里思念她。

故事三:

最近有一个已婚的好朋友总是找我聊天。某天夜里11点多,他给我打电话。我问她“你在哪?”她说“加完班,回家的路上。”我说“一个人吗?”她说:“是啊。”我问她:“怎么不叫你老公来接你呢?”她说:“他打牌呢,叫我自己打车回家。”知道她上班的那个地方,在新区,有时候晚上走很远都打不到车。后来她走了20多分钟才打到车,我说去接她。她不肯,我说:“你一个女孩子在外面也不安全。”然后她说:“我自己老公都不担心我,没来接我,你担心什么?”听出了她话里的失望。

她跟我说起她大学时候的恋人。她说:“那时候他连让我一个人下楼买点零食都不放心,要陪我一起。”后来她在一家公司实习,9点半下班,男孩子每天都会骑自行车去接她。实习三个月,90多个夜晚,每晚等在公司门口的身影。她说她一辈子都忘不了。后来,大学毕业她父母在本市给她安排了稳定的工作。男孩家三代单传,他父母天天吵着要他回去。男孩希望她去他的城市。可她害怕在那边有一不可预知的未来。父母的独女,这边有稳定工作,爱她的父母、家人、同学、朋友。去了那边,她只有男孩一个人。两个人远距离恋爱了一段时间。后来,她越来越没有安全感,放弃了这段感情。她说,她结婚的时候,男生把她留在他那里所有东西都寄了回来。其中有她很多年前用过的小玩意、小饰品、耳环、零钱包、还有绣着她名字的毛巾。分手这么多年,他还保留着。曾经他们一起用过的情侣号码,男孩用的那个还一直保留着,他说过:“任何时候,这个号码一直为你开通。”知道她哭了。可是开不了口安慰他,她已婚,丈夫是家人满意的,有车有房,众人都说很适合她。28岁结婚,也不算早了。丈夫不会像男孩那样宠溺她。在丈夫眼里,她是个成年人了,很多事情完全可以自己解决。她说:“我老公常说,你又不是小孩了,好多事情完全可以自己做的。”所以一个人去超市扛一大堆东西回家,所以11点多加完班自己打车回家,所以习惯了,习惯了这一种淡淡的失落。在一个人回家的夜晚,还是会想起那个等在公司门外踩着自行车的身影。还是会想起那个人,虽然,回不去了。

到底有多少人。会在一个人回家的夜晚,喝醉酒的深夜,想起从前陪在你身边的人。那些为你付出千般好、万般好,最后却没有和你走到一起的人。

又还有多少人,会在很多年后,还肯这样掏心掏肺的对一个人好。

你说:我再也不会这样无怨无悔的爱一个人了。于是你成了一个吝啬付出的人。也得到了一个有所保留的爱人。

你心里藏着一个人,一段回不去的往事。你身边的人,也许一样。他们最傻最好的时光。给了另一个人。

是现实在残忍?还是输给了时间。或者彼此不够坚定?还是没有学会珍惜?现在你身边的人,是世人都觉得和你很般配的人。

谁管你曾经多么的被一个人宠爱?谁管你曾经多么的爱过的一个人?

反正这就是人生。