要在windows或者linux平台下开发基于SIP的软电话,需要以下软件
服务器端软件: 注册多个客户端到服务器上,可以进行通话测试
SIP客户端软件 :主要用于测试,可以对别人已经完成的客户端进行抓包,以比对自己程序的发包数据
SIP协议栈: 基于某个现成的SIP协议栈来开发会加快开发进度
RTP栈 :传输语言或者视频数据的协议栈
抓包测试工具: 调试网络程序最有效的办法
以下介绍这些软件主要以开源软件为主
一 服务器端软件
最简单的方案,也是最省钱的方案,如下:1. 任意一个地点,部署一个最低配置的电脑,比如奔四3.0之类的,安装 asterisk即可。这个地方的路由器做端口映射,把asterisk映射到公网,使用花生壳进行动态域名方式进行管理。这就是主服务器,对3个地方的通话进行管理的。同时这个地方,还需要购买一个sip网关,注册到asterisk上面即可。单口的比较便宜,几百元即可。
2. 另外2个地方,安装2个单口网关,和前面那个一样,注册到asterisk上面。
3. 互相可以内部免费通话了,OK!
你的方案1是正确的。
你的方案3,只是解决了3个地方连接的问题,没解决通话问题。因为你要求是免电脑,所以你的方案3是不完整的,还是需要网关或者网络话机这样的硬件来解决通话问题。
asterisk,简单的说,相当于一个电信公司的管理系统,对系统内的账号(市面上的座机号码,手机号码)进行开户、激活、锁定、计费、音频及视频业务、传真业务等业务综合处理的一套系统。
freeiris 其实就是在asterisk上面进行修改的中文版,系统的内核就是asterisk的。
Asterisk是一款基于linux的开源VOIP服务器软件,它具有强大的功能和灵活的设置,随着VOIP的普及正得到越来越多的应用。我前两天刚刚给公司安装了一套系统,已取代使用了20年的Lucent PBX。下载并安装ubunbu server
使用其他linux当然也可以,选择ubunbu是因为它的用户群更大,有问题更容易在网上找到答案。安装后需要做简单的网络设置。
安装Asterisk
sudo wet http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.1-current.tar.gz
sudo tar xvzf asterisk-1.6.1-current.tar.gz
sudo ./configure
sudo make
sudo make install
设置extensions.conf
[globals]
[general]
autofallthrough=yes
[default]
[incoming_calls]
[internal]
exten =>999,1,Answer()
exten =>999,n,Playback(tt-weasels)
exten =>999,n,Hangup()
exten =>800,1,VoiceMailMain()
exten =>123,1,Dial(SIP/ZhangSan)
这里设置了两个分机,999是测试号,拨打该号时听到测试录音,123是SIP分机号。800是访问语音信箱的号码。
设置sip.conf
[TEST]
type=friend
context=internal
host=dynamic
[ZhangSan]
type=friend
context=internal
host=dynamic
mailbox=123@default
下载安装x-lite softphone
x-lite易于设置,在调试阶段非常有帮助
这时xlite就应该可以连接到Asterisk了,若拨打999就可以听到预先录制的测试音频
设置voicemail.conf
[general]
format=wav49|gsm
serveremail=Asterisk
attach=yes
maxmessage=300
mailcmd=/usr/sbin/ssmtp -t
[default]
123 =>1234,User1,user@youmailserver.com
这里经常会遇到的问题是用户收不到email通知,通常是email的路由问题,安装ssmtp并进行简单设置后问题就会比较容易地得到解决。
设置SIP电话机
这个就取决于你所使用的设备型号了,我用的是Aastra的6755i,可以使用web界面进行设置,最主要的就是SIP服务器的地址、端口,和用户名。如果一切正常就看以用xlite拨打该分机了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)