利用者:Gimaのソースを表示
←
利用者:Gima
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます: メール確認された利用者、
管理者
。
このページのソースの閲覧やコピーができます。
==OpenWRT== OpenWRTにAsterisk13を入れたあと、ひかり電話に繋がるようになるまでの<BR> 必要なパッケージいろいろ ===必要=== 無いと困るパッケージ一覧 ;asterisk13:Asterisk本体 ;asterisk13-chan-sip:SIPチャネルドライバ。SIP電話機やひかり電話との通信に必要。<BR>pjsipでも良いかも ===重要=== 無くても大丈夫だけど、入れるとお得 ===微妙=== 無くても困らないが、一部の人に需要があるモノ(いわゆる、「俺得」) ;asterisk13-chan-unistim:Nortel電話機用(秋葉原でNortel i2002を買った人とか) ;: ==ひかり電話用の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/?product=WI-200&version=01.02" ←こんなURL #ひかりGWに対し、HTTPのPOSTを投げる<BR>http://10.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で電話機の設定を返す ==sipsak== sipsakは内線登録したり大量のSIPパケットを投げつけたりできるSIPのコマンドラインツールである ===registerテスト(内線登録)=== Asteriskに対してレジストしてみる sipsak -UI -a pass -s sip:203@127.0.0.1 ===負荷試験=== -Fオプションをつけると、相手先に大量のSIP OPTIONリクエストを投げつける。<BR> sipsak -F -s sip:@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") ===Zabbix=== Zabbixに通知が行ったら、[http://www.raspberrypi.org/archives/4824 Ejectしたり]警子ちゃんを泣かすなり、なんなりと。<BR> 詳細(または仕事でZabbix連携させたい場合)はZabbixおじさん™に聞いてみてください ==音声ファイルを流す== →[[音声ファイルを再生する]] ==Quintumねた== ===NTTとの契約オプションについて=== TenorをNTTにつなげるときはP-P接続にしておくこと。<BR> P-MP接続にしておくとTenorBXがつながらないので注意。<BR> Softbankのおとくラインでも同様に注意すること。 ====Ciscoの場合==== ;参考資料:外線接続に利用するNTT ISDN回線 契約オプションについて:Ciscoの場合<BR>https://supportforums.cisco.com/docs/DOC-11847 ===発信者IDと着信先ID=== ev quの出力結果 ch |01/01| 2011/01/04|21:35:18:520 |OBCSM[108]: Release from peer=0x9680c41c cause=0x22 redir=. TBCSM [108]: Release complete from peer=0x9683d158. OBCSM[108]: pRouteInfo 9689eee8 state 6 ivrType 0 h323RetCode -1 cause 0x22. OBCSM[108]: Trying another route. channel allocated: slot=2 device=0 line=4 chan=2. PRI() newTermCall pSG 96970af8 pPort 96aef708 pPeer 9683d158 deviceId 20000000 line 3 chan 1. TBCSM[108]: Setup from peer=0x9683d158 NP=0x0 NT=0x0. OrigNum= NormNum=0268296204 TranNum=8296204 OrigDest= callingParty=0363676370. PRI(2,0,4,0x8024): sending SETUP_REQ to L3 ;callingParty=0312345678.:発信者ID ;ev l3 sproto:SIPプロトコルのロギングレベルを最大にする ;ev l3 ch:論理的回線ステータス ;ev l3 cas:物理的回線ステータス ;ev c:ログバッファを消去する ;ev qu:ログバッファを全表示する ===テスト=== ;debug test r ポート番号(1~6): ;debug test e:リングテスト ==SIPp== ソースは[http://www.ne.jp/asahi/ka/to/comp/sipp/ SIPp 入門]<BR> 下記は勉強会の内容をメモしたもの ===SIPpとは=== HPのエンジニアが作成した XMLでシナリオ作る PCAPらいぶらりでRTPのストリーミングを流すことができる ===いんすこ=== ぐぐれ WIndowsにもいんすこOK INVITEやReggisterのテストをやる場合は、OpenSSLライブラリが必須 PCAp playサポートする場合は、libpcapもぶち込むこと ===簡単な使い方=== sipp -uac (XMLシナリオ) sipp [おぷしょん] 遠隔サイト:ポート -l 同時発呼数 -r 一秒当たりの通話数 ===シナリオ=== 鯖とのSIPのやりとりをXMLで表現<BR> <send></send>→パケットぶちこむ <recev></recev> →パケットげっと 動作としては基本的に二つある *UAC クライアント *UAS サーバー 正規表現OK 分岐OK メディア再生OK ===PCAP Play=== *PCAPライブラリを使うため、root権限が必要となる *こちら(SIPp使ってる方)でPCAPで補足したパケットをつかって音声を発生させることもできる。 ===認証付き=== *Asteriskが相手のINVITEおよびRegist時には(MD5による暗号化文が混ざるので)組み込みシナリオだけでは無理 *[authentication username=Uha password=OKewwwwwwwwwww というモノをシナリオにぶち込む ===CSVファイルから値を挿入=== *"inf"オプションで指定したファイルから、シナリオに値をぶち込むことができる。 *一行目に、ファイルから、データをどのように読むかを記述する(順番に。テキトーにランダム、ユーザー指定) *デフォルトのデリミタは";"(セミコロン)になっているので注意すること ===負荷をかけてみる=== *csvで準備した番号に対して順にはっこする *単一の番号に(Asteriskで保留音サービスさせてみる。とか) SIPpで負荷をかけながら、人が通話を行って、通話品質を評価してみる。 *(Asteriskの)MillWattコマンドを使っみて途切れを検出してみる *音声の途切れ、かすれなどを実際に聞いて評価する。 *sipp側でレスポンスタイムをcsvにて表示させることができる ==ぐるぐる== どーやってググッたか覚えてないものの、有用な資料。 ===電話機関連=== :;[http://www.cisco.com/japanese/warp/public/3/jp/service/manual_j/ipt/ipp/sipag/chapter04/04_siptrb44.html Cisco SIP IP Phone アドミニストレータ ガイド トラブルシューティング]:CiscoのIP電話はTelnet経由でCLIに入れるらしく、デバッグコマンドがいくつか用意されているそうな。<BR>ステータス確認には良さげなガイド :;[http://www.cisco.com/univercd/cc/td/doc/product/voice/c_ipphon/english/ipp7960/addprot/sip/admin/ver7_5/sipaxd75.htm#wp1009686 Configurable Parameters for the SIP IP Phone]:SIPDefault.cnfのいぢり方。CP-7940GおよびCP-7960G用かと思われ。 :;[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に投稿された質問 ===ルーター関連=== :;[http://www.cisco.com/JP/support/public/ht/tac/100/1007797/46-j.shtml ロード バランシングの機能のしくみ]:''「OSPFはロードバランシングに云々」''の、実際の設定色々。 :;[http://www.cisco.com/JP/support/public/ht/tac/100/1008202/custompdlms-j.shtml NBAR によって認識されないトラフィックの識別]:IAXをQoS サービス ポリシーとかに紐付けたりとか、そのあたりに役立つ鴨。 :;[http://www.cisco.com/JP/support/public/mt/tac/100/1005590/zone-design-guide.shtml ゾーンベースのポリシーのファイアウォールの設計およびアプリケーションのガイド]:SDMに出てくるファイアウォール設定のマニュアルと思いねえ。<BR>例によってCisco語 :;[http://www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6586/ps6634/prod_white_paper0900aecd805c4ea8.html Getting Started with Cisco IOS IPS with 5.x Format Signatures ]:最近のIOSに付属するIPS機能の設定方法。<BR>実はAsterisk周りのパターンもチョット掲載されていたりする。 ===電話機用XMLアプリ=== :;[http://www.cisco.com/en/US/docs/voice_ip_comm/cuipph/all_models/xsi/6_0/english/programming/guide/xsi60htp.html HTTP Requests and Header Settings]:Voice系ではなくて、CiscoIP電話機でできる付加サービス(XMLアプリなど)の解説。<BR>電話機のスクリーンショットの撮り方も書いてあるが、試したら失敗してしょんぼり(´・ω・`) :;[http://www.cisco.com/en/US/docs/voice_ip_comm/cuipph/all_models/xsi/6_0/english/programming/guide/xsi60xml.html CiscoIPPhone XML Object Quick Reference]:CiscoIP電話機のXML関連資料(クイックリファレンス)プログラムネタ ==Registerについて== Asteriskにおけるレジストというのは、サーバーにログインすることを指す。(ぶっちゃけ表現)<BR> sip.confやiax.confの[general]の項目の直下に書いておくこと。<BR> register => 2345:password123@mysipprovider.com:5060/1234 書き方の例は下記の通り ;2345:ユーザーIDとして「2345」でログインしようとしている ;password123:パスワードとして「password123」を指定している ;mysipprovider.com:ログイン先サーバーとして「mysipprovider.com」を指定する。 ;5060:SIPパケットのあて先ポートを指定する。<BR>通常はUDPの5060番ポートを使用する。ポート番号は省略可 ;/1234:SIPサーバーから着信する際の番号(外線番号など)として、「1234」を指定する。<BR>SIPパケット中のContactヘッダに、この番号が追加される。デフォルトでは"s"が入る。 他には、下記のような形でレジスター設定する register => user[:secret[:authuser]]@host[:port][/extension] register => fromuser@fromdomain:secret@host register => fromuser@fromdomain:secret:authuser@host:port/extension ==IAXデバッグ== IAXデバッグで頻繁に出てくる'''ACK'''とかの単語は<BR> http://www.rfc-editor.org/authors/rfc5456.txt を調べるヨロシ<BR> 日本語ドキュメントなんぞ無い(´・ω・`) ===デバッグ開始(Asterisk1.6)=== Halphas*CLI> iax2 set debug on IAX2 Debugging Enabled Halphas*CLI> ===IAXデバッグ終了(Asterisk1.6)=== Halphas*CLI> iax2 set debug off IAX2 Debugging Disabled Halphas*CLI> ===あじるほんにQualfyしてみた=== Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: POKE Timestamp: 00008ms SCall: 00006 DCall: 00000 [122.103.236.237:4569] Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: PONG Timestamp: 00008ms SCall: 00046 DCall: 00006 [122.103.236.237:4569] Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK Timestamp: 00008ms SCall: 00006 DCall: 00046 [122.103.236.237:4569] ===あじるほんにRegistしてみた=== Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ Timestamp: 00002ms SCall: 00005 DCall: 00000 [122.103.236.237:4569] USERNAME : 858??? REFRESH : 60 Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REGACK Timestamp: 00003ms SCall: 00008 DCall: 00005 [122.103.236.237:4569] USERNAME : 858???? DATE TIME : 2009-06-17 13:43:42 REFRESH : 60 APPARENT ADDRES : IPV4 222.149.22.251:60003 MESSAGE COUNT : 0 CALLING NUMBER : 858??? Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: ACK Timestamp: 00003ms SCall: 00005 DCall: 00008 [122.103.236.237:4569] ==Qualify== Qualify(生存確認:王大人パケット)はAsteriskのバージョンおよびプロトコル(SIP or IAX)により<BR> 設定内容が異なったりする。 ===SIP=== sip.confに書くとOK ;qualify=yes:生存確認パケットを投げる ;qualify=4000:生存確認パケットを投げ、4000ms(4秒)以上遅れた場合は王大人により、死亡が認定される。<BR>WiFi電話機はこの値を大きめにしておくこと。(5000ms位でも良いかもしれない) ;qualify=no:生存確認パケットを投げない。王大人をクビにする。 ;qualifyfreq=1:生存確認パケットを秒刻みで設定する。王大人が1秒毎に出現する。デフォルト値は60000 ms(60秒)<BR>Asterisk1.6以降で使用可能 ===IAX=== iax.confに書くとOK<BR> 内容としてはSIPと大して変わらないものの、古いバージョンから生存パケットの間隔を設定できるので、パケット増幅スキーな人にIAXオススメ ;qualify=yes:生存確認パケットを投げる ;qualify=4000:生存確認パケットを投げ、4000ms(4秒)以上遅れた場合は死にかけと判断される。(Status:LAGGEDになる) ;qualifyfreqok=400:生存確認パケットをミリ秒刻みで設定する。1に設定すると、アクセスランプが素敵な状態になる。 ;qualifyfreqnotok=3:生存確認パケットを投げ、3ms(3ミリ秒)以上遅れた場合は王大人により、死亡が認定される。 ==声優さん== voip-info.jpで配布している日本語音声は[http://ja.wikipedia.org/wiki/%E7%AB%B9%E7%94%B0%E3%81%88%E3%82%8A 竹田えり] さんなのはよく聞くが、他の声優さんに頼んだ場合は、いくらかかるのだろうか<BR> という訳で、ぐーぐる先生に聞いてみた。 Asteriskに投資するぜ!イエア!!!という意味で、竹田えりさんバージョン以外に、日本語音声ファイルを作ってみるのも悪くないかもしれないですな! ;[http://www.stars-system.com/html/page_voice.html STARS SYSTEM Ltd.]:「電話用音声メッセージをAsterisk等で即利用可能な形式で録音いたします。」らしい。<BR>で、いくらなんだろう。 ;[http://www.sham.jp/studio/voice.shtml 音響・声優事務所 Sham.Studio.]:1日/8時間 \100,000~ らしい。 ;[http://q.hatena.ne.jp/1178834596 はてな]:Q.声優さんの相場を教えてください。 A.相場はありません。 ;[http://www.hormone.co.jp/peach/faq.html AtelierPeach-FAQ-]:5万円くらいか? 判りやすい。 ;[http://ja.wikipedia.org/wiki/%E3%83%8D%E3%83%83%E3%83%88%E5%A3%B0%E5%84%AA ネット声優](wikipedia):その存在を初めて知ってしまった。<BR>個人ベースで依頼するなら、こっちかな(´-`) ===余談=== #某コールセンターでは、声に定評のある社内オペレータさんにIVRの音声を吹き込んでもらっていたそうな。 #外資系では、有名どころの声優さんに吹き込んでもらったそうな。 #音声カスタマイズの際、(数年経過しても)同じ人に声を吹き込んでもらえるかどうか。が難点らしい。 ==sip.confのpermit/deny== IPアドレスによるACLが組めるっぽいので試してみた。 ===書いてみる=== こんな感じでsip.confに書いてみた [503] ; Snom300 type=friend fromdomain=dynamic username=503 secret=************** host=dynamic canreinvite=yes language=jp qualify=3000 insecure=very deny=0.0.0.0/0 permit=10.0.5.0/255.255.255.192 permit=192.168.0.0/24 ===確認=== ACLで接続制限ができたかどうかを確認してみた。<BR> 許可されてないIPアドレス帯からregisterしようとすると、下記のような結果になった。<BR> [Jan 25 20:06:13] NOTICE[1904]: chan_sip.c:15236 handle_request_register: Registration from '"503" <sip:503@Asterisk>' failed for '192.168.5.57' - Device does not match ACL ===書き方のコツ=== まずはALL Denyで全部不許可にした上で、接続を許可するIPアドレス帯をpermitで指定するのが良さげな感じ<BR> 下記のような書き方が宜しい deny=0.0.0.0/0 permit=10.0.5.0/255.255.255.192 permit=192.168.0.0/24 ==playtones遊び== テンポ120で四分音符の箔を打つ場合、60000ms(1分)の中で120回リズムを刻むわけで<BR> <B>60000/120=500</B>となる テンポ120で8分音符の箔を打つ場合は、箔がその倍なので(240個のリズム)<BR> <B>60000/240=250</B>となる<BR> 簡単な曲を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の最初の曲とか)に絞って書いてみるとか、<BR> 複数の内線(exten複数)に分けて書くとか、そのあたり。<BR> Wait( )でタイミングの同期を取るのは難しいと思われる訳で。 ==CP-797Xの壁紙設定== Cisco電話機の、SIPファームウェア設定で活きて来るっぽい「壁紙設定の有無」<BR> SCCP電話機にて設定したものの、反応なし。 <commonProfile> <phonePassword></phonePassword> <backgroundImageAccess>true</backgroundImageAccess> <callLogBlfEnabled>2</callLogBlfEnabled> </commonProfile> =IP-24N-ST101Aとテプラ= IP-24N-ST101Aの示名条片をテプラで作成する場合、次の設定でやると上手くいくぽ *SS4K(白の4ミリ)を使用する *文字サイズは一行→「大」を設定 *スペースキーをたくさん入れる こんな感じで↓ <BR> 代表1 代表2 代表3 代表4 外線代表 内線代表 スペースは9つくらい挿入しておく ボタンを4つ使用する場合は、もうちょっと緩めでも気にならない ぱーく1 ぱ~く2 はーぐ3 ばーく4 ==AutoAnswer(Astlinux0.4.8限定)== まずは、extension"300"にはモーニングコールなり、MoHなりの処理を設定しておく。<BR> まずは、テキトーに下記のようなテキストファイルを作成しておく 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に、コピー処理を埋め込めば定時発信(モーニングコールなど)することができる。 ==Remote UNIX connection== CLIコンソールに出てくる、下記のメッセージは一体何者か。不届き者か。 -- Remote UNIX connection -- Remote UNIX connection disconnected で、さっそく調べてみた。<BR> どうやら、他のユーザー、もしくは監視サービス(Zabbix他)がCLI接続したときに出るログらしく、原因は下記の通りとなる<BR> *他のユーザーがCLIに入ったかもしれない。 *asterisk manager (manager.conf)がつなげてるかもしれない。 *Nagios(のプラグイン)が繋げているかもしれない[http://threebit.net/mail-archive/asterisk-users/msg13443.html 。] 対応策としては、下記の通り。 *こいつは無害なんで気にするな[http://lists.ckts.info/pipermail/voip/2005-September/001102.html 。] *vの数を減らせ(asterisk -vvvvvvvvvvvvvvvvvvvvvrのこと) *CLIからログオフしてしまえ
利用者:Gima
に戻る。
ナビゲーション メニュー
個人用ツール
アカウント作成
ログイン
名前空間
利用者ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
ヘルプ
広告
サイトコンテンツ
コミュニティ
Asterisk
Asterisk 18
Asterisk 20
Asterisk 22
IP電話機
購入情報
導入事例
回線接続
ベンダー
ひかり電話
セキュリティ
イベント情報
スペシャル
Asterisk pjsip
ABS
黒電話 ハック
ツール
リンク元
関連ページの更新状況
利用者の投稿記録
記録
利用者グループの表示
特別ページ
ページ情報