Browsed by
Tag: linux

在 Debian 12 (bookworm) 系统中运行 miniSIPServer

在 Debian 12 (bookworm) 系统中运行 miniSIPServer

最近 Debian 发布了最新的 V12 版本,即 Bookworm 版本。毫无疑问这是最新的稳定版本,也是商业环境中将会大量部署的版本,因此我们一如既往地在该版本中运行、测试了我们最新的 miniSIPServer 版本,验证结果也是一如既往的完美!如下图所示:

在 Debian 12 系统中运行的 miniSIPServer

如果您是在 Linux 系统中部署 VoIP,您可以选择 Debian 12 系统。请参考我们的指导文档了解如何在 Linux 系统中安装、运行 miniSIPServer。相信您会喜欢 Debian + miniSIPServer 的组合。

Gnome Calls

Gnome Calls

众所周知,miniSIPServer 可以运行在 Linux 系统,因此常有客户咨询我们是否有 Linux 平台的 SIP 终端软件,大家的初衷是将整个 VoIP 系统构建在 Linux 环境中。实际上 Linux 环境有非常多的选择,例如 linphone、jami 等。

最近发布了一个新的 SIP 软终端,而且非常重要的是,它是 Gnome 项目的核心应用,这就是“Gnome Calls”。在 Debian 的软件库中,这个软件被描述为“Make and receive PSTN phone calls”,而最新版本的 Calls 可以支持 SIP 协议,在 Gnome 项目中的描述已经修改为“Make phone and SIP calls”。

在 Debian 系统中非常容易安装 Calls,请使用以下命令:

sudo apt install gnome-calls

以下截图是 Calls 运行时的主窗体界面:

Gnome Calls 主运行界面
Gnome Calls 主运行界面

点击菜单“VoIP Accounts”即可添加 SIP 账号。大多数项与其他 SIP 终端软件的配置基本一致。例如,在我们的测试环境中, miniSIPServer 的地址是“192.168.3.42”,给终端分配的账号是“100”,请参考以下配置:

SIP 账号配置
SIP 账号配置

请注意:(1)默认的端口是0,建议修改为5060;(2)添加完账号,需要使能后才能向服务器(也就是 miniSIPServer)发起注册、并正常使用。Calls 没有显示账号的运行状态,因此我们需要检查 miniSIPServer 的分机窗体来检视分机的实时状态。

拨打呼叫时,在“Dial Pad”面板直接输入被叫号码(例如101)即可,如下图所示:

拨打呼叫
拨打呼叫

如果有入呼叫,在弹出的窗体中接听、或者拒绝呼叫:

入呼叫处理
入呼叫处理

从各方面使用情况判断,“Gnome Calls”目前还比较简单、粗糙,显然后续还需要加入很多的特性和功能。如果我们希望在 Linux 环境中部署 VoIP 网络、同时希望各网元都是纯粹的 Linux 应用,“Gnome Calls”是个不错的选择。

希望各位也会喜欢这些软件。

Linux 系统启动时自动运行 miniSIPServer

Linux 系统启动时自动运行 miniSIPServer

在以前的 Debian 系统,我们可以更新 rc.local 文件让系统启动时自动运行 miniSIPServer。不过目前的各版本 Debian 已经迁移到 systemd 方式进行管理,因此需要改用其他方式来实现。

首先能采用的方式是保留 rc.local,此时我们需要指示 systemd 激活“rc-local.service”,默认情况下这个 service 是没有激活的,采用以下命令激活即可:

sudo systemctl enable rc-local

这种方式不是一个理想的方式,只能算权宜之计。因为要启动 miniSIPServer, 我们可能不得不更改 rc-local.service,这有可能影响到其他通过同样方式启动的应用程序。

更合理、更好的方式当然是定义独立的 minisipserver.service,由 systemd 单独管理。实际上,这样也是相当简单。我们以树莓派(Raspberry Pi)系统为例,指示 Pi 在系统启动时以 “pi”用户身份启动 miniSIPServer 命令行程序。

我们在目录“/lib/systemd/system”下创建“minisipserver.service”文件,内容如下:

[Unit]
Description=miniSIPServer
After=network.target mariadb.service
Requires=network.target mariadb.service

[Service]
Type=simple
GuesMainPID=no
User=pi
KillMode=process
ExecStart=/opt/sipserver/minisipserver-cli

[Install]
WantedBy=multi-user.target

然后使用以下命令激活:

sudo systemctl enable minisipserver

一旦激活了“minisipserver.service”,系统启动或者重启时,将自动运行 miniSIPServer 命令行程序。

上述文件有两个重要的节段:[Unit] 和[Service],我们再进一步解释其中的内容。

Unit

点击此处了解 systemd 关于 Unit 节段的详细信息。

我们关心“After=”和“Requires=”两个参数。因为 miniSIPServer 是网络应用程序,因此必然要求网络要首先准备好,网络没准备好之前不应该启动 miniSIPServer。在我们的环境中,miniSIPServer 同时也连接了 mariadb/mysql 数据库,因此也要求在启动之前必须准备好数据库系统。如果您的 miniSIPServer 并没有连接数据库,可以从上述两个参数中删除“mariadb.service”的内容。

Service

点击此处了解 systemd 关于 Service 节段的详细信息。

我们关心“User=”和“ExecStart=”两个参数。 “User=” 指示 systemd 以哪位用户的身份(包括权限)去运行当前业务、启动指定的程序。树莓派系统默认的用户是“pi”,因此我们将其也设置为“pi”即可,在您自己的 Linux 系统,您可以指定为自己实际的相关用户。miniSIPServer 默认安装在“/opt/sipserver”目录下,命令行程序为“minisipserver-cli”,因此设置“ExecStart=”参数指示 systemd 在启动时找到、并运行该程序。

配置数据

配置数据

V38 之前版本的 miniSIPServer 将配置数据文件保存在当前安装目录下。在某些场景中, 这实际会遇到一些问题。 比如在 windows 系统中, 如果用户将 miniSIPServer 安装在系统盘(通常是 C 盘),有可能 windows 会禁止 miniSIPServer 写文件(除非用户明确以管理员权限运行 miniSIPServer)。

在 Linux 系统中, 也会有类似的权限问题。 miniSIPServer 默认安装在 “/opt/sipserver” 目录, 如果系统管理员(比如 root )运行了 miniSIPServer 并创建、修改了本地数据存储文件, 其他用户再运行时就没有权限读、写这些文件,从而导致启动 miniSIPServer 失败。

因此 V38 版本做出了一点改变,将数据存储在当前用户自己的目录下。 在 Windows系统中,这个目录就是用户的应用数据(Application data)目录。而在 Linux 系统中, 这个目录就是用户的 HOME 目录。

请参考在线文档了解这个变动的细节信息。

另一方面, miniSIPServer 会在启动时明确提示当前数据的保存目录。

miniSIPServer 在 Windows 系统中
miniSIPServer 在 Linux 系统中

在 Ubuntu 20.04 系统上运行 miniSIPServer

在 Ubuntu 20.04 系统上运行 miniSIPServer

Ubuntu 20.04 是最新的长期支持版本,因此 miniSIPServer 也必须支持这个新发布的版本。

不幸的是,Ubuntu 20.04 版本砍掉了对 Qt4 的支持,因此我们需要采用 Qt5 开发库更新 miniSIPServer。 miniSIPServer 升级到 V37 (build 20200424) 后,可以成功支持 Ubuntu 20.04系统版本,请参考下图。

miniSIPServer 运行在 Ubuntu 20.04 系统

另外,miniSIPServer 的 Windows 版本仍然选择停留在 Qt4 程序库,因为我们目前还需要支持部分客户的老旧系统版本,例如 XP、7等。在开发计划中, V38 版本将全部迁移到 Qt5 版本,同时将正式告别 XP 等老旧系统。

在 Deepin 15.11 上运行 miniSIPServer

在 Deepin 15.11 上运行 miniSIPServer

Deepin 是目前国内比较火的 Linux 系统发行版本,得到越来越多的应用厂家支持。从我们了解的基本情况看, 这个版本似乎是基于Debian系统,对UI做了很大改变。

考虑到miniSIPServer可以直接运行在Debian系统上,因此我们判断运行于Deepin上也应该没有问题。事实也确实如此,下载deb文件后,直接按照原有文档的介绍,即可安装并运行miniSIPServer。

如下图所示,是最新的miniSIPServer V37版本在最新的Deepin 15.11系统中运行 。

miniSIPServer on Deepin 15.11
miniSIPServer on Deepin 15.11
在Debian 10系统上运行miniSIPServer

在Debian 10系统上运行miniSIPServer

Debian 10 (Buster) 系统近日已发布。这是最新的稳定版本,也是非常重要的版本。根据Debian的版本发布计划,这个版本是已经可以进行商业部署的版本,因此我们需要对此足够重视。

我们安装了Debian 10版本,并同时安装了miniSIPServer进行了一些测试。我们可以自豪地宣布:目前miniSIPServer的版本无需任何修改,就可以直接在Debian 10系统上运行!请参考以下截图:

miniSIPServer 在 Debian 10 (Buster)系统上运行

祝贺 Debian 社区成功发布最新的版本!

发布长期支持版本V32!

发布长期支持版本V32!

我们终于正式发布V32(长期支持,LTS)版本了!自从发布首个V32测试版本以来,期间经历了数月的时间。在此之间,我们先后更新、优化了各类界面(包括web界面和GUi界面),优化了SIP内核、优化了呼叫基础模块等诸多方面。这是个非常令人兴奋的版本,重要的是,我们将提供长达5年的技术支持!

另一方面,最新的稳定版本V33也同时发布。最重要的一个改变是,从这个版本开始,miniSIPServer 不再支持 X86-32 架构的Debian、Ubuntu系统。新的业务、需求、特性开发将基于V33版本。

希望您能喜欢最新的这些版本!

 

在Ubuntu 18.04上运行miniSIPServer

在Ubuntu 18.04上运行miniSIPServer

安装完Ubuntu后,从我们网站上下载miniSIPServer V32版本,直接点击安装,非常简单!稍微测试了一下,完美!

由于18.04版本是最新的长期支持版本,因此我们也强烈推荐客户使用这个版本来部署miniSIPServer。

miniSIPServer运行在 Ubuntu 18.04
miniSIPServer运行在 Ubuntu 18.04

在Ubuntu16.10系统上运行miniSIPServer

在Ubuntu16.10系统上运行miniSIPServer

最近释出了最新的Ubuntu版本:16.10,一如既往,我们下载并安装miniSIPServer进行简单的测试。运行很完美,没有任何问题,请参考下图。

Ubuntu 16.10上的miniSIPServer
Ubuntu 16.10上的miniSIPServer

如果您是在商业环境中部署miniSIPServer,我们仍然建议您将Ubuntu保留在以前的LTS版本,即14.04以及16.04等版本。

如果您是在测试环境或者个人环境中部署miniSIPServer,那就请尽情地享受最新的系统带来的快乐吧。