「利用者:MR G」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(Saxaあそび二時間目)
4行目: 4行目:
 
*saxaのIP電話のコンフィグはFTPクライアントを使って電話機に押し込むことができる。
 
*saxaのIP電話のコンフィグはFTPクライアントを使って電話機に押し込むことができる。
 
*「ローカル保守」となっている時にFTPの口が「くぱあ」と開くのでFTPクライアントでログインする。
 
*「ローカル保守」となっている時にFTPの口が「くぱあ」と開くのでFTPクライアントでログインする。
*bip_sys.iniはテキストデータになってるのでいぢり放題だが、仕様は例によって非公開(ある程度は見当がつく)
+
*configの仕様は例によって非公開(ぐぐっても全然見付からない)
 
*何だかんだで、パケット読んでみないと判らん。というオチになる予感
 
*何だかんだで、パケット読んでみないと判らん。というオチになる予感
 +
===IPアドレスとか===
 +
bip_sys.ini開くと出てくる項目。名前からしてモロ判り。
 +
[TCP_IP]
 +
DHCP_Use=1
 +
IpAddress=192.168.1.56
 +
NetMask=255.255.255.0
 +
DefGwAddress=192.168.1.1
 +
DNS_Use=0
 +
DNSAddress1=0.0.0.0
 +
DNSAddress2=0.0.0.0
 +
 +
===VLANとか===
 +
bip_sys.ini開くと出てくる項目。名前からしてモロ判り。という訳には行かないっぽい<BR>
 +
[Network]
 +
NWPort=0
 +
PCPort=0
 +
TOS=A0
 +
GratuitousARP=2
 +
VLAN=0
 +
VLANID=1
 +
VLANPRI=7
 +
VLANIDDAT=2
 +
VLANPRIDAT=0
 +
VLANMODE=1
 +
 +
===NTPとか===
 +
NTPスキーな人は、NICTとかMfeedの(NTPサーバーの)IPアドレスを丸暗記していても不思議ではない。<BR>
 +
PeerTimerの単位は、多分1H(1時間)
 +
[NTP]
 +
NTP_Use=1
 +
NTPSrv1=192.168.0.254
 +
NTPSrv2=
 +
TimeOffset=9
 +
PeerTimer=24
 +
ClientMode=1
 +
 
==playtones遊び==
 
==playtones遊び==
 
テンポ120で四分音符の箔を打つ場合、60000ms(1分)の中で120回リズムを刻むわけで<BR>
 
テンポ120で四分音符の箔を打つ場合、60000ms(1分)の中で120回リズムを刻むわけで<BR>

2008年11月13日 (木) 02:13時点における版

ミスプリ用紙の裏

saxa電話機あそび

  • saxaのIP電話のコンフィグはFTPクライアントを使って電話機に押し込むことができる。
  • 「ローカル保守」となっている時にFTPの口が「くぱあ」と開くのでFTPクライアントでログインする。
  • configの仕様は例によって非公開(ぐぐっても全然見付からない)
  • 何だかんだで、パケット読んでみないと判らん。というオチになる予感

IPアドレスとか

bip_sys.ini開くと出てくる項目。名前からしてモロ判り。

[TCP_IP]
DHCP_Use=1
IpAddress=192.168.1.56
NetMask=255.255.255.0
DefGwAddress=192.168.1.1
DNS_Use=0
DNSAddress1=0.0.0.0
DNSAddress2=0.0.0.0

VLANとか

bip_sys.ini開くと出てくる項目。名前からしてモロ判り。という訳には行かないっぽい

[Network]
NWPort=0
PCPort=0
TOS=A0
GratuitousARP=2
VLAN=0
VLANID=1
VLANPRI=7
VLANIDDAT=2
VLANPRIDAT=0
VLANMODE=1

NTPとか

NTPスキーな人は、NICTとかMfeedの(NTPサーバーの)IPアドレスを丸暗記していても不思議ではない。
PeerTimerの単位は、多分1H(1時間)

[NTP]
NTP_Use=1
NTPSrv1=192.168.0.254
NTPSrv2=
TimeOffset=9
PeerTimer=24
ClientMode=1

playtones遊び

テンポ120で四分音符の箔を打つ場合、60000ms(1分)の中で120回リズムを刻むわけで
60000/120=500となる

テンポ120で8分音符の箔を打つ場合は、箔がその倍なので(240個のリズム)
60000/240=250となる
簡単な曲をPlaytonesで演奏する場合は、このような形で書くことになる。

exten => _5,1,Answer
exten => _5,n,Wait(1)
exten => _5,n,Playtones(!293/1000,!440/1000,!391/500,!349/500,!329/500,!261/500,!293/1000,
!523/500,!391/250,!440/250,!349/500,!391/250,!349/250,!329/500,!261/500,!293/8000)
exten => _5,n,Wait(16)
exten => _5,n,StopPlaytones
exten => _5,n,Busy(5)
exten => _5,n,Hangup

実際に書くとしたら、旋律しかない曲(FFの最初の曲とか)に絞って書いてみるとか、
複数の内線(exten複数)に分けて書くとか、そのあたり。
Wait( )でタイミングの同期を取るのは難しいと思われる訳で。

chan_sccp

  1. NAT越えの発着信が可能。
  2. chan_sccpにUAの機能はついてない。従ってCallManagerにはぶら下がらない。
  3. 本家(?)のML宛に、Line button patchが投稿されることがある。
  4. 使ってる人が少ない。
  5. sccp.confの記述方法が変(コンテキスト毎に分けられていない)

chan_sccpは、個人的見解としては「あまりいけてない」
とはいえ、chan_skinnyよりはマシな気が。
SCCP(Skinny)を使うなら、CP-7911のようなラインキー無しの電話機を使ったほうが楽で宜しい。
(但し利用者の環境に依存する)

Skinnyファームウェアを使うよりも、ノウハウの豊富なSIPファームウェアのほうがオススメ。
でも日本語ドキュメントは、ほぼ皆無

SIPに対応していない電話機(WiFiなCisco電話機とか)を動かすなら、chan_sccp必須ですヨ!奥さん!

Cisco CallManager Express

Quintumと同様、Regist無しでAsteriskにぶら下がるやりかたと、
Regist有りでAsteriskにぶら下がるやりかたの二種類が確認されている。
このあたりはキッチリ打ち合わせしないと痛い目見る可能性極めて大なり。(ダイヤルプラン的な意味で)
CMEはITSPに直接レジスト可能ではあるが、何も考えずにレジストさせたら、
向こう側で大量のエラーが出たらしく、
担当者に「また何やってるんすか」といわれた

Cisco1751Vと、中古メモリと、色々あればCMEは動く。
CP-7911GとかCP-7970GもOKだが、CP-7965は動かない可能性がある。

CME環境構築のための私的メモ

Cisco 1751ルータの概要
Cisco 1751Vの概観とか
メモリ/PVDM(パケット音声データ・モジュール)の取り付けおよびアップグレード
Cisco 1751VのメモリとPVDM(パケット音声データ・モジュール)の増設マニュアル
1700シリーズルーターの販売終了パーツ一覧
パーツ名の末尾に"="がついたモノはリペア品という扱い

PC用のパーツ挿そうと思ったら、「100pinの」DIMMなので刺さらないというオチ
おっとで売っていそうなパーツといえば、E&M(専用線など)、FXO(アナログ外線)、FXS(アナログ内線)くらいか。 そういえば、E&Mカードが300円で投売り状態らしいヨ!

CMEとAsteriskの相互発着信

Asterisk1.2からCMEに発信しようとしたら、CME側が文句を言ってきた
Asterisk側の設定はextensions.confの一行だけ(sip.confには何も入れていない)

exten => _55X,1,Dial(SIP/${EXTEN}@192.168.0.249,60)

CME側のlogを見てみる。 CME曰く「FROM:行が変だぞコノヤロー」

SIP/2.0 400 Bad Request - 'Malformed/Missing FROM: field'
Via: SIP/2.0/UDP (グローバルIPアドレス):0;branch=z9hG4bK1abea658;rport
From: "asterisk" <sip:asterisk@(グローバルIPアドレス):0>;tag=as511b728a
To: <sip:550@192.168.5.10:5060>;tag=883F10-2158
Date: Sat, 01 Nov 2008 15:21:46 GMT
Call-ID: 1fb2a3191d071543574506cf2d550708@(グローバルIPアドレス)
Server: Cisco-SIPGateway/IOS-12.x
CSeq: 102 OPTIONS
Content-Length: 0

Fromの個所がアルファベットだからか?と思ってexten見直してみた。

; Cisco CME
;exten => _55X,1,Dial(SIP/${EXTEN}@192.168.0.249,60)
exten => _55X,1,Set(CALLERID(Name)=${CALLERID})
exten => _55X,n,Set(CALLERID(Number)=${CALLERIDNUM})
exten => _55X,n,Dial(SIP/${EXTEN}@192.168.0.249,60)

またしてもCMEが文句垂れ
CME曰く「Contactの辺りが変だぞコノヤロー」

SIP/2.0 400 Bad Request - 'Malformed/Missing Contact field'
Via: SIP/2.0/UDP (IPアドレス):0;branch=z9hG4bK6ca0fc21
From: "201" <sip:201@(IPアドレス):0>;tag=as3a116378
To: <sip:551@192.168.5.10:5060>;tag=90AFAC-E45
Call-ID: 6da12851151f75fb320ce9cc2f2565e7@(IPアドレス)
CSeq: 102 INVITE
Reason: Q.850;cause=100
Content-Length: 0

もうちょっとCME側のログを掘り下げてみたら、タイムゾーンを素敵に間違えている事が判明した。

Nov  1 15:53:01.081: //-1/xxxxxxxxxxxx/SIP/Transport/sipSPIUpdateResponseInfo: Dialog  Transaction Address (IPアドレス),Port 0, Transport 1, SentBy Port 0
Nov  1 15:53:01.081: //-1/xxxxxxxxxxxx/SIP/Transport/sipSPIUpdateResponseInfo: Dialog Transaction Address (IPアドレス),Port 5060, Transport 1, SentBy Port 5060

ぐぐってみたら、「ダブルコーテーションが妖しい」らしい。
そういえば、「ダブルコーテーション」が1.2と1.4で扱いが変わったとか変わってないとか、何処かに情報あったような
無かったような。
一つほど思い当たるフシがあったので、Asterisk1.2(Astlinux)ではなく、別機器のAsterisk1.4からCMEに対して発信(Invite)してみた。
Asterisk1.4側の設定は、先ほどと同じくextensions.confの一行だけ(sip.confには何も入れていない)

exten => _55X,1,Dial(SIP/${EXTEN}@192.168.0.249,60)

するとあら不思議。余裕で相互発着信できちゃってるとか、どんだけ~


正常通話の時のInvite

INVITE sip:550@192.168.0.249 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.5:5060;branch=z9hG4bK0b60a5c5;rport
From: "201" <sip:201@192.168.0.5>;tag=as28b7c407
To: <sip:550@192.168.0.249>
Contact: <sip:201@192.168.0.5>
Call-ID: 0c90cab870d1cf1b1db9972b0696aafc@192.168.0.5
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Max-Forwards: 70
Date: Sat, 01 Nov 2008 16:49:15 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: 262

v=0
o=root 92779 92779 IN IP4 192.168.0.5
s=session
c=IN IP4 192.168.0.5
t=0 0
m=audio 16660 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv

通話不可の時のInvite

INVITE sip:551@192.168.0.249 SIP/2.0
Via: SIP/2.0/UDP (グローバルIP):0;branch=z9hG4bK45bd0345
From: "501" <sip:501@(グローバルIP):0>;tag=as1f1353f6
To: <sip:551@192.168.0.249>
Contact: <sip:501@(グローバルIP):0>
Call-ID: 1b7282fe6791a79a2c6d803e5d58731f@(グローバルIP)
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Max-Forwards: 70
Date: Sat, 01 Nov 2008 16:52:19 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Content-Type: application/sdp
Content-Length: 242

v=0
o=root 15992 15992 IN IP4 (グローバルIP)
s=session
c=IN IP4 (グローバルIP)
t=0 0
m=audio 18298 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -

From行のダブルコーテーションに関しては関係しなさそう。
Contact行の":0"となってる個所が違っているため、1.2と1.4で違いが出てくるかもしれない。

E-Phone設定に矛盾を生じさせてみる試み

始めの疑問

ラインキー1に、DN2(ephone-dn 2)が割り当てられているという設定内容。

ephone-dn 1 dual-line
number 2001
label 2001
name 2001
!
!
!
ephone 1
mac-address 001E.FFFF.FFFF
type 7960
button 1:2

ラインキー1番目にDN(e-phone-dn2)を入れているが、e-phone-dn2が無い場合の処理はどうなるのだろうか

再現実験

予め、下記のような設定を投入しておく

ephone-dn  1  dual-line
 number 550
!
!
ephone-dn  2  dual-line
 number 551
!
!
ephone  1
 mac-address 0011.FFFF.FFFF
 button  1:2

ここで ephone-dn 2を抹消させてみる。ephone1には、存在しないはずのephone-dn 2が登録されている
という流れになるはず。

Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#no ephone-dn 2
Router#show config

(略)
ephone-dn  1  dual-line
number 550 no-reg primary
!
!
ephone  1
 mac-address 0011.FFFF.FFFF

ephone-dn 2を抹消させたら、ラインキーからもephone-dn 2の個所が消されていた。
自動的に消去された模様。IOSのバージョン違いによるものだろうか。

WirelessIP 5000

ファームウェアがhttp://www.wirelessip-support.com/software.php にあるらしいが、要登録とのこと。
電話機用電池パックが無償交換の対象になっている。
http://www.wirelessip-phone.com/information/200708w.html

URL一覧

WI-100HCとURLがほぼ共通だが、WirelessIP5000にあって、WI-100HC(NTTファームウェア)には無い機能が若干あったりする。

section.html?sid=000
LCDコントラスト変更
section.html?sid=001
RTPおよびRTCPの設定(ポートの変更など)
section.html?sid=002
WEB SERVERのON/OFF
section.html?sid=003
syslogの設定
section.html?sid=004
時刻表示およびNTPサーバー設定
WIP5000ではDHCPオプションが効くがWI-100HCには項目がない
section.html?sid=005
SIP設定。使用ポート等の細かい個所を設定。WI-100HCでは項目がないものもある。
section.html?sid=006
SDP設定
section.html?sid=007
SIPユーザーアカウント設定
レジストするID/Passを入力する
section.html?sid=008
SIPサーバーアドレス設定
Register Expire設定もあるヨ!
section.html?sid=009
REDUNDANCY(なんだこの機能)
WI-100HCとWirelessIP5000で入っている値が違っている。
section.html?sid=010
ダイヤルプラン設定。184/186をつけたりする。
section.html?sid=011
音声処理に関する設定(エコキャンなど)
WI-100HCとWirelessIP5000で入っている値が違っている。
section.html?sid=012
保留音に関する設定
WI-100HCでは項目がないものもある。
section.html?sid=013
DND(着信一時拒否)の設定
section.html?sid=014
MWIの設定
section.html?sid=015
着信転送に関する設定(Blind Transfer設定など)
WI-100HCとWirelessIP5000で入っている値が殆ど反転している。
section.html?sid=016
会議通話の設定
section.html?sid=017
転送設定(話中転送先など)
WI-100HCに項目がないものもある。
section.html?sid=018
DIAL MODE(DTMFタイムアウトの設定など)にかんする設定。
section.html?sid=019
着信音の設定
WI-100HCとWirelessIP5000で入っている値が違っているが、内容は殆ど変わらない
section.html?sid=020
着信音の設定その2
WI-100HCとWirelessIP5000で入っている値が違っているが、内容は殆ど変わらない
section.html?sid=021
キートーンのボリューム設定
section.html?sid=022
RF TEST
section.html?sid=023
WIFIの設定(802.11b/gの設定など)
WI-100HCとWirelessIP5000で入っている値が違っている。
section.html?sid=024
WIFI検索の設定
WI-100HCでは項目がないものもある。
section.html?sid=025
ローミングの設定
WI-100HCでは項目がないものもある。
section.html?sid=026
TOSの設定
section.html?sid=027(WI-100HC)
SSID等の無線LAN設定(Config1)
section.html?sid=027(WirelessIP5000)
CERTIFICATE(設定できる項目がない。飾り)
section.html?sid=028(WI-100HC)
SSID等の無線LAN設定(新規に追加するためのもの)
section.html?sid=028(WirelessIP5000)
SSID等の無線LAN設定(Config1)
section.html?sid=032(WI-100HC)
UDA1380
section.html?sid=033(WirelessIP5000)
UDA1380
section.html?sid=033(WI-100HC)
COLOR SET0(設定変更不可)
section.html?sid=034(WI-100HC)
COLOR SET1(設定変更不可)
section.html?sid=035(WI-100HC)
SMTPサーバー設定(サーバーIP、ID/Passなど)
section.html?sid=035(WirelessIP5000)
COLOR SET1(設定変更不可)
section.html?sid=036(WI-100HC)
NET2PHONEプロビジョニング(サーバー設定、ID/Passなど)
section.html?sid=036(WirelessIP5000)
SMTPサーバー設定(サーバーIP、ID/Passなど)
section.html?sid=037
DTMF送信設定(RFC2833にするか。など)
section.html?sid=038
発信者ID(CALLER ID)に関する設定。非通知の場合のディスプレイ表示設定もある。
WI-100HCに項目がないものもある。
section.html?sid=039
ユーザーインターフェース設定(マナーモードやキーロックなど)
section.html?sid=040
ショートメッセージサーバーの設定
WI-100HCでは項目がないものもある。
section.html?sid=041
電話帳利用の有無
section.html?sid=042
プレゼンスの設定(機能の有無、サーバー名など)
section.html?sid=043
サービスランプの設定(用途不明)
section.html?sid=044
バッテリーアラームの設定
section.html?sid=045(WI-100HC)
NTT Type1CA用の設定
section.html?sid=045(WirelessIP5000)
動的ネットワークに関する設定(DHCPのリトライ間隔など)
section.html?sid=046(WI-100HC)
NEC製PBX SV7000用の設定
section.html?sid=046(WirelessIP5000)
トーン音設定
section.html?sid=047(WI-100HC)
NTTコムウェア製PBX SS70V用の設定
section.html?sid=047(WirelessIP5000)
セットアップウィザードの設定(用途目的不明)
section.html?sid=048(WI-100HC)
動的ネットワークに関する設定(DHCPのリトライ間隔など)
section.html?sid=048(WirelessIP5000)
DHCPオプションの有無(タイムゾーン、TFTPサーバー、NTPサーバーの自動設定)
section.html?sid=049(WI-100HC)
トーン音設定
section.html?sid=049(WirelessIP5000)
自動アップグレード設定
section.html?sid=050(WI-100HC)
富士通製PBXIP Pathfinderに関する設定(設定項目が一ヶ所もない)
section.html?sid=050(WirelessIP5000)
プロビジョニングに関する設定
section.html?sid=051(WI-100HC)
BroadWorksアプリケーションに関する設定
section.html?sid=051(WirelessIP5000)
ユニコード(漢字コード)の処理に関する有無
section.html?sid=052(WI-100HC)
テストコード(用途目的不明)
section.html?sid=052(WirelessIP5000)
NET2PHONEプロビジョニング(サーバー設定、ID/Passなど)
section.html?sid=053(WI-100HC)
セットアップウィザードの設定(用途目的不明)
section.html?sid=053(WirelessIP5000)
NTT Type1CA用の設定
section.html?sid=054(WI-100HC)
NEC製SIPサーバー SV20用の設定
section.html?sid=054(WirelessIP5000)
NEC製PBX SV7000用の設定
section.html?sid=055(WI-100HC)
NortelのMCPに関する設定(用途目的不明)
section.html?sid=055(WirelessIP5000)
NTTコムウェア製PBX SS70V用の設定
section.html?sid=056(WI-100HC)
自動アップグレード設定
section.html?sid=056(WirelessIP5000)
富士通製PBXIP Pathfinderに関する設定(設定項目が一ヶ所もない)
section.html?sid=057(WI-100HC)
プロビジョニングに関する設定
section.html?sid=057(WirelessIP5000)
BroadWorksアプリケーションに関する設定
section.html?sid=058(WI-100HC)
NTTバージョンアップお知らせ機能の設定(未確認)
section.html?sid=058(WirelessIP5000)
NEC製SIPサーバー SV20用の設定
section.html?sid=059(WirelessIP5000)
NortelのMCPに関する設定(用途目的不明)
section.html?sid=060(WirelessIP5000)
NTTバージョンアップお知らせ機能の設定
未確認。おそらくひかり電話に関する設定
section.html?sid=061(WirelessIP5000)
NTT ECASの設定
未確認。おそらくひかり電話に関する設定


section.html?sid=062(WirelessIP5000)
(ITSPの)FUSION IP-Centrexサービスに関する設定
section.html?sid=063(WirelessIP5000)
テストコード(用途目的不明)
section.html?sid=064(WirelessIP5000)
DACOMのプロビジョニングに関する設定(用途目的不明)

CiscoIP Phone7900シリーズ

XML

"cisco xml"でぐぐると、ニュース記事ばかり出てくるもんで、
「具体的に、どんなサービスしてるのか、どんな実現方法なのか」を探すのは、ちょっとメンドーですな!

Cisco電話機向けのXMLサービス一覧など
HTTPリクエストに関する技術資料(英語)
Developing Cisco Ip Phone ServicesCisco本 洋書

古め電話機のファームウェア

http://www.xs4all.nl/~graver1/cisco/7905/ 7905のファームウェア
ftp://ftp.cisco.com/pub/voice/ip-phone/sip-7960/ 7960のSIPファームウェア
CP-7960GとCP-7961Gを混同していた時期もありました。

着信音ネタ(鳴り分け)

Asterisk側で着信音を鳴り分けできるらしい。
Asterisk側にて、ダイヤルする前に"ALERT_INFO"をSIP inviteに引っ付けて電話機に送り込むと、指定した着信音が鳴るらしい
ただし、

Note that this only seems to work for the internal ringtones and not for any custom ringtones.

↑このように内線着信で、なおかつカスタマイズした着信音だと使えない(らしい)
本当に動くんだろうかと。(例によって未検証)

Asterisk version <1
 exten => 3010,1,SetVar(__ALERT_INFO=<Bellcore-dr1>) 

Assterisk 1.0 and 1.2
 exten => 3010,1,SetVar(_ALERT_INFO=<Bellcore-dr1>)

Asterisk 1.4
 exten => 3010,1,SIPAddHeader(Alert-Info: <Bellcore-dr1>)

LOGげっちゅ

最近の、CiscoのIP電話はHTTPを喋るので、http://192.168.0.66 (←電話機のIPアドレス)
とやると、設定内容やらDEBUG logやらが表示されるので便利
LOGから「Unknown」とか「Error」あたりで調べると、コンフィグの書き間違いを探すことができる。

XML Parser Warning: Unknown element 'uid' in element '/device/networkLocaleInfo' (line=67)

この時ばかりは「とりあえず、テキストファイルで出力してしまえ」というInternet Explorerを使ったほうが良い
標準設定なFirefoxの場合「得体の知れないファイルだけど、どうよ?」と 聞いてくるのでチョット面倒

壁紙設定

SIPファームウェア設定で活きて来るっぽい「壁紙設定の有無」
SCCP電話機にて設定したものの、反応なし。

<commonProfile>
<phonePassword></phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>

Cisco 7961G(SIP)

設定ファイル(SIP用)

SIP用cnfファイルジェネレータ←動作未検証

ソフトキー設定

SEP<MAC Address>.cnf.xml中の
<softKeyFile>SK50719900-3bee-4594-bc3f-6400e1a33bf0.xml</softKeyFile>
という箇所が、ソフトキーのテンプレファイル読み込み設定らしく、
電話機が起動したら、当該ファイルをTFTPサーバーから読み込みに行く。
しかし中身はどうなっているんだろうか?(↑のxmlファイル名でぐぐると大量に出てくる)
ソフトキー設定の書式が間違っていると、Unprovisionedと表示され、
延々と設定ファイルを読み込むようになる(restartコマンドを繰り返す)
[元ネタ]
と言うかですな。SK50719900-3bee-4594-bc3f-6400e1a33bf0.xmlでぐぐると大量に出てくるあたり、
元ネタが一つしか無いんじゃないかと思ったりする訳で。

AutoAnswer(Astlinux限定)

まずは、extension"300"にはモーニングコールなり、MoHなりの処理を設定しておく。
まずは、テキトーに下記のようなテキストファイルを作成しておく

Forneus tmp # cat outband.txt
Channel: sccp/512/aa1w
Callerid: 511
MaxRetries: 1
RetryTime: 5
WaitTime: 3
Context: default
Extension: 300

次に/var/spool/asterisk/outgoing/ に先ほどのファイルをコピーするとOK

Forneus tmp # cp outband.txt /var/spool/asterisk/outgoing/

cronに、コピー処理を埋め込めば定時発信(モーニングコールなど)することができる。

AstLinux

Microclient JRにAstLinux入れてみた。

EXTIF

#EXTIF=eth0

/stat/etc/rc.conf内の、EXTIFをコメントアウト解除すると、PBXオンリーモードになり、
HTTPの設定とかTFTPサーバーの設定が効かなくなる。

INTIF

#INTIF=eth0

/stat/etc/rc.conf内の、INTIFをコメントアウト解除すると、ゲートウェイとして使えるモードになるが、

EXTGW="10.0.0.1"
DNS="192.168.0.1"

デフォルトゲートウェイやDNSの設定が効かなくなる。(rc.confの設定が無視される)
rc.confの設定を見直すのが正攻法ではあるものの、小細工も結構効いたりする。

DNS

INTIF=eth0を有効にしていると、/etc/resolv.conf

Forneus init.d # cat /etc/resolv.conf
search hoge.
nameserver 127.0.0.1

という具合に、外部DNSを参照してくれない。
rc.conf内のDNSの項目が無視される。 /etc/init.d/dnsmasqを開くと

if [ "$LOCALDNS" ]
then
RCONF="/tmp/etc/resolv-up.conf"
echo "search $DOMAIN
nameserver 127.0.0.1" > /tmp/etc/resolv.conf
else
RCONF="/tmp/etc/resolv.conf"
fi

とあるので、

nameserver 192.168.0.1" > /tmp/etc/resolv.conf

と小細工することで任意のDNSサーバーを参照することが出来る。

デフォルトゲートウェイ

vi /etc/init.d/network

とやると、/stat/etc/rc.conf内のネットワークの挙動が(ちょっと)わかる
デフォルトルートは

route add -net default gw "$EXTGW" dev "$EXTIF"

と設定されているようだ。

余りスペースを活用する

Astlinux_空き容量有効活用に引越ししますた。

HTTPdの設定

HTTPの設定は/stat/etc/rc.confを弄る 下記の個所を弄ると宜しい

##Secondary HTTP only server
##If you set HTTPDIR, I will startup another instance of mini_httpd to
##serve files from that directory. HTTPUSER is the user the server will
##run as.
#HTTPDIR="/tftpboot"
HTTPDIR="/mnt/hda2/http"
HTTPUSER="nobody"
HTTPCGI="no" # yes|no to enable CGI (just like for HTTPS)

##HTTPS Variables
HTTPSDIR="/stat/var/www" # Define the location to serve HTTPS from
HTTPSCGI="yes" # Whether to enable CGI in the above path
HTTPSCERT="/etc/ssl/mini_httpd.pem" # Path to the https certificate
HTTPSUSER="root" #user to run HTTPS under

資源(あいたスペース)の有効活用

標準の保留音では「Asteriskでござる」と言わんばかりであり、ちょっち個性に欠けるので、
/mnt/hda2/に保留音をぶちこむ。みっくみくにしてやんYO!!
Astlinuxで使える保留音のファイルフォーマットはMP3ではなく、ulawファイルなので注意が必要である。
/var/lib/asterisk/moh/default以下には収まりきれないので、下記の方法で解決する

リンク張る

設定要らずで済ますなら、lnコマンドを使う。ファイルが少ないなら問題ないだろう。

Forneus # ln -s /mnt/hda2/MoH/clouds.ulaw /var/lib/asterisk/moh/default/
設定変更

/stat/etc/asterisk/musiconhold.confを直接編集しても良い。

Forneus asterisk # vi /stat/etc/asterisk/musiconhold.conf
[default]
mode=files
;directory=/var/lib/asterisk/moh/default
directory=/mnt/hda2/MoH

random=yes      ; Play the files in a random order

tftpd

Cisco電話機を動かす前にtftpサーバーを動かす必要がある。
Cisco電話機は、tftpサーバーから設定ファイル、壁紙、着信音などを引っ張ってくるからである。

Forneus # vi /stat/etc/rc.conf

(略)

##Configure TFTPD support
##Works the same as FTPD above.
TFTPD=inetd  ←コメントはずした
 
##TFTP Server options (flags to pass to TFTP)
##This only works in standalone TFTP server mode
#TFTPDOPTIONS="-l -s /tftpboot"
TFTPDOPTIONS="-l -s /mnt/tftp"   ←付け足しても無視される模様

TFTPD=inetdにすると、TFTPDOPTIONSが無視されてしまうようだ。
TFTPD=tftpdにすると、tftpd自体が動かない模様。
tftpの設定も小細工が可能である。

/vi/etc/init.d/inet
if [ "$TFTPD" -a "$TFTPD" = "inetd" ]
then
if [ -d /mnt/kd/tftpboot ]
then
ln -s /mnt/kd/tftpboot /tmp/tftpboot
else
mkdir /tmp/tftpboot
fi
echo "tftp    dgram   udp     wait    root    /usr/sbin/tftpd         tftpd -s 
/tmp/tftpboot" >> /tmp/etc/inetd.conf   ←ここの行を小細工(Before)
fi
}
fi
echo "tftp    dgram   udp     wait    root    /usr/sbin/tftpd         tftpd -s 
/mnt/hda2/tftp/" >> /tmp/etc/inetd.conf   ←ここの行を小細工(After)
fi
}

ファイルを変更したら、再起動をかける。
とりあえず動いたらしい

Forneus log # ps |grep tftp
 1226 root        272 S   tftpd -s /mnt/hda2/tftp/
 1364 root        296 S

Astlinuxの小ネタ

起動が超遅い

DNSの正引き逆引きが出来てない可能性大。

謎のポートの2000番

chan_sccpが2000番を絶賛使用中

2GB以上のCFに入らない

DDforWindowsでダメならphysdiskwrite使ってみる。

BOOTしない

CFカードに孔明の罠が仕込まれていることがあり、ファイルの一部が破損していることがある。
configもろもろのバックアップ(CF丸ごとでも良い)を取っておくこと。
ファイルの一部が破損することがあるので、
md5sumにてファイルの同一性を確認すべし。(ファイルの一部が壊れることもある)
特にTranscend製のカード使ったら頻発した。(4枚中3枚で上記障害が発生)

Remote UNIX connection

CLIコンソールに出てくる、下記のメッセージは一体何者か。不届き者か。

   -- Remote UNIX connection
   -- Remote UNIX connection disconnected

で、さっそく調べてみた。
どうやら、他のユーザー、もしくは監視サービス(nagios他)がCLI接続したときに出るログらしく、原因は下記の通りとなる

  • 他のユーザーがCLIに入ったかもしれない。
  • asterisk manager (manager.conf)がつなげてるかもしれない。
  • Nagios(のプラグイン)が繋げているかもしれない

対応策としては、下記の通り。

  • こいつは無害なんで気にするな
  • vの数を減らせ(asterisk -vvvvvvvvvvvvvvvvvvvvvrのこと)
  • CLIからログオフしてしまえ

AstLinux小ネタ集

Building a compact Asterisk server with AstLinux
Astlinuxの小ネタ多数。但し英語

  • コンパイル済みのAstlinuxをインストールする
  • crontabを設定する
  • 10Base-Tでリンクさせる
  • 俺様ば~ぢょんのAstlinuxを創る

藤堂さんのリスト

予定は未定。決定に非ず。

Playtone(extensions.conf)でチャルメラを奏でてみたい(終了)
周波数の指定だけで各音階指定できる気がする。
snom300いぢり
ファクトリーリセットかけるところまで行った
AAstra53iいぢり
高橋氏イチオシの電話機
ACT P123Sの本体撮影(終了)
googleの画像検索に引っかかるようにがんがります。
CME
なんだかんだで、IOSと電話機のファームウェアがあれば、なんとかなるっぽい。
Asteriskと連携させるところまで進める予定。
「Ciscoはクソ高い」と、よく言われるので、中古物件で、個人で購入できる範囲内で揃えてみた。
Cisco電話機用の壁紙(終了)
Asteriskな壁紙を用意し、サンプルとして配布する予定
chan_sccp(終了)
SetCalledPartyの意味を探る
発信先の名称を出すアプリケーションらしい
chan_sccp(2)
モーニングコール機能の作成
(一応、作成の目処は立った)
WirelessIP5000
WiFi電話機ネタ追加。NTT WI-100HC(WIP3000)の姉妹機らしい
Asterisk1.6のCLIネタ研究
(FreeBSDのportsが出たら)前向きに検討
QoS
大規模な構築になると出現するネタ。CCNPの勉強も兼ねて。(CCNA取ってない)
VLAN
自宅でTFTPサーバーを3台構築する必要に駆られたため。