Jabber与Asterisk的整合

虽然Skype风雨飘摇,但是它的成功不言而喻,一个小小的聊天软件居然还能打电话,酷阿。
 
前一段日子装了Openfire(Jabber),聊天的一套有了。
最近玩了Asterisk(PBX),能打电话了。
嗯,整整吧。
 
没办法,伟大的人总归想的都是一样的(-,-),
这方面的需求显然是非常炙热的,整合的办法也有很多种。
 
在Openfire中整合Asterisk
0Asterisk必须安装AMI
1在Openfire中安装Asterisk-IM的plugin
2配置Asterisk服务器信息。Asterisk-IM->General Settings(user/pwd为AMI帐号)
3将Openfire用户与Phone匹配。Asterisk-IM->Phone Mapping(Device的格式类似SIP/2000)
这个plugin的作用是通过AMI(Asterisk Manager API)获得Phone的状态变化信息。
具体的效果就是Spark上用户的状态会变为"On the Pone",or "Available".
不过可以把它的AMI Client偷过来自己用,娃哈哈)
 
4在Openfire中安装SIP Phone Plugin
5配置SIP Server信息.Server->Phone->Sip Settings
(没有NAT所以没有配STUN,voicemail实在不知道干啥用这里,随便写了)
6将PHONE与Openfire用户匹配.Server->Phone->Sip Phone Mapping(其实为什么不和上面那个Plugin整合呢)
7在Spark上安装SIP Phone Plugin,关闭,重启
这套Plugin要强大的多,提供了基本的SIP Softphone的功能,可以Call,Hold等等。
实现用了OpenSource的SIP包,娃哈哈可以偷过来玩)
 
OK.顺利的话,你的Spark就进化成为了SIP Softphone!
终于有了第二个SoftPhone,欢快的地给Xlite打了一个电话。
这个方案最大的问题是对客户端的依赖。
不管是Status的变化还是Sip Phone,换成其他的都不行。
 
P.S.配置之中遇到的最大问题是Spark一直没办法注册到Asterisk上。
搞了半天最后才搞定。总结下来最有可能是以下两方面问题。
1原来Openfire上Asterisk的地址配的是localhost,可能Phone直接拿了这个地址去连接。
2最后Spark卸载了重装就好了,可能是本身Configuration没有更新。
 
在Asterisk中整合Jabber
其实Asterisk本身也整合了Jabber的功能(皑皑,蛋糕就这么大,谁都想吃)
1.4以后的版本都包含了Jabber Module,可以作为Jabber Client或者Component进行实用。
1作为Jabber Client,可以通过两个Application(jabbersend,jabberstatus)
在extension.conf中发送XMPP消息
2作为Jabber Component
可以在jabber.conf中配置Jabber Server
让Asterisk作为Jabber Component与Server通讯。(还不知道具体啥样子呢-。-)
 
这部分都没有试过。因为具体的效果就是那样
而且我也不确定Jabber Server是否对这种通讯支持良好。
皑皑,毕竟有上面那种比较完善的解决方案在了。。。
 
 
 
 
 
 

 

Jabber服务器的搭建

对MSN,Gtalk的机器人有一些兴趣。
正巧知道原来是Cisco购买了Jabber公司,嗯,搭建一下Jabber服务器顺便查看一下统一通讯的可行性。
 
Jabber服务器的挑选
jabberd1.x, 2.x都可以通过apt-get 方便安装。
考虑到可扩展性和熟悉语言,最后选择了Openfire.
 
Jabber客户端的挑选
本来安装了Pidgin, 对msn群的中文支持不太好。
昨天安装了Pandion,效果一般性。
最后为了配合Openfire,决定安装Spark,结果效果更差。
P.S.莫名其妙的在jabber.org注册了帐号,结果啥桥接都没有,郁闷。
 
Openfire的安装
1配置talk.xxx.com
2下载openfire.deb
3dpkg -i
4通过talk.xxx.com:9090/配置openfire
5通过spark连接服务器成功
6下载gateway.jar
7放在openfire/plugins/重起服务器。
8通过openfire服务器开启msn功能。
9配置spark,成功连接msn.
 
遗留问题:
还不是很理解Jabber服务器之间通讯的模式。
是否可以实现一个机器人帐号应对所有IM软件呢。关注。
 

 

无觅相关文章插件,快速提升流量