bandwidth / catapult-php-examples

此包已被废弃,不再维护。未建议替代包。

Catapult PHP 示例

v0.5.0 2015-04-11 20:38 UTC

This package is not auto-updated.

Last update: 2021-02-23 15:26:45 UTC


README

Bandwidth 应用平台的示例应用

使用PHP SDK构建

包含

  • 短信自动回复

  • 呼叫转移

  • 语音提醒

  • 基本语音邮件

  • 基本会议

  • 高级会议

  • 键盘模拟器

  • BaML 呼叫转移

  • SIP 域名 & 端点 *

          * coming soon
    

设置

  1. starters 文件 credentials.json 存储您的 Bandwidth 凭据,您应该首先编辑此文件

  2. 每个应用程序都有一个 application.json,其中包含与应用程序相关的信息。要运行应用程序,请更新此文件。您还需要确保数字是 E.164 格式,语音对 Catapult v1 有效

  3. 在您的 Catapult 账户下,我们为每个列出的应用程序使用了单独的应用程序。您也可以通过登录 Catapult 账户并创建应用程序来实现。您需要确保

  4. 呼叫 URL 正确设置,这是回调 URL
    将其指向 callback.php(每个应用程序都有一个)

  5. 确保 application.json 中使用的数字属于同一应用程序。

  6. 要开始测试,请确保已运行应用程序一次,它将为这些演示创建所有表

获取依赖项

要获取最新的 php-bandwidth SDK,请运行以下命令

composer update

Heroku

您需要创建一个 Heroku 应用程序,然后可以部署

heroku create "php-bandwidth-examples" git add * git commit -m 'updating php-bandwidth-examples!' git push heroku master

要在 Heroku 上运行这些示例,您需要 clearDB 或 Postgres,可以使用以下方式安装

heroku addons:add heroku-postgresql:dev

heroku addons:add cleardb:ignite

目前 Heroku 与 Heroku Postgres 进行了测试

AWS

eb start git aws.push

对于 AWS,您需要设置

MYSQL_USER MYSQL_PASSWORD MYSQL_HOST MYSQL_DB

应用程序 001 短信自动回复

要求:Catapult 账户下的一个号码

设置

  1. 使用 callback.php 作为您在https://catapult.inetwork.com/pages/catapult.jsf下应用程序的回调
  2. 输入来自您的 catapult 账户的有效号码

其他:确保该号码也在此应用程序下

应用程序 002 呼叫转移

要求:Catapult 账户下的监听和转移号码

设置

  1. 使用 callback.php 作为您在https://catapult.inetwork.com/pages/catapult.jsf下应用程序的回调
  2. 请在 application.json 中输入您弓箭账户中的两个有效数字

App 003 语音提醒

要求:用于语音提醒的数字

设置

  1. 使用 callback.php 作为您在https://catapult.inetwork.com/pages/catapult.jsf下应用程序的回调
  2. 请输入用于语音提醒的有效数字

App 004 基础语音邮件

要求:用于语音提醒的数字

设置

  1. 使用 callback.php 作为您在https://catapult.inetwork.com/pages/catapult.jsf下应用程序的回调
  2. 请输入用于语音邮件的有效数字

App 005 基础会议

要求:用于会议的数字

设置

  1. 使用 callback.php 作为您在https://catapult.inetwork.com/pages/catapult.jsf下应用程序的回调
  2. 在 application.json 中输入有效的与会者和初始号码

App 006 高级会议

要求:用于会议的数字

设置:设置与基础会议类似

App 007 键盘模拟器

键盘模拟器是一种快速模拟完整键盘服务的方法,它将提供一个简单的方法来按顺序捕获DTMF键,并使用SQLite保存它们,甚至执行转接。

设置

  1. 请为您的键盘输入有效的数字序列
  2. 需要有效的来电号码
  3. 现有的起始和中间语音文本

App 008 BaML 呼叫转接

这将生成带宽标记语言中的动词,然后这些动词将被用来更新您的呼叫。在日志中,您将能够看到所有生成的标记。

设置:我们已列出

  1. 请输入有效的初始号码和目标号码
  2. 发起呼叫

App 009 SIP 域名

此应用程序使用 Catapult 创建域名和端点。它将提供一个界面来这样做。通过它,您将能够看到创建这些域以及将它们与端点集成的步骤方法。

与其他界面一样,您还可以看到已进行的SIP呼叫的历史记录。

设置

  1. 指定接口的有效名称
  2. 使用这些域名创建您的端点

文档

这些应用程序以以下方式进行文档化

  • 步骤(这些是应用程序运行所必需的)
  • 重要(我们需要的东西)
  • 建议(这些是可选的分支,但强烈建议)
  • 可选(实现者的选择)

其他

实现者注释将描述段落以及实现者是否应该注意的事项

提示是一些建议使用哪些对象

验证将描述如何使用Catapult库进行验证

更多

为了确保这些示例在您的RBDMS上运行,我们使用了一个简单的风格指南

  • 所有表名中使用下划线
  • 表名中不使用中缀
  • 在适用的情况下使用保留字符,例如,“from”对于postGresQL将是SQLite中的“from”

其他注释

  • 根据回调的实现方式,某些应用程序记录可能需要一段时间才能在界面中显示。

  • 在多个区域中添加了PHP的sleep/1,这对于示例用例已被注释,但在构建应用程序时应加以利用。更多内容,您将在application.json中找到睡眠超时。

这些示例需要

Catapult PHP SDK >= 0.7.3 SQLite3 PHP 5.3.0 Apache HTTPd >= 2.2 或 nGinx

在任何地方部署:SQLite3

当使用 Heroku:PostgreSQL ClearDB 与 MySQL

AWS:MySQL

通过 ngrok 打开外部访问

作为部署到外部主机的一种替代方案,您可以通过 ngrok 打开到本地 web 服务器的外部访问。

首先在您的计算机上安装 ngrok。通过以下方式运行 ngrok:

ngrok http 80 #you can use another free port if need 

您将在控制台输出中看到类似 http://XXXXXXX.ngrok.io 的 URL。使用此链接来外部访问您的应用程序。