匿名

差分

利用者:Gima

7,197 バイト追加, 2016年6月16日 (木) 12:51
編集の要約なし
やる気を燃料に。技術力をエンジンに。==OpenWRT==OpenWRTにAsterisk13を入れたあと、ひかり電話に繋がるようになるまでの<BR>必要なパッケージいろいろ===必要===無いと困るパッケージ一覧;asterisk13:Asterisk本体;asterisk13-chan-sip:SIPチャネルドライバ。SIP電話機やひかり電話との通信に必要。<BR>pjsipでも良いかも;asterisk13-codec-ulaw:μ-lawコーデックモジュール。やる気はけっこう簡単に無くなります。;asterisk13-res-rtp-asterisk: RTPモジュール。これが無いと通話が出来ない
===重要===
無くても大丈夫だけど、入れるとお得
;asterisk13-codec-g722:G.722コーデック
;asterisk13-res-musiconhold:保留音モジュール。<BR>保留しない人にとっては不要
===微妙===無くても困らないが、一部の人に需要があるモノ(いわゆる、「俺得」);asterisk13-chan-unistim:Nortel電話機用(秋葉原でNortel i2002を買った人とか) ===TFTPサーバー===OpenWRTに入っているTFTP(dnsmasqの一機能)がいうことを聞かないとき<BR>*Firewallの状態を確認*TFTPを有効にするインターフェースを確認<BR>→/etc/dnsmasq.confの末尾あたりに"enable-tftp=br-lan"を追加しておく  ==Ciscoの電話機==[http://obdnmagazinedocs.acsdata.blogspotco.nz/asterisk-cisco/ ACS DATA]<BR>CiscoのIP電話機をAsteriskで使うためのノウハウ色々。このページでだいたい事足りる。<BR>Asterisk11.22.0用Cisco patchもあるのでオススメ  ==ひかり電話用のIP電話機==ひかり電話用の電話機2種類<BR>Hackする労苦に見合うほどのメリットがあるかというとちょっとビミョーなので、<BR>Registできたら満足して倉庫の肥やしになる可能性大===HQ-100===*HQ-100はナカヨのOEM製品。したがって例のコマンドが効く。<BR>変更が効くのは固定IPやHGWのアドレス程度*FTPの口がある。しかしIDは****_***ではない模様*telnetを喋る。ログイン方法やコマンド体系はナカヨ製電話機と一緒*NTPを喋らず、ひかり電話ルーターが吐くSIPヘッダから、時間を取得する===ひかりパーソナルフォン WI-200===NTT東西から出ていたWiFi(クセの強さが半端無い)SIP電話機 <BR>パケットから見る起動シーケンスは下記の順のとおり#DHCPサーバーからIPアドレスを取得<BR>変わったDHCPオプションの要求は特に無し。#ファームウェアのバージョンアップを確認<BR>"http://www.cpeinfo.jp/2012?product=WI-200&version=01.02" ←こんなURL#ひかりGWに対し、HTTPのPOSTを投げる<BR>http:/09/openblocks10.0.2.62/cas_tel_conf/ ←こんなURL<BR>自局のIDや内線番号、SIPポートなどをゲートウェイに対して送信する#ひかりGWに対しSIP REGISTERパケットを投げる<BR>====Asteriskにつなげる為には====以上の挙動を見る限り、Asteriskにつなげる為にはDHCPサーバーとHTTPサーバーが必要。<BR>;WI-200用のDHCP設定:固定IP不可。<BR>電話がデフォルトデートウェイにHTTPリクエストを投げるので、DHCPサーバーを新たに設けるか、電話機用のDHCP設定を加えること<BR>デフォルトゲートウェイのIPを変更できるタイプが望ましい<BR>;HTTPサーバーの設定:電話機が設定ファイルを要求してくるので、POSTで電話機の設定を返す  ==rtp set debugの使い方==通話時に、片通話状態になったりお互いが無音になってしまうときに、<BR>RTPパケットの状態を"rtp set debug"で見ることが出来る各IPとのRTPパケット"GotとSent"があれば正常で、片通話の場合はGotまたはSentが欠けている ===正常な例 その1===内線相互通話のとき<BR>端末とPBX側で、それぞれRTPによるパケットのやり取りが正常に出来ている例 PBX*CLI> rtp set debug on (略) Got RTP packet from 10.0.1.11:18978 (type 00, seq 000231, ts 1851238948, len 000160) Sent RTP packet to 10.0.1.11:18978 (type 00, seq 062226, ts 003520, len 000160) Got RTP packet from 10.0.1.29:9000 (type 00, seq 036076, ts 003840, len 000160) Sent RTP packet to 10.0.1.29:9000 (type 00, seq 013446, ts 1851238944, len 000160)===正常な例 その2===ITSPから着信したとき、<BR>端末とITSP側で、それぞれRTPによるパケットのやり取りが正常に出来ている例 PBX*CLI> rtp set debug on (略) Got RTP packet from 10.0.1.29:9000 (type 00, seq 025633, ts 043040, len 000160) Sent RTP packet to 10.0.1.29:9000 (type 00, seq 006329, ts 3057645360, len 000160) Got RTP packet from 219.113.12.175:7670 (type 00, seq 000266, ts 3057645200, len 000160) Sent RTP packet to 219.113.12.175:7670 (type 00, seq 038682, ts 043040, len 000160)===不具合がある例===ITSPから着信したとき、<BR>端末からの音声は正しく外線(ITSP)に行っているが、ITSPからのRTPパケットが行かない例ITSPのIPアドレスからRTPパケットが来ない点に注目  PBX*CLI> rtp set debug on (略) Got RTP packet from 10.0.1.29:9000 (type 00, seq 002313, ts 034080, len 000160) Sent RTP packet to 219.113.11.31:7676 (type 00, seq 053632, ts 034080, len 000160) Got RTP packet from 10.0.1.29:9000 (type 00, seq 002314, ts 034240, len 000160) Sent RTP packet to 219.113.11.31:7676 (type 00, seq 053633, ts 034240, len 000160) Got RTP packet from 10.0.1.29:9000 (type 00, seq 002315, ts 034400, len 000160) Sent RTP packet to 219.113.11.31:7676 (type 00, seq 053634, ts 034400, len 000160)  ==sipsak==sipsakは内線登録したり大量のSIPパケットを投げつけたりできるSIPのコマンドラインツールである===registerテスト(内線登録)===Asteriskに対してレジストしてみる sipsak -UI -a pass -ax3asterisks sip:203@127.html OpenBlocks AX3でasteriskのパフォーマンス測定]0.0.1 ===負荷試験===-Fオプションをつけると、相手先に大量のSIP OPTIONリクエストを投げつける。<BR> sipsak -F -s sip:sippを使用したasteriskのパフォーマンス測定が乗ってるのでオススメ@10.0.2.1 ==着信するとZabbixに通知が行くexten ==Zabbixのエラー発報をAsteriskにやらせると<BR>「この電話が鳴ったら不幸が起こる」状態になるので、別のアプローチで遊んでみた===extension===着信時と終話時(Hangup後)にシェルを叩いてZabbix senderを使ってZabbixに通知するexten。<BR>発IDをZabbixに通知する事もできる。
exten => ${Fusion},n,Answer
exten => ${Fusion},n,Wait(1)
exten => ${Fusion},n,SYSTEM(zabbix_sender -z 172.30.255.10 -s OpenWrt -k IncomingCalls -o "Call Start")
exten => ${Fusion},n,Dial(SIP/201&SIP/202,60)
exten => h,1,SYSTEM(zabbix_sender -z 172.30.255.10 -s OpenWrt -k IncomingCalls -o "Call End")
==KPML=Zabbix===;Zabbixに通知が行ったら、[http://www.ciscoraspberrypi.com/japanese/warp/public/3/jp/service/manual_jorg/iptarchives/cmb/cmagcmb/chapter34/12526_01_34.pdf SIP のダイヤル規則設定4824 Ejectしたり]:CP-7940,CP-7960のような古いタイプの電話機と、CP-7911、7941、7961、7970および7971に代表される比較的新しい電話機では、発信やDTMFの挙動が違うらしい警子ちゃんを泣かすなり、なんなりと。<BR>;[http://www.cisco.com/japanese/warp/public/3/jp/service/manual_j/ipt/cmb/cmbsg/chapter17/12528_01_17.pdf Cisco Unified Communications Manager システム ガイド Cisco Unified Communications Manager Business Edition 対応 Release 6.0詳細(1または仕事でZabbix連携させたい場合)]:''SIP ダイヤル規則では、番号のパターンを電話機でローカルに収集してから、Cisco Unified Communications Manager に送信できます。SIP ダイヤル規則が設定されていない場合、KPML が使用されます。''らしい。はZabbixおじさん&trade;[https://supportforums.cisco.com/thread/281683 KPML(keypad markup language)? ]:Cisco公式のBBSに投稿された質問に聞いてみてください
==音声ファイルを流す==
→[[音声ファイルを再生する]]
==Quintumねた==
==SIPp==
ソースは[http://www.ne.jp/asahi/ka/to/comp/sipp/ SIPp 入門]<BR>
下記は勉強会の内容をメモしたもの
===SIPpとは===
*UAC クライアント
*UAS サーバー
 
正規表現OK
分岐OK
メディア再生OK
 
 
===PCAP Play===
SIPpで負荷をかけながら、人が通話を行って、通話品質を評価してみる。
 
*(Asteriskの)MillWattコマンドを使っみて途切れを検出してみる
:;[http://www.cisco.com/japanese/warp/public/3/jp/service/manual_j/ipt/ipp/7970agcm50si/index.shtml Cisco Unified IP Phone 7970G/7971G-GEアドミニストレーション ガイド for Cisco Unified CallManager Release 5.0 (SIP)]:長いタイトルでちょっと引く<BR>CP-7970G/7971G-GEの設定マニュアル SIP版
 
==OpenblocksAX3ネタ==
;[http://obdnmagazine.blogspot.jp/2012/09/openblocks-ax3asterisk.html OpenBlocks AX3でasteriskのパフォーマンス測定]:sippを使用したasteriskのパフォーマンス測定が乗ってるのでオススメ
==KPML==
;[http://www.cisco.com/japanese/warp/public/3/jp/service/manual_j/ipt/cmb/cmagcmb/chapter34/12526_01_34.pdf SIP のダイヤル規則設定]:CP-7940,CP-7960のような古いタイプの電話機と、CP-7911、7941、7961、7970および7971に代表される比較的新しい電話機では、発信やDTMFの挙動が違うらしい
;[http://www.cisco.com/japanese/warp/public/3/jp/service/manual_j/ipt/cmb/cmbsg/chapter17/12528_01_17.pdf Cisco Unified Communications Manager システム ガイド Cisco Unified Communications Manager Business Edition 対応 Release 6.0(1)]:''SIP ダイヤル規則では、番号のパターンを電話機でローカルに収集してから、Cisco Unified Communications Manager に送信できます。SIP ダイヤル規則が設定されていない場合、KPML が使用されます。''らしい。
;[https://supportforums.cisco.com/thread/281683 KPML(keypad markup language)? ]:Cisco公式のBBSに投稿された質問
 
===ルーター関連===
Wait( )でタイミングの同期を取るのは難しいと思われる訳で。
===壁紙設定=CP-797Xの壁紙設定==SIPファームウェア設定で活きて来るっぽい「壁紙設定の有無」Cisco電話機の、SIPファームウェア設定で活きて来るっぽい「壁紙設定の有無」<BR>
SCCP電話機にて設定したものの、反応なし。
<commonProfile>
<callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
 
=IP-24N-ST101Aとテプラ=
-- Remote UNIX connection disconnected
で、さっそく調べてみた。<BR>
どうやら、他のユーザー、もしくは監視サービス(nagios他Zabbix他)がCLI接続したときに出るログらしく、原因は下記の通りとなる<BR>
*他のユーザーがCLIに入ったかもしれない。
*asterisk manager (manager.conf)がつなげてるかもしれない。