我有一个Cisco IP电话7945,我想从我的CLI控制它。例如,我要像如何从CLI控制Cisco IP电话?
call start 12345 #12345 is the number I want to call
或
call cancel
任何人都知道的工具或类似的东西开始的命令?
我正在写一个rails应用程序,并且我想在应用程序执行某个操作后开始一个调用。
我有一个Cisco IP电话7945,我想从我的CLI控制它。例如,我要像如何从CLI控制Cisco IP电话?
call start 12345 #12345 is the number I want to call
或
call cancel
任何人都知道的工具或类似的东西开始的命令?
我正在写一个rails应用程序,并且我想在应用程序执行某个操作后开始一个调用。
7945有一个web界面,允许由认证用户执行命令,包括“拨号”命令。
你的Rails应用程序将连接到手机在http://phone-ip-address/CGI/Execute
和POST
一些XML,看起来像这样:
<CiscoIPPhoneExecute>
<ExecuteItem URL="Dial:12345" />
</CiscoIPPhoneExecute>
认证所使用的HTTP基本验证和后端认证所做的是通过什么手机系统确定你的7945已连接到。如果Cisco呼叫管理器使用分配的呼叫管理器用户信息。
有关详细信息,请参阅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)
谢谢大卫的答案和代码示例。我不再在这个项目上工作了,所以我无法测试它。但希望别人会发现这有帮助。 – Daniel 2014-08-23 13:23:53
添加相关链接 – yarek 2012-11-02 11:03:44