2018-01-12 06:50 PM 2019-01-25 03:26 PM 更新
新しい Macro フレームワーク機能が CE9.2.1 で導入されました。これにより、利用者が欲しいちょっとした独自の「機能」を ビデオ端末 に搭載することができます。また、Macro フレームワーク と In-Room Control (室内制御)と組み合わせることによってユーザインターフェイスをつくることもできます!
ぜひ皆様の Macro に関わるアイディア、コード、質問をこのスレッドでシェアしてください。
Happy coding!
なお、Macro フレームワークは SX10/SX10N では未サポートになります。
DevNetにビデオ端末の公式開発者向けページを作成しました!トレーニングコンテンツ・サンプルが充実しています!
https://developer.cisco.com/site/roomdevices/
本家の Macro フレームワークのスレッド(英語)は下記になります。
https://supportforums.cisco.com/t5/telepresence/ce9-2-1-macro-framework-discussions/m-p/3306448
参考リンク
TelePresence EP : CE 9.2 マクロチュートリアル
https://supportforums.cisco.com/t5/-/-/ta-p/3300804/
TelePresence EP: Examples による Macro 入門 (コーディングなし) その1
https://supportforums.cisco.com/t5/-/-/ta-p/3301816/
TelePresence EP : DX70/DX80 発信先固定マクロ例
https://supportforums.cisco.com/t5/-/-/ta-p/3300870/
シスコビデオ会議システムのマクロ機能で音楽プレイヤーを作ってみた
https://qiita.com/yiwagish/items/ebec851c09d0a621d29c
シスコビデオ会議システムのマクロ機能で自動運転してみた
https://qiita.com/yiwagish/items/586d24c8dbcf18c2c607
参考になる情報はこちらでもシェアします。
2018-07-30 12:25 PM
切断後、すぐにスタンバイモードにし、消費電力を節約するシンプルなマクロです。Examples にあるマクロを見ながら切断のイベントの拾い方は ”Call and Mute ”のコードから、Standby の処理の仕方は "Auto-wakeup" のコードを参考に記述しました。
const xapi = require('xapi'); xapi.event.on('CallDisconnect', () => xapi.command('standby activate'));
2018-08-28 01:29 PM
GroupButton内の 任意のボタンを、マクロから On/Off したいと考えています。
トグルボタンの場合は、下記で可能な事を確認しました。
xapi.command('UserInterface Extensions Widget SetValue', { WidgetId: 'トグルボタンのID', Value: 'On または Off', });
GroupButton内の 任意のボタンを On/Off するには、どのようなパラメタを与えるのかご教示頂けないでしょうか?
例えば、3ステートな設定(NATモードの On/Off/Auto など) をマクロ/InRoomControl で実装する場合、パネル表示時に現在の(実際の)設定値を、グループボタンの状態に反映したいと考えています。
2018-08-28 03:22 PM
すみません、自己解決しました。
xapi.command('UserInterface Extensions Widget SetValue', { WidgetId: 'グループボタンのID', Value: 'On状態にするグループ内のボタンの名前', });
'Value' のパラメタには、'On' や 'Off' が入るもとの思っておりました。
お騒がせしました。
2018-10-05 09:02 PM
常にDND (Do Not Disturb)を維持するマクロです。
/* Permanent DND */ const xapi = require('xapi'); xapi.status.on('Conference DoNotDisturb', (state) => { console.log('going to ', state); if (state === 'Inactive') { xapi.command('Conference DoNotDisturb Activate'); } });
2018-12-03 12:09 PM
Room Kit シリーズなどの Speaker Track は
xcommand Cameras SpeakerTrack Deactivate
で機能をオフにすることができます。これを応用し、デフォルトでは SpeakerTrack をオフ、利用者が明示的に機能をオンにした時のみ利用可能にするマクロです。切断時に、デフォルトのオフに戻します。
const xapi = require('xapi'); xapi.command('Cameras SpeakerTrack Deactivate'); function listenToCalls() { xapi.event.on('CallDisconnect', () => { xapi.command('Cameras SpeakerTrack Deactivate'); }); } listenToCalls();
これをさらに応用し、CE9.3 以降のアイコン機能を利用して、通話中にSpeaker Track アイコンを追加するパターンを添付しました。
2018-12-21 09:07 PM
特定の Webex URI 接続時に HOST PIN とレイアウト変更 8 を三回入力でEaul Layout にするマクロサンプルです。
const xapi = require('xapi'); const Layout = '888'; const Password = '0000#'; const UriBridge = 'hoge@site.webex.com'; function sendTouchTones(Dtmf) { xapi.command('Call DTMFSend', { DTMFString: Dtmf }); } function listenToCalls() { xapi.event.on('CallSuccessful', () => { xapi.status.get('Call') .then((call) => { console.log(call[0].CallbackNumber); if (call[0].CallbackNumber.includes(UriBridge)) { sendTouchTones(Password); setTimeout(sendTouchTones, 10000,Layout); } }); }); } listenToCalls();
2018-12-24 10:46 PM
In Room Control とマクロの関係性を理解するために、簡単なじゃんけんアプリケーションを作ってみました。
こんな感じで Widget に出力できます。
function alert(text) { xapi.command('UserInterface Extensions Widget SetValue', { WidgetId: 'janken_output', Value: text, }); }
2019-01-25 03:22 PM
CE9.6 USB 入力機能を使い、USB キーボードのテンキー 0-3 入力をトリガーに自動発信するマクロサンプルです。なお、Qwerty 側のキー入力はキーマッピングが違うため修正が必要です。
const xapi = require('xapi'); const numbers = { 0: 'example0@example.com', 1: 'example1@example.com', 2: 'example2@example.com', 3: 'example3@example.com', }; function dial(number) { console.log('dial', number); xapi.command('dial', { Number: number }); } function listenToGui(event) { let inputChar; if (event.Type === 'Pressed') { switch (event.Key) { case 'KEY_KP0': inputChar = '0'; break; case 'KEY_KP1': inputChar = '1'; break; case 'KEY_KP2': inputChar = '2'; break; case 'KEY_KP3': inputChar = '3'; break; } const number = numbers[inputChar]; if (number) dial(number); } } xapi.event.on('UserInterface InputDevice Key Action', listenToGui);
2019-01-28 02:30 PM
通常、CE ソフトウェアエンドポイントで通話中の着信を自動拒否する場合、IncomingMultisiteCall のMode をDeny にすることで実現可能です。
ただ、Multisite 機能のない端末、DX70/80 では同等のコマンドがないため、 Cisco Unified Communications Manager の設定で Busy Trigger を 1 にするか、それ以外の環境の場合は下記のマクロで設定します。
const xapi = require('xapi'); function listenToCalls() { xapi.event.on('CallSuccessful', () => { xapi.command('Conference DoNotDisturb Activate'); }); xapi.event.on('CallDisconnect', () => { xapi.command('Conference DoNotDisturb Deactivate'); }); } listenToCalls();
2019-02-04 03:29 PM
コールの接続中に音声・ビデオの統計情報を表示し、コールの切断後に切断時刻や切断理由などのコール履歴を表示するマクロです。
メディアのトラブルシューティングなどにご活用ください。マルチコールには対応していません。
2019-02-08 03:48 AM
ThingSpeakというIOR デバイス向けグラフ生成サービスに PeopleCount の情報を HTTP POST する例です。詳しくは
https://qiita.com/yiwagish/items/bb1073b0c576c05afaed をご覧ください。
2019-02-15 02:46 PM 2019-02-15 03:04 PM 更新
2019-12-26 05:45 PM
ありがとうございます。
使わせていただきました。(CE9.5.2)
Touch10からシャットダウンを実行すると、Touch10の表示は「システムをシャットダウンしています。」のままですが、これが正解で良いでしょうか?
エキスパートの回答、ステップバイステップガイド、最新のトピックなどお気に入りのアイデアを見つけたら、あとで参照できるように保存しましょう。
コミュニティは初めてですか?これらのヒントを活用してスタートしましょう。 コミュニティの活用方法 新メンバーガイド
下記より関連するコンテンツにアクセスできます