FonosterTwilio 的開(kāi)源替代品
Twilio Messaging 是一個(gè)在全球范圍內(nèi)發(fā)送和接收短信、彩信、OTT 消息的 API。它使用智能發(fā)送功能,確保信息可靠地到達(dá)終端用戶,無(wú)論他們?cè)谀睦铩onoster 則是 Twilio 的開(kāi)源替代品。
特征
-
使用 Cloud-Init 進(jìn)行云初始化
-
多租戶
-
輕松部署 PBX 功能
-
可編程語(yǔ)音應(yīng)用
-
節(jié)點(diǎn)開(kāi)發(fā)工具包
-
網(wǎng)頁(yè)軟件開(kāi)發(fā)工具包
-
支持 Amazon Simple Storage Service (S3)
-
使用 Let's Encrypt 保護(hù) API 端點(diǎn)
-
使用 OAuth2 進(jìn)行身份驗(yàn)證
-
使用 JWT 進(jìn)行身份驗(yàn)證
-
基于角色的訪問(wèn)控制 (RBAC)
-
基于插件的命令行工具
-
支持 Google Speech API
-
對(duì) Cloud Functions 的實(shí)驗(yàn)性支持
代碼示例
語(yǔ)音應(yīng)用程序是控制呼叫流程的服務(wù)器。語(yǔ)音應(yīng)用程序可以使用以下的任意組合:
-
Answer- 接聽(tīng)來(lái)電 -
Hangup- 關(guān)閉呼叫 -
Say- 獲取文本,將文本合成為音頻,并將結(jié)果傳回 -
Gather- 等待 DTMF 或語(yǔ)音事件并返回結(jié)果 -
Dial- 將呼叫傳遞給 PSTN 的座席或號(hào)碼 -
Record- 記錄主叫方的聲音并將音頻保存在存儲(chǔ)子系統(tǒng)中 -
Mute- 它告訴頻道停止發(fā)送媒體,有效地將頻道靜音 -
Unmute- 它告訴頻道允許媒體流
語(yǔ)音應(yīng)用示例:
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,發(fā)起調(diào)用也不例外。可以使用 SDK 通過(guò)幾行代碼開(kāi)始調(diào)用。
使用 SDK 發(fā)起呼叫的示例:
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);
評(píng)論
圖片
表情
