우리가 어떻게 시작된 Twilio 대체품을 만들었는지, 그리고 왜 그것이 중요한지

작년에 내가 팀 포노스를 조립하기 시작했을 때, 나는 Reddit에 post을 발표하여 멋진 대화를 불러일으켰고, 프로젝트 포노스를 Github의 트렌드 리스트에 넣었다. 비록 우리가 보여줄 내용이 많지 않지만.

포노스트 / 포노스트


🚀 트와이리오의 오픈 소스 대체품.


그래서 나는 세계 각지에서 온 수십 명의 수석 기술관을 인터뷰하고 프로그래밍 가능한 전신의 개원 창고에 관심이 있는 몇 명의 투기와 이야기를 나누는 기회를 얻었다.
인터뷰에서 나는 클라우드 기반의 프로그래밍 가능한 전신 창고를 실현하기 위해 혁신적인 방법이 필요하다는 것을 발견했다.

CPAS가 먼저 필요한 이유는 무엇입니까?


웹 기반 응용 프로그램을 구축하는 것보다 기존 전신망을 이용한 응용 프로그램을 구축하는 것은 어려운 과제였다.
이것은 매우 어려운 것이다. 왜냐하면 그것은 특수한 기능과 관련되어 있기 때문에 찾기가 매우 어렵고 원가가 매우 높기 때문이다.
RFC 수십 개를 읽어서 전화 한 통을 프로그래밍하려는 사람은 아무도 없다는 현실에 직면하자.
따라서 API 시대가 UCaas와 CPaas 공급자와 함께 왔을 때 그 중 한 공급자가 몇 달 안에 해결 방안을 배치하는 것이지 간단한 용례를 얻는 것이 아니라 몇 주 안에 해결 방안을 배치하는 것을 사용하는 것은 머리를 쓸 필요가 없는 일이다.

그렇다면 전통적인 CPAA에는 어떤 문제가 있습니까?


전통적인 CPAA에는 아무런 문제가 없다.사실상 대부분의 경우 CPaas를 사용하는 것은 전신 솔루션을 배치하는 데 좋은 선택이다.
그러나 CPaas를 사용하여 빠른 출시를 한다는 개념은 훌륭하지만, 어떤 용례에 있어서는 가격이 매우 높다.문제가 발생하면 다른 CPaas로 이동하거나 해결 방안을 구축한 다음 다시 시작할 수밖에 없습니다.
일부 회사들은 CPaas를 사용하는 가격이 너무 높다고 불평한다.초창기 회사의 수석 기술관이 나에게 "우리가 필요로 하지 않는 많은 기능을 위해 비용을 지불하고 있는 것 같다."라고 말했다.이것은 전통적인 CPaas를 사용하면 당신은 현금지불 모델을 채택하기 시작하지만 원가가 곧 통제력을 잃을 수 있기 때문이다.
다른 회사들은 전통적인 CPAS를 사용하기 때문에 선택의 여지가 없고 기존의 기능만 사용할 수 있다는 것을 발견했다.맞춤형 기회가 없다.비록 이것은 대다수 회사에겐 문제가 되지 않지만, 과학 기술 회사에겐 파괴자이다.
특히 의료 업계에서는 프라이버시 문제와 현지 법규 때문에 전통적인 CPaas 사용에서 이익을 얻을 수 없는 용례도 있다.
당신의 회사는 어느 부류에 속합니까?

우리는 어떻게 해야만 그것을 더욱 좋아지게 할 수 있습니까?


Fonos 프로젝트의 주요 혁신은 고도로 휴대적이고 클라우드 기반의 프로그래밍 가능한 전신 창고를 만드는 방법을 연구하고 개발하는 데 있다.
이 프로그래밍 가능한 전신 창고는 기업이 API를 호출하여 전화를 걸거나 전화를 받거나 영상 대화를 하거나 문자 메시지를 보내는 것을 허용할 것이다. 서버와 네트워크가 백엔드에서 이런 정보를 사용해서 무엇을 하는지 걱정할 필요가 없다.
Project Fonos를 구축하는 전체적인 방법은 가능한 한 동종 제품 중 가장 좋은 기존 오픈 소스 솔루션을 사용하고 필요할 때 자체 개발하는 것입니다.그리고 우리는 이 독립된 소스 소프트웨어를 전통적인 CPaas와 유사한 응집력 있는 API에 통합할 것이다.
예를 들어, 간단한 음성 응용 프로그램을 시작하려면 다음과 같은 Javascript 코드를 작성할 수 있습니다.
const { VoiceServer } = require("@fonos/voice");
const voiceServer = new VoiceServer();

voiceServer.listen((req, res) => {
  console.log(req);
  res.play("sound:hello-world");
});
또는 전화 네트워크에 연결하려면 SDK를 사용하여 다음과 같은 간단한 스크립트를 작성할 수 있습니다.
const Fonos = require("@fonos/sdk");
const callManager = new Fonos.CallManager();

callManager.call({
 from: "9842753574",
 to: "17853178070",
 webhook: "https://5a2d2ea5d84d.ngrok.io"
})
.then(console.log)
.catch(console.error);
알림 프로그램을 만드시겠습니까?문제 없습니다. 몇 가지 간단한 절차만으로 주어진 Cron 스케줄에 따라 실행되는 클라우드 함수를 만들고 배치할 수 있습니다.
먼저 다음과 같은 방법으로 클라우드 기능을 초기화합니다.
fonos funcs:init
그런 다음 다음 다음 코드를 사용하여 프로세서를 편집합니다.
const Fonos = require("@fonos/sdk");
const callManager = new Fonos.CallManager();

// 🚀 Let's get started
// Use fonos funcs:deploy to send to the cloud functions
module.exports = async(request, response) => {
  await callManager.call({
    from: "9842753589",
    to: "17853178070",
    webhook: "https://5a2d2ea5d84d.ngrok.io"
  })
  return response.succeed("OK");
};
마지막으로 Cron 문자열을 사용하여 클라우드 에너지 서브시스템에 배치합니다.
fonos funcs:deploy --schedule "*/5 * * * *"
알았어.

The Cloud Functions capability if offered by the integration with OpenFaaS (by Alex Ellis)


다음 단계는 무엇입니까?


Project Fonos에서 사용할 수 있는 프로그래밍 가능한 음성 기능을 보려면 반드시 The essentials of building Voice Applications with Project Fonos을 참조하십시오.프로젝트를 시작하려면 Github으로 전화하고 다음과 같이 문의하십시오.
  • 트위터: @fonoster
  • 이메일: [email protected]
  • Slack channel
  • 포노스트 / 포노스트


    🚀 트와이리오의 오픈 소스 대체품.

    좋은 웹페이지 즐겨찾기