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

提供: VoIP-Info.jp
移動先: 案内検索
(tftpd)
135行目: 135行目:
 
Cisco電話機を動かす前にtftpサーバーを動かす必要がある。<BR>
 
Cisco電話機を動かす前にtftpサーバーを動かす必要がある。<BR>
 
Cisco電話機は、tftpサーバーから設定ファイル、壁紙、着信音などを引っ張ってくるからである。<BR>
 
Cisco電話機は、tftpサーバーから設定ファイル、壁紙、着信音などを引っ張ってくるからである。<BR>
 +
 
  Forneus # vi /stat/etc/rc.conf
 
  Forneus # vi /stat/etc/rc.conf
 
   
 
   
141行目: 142行目:
 
  ##Configure TFTPD support
 
  ##Configure TFTPD support
 
  ##Works the same as FTPD above.
 
  ##Works the same as FTPD above.
  #TFTPD=inetd  ←コメントにした
+
  TFTPD=inetd  ←コメントはずした
TFTPD=tftpd   ←付け足した
+
 
 
 
  ##TFTP Server options (flags to pass to TFTP)
 
  ##TFTP Server options (flags to pass to TFTP)
 
  ##This only works in standalone TFTP server mode
 
  ##This only works in standalone TFTP server mode
 
  #TFTPDOPTIONS="-l -s /tftpboot"
 
  #TFTPDOPTIONS="-l -s /tftpboot"
  TFTPDOPTIONS="-l -s /mnt/tftp"   ←付け足した
+
  TFTPDOPTIONS="-l -s /mnt/tftp"   ←付け足しても無視される模様
動作検証は後日実施未定。
+
<P>
 +
TFTPD=inetdにすると、TFTPDOPTIONSが無視されてしまうようだ。<BR>
 +
TFTPD=tftpdにすると、tftpd自体が動かない模様。<BR>
 +
tftpの設定も小細工が可能である。
 +
</P>
 +
/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/IP_Phone/" >> /tmp/etc/inetd.conf   ←ここの行を小細工(After)
 +
fi
 +
}
 +
ファイルを変更したら、再起動をかける。<BR>
 +
とりあえず動いたらしい
 +
Forneus log # ps |grep tftp
 +
  1226 root        272 S  tftpd -s /mnt/hda2/IP_Phone/
 +
  1364 root        296 S

2007年12月23日 (日) 23:09時点における版

オッス!おらMR G
12/31のお祭りは出展者側だ!

注目しているURL

Standalone Cisco 7941/7961 without a local PBX

CP-7941/7961を単独で動かす法

79XX系電話機とAsterisk

Asterisk phone cisco 79xx

ファームウェア

http://www.xs4all.nl/~graver1/cisco/7905/ 7905のファームウェア
ftp://ftp.cisco.com/pub/voice/ip-phone/sip-7960/ 7961のSIPファームウェア

Cisco 7905/7912

Cisco VoIP_INFO 7905/7912の設定

chan sccp

SCCPドライバの解説
FAQ

Cisco 79XX カスタマイズ

着メロとか壁紙とかのカスタマイズ(日本語)

いぢくり中

Cisco IP Phone

79XX

マルチライン動かないぞガッデム

AutoAnswer

AutoAnswer機能を利用したスクリプト作成中
プログラム力の無さに絶望した。

AstLinux

Microclient JRにAstLinux入れてみた。
chan_sccp入っていた。
SCCPやるしか?やるしかないネ!

Forneus ~ # ls -la /usr/lib/asterisk/modules/|grep sccp
-rwxr-xr-x    1 root     root       180002 Sep 11 13:46 chan_sccp.so

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が使用する(CFカードの)ディスクスペースは64MB。
1GBのカード使ったとしたら残り900MBは無駄。こいつはMOTTAINAI
TFTPサーバーとして使うため、ディスクスペースを有効活用する事にした。
とりあえずメモ

スライス

fdisk /dev/hda

command action
  e   extended
  p primary partition(1-4)

と聞かれたのでpを押す。
次に2を押す。パーティション番号らしい

pと押したら、一応スライス区切れた予感がする。
wを押すと、実際に書き込む。 そして再起動だ。

自動でmountさせる

mount /dev/hda2 /mnt

とやると、とりあえず/mntにマウントされた。 が、さすがに毎回手動マウントする訳には行かない。

mount -o rw,remount /
vi /etc/rc

と入力し、起動スクリプトを直接編集することにした。
ここで注意すべきは"/etc/fstab"を直接編集しても意味が無いということだ。
自動マウントさせたいなら、"/etc/rc"を直接編集すべしである。

mount -t ほげ

という分を探すと111行目あたりに、それっぽい設定が見つかるので、

mount /stat/dev/hda2 /mnt

という行をテキトーに追加、保存したのち、再起動
これでAstlinuxが使ってない領域を自由に使えるようになった。

Forneus ~ # df -m
Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/hda1                   62        51        10  83% /
none                         0         0         0   0% /dev
none                         5         0         5   3% /var
none                        10         0         9   5% /tmp
/stat/dev/hda2             176        20       147  12% /mnt/hda2

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

標準の保留音では「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/IP_Phone/" >> /tmp/etc/inetd.conf   ←ここの行を小細工(After)
fi
}

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

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