phono使用入门
phono是tropo的jquery脚本库,使得你可以轻松地整合语音,IM服务到你的网站上去。
它的功能很强大:
tropo支持的它都支持,而且还更强大:
每个匿名session都有唯一的sessionid,可以作为匿名sip账号,因此它可以接收呼叫包括实际电话和sip电话。
同样它可以接收发送sms短信。这个不是本身提供的。
它可以接收发送xmpp消息。
当初始化好phono时,会得到一个唯一sessionid类似a95df60a-31c6-42ed-b56e-74a1baa1b9e5@gw114.phono.com
这是一个可以合法的sip地址。
dial方法:
呼叫电话号码:(不能带区号+1),其实质是通过tropo使用一个号码TELA转接到目标电话。如果直接回call这个号码TELA,则告知此号码不可用。
this.phone.dial("774-271-7100")
呼叫sip:
this.phone.dial("sip:9991443046@sip.voxeo.net")
呼叫tropo app:
$.phono({
onReady: function(event, phone) {
var text = prompt("Enter some text you'd like to hear in Spanish");
phone.dial("app:9991442945", {
headers: [
{
name:"x-source",
value:"en"
},
{
name:"x-target",
value:"es"
},
{
name:"x-text",
value:text
}
]
});
}
});
详细call api:http://www.phono.com/docs#call-reference
接收电话:
$.phono({ onReady: function(event) { alert("My SIP address is sip:" + this.sessionId); }, phone: { onIncomingCall: function(event) { var call = event.call; alert("Incoming call"); } } });
发送xmpp消息:
$.phono({
onReady: function() {
this.messaging.send("phono-echo@tropo.im","Hello");
}
});
对于gtalk来说,是不接受非联系人消息的,除非gtalk用户手动将这个匿名账户添加到联系人再聊条。---所以,这个临时xmpp账户基本对gtalk没有什么实际意义。
接收xmpp消息: session可作为xmpp消息address
$.phono({
onReady: function(event) {
alert("My XMPP address is " + this.sessionId);
},
messaging: {
onMessage: function(event) {
var message = event.message;
alert("Message from: " + message.from + "\n" + message.body);
}
}
})
发送sms见http://blog.phono.com/2010/12/07/web-based-im-to-sms-gateway/ 原理是通过发送到tropo app的jabber账号由app来通过tropo的sms接口转发的。这样存在一个问题,因为多个phono用户给同一个sms用户发短信时,sms用户无法区分phono用户,因为app使用同一个电话号码,sms手机上就显示的是同一个号码的来自不同phono用户的消息?