100ask_imx6ull使用linphonec实现局域网内与手机通话

100ask_imx6ull使用linphonec实现局域网内与手机通话

之前老师要我看一下如何实现VOIP的方案,网上看到一篇文章用s3c2440移植linphone实现通话,也参考了别人移植linphone需要这些库,100ask_imx6ull使用linphonec实现局域网内与手机通话_第1张图片
本来打算在看完ALSA声卡部分在JZ2440上面移植一下,刚好最近刚入手100ask_imx6ull韦老师的新板子,在buildroot make menuconfig网络包配置里面看到有linphone,想着上面alsa声卡什么都配置好了,就先来实验一下能不能用,结果还真能手机拨通开发板,虽然音质不太好,也能听清一些,不知道是芯片性能原因,还是采样率不一样,还是记录一下实现过程!

首先我们肯定一个sip服务器来注册我们的终端,以及安卓手机啦。
用到的软件及下载地址:

1.Linphone客户端(安卓及windows):http://www.linphone.org/technical-corner/linphone?qt-technical_corner=2#qt-technical_corner

2.服务器:miniSIPServer,下载地址:https://www.myvoipapp.com/index.html

一、搭建服务器

1.安装软件miniSIPServer,下载地址:https://www.myvoipapp.com/index.html

2.安装好后设置我们服务器的IP地址,因为是在windows上安装的首选地址也就是我们电脑的IP
100ask_imx6ull使用linphonec实现局域网内与手机通话_第2张图片
3.电脑里本身有MySQL顺带把密码输进去了
如果你的电脑没有可以装一个哦
100ask_imx6ull使用linphonec实现局域网内与手机通话_第3张图片
4.这里不知道干嘛的,顺带改一下
100ask_imx6ull使用linphonec实现局域网内与手机通话_第4张图片
5.进入分机,我们要在我们的服务器上**注册我们的用户**
100ask_imx6ull使用linphonec实现局域网内与手机通话_第5张图片
6.增加用户1000也就是我的第一部手机
对应的IP就是我们手机的IP啦,当然前提在一个局域网下
100ask_imx6ull使用linphonec实现局域网内与手机通话_第6张图片
我们先设置一下把,分机名为1000,密码123456,底下的IP地址为我们手机连接同一个局域网里面的手机的IP地址,端口号5060
7.同理我们的第二部手机,配置一下。第二部手机的IP地址为192.168.1.103
100ask_imx6ull使用linphonec实现局域网内与手机通话_第7张图片
8.在电脑端也装了linphone感觉版本有点太新,配置有点问题,先就实现两个手机打电话。

二、安卓手机安装Linphone软件及配置

1.点击助手新建一个SIP账号,我们这里是已经创建过了
100ask_imx6ull使用linphonec实现局域网内与手机通话_第8张图片
100ask_imx6ull使用linphonec实现局域网内与手机通话_第9张图片
100ask_imx6ull使用linphonec实现局域网内与手机通话_第10张图片
底下高级的选项,代理那里填上服务器的IP地址192.168.1.101
也就是安装miniserver软件的电脑的IP地址
100ask_imx6ull使用linphonec实现局域网内与手机通话_第11张图片
选择网络连接端口改为5060,这里默认原来是随机的。
100ask_imx6ull使用linphonec实现局域网内与手机通话_第12张图片
100ask_imx6ull使用linphonec实现局域网内与手机通话_第13张图片
添加一个账户,用于拨打电话
100ask_imx6ull使用linphonec实现局域网内与手机通话_第14张图片
4000是我们另一部手机的用户名,IP是另一部手机的IP地址
好了,我们就可以拨打电话啦,测试结果还是很流畅哒!

三、100ask_imx6ull移植linphone

使用100ask-sdk包里面的Buildroot
使用make 100ask_imx6ull_defconfig
然后make menuconfig 把Targer packge 里面
100ask_imx6ull使用linphonec实现局域网内与手机通话_第15张图片
alsa声卡肯定要选上
100ask_imx6ull使用linphonec实现局域网内与手机通话_第16张图片
然后linphone也选上

退出后make即可,
然后把/100ask_imx6ullsdk/Buildroot_2019.02/output/images目录下的emmc.img镜像下载到板子上即可。

四、启动板子

下载好emmc.img后

进入开发板
在这里插入图片描述
这里有一些linphonec 命令可以参考:

启动
1.	linphonec -d [0|6] 日志等级:linphone -d 0不输出日志,linphone -d 6输出所有信息
2.	linphonec -C 使能摄像头,但不将图像显示到LCD上
3.	linphonec -D 使能LCD显示
4.	linphonec -V 使能LCD显示和摄像头功能,类似于linphone -C -D的组合
5.	linphonec -s [email protected]在启动linphone后,拨打后面的sip地址电话
6.	linphonec -a 启动linphone后自动接听来电

如:linphonec -V -d 6 使能视频模式,并输出所有调试信息
    linphonec -V -s [email protected]  启动linphone并拨打对应的sip地址电话

控制
控制是在启动linphone后的操作

1.	注册:其中name和password为对应的户名和密码
register    sip:[email protected]    sip:sip.linphone.org    password

2.	呼叫
call    [email protected] 呼叫广域网  或者  call @192.168.1.110 呼叫局域网

3.	退出程序:quit

4.	terminate    终止当前对话
terminate    <call id>   终止对应id对话
terminate    all        终止所有对话

5.	answer   接听当前默认的等待电话
answer   <call id>接听指定id号的来电

6.	help  advanced 更多帮助

7.	snapshot  /home/pic.jpeg  截屏

执行linphonec
首先注册了一下感觉有点问题,服务器上没有亮
在这里插入图片描述
在这里插入图片描述
换了个输入格式还是有问题,就没鼓捣了,总是返回注册失败
直接实验看能不能打电话把:
按照上面的命令,拨通我们一部手机
手机上配置的是用户名2000 手机的IP地址是192.168.1.100,可以拨通,我们在板子上接上耳机,通过耳机的麦克可以实现通话啦,但是音质没有想想的那么好。
100ask_imx6ull使用linphonec实现局域网内与手机通话_第17张图片
手机再回拨root
100ask_imx6ull使用linphonec实现局域网内与手机通话_第18张图片
100ask_imx6ull使用linphonec实现局域网内与手机通话_第19张图片
可以看见我们的手机端正在请求链接我,
通过耳机可以听见铃声。
板子上输入answer,可以正常接通打电话啦。
100ask_imx6ull使用linphonec实现局域网内与手机通话_第20张图片
如果想要实现不同网络之前通话,你也可以在云服务器上安装asterisk搭建一个sip服务器,注册自己的用户。

你可能感兴趣的:(imx6ull)