嗨,我一整天用Google搜索,但我找不到答案。
我必须写一个与星号对话的网络应用程序。 它应该能够执行ClicktoCall操作。 你们能推荐一些东西吗?
我遇到了一些项目,但我仍然不确定。
我只想连接到Asterisk并通过网络应用程序进行调用。
谢谢
答案 0 :(得分:1)
如果您是Ruby程序员,最好的方法是挂钩Asterisk adhearsion。它包含了Asterisk的AGI和Manager(MAPI)API。
另请参阅SIP, asterisk, adhearson and VoIP,特别是Adam Kalsey的回答。他为Tropo工作,赞助了这个项目。
答案 1 :(得分:0)
首先您需要知道,Asterisk使用的协议是SIP,您可以在Wikipedia了解更多信息。
由于你想使用rails应用程序,你可能也想使用ruby,所以有一个名为OverSip的ruby实现,你可以查看他们的API并查看它是否符合你的要求。
如果您的目标是网络电话,则需要WebRTC,Flash或Java小程序。对于WebRTC,您可以查看sipML5以获取开源解决方案。 您还可以选择使用手机启动从一个号码到另一个号码的呼叫的界面。当第一个呼叫被接听时,服务器开始在目的地振铃。
此外,您还可以使用twilio,tropo等云通信提供商。
答案 2 :(得分:0)
试试此Google搜索: rails asterisk manager interface
我立刻看到了一些有趣的事情。我不是想成为一个如果那些使用谷歌类型的人,只是不想粘贴我从这个谷歌搜索找到的所有链接。
检查出来,希望它有所帮助。
答案 3 :(得分:0)
有几种方法可以做到这一点,但最简单的三种是
1。在Asterisk服务器上生成呼叫文件
这些文件应写入dir
/ var / spool / asterisk / outgoing
Asterisk随后将提取文件,进行处理并删除它。 这样做非常具有侵略性,因此建议将文件写入一个临时目录,然后将其移到假脱机目录中进行处理。
文件格式的教程在这里:
https://www.voip-info.org/asterisk-auto-dial-out/
(我个人觉得这有点“ hacky”,并且更喜欢通过API调用来实现)
2。通过AMI API接口生成调用。
使用AMI API的Originate函数来生成调用。只需配置manager.conf
文件,就可以很容易地进行设置,您可以通过调用API来在端口5038上设置HTTP服务器。
https://www.voip-info.org/asterisk-config-managerconf/
3。使用ARI API设置呼叫
首先,您需要设置ari.conf
,到目前为止,这已经足够:
[general]
enabled = yes
pretty=yes
allowed_origins=http://ari.asterisk.org
[my_username]
type = user
read_only = no
password = my_password
password_format = plain
设置起来有点复杂,但是只要您精通技术怪胎,这实际上并不难。只需设置两个通道,设置一个混合桥,然后将两个通道都添加到桥中。
要设置click2call,您甚至不需要这样做...
这是我们使用的呼叫(红宝石):
其中
#{sip_id}
是您的注册SIP用户名
#{number}
是发送到拨号计划的分机
#{USERNAME}
#{PASSWORD}
来自ari.conf
HTTParty.post("http://sipserver.com/ari/channels?endpoint=SIP/#{sip_id}&extension=#{number}&context=outgoing&priority=1&timeout=30&api_key=#{USERNAME}:#{PASSWORD}")
(请注意,如果需要发送 variable参数,则将其作为原始命令的单独JSON发送)
一个真正有用的工具来理解它是如何工作的 http://ari.asterisk.org。我们已经在ari.conf中允许此来源,因此应该可以使用了。记住要在防火墙等中打开端口。
设置服务器IP和端口,API_KEY的格式为:my_username:my_password