|
|
(4人の利用者による、間の187版が非表示) |
1行目: |
1行目: |
− | Astlinuxネタの一部を引越しさせたYO!!
| + | #REDIRECT [[利用者:Gima]] |
− | =ミスプリ用紙の裏=
| + | ---- |
− | ==chan_sccp==
| + | 中の人は、[[利用者:Gima]]にアカウントを変更したらしいです。 |
− | #NAT越えの発着信が可能。(PBX→グローバルIP 電話機→ローカルIPの組み合わせで運用chu!)
| + | <!-- 中の人に関する情報がバレ砲台なのと、Mr.Gというアカウント名が時計のブランドと被ってるので変更。 |
− | #chan_sccpにUAの機能はついてない。従ってCallManagerにはぶら下がらない。
| + | ぐぐりやすいというのもありますわネ |
− | #本家(?)のML宛に、Line button patchが投稿されることがある。
| + | --> |
− | #使ってる人が少ない。
| |
− | #sccp.confの記述方法が変(コンテキスト毎に分けられていない) | |
− | chan_sccpは、個人的見解としては「あまりいけてない」<BR>
| |
− | とはいえ、chan_skinnyよりはマシな気が。<BR>
| |
− | SCCP(Skinny)を使うなら、CP-7911のようなラインキー無しの電話機を使ったほうが楽で宜しい。<BR>
| |
− | (但し利用者の環境に依存する)<BR>
| |
− | | |
− | Skinnyファームウェアを使うよりも、ノウハウの豊富なSIPファームウェアのほうがオススメ。<BR>
| |
− | でも日本語ドキュメントは、ほぼ皆無<BR>
| |
− | | |
− | SIPに対応していない電話機(CP-7931とかWiFiなCisco電話機とか)を動かすなら、chan_sccp必須ですヨ!奥さん!
| |
− | | |
− | ==Cisco CallManager Express==
| |
− | Quintumと同様、Regist無しでAsteriskにぶら下がるやりかたと、<BR>
| |
− | Regist有りでAsteriskにぶら下がるやりかたの二種類が確認されている。<BR>
| |
− | このあたりはキッチリ打ち合わせしないと痛い目見る可能性極めて大なり。(ダイヤルプラン的な意味で)
| |
− | | |
− | ==ITSPとパケットフィルタリング==
| |
− | ぼちぼちSPIT(Spam over internet telephony)対策も練らんとね。と思いつつ、<BR>
| |
− | まずはSIPポートを開く対象をホワイトリスト化しておこう。<BR>
| |
− | G-LEXおよびOCNと繋ぐためのパケットフィルタリングルールでも創っておこう。<BR>
| |
− | まずレジスト先ホストをリスト化しておく。<BR>
| |
− | whoisからIPアドレス範囲調べて、ポートを開けても良さそうな気もするが、クライアント向けIPアドレスを含めてしまうのは宜しくない。<BR>
| |
− | かと言ってIPアドレス一個だけ決め打ちしていると、サーバー側IPが変わったときに痛い目に遭う。<BR>
| |
− | | |
− | ==パケットフィルタリングに対する4つの方針==
| |
− | | |
− | ===閉鎖的 ~UDP/5060開放先IPを決め打ち~===
| |
− | 特定のIPに限ってUDP/5060を開放する。
| |
− | ;利点:基本的にはITSP経由での通信となるので、セキュリティホールを突付かれ難くなる。
| |
− | ;弱点:ITSPのIPが変わった場合、通信できなくなるのでトラブルに見舞われやすい。(と思う)
| |
− | | |
− | ===開放 ~UDP/5060はサブネットで区切る~===
| |
− | WhoisゲートウェイからITSPが使用しているIPアドレスの範囲を調査し、その範囲内に限ってUDP/5060での通信を許可する。
| |
− | ;利点:基本的にはITSP経由での通信となるので、セキュリティホールを突付かれ難くなる。
| |
− | ;弱点:ITSPのIPが変わった場合、通信できなくなる可能性が高い<BR>IPを一個だけ開けるよりかはトラブルになり難い。
| |
− | ===けっこう開放 ~UDP/5060ばっちこい~===
| |
− | ;利点:ITSP側でIPアドレス変えても問題なくSIPでの通信が可能
| |
− | ;弱点:某国からUDP5060宛の攻撃がやって来るかもしれない。SIP周りのセキュリティホールに注意すること
| |
− | ===走召開放 ~パケットなんでもばっちこい~===
| |
− | インターネットからのパケットは全てサーバーに流すようにする。パケットフィルタリングを行わない。
| |
− | ;利点:パケットフィルタリングに悩まないで済む。
| |
− | ;弱点:サイバーノーガード戦法を取らざるを得ない。
| |
− | ===OCN===
| |
− | 210.227.109.0/24っぽいが、voip11.ocn.ne.jp以降の振られ方が謎。<BR>
| |
− | voip-ca3400まで調べたところで挫折。
| |
− | ;voip1.ocn.ne.jp(3350~3359,3385):210.227.109.197
| |
− | ;voip2.ocn.ne.jp:210.227.109.203
| |
− | ;voip3.ocn.ne.jp(3340~3349,3386,3680):210.227.109.206
| |
− | ;voip4.ocn.ne.jp(3320~3329,3387,3670~3679):210.227.109.232
| |
− | ;voip5.ocn.ne.jp(3310~3319,3395,3396):210.227.109.215
| |
− | ;voip6.ocn.ne.jp(3300~3309,3388,3389,3390,3391):210.227.109.217
| |
− | ;voip7.ocn.ne.jp(3330~3339,3392):210.227.109.219
| |
− | ;voip8.ocn.ne.jp(3397,3398,3399):210.227.109.245
| |
− | ;voip9.ocn.ne.jp(3363,3364,3371~3376,3378,3379):210.227.109.247
| |
− | ;voip10.ocn.ne.jp:210.227.109.249
| |
− | ;voip11.ocn.ne.jp:210.227.109.119
| |
− | ;voip12.ocn.ne.jp:210.164.27.197
| |
− | ;voip13.ocn.ne.jp(3660~3669,3690~3699):211.123.198.180
| |
− | ;voip14.ocn.ne.jp(3640~3649,3650~3659):211.123.198.181
| |
− | ====OCNの例外====
| |
− | 3360~3362,3365~3370,3377,3380,3393,3394,3400は
| |
− | voip-caXXXX.ocn.ne.jpというホスト名では無い模様<BR>
| |
− | nslookupに引っかからない<BR>
| |
− | ====OCNとRTPパケット====
| |
− | OCNは、SIPサーバー(レジストしたりInviteしたり)とRTP用サーバー(通話時に通信するIP)が別物になっているんで、<BR>
| |
− | RTP用のパケットフィルタ設定が必要となる。
| |
− | =====RTPおしゃべり相手履歴=====
| |
− | *60.37.5.97
| |
− | | |
− | ===G-LEX===
| |
− | 202.210.173.128/25で括られている模様(ソースはwhois)<BR>
| |
− | ;iax002.g-lex.net:202.210.173.169
| |
− | ;sip002.g-lex.net(sip001.g-lex.net):202.210.173.154
| |
− | しかし、以前は222.で始まるIPアドレスだったよーな気がした。<BR>
| |
− | Cisco ACLで書いてみたら、こんな按配。
| |
− | remark SIP(Invite to G-LEX)
| |
− | permit udp host 192.168.0.1 gt 1023 202.210.173.128 0.0.0.127 eq 5060
| |
− | | |
− | =注目しているURL=
| |
− | ==AstLinux小ネタ==
| |
− | [http://www.fredshack.com/docs/astlinux.html Building a compact Asterisk server with AstLinux]<BR>
| |
− | Astlinuxの小ネタ多数。但し英語
| |
− | *コンパイル済みのAstlinuxをインストールする
| |
− | *crontabを設定する
| |
− | *10Base-Tでリンクさせる
| |
− | *俺様ば~ぢょんのAstlinuxを創る
| |
− | ==Standalone Cisco 7941/7961 without a local PBX==
| |
− | [http://voip-info.org/wiki/view/Standalone+Cisco+7941%252F7961+without+a+local+PBX CP-7941/7961を単独で動かす法]
| |
− | | |
− | ==79XX系電話機とAsterisk==
| |
− | [http://www.voip-info.org/wiki/index.php?page=Asterisk+phone+Cisco+79xx Asterisk phone cisco 79xx]
| |
− | | |
− | ===ファームウェア===
| |
− | http://www.xs4all.nl/~graver1/cisco/7905/ 7905のファームウェア<BR>
| |
− | ftp://ftp.cisco.com/pub/voice/ip-phone/sip-7960/ 7960のSIPファームウェア<BR>
| |
− | CP-7960GとCP-7961Gを混同していた時期もありました。
| |
− | ===Cisco 7905/7912===
| |
− | [http://www.voip-info.org/wiki/view/Cisco+7905%252F7912+IP+Phones Cisco VoIP_INFO 7905/7912の設定]
| |
− | ===chan sccp===
| |
− | [http://www.voip-info.org/wiki/view/chan_sccp2 SCCPドライバの解説]<BR>
| |
− | [http://www.voip-info.org/wiki/view/Chan_sccp_faq FAQ]
| |
− | | |
− | ===Cisco 79XX カスタマイズ===
| |
− | [http://www.cisco.com/japanese/warp/public/3/jp/service/manual_j/ipt/cc/ipcag21/chapter06/13685_01_6.shtml 着メロとか壁紙とかのカスタマイズ(日本語)]<BR>
| |
− | | |
− | ===短縮ダイヤル===
| |
− | [http://www.cisco.com/en/US/docs/voice_ip_comm/cucme/admin/configuration/guide/cmespeed.pdf Configuring Speed Dial]<BR> | |
− | ラインキー用、ディレクトリボタン用(電話機単体用、企業共有用)短縮ダイヤル設定解説書。<BR>
| |
− | SIPファームとSCCPファームで機能が別れている(らしい)
| |
− | | |
− | =いぢくり中=
| |
− | ==Cisco IP Phone==
| |
− | ===CiscoIP Phone7900シリーズ===
| |
− | マルチライン動かないぞガッデム<BR>
| |
− | SIPファームウェア入れたら、壁紙サイズとか日本語表示用ファイルが変わってた。<BR>
| |
− | とか散々な目に遭ってしまった。
| |
− | ===着信音ネタ(音源ファイルのつくりかた)===
| |
− | sox使え。とあるけど、windowsで作れるかやってみたいところ。<BR>
| |
− | そもそもsoxって何。<BR>
| |
− | astlinuxでの保留音作成と同じ流れでなら作れるかな?<BR>
| |
− | それにしても上限が2秒というのは厳しいなぁ。以下、着信音の仕様
| |
− | 8000 Hz サンプリングレート
| |
− | 8 bits per sample
| |
− | ulaw compression
| |
− | 240 - 16080 samples long (0.03 秒~2.01 秒)
| |
− | ===着信音ネタ(鳴り分け)===
| |
− | Asterisk側で着信音を鳴り分けできるらしい。<BR>
| |
− | Asterisk側にて、ダイヤルする前に"ALERT_INFO"をSIP inviteに引っ付けて電話機に送り込むと、指定した着信音が鳴るらしい<BR>
| |
− | ただし、
| |
− | Note that this only seems to work for the internal ringtones and not for any custom ringtones.
| |
− | ↑このように内線着信で、なおかつカスタマイズした着信音だと使えない(らしい)<BR>
| |
− | 本当に動くんだろうかと。(例によって未検証)
| |
− | 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>)
| |
− | | |
− | ===Cisco 7970G(SIPファームウェア)===
| |
− | ====LOGげっちゅ====
| |
− | 最近の、CiscoのIP電話はHTTPを喋るので、http://192.168.0.66 (←電話機のIPアドレス)<BR>
| |
− | とやると、設定内容やらDEBUG logやらが表示されるので便利<BR>
| |
− | LOGから「Unknown」とか「Error」あたりで調べると、コンフィグの書き間違いを探すことができる。
| |
− | XML Parser Warning: Unknown element 'uid' in element '/device/networkLocaleInfo' (line=67)
| |
− | | |
− | この時ばかりは「とりあえず、テキストファイルで出力してしまえ」というInternet Explorerを使ったほうが良い<BR>
| |
− | 標準設定なFirefoxの場合「得体の知れないファイルだけど、どうよ?」と 聞いてくるのでチョット面倒
| |
− | | |
− | ====パワーセーブ====
| |
− | Cisco IP Phone7970は液晶ディスプレイなので、夜は消灯しておいたほうが地球に優しい。<BR>
| |
− | 地球に優しい設定は、例によってSEP<MACアドレス>中に記述する必要がある。<BR>
| |
− | http://www.redwatervoip.com/cisco/7970pso.txt とか<BR>
| |
− | http://www.trixbox.org/forums/vendor-specific-unmoderated/linksys-cisco/7970g-power-save-configuration
| |
− | <BR>
| |
− | が参考になるかもしれない。<BR>
| |
− | ちなみに、CallManager Expressで(地球に優しい機能を)設定する場合は、<BR>
| |
− | Router> enable
| |
− | Router# telephony-service
| |
− | Router# configure terminal
| |
− | Router(config)# telephony-service
| |
− | Router(config)# service phone displayOnTime 09:00 ←AM 9:00点灯
| |
− | Router(config)# service phone displayOnDuration 12:00 ←12時間経ったら(PM 9:00になったら)消灯
| |
− | 結局のところ、SEP<MACアドレス>.cnf.xmlファイルに上記設定が書き込まれる訳ですな。
| |
− | | |
− | ===Cisco 7961G(SIPファームウェア)===
| |
− | ====ぶち込みかた====
| |
− | #7960/7940のファームウェア(SIP用)を解凍し、TFTPサーバーに置いておく。
| |
− | #(DHCP Optionが指定可能な)DHCPサーバーを立てておく。
| |
− | #DHCPサーバーの設定で、TFTPサーバーのIPを指定しておく。
| |
− | # #キーを押しながら電源(PoEならUTPケーブル)を挿す。(着信ランプが点滅するまで#を押し続けること)
| |
− | #着信ランプが点滅しはじめたら、123456789*0#の順に押す。(取り消しは、他のキー二度押し)
| |
− | #ファームウェアが真っ白になり、電話機再起動
| |
− | #電話機再起動後、ファームウェアをTFTPサーバーから引っ張ってくる。
| |
− | ====設定ファイル(SIP用)====
| |
− | [http://www.voip-info.org/wiki/view/Asterisk+phone+cisco+79x1+xml+configuration+files+for+SIP#Cisco7961with833SR2ConfigurationExamples Asterisk phone cisco 79x1 xml configuration files for SIP]<BR> | |
− | [http://www.ekn.com/makecnf.tar.gz SIP用cnfファイルジェネレータ]←動作未検証
| |
− | | |
− | ====ソフトキー設定====
| |
− | SEP<MAC Address>.cnf.xml中の<BR>
| |
− | <softKeyFile>SK50719900-3bee-4594-bc3f-6400e1a33bf0.xml</softKeyFile><BR>
| |
− | という箇所が、ソフトキーのテンプレファイル読み込み設定らしく、<BR>
| |
− | 電話機が起動したら、当該ファイルをTFTPサーバーから読み込みに行く。<BR>
| |
− | しかし中身はどうなっているんだろうか?(↑のxmlファイル名でぐぐると大量に出てくる)<BR>
| |
− | ソフトキー設定の書式が間違っていると、Unprovisionedと表示され、<BR>
| |
− | 延々と設定ファイルを読み込むようになる(restartコマンドを繰り返す)<BR>
| |
− | [[http://lists.berlios.de/pipermail/chan-sccp-users/2006-March/002099.html 元ネタ]]<BR> | |
− | と言うかですな。SK50719900-3bee-4594-bc3f-6400e1a33bf0.xmlでぐぐると大量に出てくるあたり、<BR>
| |
− | 元ネタが一つしか無いんじゃないかと思ったりする訳で。
| |
− | ====ファームウェアバージョン指定====
| |
− | SEP<MAC Address>.cnf.xml中の<BR>
| |
− | <loadInformation>SIP70.8-0-0SR1S</loadInformation><BR>
| |
− | という箇所がファームウェアに関する設定となり、上記バージョンのファームウェアを<BR>
| |
− | TFTPサーバーから引っ張ってくる<BR>
| |
− | (上記の記述内容では)SIP70.8-0-0SR1S.loadsというファイルをTFTPサーバーから引っ張ってくる<BR>
| |
− | | |
− | ===AutoAnswer===
| |
− | AutoAnswer機能を利用したスクリプト作成中<BR>
| |
− | プログラム力の無さに絶望した。
| |
− | | |
− | ==AstLinux==
| |
− | Microclient JRにAstLinux入れてみた。<BR>
| |
− | | |
− | ===EXTIF===
| |
− | #EXTIF=eth0
| |
− | /stat/etc/rc.conf内の、EXTIFをコメントアウト解除すると、PBXオンリーモードになり、<BR>
| |
− | HTTPの設定とかTFTPサーバーの設定が効かなくなる。
| |
− | | |
− | ===INTIF===
| |
− | #INTIF=eth0
| |
− | /stat/etc/rc.conf内の、INTIFをコメントアウト解除すると、ゲートウェイとして使えるモードになるが、<BR>
| |
− | EXTGW="10.0.0.1"
| |
− | DNS="192.168.0.1"
| |
− | デフォルトゲートウェイやDNSの設定が効かなくなる。(rc.confの設定が無視される)<BR>
| |
− | rc.confの設定を見直すのが正攻法ではあるものの、小細工も結構効いたりする。
| |
− | | |
− | ====DNS====
| |
− | INTIF=eth0を有効にしていると、/etc/resolv.conf
| |
− | Forneus init.d # cat /etc/resolv.conf
| |
− | search hoge.
| |
− | nameserver 127.0.0.1
| |
− | という具合に、外部DNSを参照してくれない。<BR>
| |
− | 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内のネットワークの挙動が(ちょっと)わかる<BR>
| |
− | デフォルトルートは
| |
− | route add -net default gw "$EXTGW" dev "$EXTIF"
| |
− | と設定されているようだ。
| |
− | | |
− | ===余りスペースを活用する===
| |
− | [[Astlinux_空き容量有効活用]]に引越ししますた。
| |
− | | |
− | ====資源(あいたスペース)の有効活用====
| |
− | 標準の保留音では「Asteriskでござる」と言わんばかりであり、ちょっち個性に欠けるので、<BR>
| |
− | /mnt/hda2/に保留音をぶちこむ。みっくみくにしてやんYO!!<BR>
| |
− | Astlinuxで使える保留音のファイルフォーマットはMP3ではなく、ulawファイルなので注意が必要である。<BR>
| |
− | /var/lib/asterisk/moh/default以下には収まりきれないので、下記の方法で解決する<BR>
| |
− | ======リンク張る======
| |
− | 設定要らずで済ますなら、lnコマンドを使う。ファイルが少ないなら問題ないだろう。
| |
− | Forneus # ln -s /mnt/hda2/MoH/clouds.ulaw /var/lib/asterisk/moh/default/
| |
− | ======設定変更======
| |
− | /stat/etc/asterisk/musiconhold.confを直接編集しても良い。<BR>
| |
− | 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サーバーを動かす必要がある。<BR>
| |
− | Cisco電話機は、tftpサーバーから設定ファイル、壁紙、着信音などを引っ張ってくるからである。<BR>
| |
− | | |
− | 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" ←付け足しても無視される模様
| |
− | <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/tftp/" >> /tmp/etc/inetd.conf ←ここの行を小細工(After)
| |
− | fi
| |
− | }
| |
− | ファイルを変更したら、再起動をかける。<BR>
| |
− | とりあえず動いたらしい
| |
− | 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でダメなら[http://m0n0.ch/wall/physdiskwrite.php physdiskwrite]使ってみる。
| |
− | ====BOOTしない====
| |
− | CFカードに孔明の罠が仕込まれていることがあり、ファイルの一部が破損していることがある。<BR>
| |
− | configもろもろのバックアップ(CF丸ごとでも良い)を取っておくこと。<BR>
| |
− | ファイルの一部が破損することがあるので、<BR>
| |
− | md5sumにてファイルの同一性を確認すべし。(ファイルの一部が壊れることもある)<BR>
| |
− | 特にTranscend製のカード使ったら頻発した。(4枚中3枚で上記障害が発生)
| |