私はCisco IP-Phone 7945を使用しており、CLIから制御したいと考えています。たとえば、私はCLIからcisco IP-Phoneを制御する方法はありますか。
call start 12345 #12345 is the number I want to call
または
call cancel
誰もがツールまたは似何かを知っているようなコマンドを開始したいですか?
私はレールアプリを書いています。特定の操作の後にアプリ内から電話をかけたいと思います。
私はCisco IP-Phone 7945を使用しており、CLIから制御したいと考えています。たとえば、私はCLIからcisco IP-Phoneを制御する方法はありますか。
call start 12345 #12345 is the number I want to call
または
call cancel
誰もがツールまたは似何かを知っているようなコマンドを開始したいですか?
私はレールアプリを書いています。特定の操作の後にアプリ内から電話をかけたいと思います。
7945には、認証されたユーザーによる「ダイヤル」コマンドを含むコマンドの実行を許可するWebインターフェイスがあります。
あなたのレールのアプリはhttp://phone-ip-address/CGI/Execute
とPOST
で電話に次のようになり、いくつかのXMLを接続します:
<CiscoIPPhoneExecute>
<ExecuteItem URL="Dial:12345" />
</CiscoIPPhoneExecute>
は、どのような電話システムによって決定されます7945が接続されています。 Cisco Call Managerの場合、割り当てられたCall Managerユーザ情報が使用されます。
詳細については、cisco.comのIP Phoneサービスガイドを参照してください。クイックリンク:
短い答え:それは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)
答えとコードの例はDavidにありがとうございます。私はもうプロジェクトに取り組んでいないので、テストできません。しかし、うまくいけば誰かがこれが役に立つと思うでしょう。 – Daniel
関連リンク – yarek