野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 376|回复: 1

[经验\资料] 野火【鲁班猫】卡片电脑创意氛围赛(第二期)基于鲁班...

[复制链接]
发表于 2023-12-5 00:00:33 | 显示全部楼层 |阅读模式

一、选型
SIP是由IETF提出的应用层控制(信令)协议,主要用于建立、修改和终止多媒体会话。 它也是互联网多媒体通信和控制协议体系的一部分,SIP协议的诸多优良特性将使其成为下一代网络融合通信的标准。 基于SIP协议设计实现的嵌入式SIP服务器系统具有较高的兼容性和可扩展性,支持多种流媒体文件,可以轻松与其他多媒体平台集成,同时有效降低网络负载,采用嵌入式平台构建的SIP服务器将具有更高的性能和更低的功耗。
目前比较流行的有Asterisk、FreeSWITCH、Kamailio、OpenSIPS等开源软件,Asterisk之前玩的比较多,提供了源码可以在ARM64平台编译,在鲁班猫1N上安装应该easy,FreeSWITCH、Kamailio比较倾向于PBX设计,就OpenSIPS做SIP服务器软件吧。
[size=13.008px]

[size=13.008px]OpenSIPS is an Open Source SIP proxy/server for voice, video, IM, presence and any other SIP extensions.
OP1.png

二、服务器搭建

1、前期环境准备
包括鲁班猫1N的Ubuntu22.04环境。
然后就是一系列依赖软件包,都一起来吧,反正我选择的是32G flash版本,够用。
  1. <blockquote>sudo apt install flex bison libncurses5-dev
复制代码
2、MySQL安装

MySQL主要用于存储多媒体语音服务器的用户。
  1. sudo apt install mysql-server
  2. sudo apt install mysql-client
  3. sudo apt install libmysqlclient-dev
复制代码
SIP4.png
3、源码下载

源码地址为https://github.com/OpenSIPS/opensips.git,速度有时候乌龟一样,可以在gitee上找到同步版。
OP2.png


4、menuconfig
进入源码文件目录后,执行”sudo make menuconfig“,选择mysql和安装路径/usr/local/opensips/ 。
Configure Compile Options    Configure Excluded Modules        
  • db_mysql     Configure Install Prefix        /usr/local/opensips/
    OP3.png
    保存后退出,sudo make all进行编译,之后sudo make install。

    5、配置sip.cfg
    次执行”sudo make menuconfig“,目的是Generate OpenSIPS Script。
    Generate OpenSIPS Script    Residential Script        Configure Residential Script            
  • ENABLE_TCP            
  • USE_AUTH            
  • USE_DBACC            
  • USE_DBUSRLOC            
  • USE_DIALOG SIP1.png
    勾选如上项目,之后保存选择,再选择”Generate OpenSIPS Script“,生成cfg文件。
    SIP2.png

    (1)将生成的cfg文件更名为opensips.cfg;
    (2)修改opensips.cfg文件,一是mpath=”/usr/local/opensips/lib64/opensips/modules/”;二是listen=udp/listen=tcp的IP地址改成本机IP;
    (3)将opensips.cfg copy至安装目录etc/opensips/目录下,记得用sudo。

    最后检测下配置是否OK,如下log即可。
    /usr/local/opensips/sbin$ opensips -C
    Dec  2 20:34:25 [19602] INFO:core:fix_poll_method: using epoll_lt as the IO watch method (auto detected)
    Listening on
                 udp: 192.168.99.145 [192.168.99.145]:5060
    Aliases:

    Dec  2 20:34:25 [19602] NOTICE:core:main: config file ok, exiting...
    6、配置opensipsctlrc
    opensipsctlrc文件再安装目录etc/opensips/下,sudo打开即可修改,主要内容包括:
    1. SIP_DOMAIN=本机IP
    2. DBENGINE=MYSQL
    3. #localhost
    4. DBHOST=本机IP
    5. DBNAME=opensips
    6. DBRWUSER=opensips
    7. DBRWPW="opensipsrw"
    8. DBROOTUSER="root"
    复制代码

    7、mysql配置
    在安装目录下执行”./sbin/opensipsdbctl create“命令,完成opensips数据库创建。
    OP4.png

    8、添加语音用户
    通过opensipsctl add username password命令添加用户&密码。
    如:
    ./sbin/opensipsctl add 1000 1000
    ./sbin/opensipsctl add 1002 1002
    之后启动服务即可。

    三、系统测试
    可以使用Linphone或者Zoiper来连接鲁班猫1N服务器,输入上述语音用户账号密码。

    OP5.png

    点击确认后注册至服务器,用wireshark抓了个包看看,OK。
    OP6.png
    Linphone已经显示登录
    OP9.png

    来个语音呼叫&SMS。
    QQ7.png QQ.png


    视频链接: https://b23.tv/Htkt1gn

    最后来一张鲁班猫1N的帅照:
    OP7.jpg

    加了个外壳,当成多媒体语音服务器跑下来,发热控制的很好,SOC总体处理能力足够。





  • 回复

    使用道具 举报

    发表于 2023-12-10 08:35:22 | 显示全部楼层
    真不错     
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

    GMT+8, 2024-4-28 04:15 , Processed in 0.139534 second(s), 28 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表