Aastra XML

2008年10月3日 (金) 03:51時点における94.102.60.45 (トーク)による版 (XMLブラウザ)

Aastraの多くの電話機はXMLでの制御をサポートしていますが、機種によってサポートレベルは異なります。

  • 9133i
プログラマブルキー、状態によるXMLの実行
テキストメッセージの表示
LEDの制御は行えない
  • 57i
最上位機種のため、ほぼフルコントロール
メッセージ表示以外にもグラフィックも可能
LEDの制御可能

8mHWyS <a href="http://kfbcchworyxe.com/">kfbcchworyxe</a>, [url=http://swlqfyuutzkp.com/]swlqfyuutzkp[/url], [link=http://rnsvcbdluqac.com/]rnsvcbdluqac[/link], http://yawtphjeoyaz.com/

目次

XMLによる電話機制御

電話機に対してXMLを投げるとLEDが制御できたりメッセージが表示できたりします。HTTP POSTで投げるだけですが、どこから投げてもいいわけではなく、Configuration Server SettingsでXML Push Server List(Approved IP Addresses)の項目でPushするサーバのIPアドレスを設定しておきます。

LED制御(57i)

Softkey3(左下)のLEDを制御するにはperlではこんな感じで出来ます(デベロッパ・ガイドのコードを流用)。

#!/usr/bin/perl
# Create a user agent object
use LWP::UserAgent;
use LWP::ConnCache;
use HTTP::Request::Common;
my $ua = LWP::UserAgent->new(agent => 'Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)');
$ua->conn_cache(LWP::ConnCache->new());
$ua->request(
        POST 'http://電話機のIPアドレス',
                Content_Type => 'application/x-www-form-urlencoded',
                Content =>
                'xml=<AastraIPPhoneExecute>
                        <ExecuteItem URI="Led: softkey3=slowflash"/>
                </AastraIPPhoneExecute>');

softkey3=の部分はon,off,slowflash,fastflashが指定できます。
なお、制御できるLEDは、そのキーの設定が'XML'になっているものだけです。他の機能を割り当てている場合にはLEDは制御できません。

テキストメッセージ表示(57i,9113i)

これも割りと簡単です。

#!/usr/bin/perl
# Create a user agent object
use LWP::UserAgent;
use LWP::ConnCache;
use HTTP::Request::Common;
my $ua = LWP::UserAgent->new(agent => 'Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)');
$ua->conn_cache(LWP::ConnCache->new());
$ua->request(
        POST 'http://電話機のIPアドレス',
                Content_Type => 'application/x-www-form-urlencoded',
                Content =>
                'xml=<AastraIPPhoneTextScreen beep="yes">
                        <Title>TEST</Title>
                        <Text>This is Test</Text>
                </AastraIPPhoneTextScreen>');

電話機にダイヤルさせる(57i)

こんなこともできます。

#!/usr/bin/perl
# Create a user agent object
use LWP::UserAgent;
use LWP::ConnCache;
use HTTP::Request::Common;
my $ua = LWP::UserAgent->new(agent => 'Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)');
$ua->conn_cache(LWP::ConnCache->new());
$ua->request(
        POST 'http://電話機のIPアドレス',
                Content_Type => 'application/x-www-form-urlencoded',
                Content =>
                'xml=<AastraIPPhoneExecute Beep="yes">
                        <ExecuteItem URI="Dial:300" interruptCall="no"/>
                </AastraIPPhoneExecute>');

ドキュメントではDial: 300のようにコロンの後ろに空白があるのですが、空白が入っていると' 300'にダイヤルしようとしてしまうようです。

ドキュメント

http://www.aastratelecom.com/cps/rde/xchg/SID-3D8CCB73-0B583F03/03/hs.xsl/21880.htm
この下の方にあるDevelopment Guideにドキュメントとサンプルコードがあります。