Asterisk安装

目前我还没安装成功,但已花了不少时间,此处记下:

网上找的都不靠谱,因为你的环境真不知道是怎么回事。

还是直接去官网看文档:

利用系统工具安装 https://wiki.asterisk.org/wiki/display/AST/Asterisk+Packages

源码编译安装 https://wiki.asterisk.org/wiki/display/AST/Installing+Asterisk+From+Source

我起先是看网上的帖子来安装,实际上是源码安装,这条路真是难走,开始是yum没有安装,只好去装rpm,但是安装rpm又找不到什么hearder,试了很多方法搞不定。

后来想找个rpm的安装包,http://www.rpmseek.com 上倒是有,但是链接有问题,只好在它的ftp上搜,好不容易搜到了,下下来安装又一堆依赖没有。这条路也走不通。

还是决定安装个ubuntu虚拟机算了。

注意安装asterisk和vmware都需要管理员权限。

vmware下载 http://www.vmsky.com/dl/VMware/Server/2009/02/17/2493.html (虽是免费,官方下载要注册还要认证)。

ubuntu可参考:http://www.dujinfang.com/past/2009/11/10/zai-ubuntu-shang-an-zhuang-asterisk/

 

其实最简单的就是直接安装AsteriskNow,它是CentOs+Asterisk+Freepbx的安装镜像,我在vmware虚拟机上安装,一会就装好了。

系统启动后会提示在哪个端口可访问freepbx。
发现连ssh和ftp都可以了(都是默认端口),所以就让vm后台运行,使用xshell登陆操作,爽。
freepbx文档 http://www.freepbx.org/support/documentation 登陆需要配置用户名密码。默认admin/admin

忍耐不住激动的心情,最想尝鲜的就是 sip电话了,配置也很简单:

官方教程 http://www.freepbx.org/support/documentation/administration-guide/adding-extensions

这篇文章图片强大,不看文字就可以看懂,还包括xlite配置:

http://www.pbxinaflash.com/community/index.php?threads/how-to-add-a-sip-softphone-freepbx-and-x-lite-as-an-example.4479/

于是我添加了两个sip分机,互相之间打电话,通了,very good.

这里面自带的mysql默认端口是3306,所以可以连接数据库看看里面有什么。(参见http://kazge.com/archives/860.html)

可见有两个表

asterisk -- 这个是主库(asterisk还是freepbx或是公用?)

asteriskcdrdb --这个大概是(Call Detail Record,CDR)数据库

Continue reading Asterisk安装

openfire整合LDAP (Active Directory)

这次成功的将openfire整合windows的Active Directory:

Active Directory服务器在windows 2000 server,windows 2003上才有,可安装虚拟机,见http://kazge.com/archives/856.html.

我在windows2000 server上 安装Active Directory服务: (http://ask.zol.com.cn/q/22451.html) 。

按照Active Directoy服务设置向导来,默认的就可以,关于DNS服务器的设置我略过了,没有管它,这样可能会有问题,但是对于openfire整合AD的测试是没有太大影响的。

安装好AD server后,在Users下建立测试用户test1,设置密码。

然后将openfire的openfire.xml中的setup设置为false,这样再启动 openfire,进入控制台会开始安装步骤。

具体怎么安装依据其文档中专门的documentation/docs/ldap-guide.html来即可。

 

比较迷惑可能会是Base DN 和 Administrator DN.

因为它的文档写错了,注意Base DN中示例 cn=Users;dc=activedirectory,dc=jivesoftware,dc=com

注意橙色的分号应该是逗号cn=Users,dc=activedirectory,dc=jivesoftware,dc=com

在配置管理员这一部中需要设置AD 中存在的账户为管理员。

这样一步步下来就配置好了,openfire会将配置记录在ofproperty表中。

注意,在安装过程中如果重启了openfire,必须要重新登陆控制台,否则会安装出错。

 

稍微看了一下源码,似乎只是用AD来进行登录验证和用户系统。

Continue reading openfire整合LDAP (Active Directory)

vmware虚拟机使用笔记

几年前用vmware玩Ubuntu,没做笔记,现在要用win2000server系统,于是想安个虚拟机,结果连怎么装系统都忘了……(话说现在都ghost,几年没装系统了)。

开始是想自己安装系统,先要用Nero刻盘,注意Nero刻盘要求选择刻录可引导光盘,否则启动时会加载不了。

然后安装,对于smartdrv这个东西我还是深有映像的,结果弄半天不耐烦了,索性决定下个win2000server的vmware的虚拟镜像:

http://www.verycd.com/topics/191003/

http://www.verycd.com/topics/191003/

vmdk格式是vmware的虚拟硬盘格式,不是可直接加载的vmk,所以先要建一个虚拟机,然后将硬盘指向下载的vmdk文件就可以,启动后一切顺利,可以登录winserver2000了。

网络连接我用的是桥接方式,不用担心ip地址每次会换,一般第一次启动虚拟机后,ip地址就不会换。

Continue reading vmware虚拟机使用笔记

Nuance Say Anything SLM

今天稍微瞄了一下slm估计以后都不会用这个摸不着头脑的东西,这里留个纪念。

voxeo是支持SLM语法的http://www.vxml.org/frame.jsp?page=grxmlbasics.htm

里面有个pdf http://community.voxeo.com/vxml/docs/nuance-8.5-grammar.pdf

pdf这里面讲了怎样编译SLM,貌似很繁琐哦,先要tranning,再要写gsl,再要编译……,至少要上千个case才能保证质量。

本来想试一下来着的,找到这个链接http://www.nuance.com/speech/training/catalogdetails.asp?CatalogcourseID=20

只看到醒目的大字1350 USD ,其他什么信息都没有,看来没法了。

貌似nuance的信息都要花钱,不花钱连个文档都没有,更不说开发测试了。

Continue reading Nuance Say Anything SLM

php mail 在windows下的配置

php 的mail函数可以发邮件,它的配置是在php.ini中设置的,一般linux上很方便,众多VPS,host一定会为你设置好。

但是在windows中开发怎么配置呢?

可使用sendmail来通过远程smtp服务器来发邮件。(我这里只讲发邮件,对于一般开发是足够了)

下载sendmail http://www.glob.com.au/sendmail/sendmail.zip

解压到目录例如c:/sendmail

编辑sendmail.ini

smtp_server=smtp服务器地址
auth_username=邮箱登录名
auth_password=邮箱密码
force_sender=发件人地址全写 这个如果不配置可能导致无法发送,但是我实际测试可以不写。

反注释debug_logfile=debug.log这一句以便调试

 

编辑php.ini

sendmail_from = [email protected] 这个我没写也可以发邮件
sendmail_path = “c:/sendmail/sendmail.exe -t –i”

 

注意force_sender和sendmail_from这两个配置都是为了自动加上From头,但是我的环境即使都设置了,还是没有在邮件头中加上From,导致550 Administrative prohibition错误。

最后只好在mail函数调用时在additional_headers这个参数中包含From,例如

 
<?php
mail('[email protected]', "Test Email", 'good email','From: xxx[email protected]' )
?>

这样就可以了。

注意From由于安全的原因,可以使其他域名的随意账户,即是此账户不存在,但是如果是配置的邮件服务器的域名,则必须存在。

例如上例中我使用本域名[email protected] 账户作为邮件服务器,那么'From: [email protected]' 这样发送必须有'[email protected]'  这个账户,否则发不出去。

然而如果使用From: [email protected] 作为发件人,那是绝对可以发出去的。当然这可归于垃圾邮件。

 

今天碰到一个问题是,由于我的域名改了,本机测试的邮件发不出去了,打开sendmail的debug.log一看,似乎是验证成功的,但是接着一大堆乱码。我尝试将smtp_ssl设置为none则解决了此问题。

 

参见:

http://www.devcha.com/2010/04/how-to-send-emails-from-php-on-windows.html

Continue reading php mail 在windows下的配置

移动web框架比较

目前初步比较一下,我对移动开发还是羡鱼阶段。

这里初步介绍了Titanium及PhoneGap与Sencha Touch及jQuery Mobile的关系。http://mobile.51cto.com/hot-274040.htm

Sencha Touch及jQuery Mobile都支持PhoneGap包装。

从这里看主要存在性能问题, 这也是我最关心的问题。 http://iunbug.appspot.com/article.html?objNews.id=277001

这里的讨论值得看看 http://www.v2ex.com/t/30046

主要认为:

jQuery Mobile不上不下(找别的轻量级的代替,甚至可以不用它自己写),性能比Sencha Touch好不了多少,bug多,对android支持不好,更不说别的,支持没有Sencha Touch强。

Sencha Touch(iphone,android)支持较好对于正常网站式的应用又不太适合(想想extjs和jquery的区别就知道了。)

后来又出来个http://jqmobi.com/  官方介绍体积小,性能好。

http://tech.it168.com/a2012/0202/1305/000001305922.shtml

不过它太新鲜,目前还很少有人用,经验则无从说起了。

 

 

最近开始了解Android,这一路下来真是一肚子不爽,真怨恨自己怎么不是高富帅,不然早就买个mac本搞ios了,这里再补充一下:

 

这几篇文章值得看看

http://mobile.51cto.com/hot-273779.htm

http://stackoverflow.com/questions/1482586/comparison-between-corona-phonegap-titanium

http://nocreativity.com/blog/native-development-titanium-corona-unity-phonegap-and-more

上面这篇算是稍微给了个意见,相对于phonegap更愿意使用titanium,何况titanium是开源免费的

 

http://mobile.51cto.com/web-338270.htm

 

我也不确定自己想用什么,开发个小程序真不想写一堆原生代码,又是java又是objectc,但是第三方框架最担心的是闪退和性能,这要实际试试才知道,开发游戏我肯定是使用原生程序。我可能会选择titanium吧。

Continue reading 移动web框架比较

jna 使用笔记

最近用到jna想实现获得当前用户选中文本的功能,结果发现这是个不好做的功能,后来想通过发送WM_COPY来通过粘贴板获得也是不行。只好放弃。

jna我没仔细看,只是初略了解了下。

 

扩展:

user32这样的类,没有完全暴露user32的接口,因此,如果有你想用的api但是jna又没封装的话,只要自己定义接口就行了,例如

>public interface MyUser32 extends User32 { MyUser32 INSTANCE = (MyUser32) Native.loadLibrary("user32", MyUser32.class);

Continue reading jna 使用笔记

myeclipse6 配置tomcat7 websocket相关

我的机器很慢……

所以我只能用myeclipse6,但是它最高只有对tomcat6的支持(那时tomcat7还没出来)。

网上搜了一下,可以直接将tomcat7的地址配置到myeclipse tomcat6中的home directory。然后还要在Tomcat6/launch/create launch config/class path中将tomcat7 bin目录下面的jar包加上。

这样就可以了。

我这主要使用tomcat7的websocket功能,发现7.0.27和7.0.29的websocket api 有不同,所以对于使用maven的情况,要保证引用的websocket api(catalina.jar,tomcat-coyoto.jar)版本与目标tomcat一致。

目前tomcat的maven 引用一下子就把很多包下来了,如果这些包直接发布到目标tomcat中,又会造成冲突报addFilter错误。 maven有provide的引用scope,但是对myeclipse这样直接发布到tomcat又不行,我是将包发布后再删除(catalina.jar,tomcat-coyoto.jar)。

使用maven tomcat 插件也可以,但是我总觉得与实际环境越接近越好。

总之,我还是很讨厌maven……

另外tomcat7目前对safari的websocket支持不好。参见http://kazge.com/archives/792.html

Continue reading myeclipse6 配置tomcat7 websocket相关

accordion, spry 与 jquery ui

上篇比较了spry与idtabs,这次试试spry与jquery ui的互转,结果是perfect!

参照css彻底研究的12.5 伸缩面板,将其例子拿来·

然后参照jquery ui 文档http://docs.jquery.com/UI/Accordion

发现居然不需要改任何html结构,

只要这样:

$(function() {
        var ops = {
            header:'div.AccordionPanelTab', //指定header选择器
            event:'mouseover' //指定事件
        };
        $( "#Accordion1" ).accordion(ops);
    });

因为spry和jquery ui accordion都是要求折叠项标题和内容紧邻,所以他们没有结构上的要求区别。

但是有一点,如果使用了jquery-ui的样式,则会覆盖设计好的样式,所以前提是不引用jquery-ui的样式,这样比较的话还是spry方便些了。

so, it is perfect!

Continue reading accordion, spry 与 jquery ui

tab 控件 spry和idtabs 比较

今天分别使用了spryidTabs .感觉都还可以,如果配合dreamweaver cs3,那spry更方便快速。

spry使用参见css彻底研究12.3。 spry tab本身不大,css也不大。

示例:

var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1");

这就行了,TabbedPanels1是个容器div,包含了tab菜单和tab内容。它是通过容器div里面第一个子节点为tab菜单,第二个子节点为tab内容。菜单与内容必须一一对应。

若要使鼠标hover时就显示tab需要在tab菜单元素上添加onmouseover="TabbedPanels1.showPanel(1)",这样写不是很好。

 

再来看idTabs,

它的布局和spry类似,我直接使用上面spry的结构和css,

使用示例:

$(function(){
				var ops = {
					event:'!mouseover',//when mouseover will go to that tab, default is click
					start:1, //start tab is 2nd(0 start index)
					click: function(id,list,set){
						//id  is the target id like #tab1
						//list is the target tab contents
						//set is the tab menu selector
						$('li',set).removeClass('TabbedPanelsTabSelected');
						$(this).parent().addClass('TabbedPanelsTabSelected');				
						return true;
					}
				};
				var s = $("#TabbedPanels1 ul");
				console.log(s);
				s.idTabs(ops);
			});	

此例中,选择#TabbedPanels1 ul中的a标记(这是idTabs要求的),它只支持a标记作为菜单项,并使用href属性作为跳转目标。

我直接使用spry生成的css, 出现问题,由于idTabs是将selected样式添加到a标签上,而一般a上面的li元素也需要改变选择样式。故代码中使用javascript来处理:

$('li',set).removeClass('TabbedPanelsTabSelected'); //将其他项设置为未选中

$(this).parent().addClass('TabbedPanelsTabSelected'); //将a父元素li的样式设置为'TabbedPanelsTabSelected'

这样就行了。

插件使用很简单,主要是漂亮的样式需要设计。

这是效果图:

Snap1

另外我尝试了jquery-ui的tabs,它需要引用其样式,故不很理想。

Continue reading tab 控件 spry和idtabs 比较

Pagination


Total views.

© 2013 - 2019. All rights reserved.

Powered by Hydejack v6.6.1