我有一部 Cisco IP-Phone 7945,我想从我的 CLI 控制它。例如我想启动一个命令
call start 12345 #12345 is the number I want to call
或者
call cancel
有人知道工具或类似的东西吗?
我正在编写一个 Rails 应用程序,我想在执行某个操作后从应用程序内开始通话。
我有一部 Cisco IP-Phone 7945,我想从我的 CLI 控制它。例如我想启动一个命令
call start 12345 #12345 is the number I want to call
或者
call cancel
有人知道工具或类似的东西吗?
我正在编写一个 Rails 应用程序,我想在执行某个操作后从应用程序内开始通话。
7945 有一个网络界面,允许经过身份验证的用户执行命令,包括“拨号”命令。
您的 Rails 应用程序将连接到电话http://phone-ip-address/CGI/Execute
和POST
一些如下所示的 XML:
<CiscoIPPhoneExecute>
<ExecuteItem URL="Dial:12345" />
</CiscoIPPhoneExecute>
身份验证使用 HTTP Basic Auth 完成,后端身份验证器由您的 7945 连接到的电话系统确定。如果是 Cisco Call Manager,它使用分配的 Call Manager 用户信息。
有关详细信息,请在 cisco.com 上查找 IP 电话服务指南。快速链接:
简短的回答:它不是 CLI,但通过 HTTP 与电话交互来编程拨号程序很简单。
我知道这是一个旧线程,但我想我会在 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)