Ubuntu搭建简单SIP服务器并使用sipdroid测试

简介: Ubuntu搭建简单SIP服务器并使用sipdroid测试

环境


ubuntu 20.04 x64


概述


测试客户端使用sipdroid

服务端刚开始使用的是ASTERISK, 而后改用miniSIPServer


ASTERISK


参考Install Asterisk 18 LTS on Ubuntu 20.04|18.04

在ubuntu20.04下, 可以跳过前面的源码编译部分直接安装sudo apt-get install asterisk

不使用源码编译的方式是否会导致后面打印输出的错误, 各位自行验证


/etc/asterisk/asterisk.conf


runuser = asterisk ; The user to run as.
rungroup = asterisk ; The group to run as


/etc/asterisk/sip.conf


[9001]
type=friend
host=dynamic
secret=9001
[9002]
type=friend
host=dynamic
secret=9002


/etc/asterisk/extensions.conf


[general]
static=yes
writeprotect=no
priorityjumping=no
autofallthrough=yes
clearglobalvars=no
[default]
exten => 9001,1,Dial(SIP/9001,10)
exten => 9002,1,Dial(SIP/9002,10)


anson@anson-MR26:/etc/asterisk$ sudo systemctl status asterisk
● asterisk.service - Asterisk PBX
     Loaded: loaded (/lib/systemd/system/asterisk.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-10-15 19:20:58 CST; 2s ago
       Docs: man:asterisk(8)
   Main PID: 80345 (asterisk)
      Tasks: 77 (limit: 18935)
     Memory: 38.8M
     CGroup: /system.slice/asterisk.service
             ├─80345 /usr/sbin/asterisk -g -f -p -U asterisk
             └─80346 astcanary /var/run/asterisk/alt.asterisk.canary.tweet.tweet.tweet 80345
10月 15 19:20:58 anson-MR26 asterisk[80345]: [Oct 15 19:20:58] ERROR[80345]: loader.c:2249 load_modules: cel_radius declined to load.
10月 15 19:20:58 anson-MR26 asterisk[80345]: [Oct 15 19:20:58] ERROR[80345]: loader.c:2249 load_modules: cdr_pgsql declined to load.
10月 15 19:20:58 anson-MR26 asterisk[80345]: [Oct 15 19:20:58] ERROR[80345]: loader.c:2249 load_modules: cel_sqlite3_custom declined to load.
10月 15 19:20:58 anson-MR26 asterisk[80345]: [Oct 15 19:20:58] ERROR[80345]: loader.c:2249 load_modules: cdr_sqlite3_custom declined to load.
10月 15 19:20:58 anson-MR26 asterisk[80345]: [Oct 15 19:20:58] ERROR[80345]: loader.c:2249 load_modules: chan_unistim declined to load.
10月 15 19:20:58 anson-MR26 asterisk[80345]: [Oct 15 19:20:58] ERROR[80345]: loader.c:2249 load_modules: pbx_dundi declined to load.
10月 15 19:20:58 anson-MR26 asterisk[80345]: [Oct 15 19:20:58] ERROR[80345]: loader.c:2249 load_modules: res_hep_rtcp declined to load.
10月 15 19:20:58 anson-MR26 asterisk[80345]: [Oct 15 19:20:58] ERROR[80345]: loader.c:2249 load_modules: res_hep_pjsip declined to load.
10月 15 19:20:58 anson-MR26 asterisk[80345]: Asterisk Ready.
10月 15 19:20:58 anson-MR26 systemd[1]: Started Asterisk PBX.


anson@anson-MR26:/etc/asterisk$ sudo asterisk -r
Asterisk 16.2.1~dfsg-2ubuntu1, Copyright (C) 1999 - 2018, Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Running as user 'asterisk'
Running under group 'asterisk'
Connected to Asterisk 16.2.1~dfsg-2ubuntu1 currently running on anson-MR26 (pid = 80345)


到这里, 可以开始打开sipdroid, 分别使用 9001 和 9002 账号密码进行设置并拨号.

测试的结果是: 可以拨号对方也响铃, 但接通后, 没有音频, 原因未知


miniSIPServer


实用的SIP服务器 miniSIPServer

Ubuntu下的miniSIPServer

下载DEB包, 装好依赖, 如QT5之类的, 再按文档执行:

anson@anson-MR26:/opt/sipserver$ /opt/sipserver/minisipserver-cli
2021-10-15 21:05:25  |  STUN server: 192.168.43.175:3478
2021-10-15 21:05:25  |  STUN server: 192.168.43.175:3479
2021-10-15 21:05:25  |  SIP server address (ipv4) is '192.168.43.175'
2021-10-15 21:05:25  |  SIP server address (ipv6) is '2409:8954:e6a8:5977:1a27:a2b:7834:2c19'
2021-10-15 21:05:25  |  SIP server UDP port is 5060
2021-10-15 21:05:25  |  SIP server TCP port is 5060
2021-10-15 21:05:25  |  HTTP server is running at port 8080, default password is '2C98487E501ABBF3'.
2021-10-15 21:05:25  |  All data are stored in '/home/anson/.minisipserver'.
2021-10-15 21:05:25  |  This version is 'V38 (5 clients) build 20210923, linux'.
2021-10-15 21:05:25  |  Server is ready now.


通过打印信息, 可以访问管理页面:

SIP server web system 登陆信息中的随机密码即可进入.


默认配置了100, 101, 102 三个账号, 对于测试来讲足够了.


实测, 可以拨号语音!


相关文章
|
7月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
427 18
|
7月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
430 18
|
7月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
696 17
|
7月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
559 15
|
8月前
|
编解码 缓存 Ubuntu
在Ubuntu平台搭建RTMP直播服务器使用SRS简要指南
这个简要指南提供了搭建基本 RTMP 直播服务所需知道信息. SRS 还提供许多高级特性如 DVR、转码、边缘缓存等. 若要利用这些特性, 需要进一步阅读官方文档并相应地调整配置文件.
848 0
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
10月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1453 23
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
1924 24
|
JSON 前端开发 测试技术
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
1069 10
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
931 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡