利用者:Gima
Quintumねた
発信者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
- OrigNum=
- なんぞこれ
- NormNum=0268296204
- なんぞこれ
- TranNum=8296204
- なんぞこれ
- OrigDest=
- なんぞこれ
- callingParty=0363676370.
- 発信者ID
- ev l3 sproto
- SIPプロトコルのロギングレベルを最大にする
- ev l3 ch
- 論理的回線ステータス
- ev l3 cas
- 物理的回線ステータス
- ev c
- ログバッファを消去する
- ev qu
- ログバッファを全表示する
テスト
- debug test r ポート番号(1~6)
- debug test e
- リングテスト
SIPp
SIPpとは
HPのエンジニアが作成した XMLでシナリオ作る PCAPらいぶらりでRTPのストリーミングを流すことができる
いんすこ
ぐぐれ WIndowsにもいんすこOK INVITEやReggisterのテストをやる場合は、OpenSSLライブラリが必須 PCAp playサポートする場合は、libpcapもぶち込むこと
簡単な使い方
sipp -uac (XMLシナリオ) sipp [おぷしょん] 遠隔サイト:ポート
-l 同時発呼数 -r 一秒当たりの通話数
シナリオ
鯖とのSIPのやりとりをXMLで表現
<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にて表示させることができる
ぐるぐる
どーやってググッたか覚えてないものの、有用な資料。
電話機関連
- Cisco SIP IP Phone アドミニストレータ ガイド トラブルシューティング
- CiscoのIP電話はTelnet経由でCLIに入れるらしく、デバッグコマンドがいくつか用意されているそうな。
ステータス確認には良さげなガイド
- Configurable Parameters for the SIP IP Phone
- SIPDefault.cnfのいぢり方。CP-7940GおよびCP-7960G用かと思われ。
- Cisco Unified IP Phone 7970G/7971G-GEアドミニストレーション ガイド for Cisco Unified CallManager Release 5.0 (SIP)
- 長いタイトルでちょっと引く
CP-7970G/7971G-GEの設定マニュアル SIP版
ルーター関連
- ロード バランシングの機能のしくみ
- 「OSPFはロードバランシングに云々」の、実際の設定色々。
- NBAR によって認識されないトラフィックの識別
- IAXをQoS サービス ポリシーとかに紐付けたりとか、そのあたりに役立つ鴨。
- ゾーンベースのポリシーのファイアウォールの設計およびアプリケーションのガイド
- SDMに出てくるファイアウォール設定のマニュアルと思いねえ。
例によってCisco語
- Getting Started with Cisco IOS IPS with 5.x Format Signatures
- 最近のIOSに付属するIPS機能の設定方法。
実はAsterisk周りのパターンもチョット掲載されていたりする。
電話機用XMLアプリ
- HTTP Requests and Header Settings
- Voice系ではなくて、CiscoIP電話機でできる付加サービス(XMLアプリなど)の解説。
電話機のスクリーンショットの撮り方も書いてあるが、試したら失敗してしょんぼり(´・ω・`)
- CiscoIPPhone XML Object Quick Reference
- CiscoIP電話機のXML関連資料(クイックリファレンス)プログラムネタ
Registerについて
Asteriskにおけるレジストというのは、サーバーにログインすることを指す。(ぶっちゃけ表現)
sip.confやiax.confの[general]の項目の直下に書いておくこと。
register => 2345:password123@mysipprovider.com:5060/1234
書き方の例は下記の通り
- 2345
- ユーザーIDとして「2345」でログインしようとしている
- password123
- パスワードとして「password123」を指定している
- mysipprovider.com
- ログイン先サーバーとして「mysipprovider.com」を指定する。
- 5060
- SIPパケットのあて先ポートを指定する。
通常はUDPの5060番ポートを使用する。ポート番号は省略可 - /1234
- SIPサーバーから着信する際の番号(外線番号など)として、「1234」を指定する。
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とかの単語は
http://www.rfc-editor.org/authors/rfc5456.txt を調べるヨロシ
日本語ドキュメントなんぞ無い(´・ω・`)
デバッグ開始(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)により
設定内容が異なったりする。
SIP
sip.confに書くとOK
- qualify=yes
- 生存確認パケットを投げる
- qualify=4000
- 生存確認パケットを投げ、4000ms(4秒)以上遅れた場合は王大人により、死亡が認定される。
WiFi電話機はこの値を大きめにしておくこと。(5000ms位でも良いかもしれない) - qualify=no
- 生存確認パケットを投げない。王大人をクビにする。
- qualifyfreq=1
- 生存確認パケットを秒刻みで設定する。王大人が1秒毎に出現する。デフォルト値は60000 ms(60秒)
Asterisk1.6以降で使用可能
IAX
iax.confに書くとOK
内容としてはSIPと大して変わらないものの、古いバージョンから生存パケットの間隔を設定できるので、パケット増幅スキーな人にIAXオススメ
- qualify=yes
- 生存確認パケットを投げる
- qualify=4000
- 生存確認パケットを投げ、4000ms(4秒)以上遅れた場合は死にかけと判断される。(Status:LAGGEDになる)
- qualifyfreqok=400
- 生存確認パケットをミリ秒刻みで設定する。1に設定すると、アクセスランプが素敵な状態になる。
- qualifyfreqnotok=3
- 生存確認パケットを投げ、3ms(3ミリ秒)以上遅れた場合は王大人により、死亡が認定される。
声優さん
voip-info.jpで配布している日本語音声は竹田えり さんなのはよく聞くが、他の声優さんに頼んだ場合は、いくらかかるのだろうか
という訳で、ぐーぐる先生に聞いてみた。
Asteriskに投資するぜ!イエア!!!という意味で、竹田えりさんバージョン以外に、日本語音声ファイルを作ってみるのも悪くないかもしれないですな!
- STARS SYSTEM Ltd.
- 「電話用音声メッセージをAsterisk等で即利用可能な形式で録音いたします。」らしい。
で、いくらなんだろう。 - 音響・声優事務所 Sham.Studio.
- 1日/8時間 \100,000~ らしい。
- はてな
- Q.声優さんの相場を教えてください。 A.相場はありません。
- AtelierPeach-FAQ-
- 5万円くらいか? 判りやすい。
- ネット声優(wikipedia)
- その存在を初めて知ってしまった。
個人ベースで依頼するなら、こっちかな(´-`)
余談
- 某コールセンターでは、声に定評のある社内オペレータさんに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で接続制限ができたかどうかを確認してみた。
許可されてないIPアドレス帯からregisterしようとすると、下記のような結果になった。
[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で指定するのが良さげな感じ
下記のような書き方が宜しい
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回リズムを刻むわけで
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( )でタイミングの同期を取るのは難しいと思われる訳で。
壁紙設定
SIPファームウェア設定で活きて来るっぽい「壁紙設定の有無」
SCCP電話機にて設定したものの、反応なし。
<commonProfile> <phonePassword></phonePassword> <backgroundImageAccess>true</backgroundImageAccess> <callLogBlfEnabled>2</callLogBlfEnabled> </commonProfile>
藤堂さんのリスト
ToDoリストが増える一方という現状を真摯に受け止め、また一日も早くvoip-infoのネタ記事を充実させる事がデキルよう努める必要があると捉えており、これらのリストを可及的速やかに終了させることができるよう、各方面へ働きかけ有用なページを作成すべく対応を協議すると同時に、前向きな検討を重ね、然るべき時期に粛々と最近更新したページにネタ記事をage進行することができれば幸いと考える次第でございます。
ギンギンに頑張ってます
- 引越しついでにひかり電話入れてみようかしら計画
- なんだかんだでひかり電話の普及率最強伝説
- WI-200をAsteriskで使えるようにしようかしらん計画 By 某社内からの依頼
- パケットキャプチャで設定ファイルゲッツ!☆
そこそこ頑張ってます
優先順位高めのもの。
- IP-4N-ST101S
- 問題が、電話機側ではなく主装置側にあることが発覚。MicroClientJR側が謎パケットを吐くようだ。
実験機を一般的なPC/AT互換機に変更して再挑戦する予定。 - Quintum Tenor BX816いぢりシリーズ ~INS対応機器を接続~
- TenorからAsteriskへの発信ができたので、次は着信設定を入れてみる。
- Quintum Tenor BX816いぢりシリーズ ~SNMP設定~
- OID大杉
MRTG(or RRDTool)によるグラフ化が出来るようになるまで。 - Catalyst6506いぢり
- eBGP/OSPFにてLAN内の主要機器と接続し、温度をMRTGで測れるようになるまで。
- CP-7961Gファームウェア バージョンダウン
- 8.4.X→8.3.Xにファームウェアバージョンダウンはできるのか否か。
- CMEによる簡易電話網構築
- あじるほんに直接レジストさせてみる計画
- Quintum Tenor BX816いぢり
- CMEとTenor間をSIPとBRI両方で繋ぎ、発着信ができるようにしたい
- 音声VLAN
- 既にVLAN6つできていて、そこに電話機専用VLANを追加してみる。というもの。
Cisco用に設定完了。他電話機でも試してみようか検討中 - snom300いぢり
- Cisco CallManagerにぶら下がることが出来るらしい。が、試す予定無し
- AAstra53iいぢり
- ファームウェアが(また)吹き飛んだので、写真撮影する予定
- chan_sccp(2)
- モーニングコール機能の作成
(一応、作成の目処は立った)
まったり頑張ってます
優先順位低めのもの。
- CP-7975Gいぢり
- 5万円で買ったCP-7975G。SIPファームウェアに入れ替えた。設定ファイルはCP-7911Gのモノを丸パクリでいけるぽ
玄箱Asteriskにレジストし、内外線発着信まで確認
あじるほん経由でPSTNへの発着信もOK牧場だが、不在着信時の挙動が不明。
パーク保留できるかどうか、ライン補足&発信ができるかどうかを確認する必要あり。(Asterisk1.6にて実証予定) - CP-7911Gいぢり
- おっとで買った300円のCP-7911G。SCCPファームウェアをSIPファームウェアに入れ替えた。
玄箱Asteriskにレジストし、内外線発着信まで確認
あじるほん経由でPSTNへの発着信もOK牧場。
CIDにUTF-8な日本語をぶちこんだらどうなるか。を確認したら一旦終了予定 - Cisco電話機のローカライズ
- SIPファームウェアでは日本語扱えないと思われていたが、
実は「日本語も余裕でした」状態であることが判明。
ラインキー設定、発信先名、発信元名に日本語を設定してみたらどうなるのか実験してみたい。 - CDPとVLAN
- CCNPの勉強も兼ねて。
OSSではCDP喋るモノもあるが、Voice VLAN設定に役立つかどうか、は不明 - IPP-3000
- chan_sccpにぶら下げてみる。
- WirelessIP5000
- WiFi電話機ネタ追加。NTT WI-100HC(WIP3000)の姉妹機らしい
- Asterisk1.6.1のCLIネタ研究
- (FreeBSDの)Ports出るまで待機。
- QoS
- 大規模な構築になると出現するネタ。CCNPの勉強も兼ねて。(CCNA取ってない)
- セキュリティネタ
- パケットフィルタリングのネタにイメージ図を追加
- Saxaいぢり
- ほぼ放置プレイ
- CP-7940Gいぢり
- バージョン6.4(6.3?)以降だとMWI周りの挙動に注目すべき。と聞いたものの、
そこまで手が回ってないというオチ。 - OpenAsteriskサーバー建立案
- 「IAX喋る、お遊び専用VoIPサーバー欲しいよね~」と
複数の元G-LEXユーザーの声があったので検討してみる(計画倒れの可能性アリ)
頑張ってません (終わったもの)
- Quintum Tenor BX816いぢりシリーズ ~NTP設定~
- 設定投入後は必ずtimesync -aな! お兄さんとの約束だゾ!!
終了 - はじめてのC
- Cisco機器で「CME入れる前に設定すべき」基本設定ネタの作成
基本は「ぐぐれ」で。
終了 - CCNA
- ヽ(`Д´)ノ
- CP-7900シリーズとマルチバイトについて
- CLIDおよびDNISのマルチバイト表記ネタを調べてみたものの、具体的な成果なし。終了
(気が付いたときに、もういっちょ調べてみたい) - WS-C3550-24PWRいぢり
- eBGPによる接続完了。一区切りついたので一旦終了
- Quintum Tenor BX816いぢりシリーズ ~ファームウェアアップグレード~
- バージョンアップ終了→Quintum_Tenor_Firmware_VersionUP
- Astlinux0.6.2
- chan_sccp入ってないのは仕方ない。
OCNの050番号発着信が出来るようになったので糸冬了 - 冬のお祭り計画
- IP電話機(主にCiscoの電話機の方)でお客さんを釣り放題したので終了
- Playtone(extensions.conf)でチャルメラを奏でてみたい
- 周波数の指定だけで各音階指定できる気がする。
- ACT P123Sの本体撮影
- googleの画像検索に引っかかるようにがんがります。
- CME
- 玄箱Asteriskと連携させるところまで記事書いたんで、一応の区切りとしてClose
- Cisco電話機用の壁紙
- Asteriskな壁紙を用意し、サンプルとして配布する予定
- chan_sccp
- SetCalledPartyの意味を探る
発信先の名称を出すアプリケーションらしい
IP-24N-ST101Aとテプラ
IP-24N-ST101Aの示名条片をテプラで作成する場合、次の設定でやると上手くいくぽ
- SS4K(白の4ミリ)を使用する
- 文字サイズは一行→「大」を設定
- スペースキーをたくさん入れる
こんな感じで↓
代表1 代表2 代表3 代表4 外線代表 内線代表
スペースは9つくらい挿入しておく
ボタンを4つ使用する場合は、もうちょっと緩めでも気にならない
ぱーく1 ぱ~く2 はーぐ3 ばーく4
AutoAnswer(Astlinux0.4.8限定)
まずは、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に、コピー処理を埋め込めば定時発信(モーニングコールなど)することができる。
Remote UNIX connection
CLIコンソールに出てくる、下記のメッセージは一体何者か。不届き者か。
-- Remote UNIX connection -- Remote UNIX connection disconnected
で、さっそく調べてみた。
どうやら、他のユーザー、もしくは監視サービス(nagios他)がCLI接続したときに出るログらしく、原因は下記の通りとなる
- 他のユーザーがCLIに入ったかもしれない。
- asterisk manager (manager.conf)がつなげてるかもしれない。
- Nagios(のプラグイン)が繋げているかもしれない。
対応策としては、下記の通り。
- こいつは無害なんで気にするな。
- vの数を減らせ(asterisk -vvvvvvvvvvvvvvvvvvvvvrのこと)
- CLIからログオフしてしまえ