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

提供: VoIP-Info.jp
移動先: 案内検索
(SIPp)
(PCAP Play)
83行目: 83行目:
  
 
===PCAP Play===
 
===PCAP Play===
 +
*PCAPライブラリを使うため、root権限が必要となる
 +
*こちら(SIPp使ってる方)でPCAPで補足したパケットをつかって音声を発生させることもできる。
 +
 +
===認証付き===
 +
*Asteriskが相手のINVITEおよびRegist時には(MD5による暗号化文が混ざるので)組み込みシナリオだけでは無理
 +
*[authentication username=Uha password=OKewwwwwwwwwww というモノをシナリオにぶち込む
 +
 +
===CSVファイルから値を挿入===
 +
*"inf"オプションで指定したファイルから、シナリオに値をぶち込むことができる。
 +
*一行目に、ファイルから、データをどのように読むかを記述する(順番に。テキトーにランダム、ユーザー指定)
 +
*デフォルトのデリミタは";"(セミコロン)になっているので注意すること
 +
===負荷をかけてみる===
 +
*csvで準備した番号に対して順にはっこする
 +
*単一の番号に(Asteriskで保留音サービスさせてみる。とか)
 +
 +
SIPpで負荷をかけながら、人が通話を行って、通話品質を評価してみる。
 +
 +
 +
*(Asteriskの)MillWattコマンドを使っみて途切れを検出してみる
 +
*音声の途切れ、かすれなどを実際に聞いて評価する。
 +
*sipp側でレスポンスタイムをcsvにて表示させることができる
  
 
==ぐるぐる==
 
==ぐるぐる==

2009年9月12日 (土) 15:51時点における版

このページは、こんなページです。

  • 自己紹介だったり
  • メモ帳代わりだったり
  • 新規にページを作る前の「ドラフト版」だったり
  • ToDoリストだったり

意見や要望についてはMR Gの中との会話ペーヂに書き込んでくだサイ。

目次

中の人について

  • 中の人はネットワーク寄りな人らしいです。
  • 外資系PBX(NortelとかCiscoとか)をいぢっているらしいです。
  • FreeBSD使いらしいです。
  • PCの数よりネットワーク機器の方が多いらしいです。
  • アクセスランプの点滅って見入るよネー。データセンターの配線萌え

機器いろいろ

ついカッとなって集めてしまった。トラフィックを増幅できるなら何でも良かった。今では反芻している。

持ってる電話機

  • Cisco電話機いろいろ たくさん
  • Snom300(PoE非対応版)
  • Grandstream GXP-2000 2台
  • 三洋電機 IPP-3000
  • WirelessIP5000
  • WI-100HC
  • AAstra 53i
  • Saxa IP NetPhone SX 2台
  • ACT P123S
  • Nortel i2002
  • N900iL
  • N906iL
  • IP-4N-ST101S

機材

VoIPに関連するモノのみ

  • Quintum Tenor BX 816
  • Quintum Tenor AS (型番忘れた)
  • Cisco ISR2801(CME 7)
  • Cisco 1750(CME 3.3)
  • Cisco 1751V(CME 4.0)
  • SIP-GW2(Cisco風味な電話機出してるメーカー)

ミスプリ用紙の裏

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関連資料(クイックリファレンス)プログラムネタ

Voice VLAN

SW-HUB(WS-C3550-24-PWR)にVoice VLAN関連の設定を投入してみた。
Cisco電話機はVLAN8のセグメントとなり、
電話機からカスケード接続されているPCは、VLAN5のセグメントに入っていることを確認した

interface FastEthernet0/24
 switchport access vlan 5
 switchport trunk encapsulation dot1q
 switchport mode dynamic desirable
 switchport voice vlan 8
 spanning-tree portfast

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]

CMEでボイス用ポートの状態を見る

CMEのCLIからshow voice portと叩くと、CMEルーターが認識している音声モジュールのステータスやら設定値やらを確認することができる。

ISR-2801#show voice port

Basic Rate Interface 0/0/0 Slot is 0, Sub-unit is 0, Port is 0
 Type of VoicePort is ISDN-BRI
 Operation State is DORMANT
 Administrative State is UP
 No Interface Down Failure
以下略

サマリー(一覧)を表示させることもできる。

ISR-2801#show voice port summary
                                           IN       OUT
PORT            CH   SIG-TYPE   ADMIN OPER STATUS   STATUS   EC
=============== == ============ ===== ==== ======== ======== ==
0/0/0           1   bri-voice   up    dorm none     none     y
0/0/0           2   bri-voice   up    dorm none     none     y
0/0/1           1   bri-voice   up    dorm none     none     y
0/0/1           2   bri-voice   up    dorm none     none     y
50/0/1          1      efxs     up    up   on-hook  idle     y
50/0/150        1      efxs     up    up   on-hook  idle     y
50/0/150        2      efxs     up    up   on-hook  idle     y

PWR FAILOVER PORT        PSTN FAILOVER PORT
=================        ==================

SIG-TYPE

音声ポートの種類。

fxs-ls
FXS(アナログ)内線用のポート
bri-voice
BRI回線用ポート
e&m-wnk
E&M回線用ポート

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ミリ秒)以上遅れた場合は王大人により、死亡が認定される。

TenorとCiscoをISDNで直接接続してみる

Tenorを親側として設定し、Ciscoを子側として設定してみる試み
L2レベルまで確認。

Tenor BX側の設定

ISDNSignalingGroupでは、TEIを0に設定する

ISDNSignalingGroupの設定
  id                           : 1
  ORientation                  : 1                   Network
  PROTocol                     : 21                  BRI_NTT
  L2Estab                      : 1                   Always;default
  EtsiDiscNoInBand             : 0                   All in one message
  TEI                          : 1                   endpoint id,

ステータスを見る場合は下記の通りの操作を実行する。

Quintum-ChannelGroup-SL2DV1DI1# di 1
Quintum-DigitalInterface-SL2DV1DI1# st

Physical Layer (L1):             :  Active
DataLink Layer (L2):             :  Active

Transmitted Frames               :  730
Transmitted Octets               :  2915
Receieved Frames                 :  141
Receieved Octets                 :  574
Received Frame Length Violations :  0
Received Aborted Frames          :  0
Received Frame w/CRC Errors      :  2
Transmit Underruns               :  0
Cisco側の設定

Cisco側でTEIの値を手動設定させる必要があり、Tenor側のTEIとCiscoルーター側の値を同一にしておくこと

ISR-2801#show running-config

(略)

interface BRI0/0/0
no ip address
isdn switch-type ntt
isdn point-to-point-setup
isdn static-tei 1

ステータスを見る場合は下記の通りの操作を実行する。

ISR-2801#show isdn status
Global ISDN Switchtype = ntt
ISDN BRI0/0/0 interface
       dsl 0, interface ISDN Switchtype = ntt
   Layer 1 Status:
       ACTIVE
   Layer 2 Status:
        TEI = 1, Ces = 1, SAPI = 0, State = MULTIPLE_FRAME_ESTABLISHED
    Layer 3 Status:
        0 Active Layer 3 Call(s)
    Active dsl 0 CCBs = 0
    The Free Channel Mask:  0x80000003

本日のがくしゅう

NAT

sip.confで使えるnat設定

  • nat=never
  • nat=yes
  • nat=route
genkd

genkdでチョンボって別の個所を指定しちゃったらgrub.conf弄るとOKらしい
コマンドやり直しでも直らないっぽい

声優さん

voip-info.jpで配布している日本語音声は竹田えり さんなのはよく聞くが、他の声優さんに頼んだ場合は、いくらかかるのだろうか
という訳で、ぐーぐる先生に聞いてみた。

Asteriskに投資するぜ!イエア!!!という意味で、竹田えりさんバージョン以外に、日本語音声ファイルを作ってみるのも悪くないかもしれないですな!

STARS SYSTEM Ltd.
「電話用音声メッセージをAsterisk等で即利用可能な形式で録音いたします。」らしい。
で、いくらなんだろう。
音響・声優事務所 Sham.Studio.
1日/8時間 \100,000~ らしい。
はてな
Q.声優さんの相場を教えてください。 A.相場はありません。
AtelierPeach-FAQ-
5万円くらいか? 判りやすい。
ネット声優(wikipedia)
その存在を初めて知ってしまった。
個人ベースで依頼するなら、こっちかな(´-`)

余談

  1. 某コールセンターでは、声に定評のある社内オペレータさんにIVRの音声を吹き込んでもらっていたそうな。
  2. 外資系では、有名どころの声優さんに吹き込んでもらったそうな。
  3. 音声カスタマイズの際、(数年経過しても)同じ人に声を吹き込んでもらえるかどうか。が難点らしい。

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>

Tenorネタ

Quintum社製 Tenorに関連するメモ&ドラフト
ファームウェアP106系列のコマンドラインリファレンスを読めば、なんとかなる予感。

ダイヤルプラン

ダイヤルの設定に関するもの色々 DialPlan-1 (dp 1) Prompt Commands

MAXDNlength

Tenorがダイヤルを受け付ける、最大桁数を設定する。
最大30桁まで設定可能だが、MINDNlengthで設定した最小桁数を下回ることは出来ない。

config-DialPlan-1* set maxdn 25
最大で25桁までのダイヤルを受け付ける
config-DialPlan-1* set maxdn 2
最大で2桁までのダイヤルを受け付ける
元ネタ

MAXDNlength

MINDNlength

Tenorがダイヤルを受け付ける、最小桁数を設定する。
最小1桁まで設定可能だが、MAXDNlengthで設定した桁数を上回ることは出来ない。(同じケタ数はOK)

config-DialPlan-1* set mindn 3
最低で3桁からのダイヤルを受け付ける
config-DialPlan-1* set mindn 15
最低で15桁からのダイヤルを受け付ける
元ネタ

MINDNlength


OutgoingIPRouting(OIPR)

TenorはH.323とSIPに対応しているが、デフォルトではH.323だけ喋る設定になっている。
SIP対応機器と通信する場合は、この値を変更する必要がある。

set oipr 0
H.323のみ使用する(デフォルト値)
set oipr 1
SIPのみ使用する。
設定内容を見てみる

GateWay-1グループの中にあるので確認

config-GateWay-1# gw 1
config-GateWay-1# sh

GateWay-1 :
  Description                  : Tenor BX Gateway    product name, max 31
  OutgoingIPRouting            : 1                   SIP only
(以下略)
元ネタ

OutgoingIPRouting


SIP設定

SIPに関係する設定はSIPSignalingGroupというグループで管理されており、
そのグループにSIPパケットの投げ先などを設定する。 SIPSignalingGroup(SIPSGでもOK)

PrimarySIPServer

IP経由で電話する相手先(SIPパケットの投げ先)を設定する。
王大人は5秒間隔で仕事をしている。仕事振りは下記の通り

  1. INVITEパケットを投げる(あて先は、PrimarySIPServerに書いてあるホスト)
  2. 5秒待つ
  3. 最大で5回までInviteパケットを投げる。それでも反応が無い場合はPrimarySIPServer死亡確認(王大人的に)。
  4. Secondary Serverが代わりに選択される。
  5. PrimarySIPServerが息を吹き返した時に備え、SIPパケット(OPTIONS)を定期的に投げる。(定期的に「生きてるか」パケットを投げる)
  6. PrimarySIPServerが息を吹き返しても、Secondary Serverが死亡確認されるまで、Secondary Serverを使いつづける。
    (PrimarySIPServerを使わない)
  7. Secondary Server死亡確認方法についても、PrimarySIPServerと同様。

MasterChassis

システム全体に影響を与えるような、大まかな設定のグループがMasterChassisグループの中で定義されている。

  • クロックの設定
  • SNMP周りの設定
  • IVRの設定
  • CDR(課金情報)の設定
  • NMSサーバーの設定
  • RADIUSサーバーの設定
  • DNSサーバーのIPアドレス設定
  • 他いろいろ

PrimaryClockSource

他の機器とクロックの同期を取るための設定。下記の二つの選択肢がある。

  • Digital Line(デジタル回線)
  • Internal(内部)

T1回線やISDN回線などのPSTN回線に繋いでいる場合は、回線側にクロックを合わせるようにする。
逆に、内部機器にクロックを提供する場合は、Internalの設定となる。

set primaryclocksource 0 (pcs 0でもOK)
内部機器にクロックを提供する
set primaryclocksource 1 (pcs 1でもOK)
PSTN回線側にクロックを合わせる

TenorとSNMP

SNMP周りで設定できそうなモノ一覧

 SNMPSysLocation              : (Not Set)           location info for SN
 SNMPSysContact               : (Not Set)           contact info for SNM
 SNMPSysDescription           : (Not Set)           SNMP Description
 SNMPSysName                  : (Not Set)           System name for SNMP
 SNMPTrapIP1                  : (Not Set)           SNMP Trap IP addr 1
 SNMPTrapIP2                  : (Not Set)           SNMP Trap IP addr 2
 SNMPTrapIP3                  : (Not Set)           SNMP Trap IP addr 3
 SNMPPublicCommunity          : public              id information
 SNMPTrapCommunity            : trap community      id information

SNMPSysLocation

(SNMPを利用した事があるなら)そのまんま、「SNMP機器の場所」を記述する。
拠点名や場所(フロア名など)を記述しておき、SNMPマネージャ側から判りやすくする。

config-MasterChassis-1# set snmpsl "YOKOHAMA TenorBX816"
元ネタ

http://quintum.com/support/products/2G/tenor_2G/sysdoc/webhelp106/snmpsyslocation.htm

SNMPSysContact

「SNMP機器の管理担当の連絡先」を記述する。
部署名や連絡先を記述しておき、SNMPマネージャ側から判りやすくする。

config-MasterChassis-1# set SNMPSysContact "Meganekko Ski"
元ネタ

http://quintum.com/support/products/2G/tenor_2G/sysdoc/webhelp106/snmpsyscontact.htm


SNMPPublicCommunity

SNMPにアクセスするためのコミュニティ名を設定する。
Tenorに対し、SNMPマネージャがアクセスするための「パスワードのようなモノ」となる。
初期値が入っていないため、設定を入れるまでは、SNMPによるアクセスが出来ない。

config-MasterChassis-1# set snmppc "OhhhhYEAHH"
元ネタ

http://quintum.com/support/products/2G/tenor_2G/sysdoc/webhelp106/snmppubliccommunity.htm


警子ちゃんIIを泣かしてみたい。とか
MRTGで、なんかいぢれないかな~と思ったり思わなかったり。

snmpwalkコピペ

実運用してみないと、何が役に立つのか全然わかりませんぜ。旦那

Melchior# snmpwalk -m all -c public -v 1 10.0.8.2 .1.3.6.1.4.1.6618
enterprises.quintum.quintumSysDesc.hardwareType.0 = "Tenor Multipath Switch"
enterprises.quintum.quintumSysDesc.slotCount.0 = 2
enterprises.quintum.quintumSysDesc.deviceTable.deviceEntry.deviceIndex.0 = 1
enterprises.quintum.quintumSysDesc.deviceTable.deviceEntry.deviceNumber.0 = 5
enterprises.quintum.quintumSysDesc.deviceTable.deviceEntry.cardType.0 = "cardType:[Tenor BX]"
enterprises.quintum.quintumSysDesc.deviceTable.deviceEntry.cardSerialNumber.0 = "serial#:[A023-000000]"
enterprises.quintum.quintumSysDesc.deviceTable.deviceEntry.cardSWVersion.0 = "swVersions:[BX=P106-12-12][DSP20=P106-12-12][DSP120=N/A][Bootcode=P106-02-00][Database=DB_CMS_M14_A018_V12.0.0_121107]"
enterprises.quintum.quintumSysDesc.deviceTable.deviceEntry.cardHWVersion.0 = "hwVersions:[MainBoard=BX.1][DSP20=2 0 0][DSP120=N/A][BRI=3 3 3 3]"
enterprises.quintum.quintumAlarms.activeAlarm.0 = 8
enterprises.quintum.quintumAlarms.activeSeverity.0 = 1

(多すぎるので略)

QuntumのプライベートMIB

ネットワーク監視のお供、プライベートMIB(&OID)色々しりぃず
RRDToolで値をとると面白そうな予感のする値を重点的に調査。
元ネタ→Quintum SNMP Information

スロット及びポート番号
1.3.6.1.4.1.6618.3.5.1.2(stDescr)
回線の種類
1.3.6.1.4.1.6618.3.5.1.3 (stType)
L1(物理層)のステイタス
1.3.6.1.4.1.6618.3.5.1.4 (statusLayer1)
L2(データリンク層)のステイタス(CAS不可)
1.3.6.1.4.1.6618.3.5.1.5 (statusLayer2)
T1やE1回線フレーム(L2層データ)のエラー回数 
1.3.6.1.4.1.6618.3.5.1.6 (framingErrors)
フレーム同期ビットCRCエラー
1.3.6.1.4.1.6618.3.5.1.7 (pathCodeViolations)
物理インターフェースの伝送符号違反カウンター(BPV;極性違反)
1.3.6.1.4.1.6618.3.5.1.8 (lineCodeViolations)
Dちゃんねろの送信回数(D-Channelのデータ送信カウンター)
1.3.6.1.4.1.6618.3.5.1.10 (dchTxFrames)
Dちゃんぬるの送信量(D-Channelのデータ送信量)
1.3.6.1.4.1.6618.3.5.1.11 (dchTxOctets)
Dちゃんねるのデータ転送失敗回数
1.3.6.1.4.1.6618.3.5.1.12 (dchTxFrameUnderruns)
Dちゃんねるの受信回数(DCHのデータ受信カウンター)
1.3.6.1.4.1.6618.3.5.1.13 (dchRxFrames)
Dちゃんねるの受信量(D-Channelのデータ受信量)
1.3.6.1.4.1.6618.3.5.1.14(dchRxOctets)

発着呼の集計

OID 1.3.6.1.4.1.6618.3.4以下の値には、下記のデータが収められている。

  • 通し番号
  • スロット番号、デバイス番号およびデジタルインターフェースの番号
  • 回線の種類
  • 発着信回数
  • 発着信→通話回数
  • 発着信して、通話に至った回数の割合(通話成功率のようなもの)

snmpwalkの結果

こんな感じで発着信記録のOIDがあるわけで。
(手抜き)

Halphas# snmpwalk -On -m all -c public -v 1 10.0.5.7 .1.3.6.1.4.1.6618.3.4
.1.3.6.1.4.1.6618.3.4.1.1.1 = INTEGER: 1
.1.3.6.1.4.1.6618.3.4.1.1.2 = INTEGER: 2
.1.3.6.1.4.1.6618.3.4.1.1.3 = INTEGER: 3
(以下略)



発着呼ステイタス

発着信ステイタスを見る場合はcmd callsと打つこと。
コピペしたら横にクソ長いという・・・

#cmd calls

Current system time is FRI MAR 27 01:53:33 2009



-----------------------------------------------------------------------------------------------------------------------------------
Call     Calling          Called           Call       Call  Resource Id / Media GW IP       Remote Signal.  Codec IncRG    OutRG 
Id       Number           Number           Duration   Type  InComing       / OutGoing        Gateway         Type
-----------------------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------------------

--------------------------------
Total Calls:      0
--------------------------------
Quintum#
パケットを投げつける先の設定

SIPパケットの投げ先とか(AsteriskのIP)を見る場合はSIPSGでOK
特にPrimarySIPServer重要

Quintum-StaticIPRoute-0# sipsg
Quintum-SIPSignalingGroup-1# show

SIPSignalingGroup-1 :
  SIPInfoFormat                : 0                   Nortel,default
  ProxyFailoverBehavior        : 1                   fail over
  PrimarySIPServerPort         : 5060                portnumber,def 5060
  PrimarySIPServer             : (Not Set)           IP address
  SecondarySIPServerPort       : 5060                port number,def 5060
  SecondarySIPServer           : (Not Set)           IP address

回線カードスロットの設定

電話回線ポートに関する設定。
システム内部でスロット2に電話回線(アナログ、ISDN)モジュールが入っているので、
オマジナイ的にSLot-SL2 (SL SL2でもOK)と入力する。

Quintum# sl sl2
Quintum-SLot-SL2# show

SLot-SL2 :
  name                         : Digital Tenor 8-Port BRI Card
  Type                         : 7                   Read only, Card Type
  SlotNumber                   : 2                   Read only, Slot Numb
  Online[1]                    : 1
  Online[2]                    : 0
  Online[3]                    : 0
  Online[4]                    : 0
  PowerOffBypass[1]            : 0
  PowerOffBypass[2]            : 0
  PowerOffBypass[3]            : 0
  PowerOffBypass[4]            : 0
  PhantomPowerPassthru[1]      : 0
  PhantomPowerPassthru[2]      : 0
  PhantomPowerPassthru[3]      : 0
  PhantomPowerPassthru[4]      : 0

Online[1]

電話回線ポート1と2を開放したり閉塞する。

set o[1] 0
電話回線ポート1と2を閉塞する。(使用不可にする デフォルト値)
set o[1] 1
電話回線ポート1と2を開放する。(使えるようにする)
元ネタ

Online

PowerOffBypass[1]

Tenorの電源が落ちたときに、電話回線ポート1とポート2をバイパスさせる。
停電時に、電話回線ポート1にISDN回線を接続しておき、停電専用の緊急用電話機を活かしたい時に使用する。

通常時(電源が入っている)

ISDN電話機の電源はOFFのままで、通常では使えないようになっている。

停電時(電源が落ちている)

電話回線ポート2にISDN電話機を接続しておくと、Tenor BXの電源が落ちている時に
ISDN電話機の電源が入る。

元ネタ

PowerOffBypass

PhantomPowerPassthru

BRI専用の設定となるので要注意
48Vの電圧をISDN電話機に供給するかどうかを設定する。

元ネタ

PhantomPowerPassthru

システム内部の構成

Tenorはシステム内部に複数のスロットを持っているが、Tenor BXやAS、CMSでは構成が異なる。
Ciscoでのinterface GigabitEthernet0/90にあたる個所となる。

14スロットタイプ
14番目のスロットがCMS Controller Cardとして予約されている
2スロットタイプ
1番目のスロットがシステム制御用として予約されている
8スロットタイプ
1番目のスロットがシステム制御用として予約されている

Tenor BXの場合、スロット1にはシステム制御コントローラーが内部に入っており、
スロット2にBRIコントローラーが入る形となる。

config-MasterChassis-1#  st
---------------------------------------------------------------------
Slot Dev  Status                Configuration
---------------------------------------------------------------------
  01  01  Active            Tenor BX816 System Controller
  02  01  Active            DS1 Card
  02  02  Active            n-Channel DSP Card

Tenorのモード

Quintum Tenorには4つのモードがある。

コンフィグレーションモード
設定変更モード。設定を変更したり新規設定するときのモード
診断モード
ネットワークの監視や診断、トラブルシューティングを行うときのモード
メンテナンスモード
再起動やパスワードの変更など、機器のメンテナンスを行うときのモード
モニターモード
ネットワークの状態や、発着信状況の監視など、機器のモニタリングを行うときのモード
ハイパーモード
俺のこの手が光って唸る。お前を倒せと(以下略)

Astlinuxネタ

Astlinux0.6.2を入れてみた

Astlinux0.4.8ではキーディスク不要だったのが、0.6.2ではキーディスク作成が必須っぽいので、色々頑張ってみた。

キーディスクをCFカード内に作成

genkdと入力するとキーディスクを作るプログラムが動き出す。
予めAstlinux 空き容量有効活用にある手順にて、CFにスライスを作り、マウントできる状態にしてある。
多少のエラーはKIAIとKONJOでカバーすること。

pbx kd # genkd /dev/hda2 ←hda2(CFカードにもう一つスライス切った)をキーディスクにする。
This script will help to create a KeyDrive to store
your AstLinux configuration.  MAKE SURE THAT YOUR DRIVE IS
CONNECTED.

I will use /dev/hda2
USING EXISTING PARTITION.  MAKE SURE THIS IS WHAT YOU
WANT!!!
Please type yes to continue

Is this okay? yes   ←yesと入力する。
You specified an existing partition.  I will attempt to
use it.  Skipping auto-partition...
Filesystem created. Copying existing configuration...
Done.  I STRONGLY URGE YOU TO REBOOT NOW.
Type reboot to cleanly restart now.
pbx / # reboot  ←再起動してみた。

再起動後、シェル上からdf(ディスク容量表示)させてみると、/mnt/kdというディレクトリがマウントされており、
この/mnt/kdディレクトリにファイルが保存されるようになる。(と、思う)

pbx ~ # df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/loop0                3194       944      2055  31% /oldroot
/dev/hda1               130734     38316     92418  29% /oldroot/cdrom
/dev/loop0               35264     35264         0 100% /
none                       200        16       184   8% /dev
none                      5000       116      4884   2% /var
none                     10000       180      9820   2% /tmp
/dev/hda2               846296      4312    798996   1% /mnt/kd  ←この行

他の個所はAstlinux0.4.8とだいたい一緒。クセが強いのも同じ。
/stat/etc/以下は、もういじれないので、その辺りに気をつければOK。

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に、コピー処理を埋め込めば定時発信(モーニングコールなど)することができる。

余りスペースを活用する

Astlinux_空き容量有効活用に引越ししますた。

Astlinuxの小ネタ

IPアドレスについて

IPアドレスを固定で振る際にクラスレスな(/28とか)IPアドレスを振っても、クラスフルな設定に変わっていたりする。
クラスフルなIP以外を振ると、トラブルの元になることが多いっぽいので、避けた方が無難。

起動が超遅い

DNSの正引き逆引きが出来てない可能性大。

BOOTしない

CFカードに孔明の罠が仕込まれていることがあり、ファイルの一部が破損していることがある。
configもろもろのバックアップ(CF丸ごとでも良い)を取っておくこと。
ファイルの一部が破損することがあるので、
md5sumにてファイルの同一性を確認すべし。(ファイルの一部が壊れることもある)
特にTranscend製のカード使ったら頻発した。(4枚中3枚で上記障害が発生)

Remote UNIX connection

CLIコンソールに出てくる、下記のメッセージは一体何者か。不届き者か。

   -- Remote UNIX connection
   -- Remote UNIX connection disconnected

で、さっそく調べてみた。
どうやら、他のユーザー、もしくは監視サービス(nagios他)がCLI接続したときに出るログらしく、原因は下記の通りとなる

  • 他のユーザーがCLIに入ったかもしれない。
  • asterisk manager (manager.conf)がつなげてるかもしれない。
  • Nagios(のプラグイン)が繋げているかもしれない

対応策としては、下記の通り。

  • こいつは無害なんで気にするな
  • vの数を減らせ(asterisk -vvvvvvvvvvvvvvvvvvvvvrのこと)
  • CLIからログオフしてしまえ

AstLinux小ネタ集

Building a compact Asterisk server with AstLinux
Astlinuxの小ネタ多数。但し英語

  • コンパイル済みのAstlinuxをインストールする
  • crontabを設定する
  • 10Base-Tでリンクさせる
  • 俺様ば~ぢょんのAstlinuxを創る

藤堂さんのリスト

ToDoリストが増える一方という現状を真摯に受け止め、また一日も早くvoip-infoのネタ記事を充実させる事がデキルよう努める必要があると捉えており、これらのリストを可及的速やかに終了させることができるよう、各方面へ働きかけ有用なページを作成すべく対応を協議すると同時に、前向きな検討を重ね、然るべき時期に粛々と最近更新したページにネタ記事をage進行することができれば幸いと考える次第でございます。

ギンギンに頑張ってます

そこそこ頑張ってます

優先順位高めのもの。

CP-7911Gいぢり
おっとで買った300円のCP-7911G。SCCPファームウェアをSIPファームウェアに入れ替えた。
玄箱Asteriskにレジストし、内外線発着信まで確認
あじるほん経由でPSTNへの発着信もOK牧場。
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)
モーニングコール機能の作成
(一応、作成の目処は立った)

まったり頑張ってます

優先順位低めのもの。

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の意味を探る
発信先の名称を出すアプリケーションらしい