Cisco 7961G電話機の日本語化と背景画像

Cisco 7961G

「がとらぼ」の中の人が使っているIP電話機はCisco 7961Gだが、この電話機はおそらく2006年には存在したと思うので発売開始から既に干支が一周回ったような古い品。でも、古い割にはSIP電話機としては十分な性能。そして企業向けに大量に出回ったので中古価格が熟れていてお手軽価格で手に入る。(ただし、企業で使われた機器は雑に扱われることもありリファビッシュ品でないと汚すぎる筈)
今、どうせ買うならカラー液晶の電話機の方が良いかもだけど。あと、企業向けの機種は7961Gも含めて苦労するので電話機単体で動く(ファームウエアや設定ファイルを置くTFTPサーバやNFSなどが不要な)個人向け・家庭向けの機種の方が良いかも。

で、その7961Gだけど、ここ暫くはファームウエアの更新以外は何もせずに放置していたので久しぶりに手を入れた。というか、TFTPサーバの掃除ついでに設定から関連ファイルまで再整備した。
そこでやったことを備忘録として。

電話機を日本語化する

Cisco 日本語ロケールのDL
CISCOの公式サイトのDownload SoftwareからDownloads Home → Products → Collaboration Endpoints → IP Phones → Unified IP Phone 7900 Series → Unified IP Phone 7961G → Unified Communications Manager Endpoints Locale Installer → Linux-xx.x(バージョン)を辿る。7961G以外の機種なら機種の部分を読み替える。
リストからJapanese (Japan)を見つけて[Download]。(要CISCO無料会員登録)
同様に同じリストのpo-locale-combined_network-hoge (Combined Network)もダウンロードする。(g3-tones.xmlが欲しいので)

落としてきたファイルはcop.sgnというよくわからない拡張子のものなのでこのままでは扱いに困るが、別の記事でも書いたがUSECALLMANAGER.nzにあるPerlスクリプトでTARファイルに変換できるので貰ってくる。

$ ./stripsgn po-locale-hoge.cop.sgn
$ tar zxf po-locale-hoge.tar.gz
$ tar xf po-locale-hoge.tar
$ cd ./usr/local/cm/tftp/japanese_japan

1行目を実行するとpo-locale-hoge.tar.gzが出力されずにpo-locale-hoge.copが出るかもしれないがtar zxf po-locale-hoge.copでpo-locale-hoge.tarが出力される筈。あと、perlスクリプトのstripsgnは1行目が/usr/bin/perl決め打ちになってるので必要なら修正。

japanese_japanディレクトリにある多くのファイルの内、7961GのSIP用ファームウエアなら mk-sip.jar (7961GのSCCP用ファームウエアならmk-sccp.jar?) をTFTP用ディレクトリの直下(電話機のファームウエアを展開している階層)にコピーする。他のXMLファイルも必要?ならコピーする。
po-locale-hogeにはmk-*.jar(7941,7961用)、tc-*.jar(7906/7911用)、gp-*.jar(7931用)、ipc-*.jar(CIPC用)、td-*.jar(7970/7971用)など電話機のタイプに応じたファイルが詰め合わさっているようなので必要なのだけコピーする。

後は、7961Gをリセット([directories]を押してから[*][*][#][*][*])すると勝手に日本語化ファイルを読み込んで日本語表示するようになる。
この場合(TFTPサーバトップディレクトリにmk-sip.jarを置いた場合)は設定ファイルにuserLocaleを追加しない。

または、

上の手順の3行目以降(4行目は実行しない)を以下で。
$ mv ./usr/local/cm/tftp/japanese_japan /tftpboot/Japanese_Japan
$ chown -R 777 /tftpboot/Japanese_Japan

上の例ではTFTPサーバのファイル置き場のトップディレクトリを/tftpbootとする。

この場合はどのロケールファイルを使用するか、それを何処に置いたか指定してやらないといけないので設定ファイルにuserLocaleを追加する。(後述)

トーン音などの設定ファイルg3-tones.xmlを得るためにCombined Networkのファイルを展開する。
$ ./stripsgn po-locale-combined_network-hoge.cop.sgn
$ tar zxf po-locale-combined_network-hoge.tar.gz
$ tar xf po-locale-combined_network-hoge.tar
$ cp ./usr/local/cm/tftp/japan/g3-tones.xml /tftpboot/

japanディレクトリ内のg3-tones.xmlをTFTP用ディレクトリの直下(電話機のファームウエアを展開している階層)にコピーする。この場合は設定ファイルにはnetworkLocaleとnetworkLocaleInfoを書かない。

または、

上の手順の3行目以降(4行目は実行しない)を以下で。
$ mv ./usr/local/cm/tftp/japan /tftpboot/Japan
$ chown -R 777 /tftpboot/Japan

上の例ではTFTPサーバのファイル置き場のトップディレクトリを/tftpbootとする。

この場合はどのネットワークロケールファイルを使用するか、それを何処に置いたか指定してやらないといけないので設定にnetworkLocaleとnetworkLocaleInfoを追加する。(この後すぐ)

7961G電話機の基本的な設定は「Cisco7961Gの設定

SEPxxxxxxxxxxxx.cnf.xml (xxxxxxxxxxxxは電話機のMACアドレス)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<!-- エディタ用UTF-8日本語識別コメント -->
<device>
  中略
  <userLocale>
    <name>Japanese_Japan</name> 
    <langCode>JP</langCode> 
  </userLocale> 
  <networkLocale>Japan</networkLocale>
  <networkLocaleInfo>
    <name>Japan</name>
  </networkLocaleInfo>
  中略
</device>

設定ファイル内に日本語を含めるのは上の手順で電話機に日本語が表示されるようになってからにすること。(上の例だと2行目は要注意)
前の手順で電話機が日本語表示する前に設定ファイルに日本語を含めると設定ファイルの読込中にエラーになってSIPサーバにレジストできず電話として使える状態にならない。(設定を修正し電話機をリセット・再起動すれば回復する)
設定ファイルに日本語を含める場合は文字コードをUTF-8にして保存する。
設定ファイル中に日本語を使う場合は上の設定例の1行目と2行目を追加しておく。1行目が無いと設定中に書いた日本語部分が電話機では豆腐(□)などで化けた状態で表示されることがある。2行目はエディタによってはファイルを開いた際に文字コードの認識を間違う場合があるので追加(必須ではない)。
ロケールファイルをTFTPサーバの/Japanese_Japanにコピー(移動)した場合はユーザーロケールとして5〜8行目を設定する。(TFTPサーバのディレクトリ直下にmk-sip.jarをコピーした場合は5〜8行目は設定しないこと。)

g3-tones.xmlをjapanディレクトリ丸ごとTFTPサーバの/Japanにコピー(移動)した場合は9〜12行目を設定する。(TFTPサーバのディレクトリ直下にg3-tones.xmlをコピーした場合は9〜12行目は設定しないこと。)

電話機のWebUIのステータスメッセージ、または、電話機ボタン操作で[settings] → [6 ステータス] → [1 ステータスメッセージ]でメッセージを確認し、「ロケールの更新エラー」が出ていないことを確認する。出ているなら設定またはロケール関係のファイルの置き場所が間違っている。
設定・ファイルの置き場所を直したら再度電話機をリセットするとロケールファイルを読み直す(筈)。

ロケール関係のわかり易いドキュメントはCISCOの公式 ローカリゼーション サポートの設定にある。

7961G 以前の英語画面
上の画像は以前に作ったCISCOロゴの背景画像を表示した状態の英語画面。

Cisco 7961Gの画面壁紙変更 1
日本語が表示されるようになった。画像で見ると日本語がかっこ悪く見える。(だから長く英語表示のままにしてた。)でも、実物の液晶画面で見ると画像で見た感じほどは悪くない。漢字などは字の細かい部分が潰れやすいので液晶の解像度がもう少し高ければ良いんだけどね。7961Gの320x222dot液晶って大昔の携帯電話のQVGA(320x240)以下。せめてVGAかSVGA程度は無いと5インチという大きな液晶ではドットが見えすぎて汚く感じる。
CISCOの背景画像は以前よりもロゴが1,2回り小さくなるように作り直した。

Cisco 7961GのWebUI
電話機を日本語化するとWebUIも日本語で表示するようになる。(ブラウザで7961GのIPアドレスを指定すると表示される)
ステータス表示やログを見ることができる程度の粗末なものだけど、設定中はそれが役に立つ。

背景画像の変更方法

日本語化した電話機の画面の紹介ついでにここから背景画像の変更方法。
背景画像の作成と設置方法は後述。

メイン画面でボリュームキーの上にある[Settings]を押す。

Cisco 7961Gの画面壁紙変更 2
7961G設定の画面が表示されたらで[1 ユーザ設定]を選択状態にする。(最初から選択状態の筈)
液晶画面左下の[選択]という表示の下のボタンを押して選択する。

Cisco 7961Gの画面壁紙変更 3
ユーザ設定の画面が表示されたらで[2 背景イメージ]を選択状態にする。
液晶画面左下の[選択]という表示の下のボタンを押して選択する。

Cisco 7961Gの画面壁紙変更 4
背景画像のサムネイルが表示されるのでを押して好みの画像に灰色表示を移動させる。
は現在使用中の背景画像に付くものなので、これはを押しても移動しないので注意。上の画像では灰色選択中は1の画像。
液晶画面左下の[選択]という表示の下のボタンを押して選択する。
[選択]の右隣りに[保存]が表示されるのでそれを押して確定。

背景画像を作成して設置する

背景画像は320x240〜320x224で4:3程度の画像を作成し、それをアスペクト比を崩して320x196にする。画像は、かなり明るめにしてから16階調の白黒画像にする。それをPNGで出力。
また、電話機で画像を選択する際に表示するサムネイル用の画像も必要。これは先に作成した320x196を単純に縮小して80x49にする。(色数が変わらないよう注意)
作成した背景画像とサムネイル用画像をTFTPサーバのDesktopsディレクトリ下に配置するが、7961Gでは"320x196x4"というディレクトリをDesktopsの下に作成してその中に置く。このディレクトリ名は電話機の機種によって決まっているので以下。

機種背景画像サムネイルディレクトリ
7906/791195x3423x8/Desktops/95x34x1
7941/7961320x19680x49/Desktops/320x196x4
7942/7962320x19680x49/Desktops/320x196x4
7945/7965320x21280x53/Desktops/320x212x16
7970/7971320x21280x53/Desktops/320x212x12
7975320x21680x54/Desktops/320x216x16
7985800x600-/Desktops/800x600x16
8961/9951/9971640x480123x111/Desktops/640x480x24

なお、ディレクトリ名の最後のx1, x4, x12, x16, x24は画像に使用する色数を示すが、単純な色数ではなく色のビット数なのでx1なら2色(白と黒)、x4なら16色(階調)、x12なら4,096色、x16なら65,536色、x24なら16,777,216色(1,677万色)のこと。つまりその色数のモードで画像を作らなければならない。

List.xml
1
2
3
4
5
6
7
8
<CiscoIPPhoneImageList>
  <ImageItem Image="TFTP:Desktops/320x196x4/サムネイル画像" URL="TFTP:Desktops/320x196x4/背景画像" />
  <ImageItem Image="TFTP:Desktops/320x196x4/cisco-tn.png" URL="TFTP:Desktops/320x196x4/cisco.png" />
  <ImageItem Image="TFTP:Desktops/320x196x4/fugaku21-tn.png" URL="TFTP:Desktops/320x196x4/fugaku21.png" />
  <ImageItem Image="TFTP:Desktops/320x196x4/fugaku33-tn.png" URL="TFTP:Desktops/320x196x4/fugaku33.png" />
  <ImageItem Image="TFTP:Desktops/320x196x4/fugaku40-tn.png" URL="TFTP:Desktops/320x196x4/fugaku40.png" />
  <ImageItem Image="TFTP:Desktops/320x196x4/hoshizukiyo-tn.png" URL="TFTP:Desktops/320x196x4/hoshizukiyo.png" />
</CiscoIPPhoneImageList>

上の例ではファイル名はサムネイルの方に-tnを付けているがそうしなければならないということではなくわかり易さのため。
置き場所指定は URL="/tftpboot/Desktops/・・・" や URL="/Desktops/・・・" ではなくて URL="TFTP:Desktops/・・・" という書き方なので注意。ファイル名はlist.xmlではなくList.xmlで。このList.xmlの置き場所は画像と同じくTFTPサーバの /Desktops/320x196x4/ の下。TFTPサーバのトップディレクトリではないので間違いなく。
ファイルのパーミッションにも注意。TFTPサーバのログを良く見て電話機が要求してきたファイルが File not found や Permission denied で転送できていないなら直すこと。
なお、hoge.tlvは File not found で構わない。

Cisco 7961Gの画面壁紙変更 5
見たことあるかもしれないけど鳥獣戯画の一部。で、15年以上前の「がとらぼ」のトップページの背景画像でもある。それを16色(階調)に減色した画像を表示してみた。減色した時点で中間の淡い階調が飛んじゃったので2階調ぽく見えるけど。

7961G用の背景画像 富嶽三十六景 神奈川沖浪裏 7961G用の背景画像 富嶽三十六景 神奈川沖浪裏 サムネイル用

葛飾北斎の富嶽三十六景から「神奈川沖浪裏」を背景画像用に加工した。大きい方が背景画像で小さい方がサムネイル画像。あくまでもモノクロ液晶の背景画像なのでかなり薄めの色にして表示する文字の邪魔にならないようにしている。この画像はそのまま7941/7961で利用可。

7961G用の背景画像 富嶽三十六景 凱風快晴 7961G用の背景画像 富嶽三十六景 凱風快晴 サムネイル用

葛飾北斎の富嶽三十六景から「凱風快晴」を背景画像用に加工した。モノクロで16階調に減色したら赤富士の素晴らしさが消えてしまったけど。この画像は7941/7961で利用可。

7961G用の背景画像 富嶽三十六景 尾州不二見原 7961G用の背景画像 富嶽三十六景 尾州不二見原 サムネイル用

葛飾北斎の富嶽三十六景から「尾州不二見原」を背景画像用に加工した。あくまでもモノクロ液晶の背景画像なのでかなり薄めの色にして表示する文字の邪魔にならないようにしている。ウェブ上では円が楕円に見えるなどアスペクト比が狂っているのが明白だが、7961Gの画面上ではこれが上下に引き伸ばされて正しく表示される。この画像は7941/7961で利用可。

7961G用のゴッホ 星月夜 7961G用の背景画像 ゴッホ 星月夜 サムネイル用

ゴッホの「星月夜」を背景画像用に加工した。モノクロ液晶の背景画像なのでかなり薄めの色にしたが元が暗い絵なのでこれでもまだ暗いかも。この画像は7941/7961で利用可。

こんな感じだが、CiscoのIP電話機なら7961G以外の機種でも基本はほとんど同じ筈なのでやり方は参考になる筈。ただし、設定の細かい部分はCiscoは嫌がらせのように機種ごとに微妙に変えてくるので7961G以外ではそのまま鵜呑みにしないこと。

関連記事: