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);
评论
