FonosterTwilio 的开源替代品
Twilio Messaging 是一个在全球范围内发送和接收短信、彩信、OTT 消息的 API。它使用智能发送功能,确保信息可靠地到达终端用户,无论他们在哪里。Fonoster 则是 Twilio 的开源替代品。
特征
-
使用 Cloud-Init 进行云初始化
-
多租户
-
轻松部署 PBX 功能
-
可编程语音应用
-
节点开发工具包
-
网页软件开发工具包
-
支持 Amazon Simple Storage Service (S3)
-
使用 Let's Encrypt 保护 API 端点
-
使用 OAuth2 进行身份验证
-
使用 JWT 进行身份验证
-
基于角色的访问控制 (RBAC)
-
基于插件的命令行工具
-
支持 Google Speech API
-
对 Cloud Functions 的实验性支持
代码示例
语音应用程序是控制呼叫流程的服务器。语音应用程序可以使用以下的任意组合:
-
Answer
- 接听来电 -
Hangup
- 关闭呼叫 -
Say
- 获取文本,将文本合成为音频,并将结果传回 -
Gather
- 等待 DTMF 或语音事件并返回结果 -
Dial
- 将呼叫传递给 PSTN 的座席或号码 -
Record
- 记录主叫方的声音并将音频保存在存储子系统中 -
Mute
- 它告诉频道停止发送媒体,有效地将频道静音 -
Unmute
- 它告诉频道允许媒体流
语音应用示例:
const { VoiceServer } = require("@fonoster/voice"); const voiceServer = new VoiceServer({ base: '/voiceapp' }); voiceServer.listen((req, res) => { console.log(req); res.play("sound:hello-world"); }); // your app will leave at http://127.0.0.1/voiceapp // and you can easily publish it to the Internet with: // ngrok http 3000
FN 中的一切都是 API,发起调用也不例外。可以使用 SDK 通过几行代码开始调用。
使用 SDK 发起呼叫的示例:
const Fonoster = require("@fonoster/sdk"); const callManager = new Fonoster.CallManager(); callManager.call({ from: "9842753574", to: "17853178070", webhook: "https://5a2d2ea5d84d.ngrok.io/voiceapp" }) .then(console.log) .catch(console.error);
评论