4

我有一部 Cisco IP-Phone 7945,我想从我的 CLI 控制它。例如我想启动一个命令

call start 12345 #12345 is the number I want to call

或者

call cancel

有人知道工具或类似的东西吗?

我正在编写一个 Rails 应用程序,我想在执行某个操作后从应用程序内开始通话。

4

2 回答 2

6

7945 有一个网络界面,允许经过身份验证的用户执行命令,包括“拨号”命令。

您的 Rails 应用程序将连接到电话http://phone-ip-address/CGI/ExecutePOST一些如下所示的 XML:

<CiscoIPPhoneExecute>
  <ExecuteItem URL="Dial:12345" />
</CiscoIPPhoneExecute>

身份验证使用 HTTP Basic Auth 完成,后端身份验证器由您的 7945 连接到的电话系统确定。如果是 Cisco Call Manager,它使用分配的 Call Manager 用户信息。

有关详细信息,请在 cisco.com 上查找 IP 电话服务指南。快速链接:

简短的回答:它不是 CLI,但通过 HTTP 与电话交互来编程拨号程序很简单。

于 2012-05-10T14:44:33.473 回答
4

我知道这是一个旧线程,但我想我会在 Ruby 中发布这个工作代码示例。在 CP-8941 手机上测试。用户名和密码方案会有所不同。我们的系统设置为与 Active Directory 接口,因此用户名和密码是我们的 Windows 登录名。

require "net/http"
require "uri"

phone = "ip-of-your-phone"
user = "your-username-goes-here"
secret = "your-password-goes-here"
prefix = "91"
todial = "number-to-dial-goes-here"



uri = URI.parse("http://#{phone}/CGI/Execute")

http = Net::HTTP.new(uri.host, uri.port)

request = Net::HTTP::Post.new(uri.request_uri)

http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)
request.basic_auth(user, secret)

request.set_form_data({"XML" => %(<CiscoIPPhoneExecute><ExecuteItem URL="Dial:#{prefix}#{todial}" /></CiscoIPPhoneExecute>) })

response = http.request(request)
于 2014-08-21T21:34:19.327 回答