
電話機の設定ファイルを作る
ここまでは設定ファイルを一切置いていないので新しいファームウエアがTFTPサーバに展開されていたら電話機は起動時にそれを読み込んで更新するようになっています。
これから設定ファイルを作って電話機が電話機として動作するようにします。
設定ファイルも基本的にはTFTPサーバから電話機が読み込みます。
7961Gの設定ファイルは基本的にはXMLで書きます。企業などでたくさんの電話機を管理しやすいように全台に読ませるファイル、機種別に読ませるファイル、SIP/SCCP別に読ませるファイル、個別の号機に読ませるファイルなどを分けて作ることができます。管理者にとってはありがたいようなテキストファイルでの管理なのでそうでもないような。
OS7961.txt
ファームウエアのバージョンを1行書くだけのファイルなので機種別のファームウエアのバージョン指定ファイルのようです。企業などで1機種でSIPとSkinnyの号機の混在する環境(そんなことあるのか?)で間違ってこれを書いたら軽く死ねそうです。機種別のファームウエアのバージョン指定は次のXMLDefault.cnf.xmlでも指定できるし一覧もできるのでのでこのファイルの存在意味がよく解りません。
私はこのファイルを置いていません。
XMLDefault.cnf.xml
おそらく全台に読ませる為の設定ファイルだと思われます。
こんなふうに書きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <Default>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<mgcpPorts>
<listen>2427</listen>
<keepAlive>2428</keepAlive>
</mgcpPorts>
</ports>
<processNodeName>192.168.0.24</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<loadInformation30018 model="Cisco IP Phone 7961">SIP41.9-3-1SR1-1S</loadInformation30018>
<authenticationURL></authenticationURL>
<directoryURL></directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<servicesURL></servicesURL>
</Default>
|
全台に関係ある項目だけ記入すれば良いと思われます。
複数機種存在する環境の場合はloadinformationの行を機種毎に複数行記入すれば良いかと。機種別にまとめてアップデートを行うならこのファイルでloadinformationにファームウエアのバージョンを書けば次に電話機が起動したときにアップデートするかと思われます。大きなコールセンターなどではそれだと一斉にアップデートしてネットワークの帯域を圧迫しかねないのでこのファイルでは指定しない方が良いのでしょうね。
複数機種管理しているなら
SIPDefault.cnf
このファイルはXMLではありません。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | # Proxy Server
proxy1_address: "192.168.0.24"
# Proxy Server Port (default - 5060)
proxy1_port: "5060"
# Emergency Proxy info
proxy_emergency: "192.168.0.24"
proxy_emergency_port: "5060"
# Backup Proxy info
proxy_backup: "192.168.0.24"
proxy_backup_port: "5060"
# Outbound Proxy info
outbound_proxy: ""
outbound_proxy_port: "5060"
# NAT/Firewall Traversal
nat_enable: "0"
nat_address: ""
voip_control_port: "5061"
start_media_port: "16384"
end_media_port: "32766"
nat_received_processing: "0"
# Proxy Registration (0-disable (default), 1-enable)
proxy_register: "1"
# Phone Registration Expiration [1-3932100 sec] (Default - 3600)
timer_register_expires: "3600"
# Codec for media stream (g711ulaw (default), g711alaw, g729)
preferred_codec: "none"
# TOS bits in media stream [0-5] (Default - 5)
tos_media: "5"
# Enable VAD (0-disable (default), 1-enable)
enable_vad: "0"
# Allow for the bridge on a 3way call to join remaining parties upon hangup
cnf_join_enable: "1" ; 0-Disabled, 1-Enabled (default)
# Allow Transfer to be completed while target phone is still ringing
semi_attended_transfer: "0" ; 0-Disabled, 1-Enabled (default)
|
こんな感じでずらずら書いていけば良いようです。XMLが苦手ならこちらで書いた方が良いかもしれません。
逆にXMLの方が良いならこちらでなく次のファイルに書く方が良いかも。正直なところこのファイルの存在意味があまり解っていません。7960G(の最近のファームウエア?)では、TFTPサーバに取りに来ている形跡が無いので要らないぽい。個人的にはこのファイルは無しにしています。
SEP001Bxxxxxxxx.cnf.xml
001Bxxxxxxxxの部分は電話機のMACアドレスになります。001Bxxxxxxxxの方のMACアドレスはDHCPサーバなどから調べなくても電話機裏側のシールに書いてあるのでそれをそのまま書けば良いかと。
こちらはファイル名にMACアドレスが入ることからも解るとおり電話機1台づつの固有の設定ファイルになります。
このファイルは設定例がネットに豊富にあるのですが似た機種用、違うバージョン用に惑わされて間違った記述をしやすいというのもあります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | <device>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>cisco</sshUserId>
<sshPassword>cisco</sshPassword>
<devicePool>
<dateTimeSetting>
<dateTemplate>Y.M.D</dateTemplate>
<timeZone>Tokyo Standard Time</timeZone>
<ntps>
<ntp>
<name>192.168.0.32</name>
<ntpMode>Unicast</ntpMode>
</ntp>
</ntps>
</dateTimeSetting>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
</ports>
<processNodeName>192.168.0.24</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
<commonProfile>
<phonePassword></phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
<loadInformation>SIP41.9-4-2SR3-1S</loadInformation>
<versionStamp>20180101</versionStamp>
<vendorConfig>
<disableSpeaker>false</disableSpeaker>
<disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
<pcPort>0</pcPort>
<settingsAccess>1</settingsAccess>
<garp>0</garp>
<autoSelectLineEnable>0</autoSelectLineEnable>
<webAccess>0</webAccess>
<spanToPCPort>1</spanToPCPort>
<loggingDisplay>1</loggingDisplay>
<sshAccess>0</sshAccess>
<g722CodecSupport>2</g722CodecSupport>
<backlightOnWhenIncomingCall>1</backlightOnWhenIncomingCall>
</vendorConfig>
<deviceSecurityMode>1</deviceSecurityMode>
<transportLayerProtocol>2</transportLayerProtocol>
<certHash></certHash>
<encrConfig>false</encrConfig>
<phonePersonalization>1</phonePersonalization>
<autoCallPickupEnable>true</autoCallPickupEnable>
<sipProfile>
<autoAnswerTimer>1</autoAnswerTimer>
<autoAnswerAltBehavior>false</autoAnswerAltBehavior>
<autoAnswerOverride>true</autoAnswerOverride>
<transferOnhookEnabled>false</transferOnhookEnabled>
<enableVad>false</enableVad>
<preferredCodec>none</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
< |
2018年1月13日変更:
参考にならない設定項目の多くを排除し、常識的な設定値を入れた内容に修正した。これで以前の半分くらいになったので設定項目と内容の確認で途方に暮れずに済むはず。
192.168.0.32: NTPサーバのIPアドレス
192.168.0.24: SIPサーバ(Asteriskを想定)のIPアドレス
5005は今回のSIPアカウント兼内線番号
<proxy>USECALLMANAGER</proxy>はそのままで動く筈。
transportLayerProtocolは上の例では2:UDPにしているが、1:TCP, 3:TLSに変更するのもアリ。なお、ファームウエアのバージョンが9-x-xは4もTCPになってるみたい。(未確認)
やっと動いた

着信音
7961Gは標準では2音しか着信音が入っていないようです。増やすには自分で着信音を作るかどこかからダウンロードしてTFTPサーバに置きringlist.xmlも作って置きます。(ファイル名は7961GではRinglist.xmlでもRingList.xmlでもなくringlist.xmlです。)
ringlist.xml1 2 3 4 5 6 7 8 9 10 | <CiscoIPPhoneRingList>
<Ring>
<DisplayName>電話機上の表示名1</DisplayName>
<FileName>着信音1.raw</FileName>
</Ring>
<Ring>
<DisplayName>電話機上の表示名2</DisplayName>
<FileName>着信音2.raw</FileName>
</Ring>
</CiscoIPPhoneRingList>
|
着信音は8kHzで8bit、ulaw圧縮で2秒以内という条件で作成する必要があるようです。
変換コマンド (soxのバージョンにより不適切な場合があります。以下はsoxがファイル名の拡張子で種別を判断できる場合)
% sox input.wav -r 8000 output.ul % mv output.ul output.rawちなみに電話機用ではなくAsteriskの保留音(MOH)やメッセージを16KHzで作成する場合。(元ファイルはmp3等でも可)
% sox input.wav -c 1 -r 16000 output.sln % mv output.sln output.sln16
同じく電話機用ではなくAsteriskの保留音(MOH)やメッセージを8KHzで作成する場合。
% sox input.wav -c 1 -r 8000 output.gsm
保留音ファイルは/usr/local/share/asterisk/moh/下に置く。
メッセージ系のファイルなら/usr/local/share/asterisk/sounds/または/usr/local/share/asterisk/sounds/ja/下に置く。
着信音の変更は電話機側で[settings](四角にチェックのアイコン)ボタンを押し[1][1][1]、画面左下の[Select]、上下ボタンで着信音を選択、画面下の[Play]で視聴、良ければ[Select][Save]で設定が保存されます。
g3-tones.xml
初期状態では受話器を上げた際(オフフックの状態)で何も音が鳴らないので電話使えるのか心配になります。日本の一般的な電話だと受話器を上げると「ツー」と鳴るのでこの音を鳴らして上げると安心感が増します。それらの音を設定するのがg3-tones.xmlです。国によっては音の鳴り方が違って「プップップ」とかだったりするので日本に合わせたファイルを用意するのが良いかと思います。
もしかしたらネットを探せば日本向けのg3-tones.xmlが見つかるかもしれませんが、探せない場合はCISCOのウェブから7961G用のファームウエアと同じくロケールファイルがダウンロードできるのでそれぞれ最新版の日本用のファイルとcombinedの2つを落とします。ロケールファイルは何故か拡張子がsngのファイルしか提供されていないので扱いに困りますが、これをtar.gz形式に変換するstripsgnスクリプトがACS DataのUser Localeのページにあるのでありがたく頂いてきて解凍します。
2018年1月13日追記:
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以外の機種なら機種の部分を読み替える。
combinedも言語別ファイルリストの中に一緒にある(見落としがち)。
% ./stripsgn po-locale-combined_network-k3-10.3.1.1000-1.cop.sgn % tar zxf po-locale-combined_network-k3-10.3.1.1000-1.tar.gz % tar xf po-locale-combined_network-k3-10.3.1.1000-1.tar % cd ./usr/local/cm/tftp/japan
ここに7960-tones.xmlというファイルがあるのでg3-tones.xmlにリネームしてTFTPサーバの最上位階層にコピーします。
これで次に電話機を再起動した後から「ツー」などの音が出るようになります。
その他のロケールファイル
$ ./stripsgn po-locale-ja_JP-k3-10.3.1.1000-1.cop.sgn $ tar zxf po-locale-ja_JP-k3-10.3.1.1000-1.tar.gz $ tar xf po-locale-ja_JP-k3-10.3.1.1000-1.tar $ cd ./usr/local/cm/tftp/japanese_japan
日本語ロケールであれば上の様にjapanese_japanディレクトリ下にいろいろ入っています。7960GのSIP用ならmk-sip.jarとその他ファイル名に7960が付いているファイルをTFTPサーバに置く。ファイル名に7960とか機種名が付いてるのはリネームが必要です。
ダイヤルプラン
あまり良く解っていませんが、おそらくダイヤルした時の挙動を指定するものです。
dialplan.xml
1 2 3 | <DIALTEMPLATE>
<TEMPLATE MATCH="*" Timeout="3"/>
</DIALTEMPLATE>
|
もう少し細かく指定することもできる様ですが細かいこと気にしない性格なのでシンプルにこれだけ。
電話機の再起動
電話機の再起動はパネルの右の方にある[directories](開いた本のアイコン)ボタン, [services](地球儀のアイコン)ボタン, [settings](四角にチェックのアイコン)ボタンのどれかを押してダイヤルパッドで [*] [*] [#] [*] [*] を押す。数秒すると再起動が始まる。
電話機の操作で設定変更
7960電話機は殆ど電話機での設定変更はできませんが、一部だけ着信音や壁紙などを選択できる程度の普通の変更とネットワークの設定などロックモードを解除して行う設定変更が行えるようになっています。
設定画面は[settings](四角にチェックのアイコン)ボタンを押して表示されている番号をダイヤルパッドでプッシュするか上下ボタンで選択して画面下一番左の[Select]ボタンを押すなどしてメニュー階層を進みます。ロック解除を伴わない変更は選択して[Save]をして[Exit]で、ロック解除が必要な変更は液晶画面右上の方の南京錠の上半分の弧の左側が閉じていればロック中、隙間があればロック解除中で、ロック解除中のモードでのみ変更できます。ロック解除、再ロックはSettingモードのどの画面でも[*][*][#]を押せば2秒以内にはモードが変わります。液晶画面の南京錠マークを確認して下さい。
終わったぁ
ある程度苦労するのは覚悟していましたが、今回は図らずもCiscoの電話機で苦労する点をほぼひと通り満喫できたかもしれません。
もう次からはCiscoは買いませんし間違って入手しても動かなかったら絶対に投げ捨てます。
次は禁断のもっと安くする裏ワザです。
関連記事:- 新しいIP電話機を安く買いたい Grandstream
- 新しいIP電話機を安く買いたい Fanvilの残り
- 新しいIP電話機を安く買いたい
- Cisco 7961G電話機でCardDAVの連絡帳を利用する
- Cisco 7961G電話機にSSHでログインする
- Cisco 7961G電話機にツイッターを表示する
- Cisco 7961G電話機のサービスメニュー設定
- Cisco 7961G電話機の日本語化と背景画像
- NanoPi NEOをSIP電話機にする 後編 (その2)
- Google TTSを利用してAsteriskで日付・時刻の読み上げ
- AsteriskのチャンネルドライバをPJSIPにした
- NanoPi NEOをSIP電話機にする 後編 (その1)
- NanoPi NEOをSIP電話機にする 中編
- NanoPi NEOをSIP電話機にする 前編
- 続・Google TTSを利用してAsteriskのIVRで日本語読み上げ