最近用了苹果的全家桶,对其用facetime在局域网环境下利用手机拨打电话挺赶兴趣了,搜索了一圈也没找到相关资料。
但作为一个资深电信用户,对早年pbx系统还是有所了解的,所以诞生了在内网搭建一个类似的系统,目的,笔记本通过手机拨打外线电话,外线呼入笔记本、手机同震,并且可以接听。
列举了计划:
1. 搭建内网voip环境,实现Android手机,windows之间通话
2. 手机作为语音网关,介入voip系统,作为接入PSTN的桥梁
3. 实现内网voip呼叫转PSTN呼叫
4. 实现PSTN呼入转到手机+windows同震,可接听
选型:
voip环境挺多的,我的诉求是可以最终搭建到手机上,所以初步考虑armbian系统或者x86的linux系统,freeswitch或者asterisk都行,之前折腾过一段时间fusionpbx,感觉配置太复杂了,我应该用不到,所以选择了asterisk核心安装,命令行配置的方式
废话不多说,先在ubuntu上把编译环境搭建起来
http://downloads.asterisk.org/pub/telephony/asterisk/
官网最新版本已经19了,保险起见下载18,20多M,编译应该不慢
编译过程不多说了,随便找个教程,应该都很容易,注意,因为我要接蓝牙,所以编译的时候必须用menuselect选择chan_mobile模块
make & sudo make install
编译完成后,用如下命令启动
sudo systemctl enable asterisk //开机启动
sudo systemctl restart asterisk //启动服务
添加sip基本配置和分机号
sudo vim /etc/asterisk/sip.conf //添加分机号
[general]
context = public
bindport = 5060
tcpbindaddr = 0.0.0.0
tcpenable = yes
videosupport=always
[1001]
type = friend
callerid =1001
secret = 1001
host = dynamic
canreinvite = no
dtmfmode = rfc2833
mailbox = 1001
transport = udp
nat = yes
disallow = all
allow = ulaw
[1002]
type = friend
callerid =1002
secret = 1002
host = dynamic
canreinvite = no
dtmfmode = rfc2833
mailbox = 1002
transport = udp
nat = yes
disallow = all
allow = ulaw
sudo vim /etc/asterisk/extensions.conf //添加拨号规则
[general]
static=yes
writeprotect=no
[public]
exten => 1001,1,Answer()
exten => 1001,n,Dial(SIP/1001,20,tr)
exten => 1001,n,Hangup
exten => 1002,1,Answer()
exten => 1002,n,Dial(SIP/1002,20,tr)
exten => 1002,n,Hangup
重启服务:
sudo systemctl restart asterisk //启动服务
sudo asterisk -vvvr //进入CLI命令行
module load chan_sip.so //加载SIP模块
sip show peers //查看sip 用户注册情况
显示结果:
查看拨号计划:
sudo asterisk -vvvr //进入CLI命令行
pve-ubuntu*CLI> dialplan show 1001@public //查看拨号计划
显示结果:
windows在安装mocrosip
手机用pixel 4,配置好sip账户
手机《=》Windows互通完成,第一步告一段落,有时间继续更新