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 には、認証されたユーザーによる「ダイヤル」コマンドを含むコマンドの実行を許可する Web インターフェイスがあります。
Rails アプリは、次のような XML で電話http://phone-ip-address/CGI/Execute
に接続します。POST
<CiscoIPPhoneExecute>
<ExecuteItem URL="Dial:12345" />
</CiscoIPPhoneExecute>
認証は HTTP 基本認証で行われ、バックエンドのオーセンティケーターは、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)