![具有 API 的本地 VOIP 服务器/客户端](https://linux22.com/image/1125550/%E5%85%B7%E6%9C%89%20API%20%E7%9A%84%E6%9C%AC%E5%9C%B0%20VOIP%20%E6%9C%8D%E5%8A%A1%E5%99%A8%2F%E5%AE%A2%E6%88%B7%E7%AB%AF.png)
我有一批 Ubuntu 自助服务终端电脑,它们将被部署到野外。公众将会使用它们。
我想在应用程序中添加一个“按下寻求帮助”按钮,这样如果人们遇到困难,他们可以与真人交谈。自助服务终端硬件将配备扬声器和麦克风。我希望流程如下:
- 他们按下按钮
- 中心响起的东西
- 支持人员“接听”电话
- 他们交谈,最后其中一个人挂断了电话。
或者,如果支持人员在信息亭主动发现问题,我希望他们能够在没有任何用户交互的情况下开始呼叫。
我还需要支持人员能够识别哪个亭正在呼叫。
想要做这样的事情会产生一些问题。我需要软件来处理呼叫,并且我需要一种方式让我的应用程序开始(和结束)呼叫。
TeamSpeak 和 Mumble 之类的东西似乎不太适合这种情况,因为我不希望所有信息亭互相通话,就像我不希望支持人员的声音同时从每个信息亭广播出去一样!我想我需要一个仅限本地的 Skype,但我可以在客户端主动控制它。
有任何想法吗?
答案1
VOIP 的行业标准是 Asterisk 服务器。您可以在其中配置支持哪些电话协议、允许谁拨打电话以及将呼叫路由给谁。
作为客户端,您可以使用一些命令行软件电话。使用一些 shell 脚本可以轻松将其集成到项目中。
或者,您可以使用支持 SIP、H323 或任何协议的 VOIP 库并将其直接集成到应用程序中。如果是 Web 应用程序 - WebRTC 协议正在兴起。
首先,从 Ubuntu 存储库安装一些带 GUI 的 SIP 电话,在不同的机器上设置 Asterisk 和几个帐户。从另一个帐户拨打一个帐户的号码。