twilio杂记
对于开发者不很友好,虽然目前是注册就送30$,但是注册号码的话需要付费却不能从这里面扣。
可以通过verify number将你的美国号码绑定,这样打出去的号码将会使用你绑定的号码。
对于开发者来讲,还是后起之秀tropo好用。
rest api见http://www.twilio.com/docs/api/rest/
同样它也需要http 基本验证,用户名是账户sid(不是app sid),密码是token。
http://readthedocs.org/docs/twilio-php/en/latest/index.html
它也有类似phono的客户端https://www.twilio.com/docs/client
不只是因为我测试时就是生产环境的缘故,感觉sms上twilio还是要比tropo快很多。我测试tropo都是它免费的开发环境,感觉sms比较慢。
client部分:
用它提供的脚本地址,因为它的脚本里还具有自动更新client js脚本库版本的功能,需要解析src中的域名部分来获得新js的地址。
这个需要服务端配合,首先setup需要app sid和token,这个token是要依据权限创建的,直接使用它的php-helper来创建就比较简单。Twilio/Capability.php
其次对于需要接听电话的情况,客户端需要初始化一个agent id,这个是可以随便取的,但是与电话号码绑定的入口必须要知道这个agentid才能将会话转接到这个client。
https://www.twilio.com/docs/client/device
流程:
client 的connect会请求app的call, url
此时请求参数中caller会是client:agentid的形式。
此时如果想转接到真实电话,必须要制定dial节点的callid属性。
如果是直接打电话这个app的号码,也会请求app的call url
上面两个的direction参数都是inbound
如果是rest api方式发起outbound会话,被呼叫方接通电话后,也会请求app的call url,这时direction参数是outbound-api
好笑的是如果client发起的请求被转接到client本身时,这也是可以的,那就变成了自己和自己对话了。
下面是对于twilio和tropo使用的对比
http://pardner.com/2011/04/tropo-not-ready-for-prime-time-went-with-twilio/
作者最终选择的是twilio:
主要是tropo无声的丢失了信息而twilio却保证了不丢失。
REST API中查询所有买入的号码是 https://www.twilio.com/docs/api/rest/incoming-phone-numbers