Cisco/CallManager Express/SIP接続
CallManager Express(CME)側がAsteriskに対し、
Registせずに兄弟関係を結ぶやりかたのほか、
CME側からRegistをかけて親子関係にてSIP接続する方法がある
検証環境
使用機種
- 玄箱Asterisk (Asterisk1.2.10)
- Cisco 1751-V (Cisco CallManager Express4.0)
- 電話機3台 (CP-7931G,CP-7970G,AAstra53i)
ネットワーク構成
- 192.168.0.0/24
- 玄箱およびCisco側はIP固定
- 電話機はDHCPより自動割当
Asterisk側の設定
- 内線550番台と560番台への発信は、CMEに発信するようにする。
- パスワードによる認証なし
extensions.confに下記の設定を加える。
sip.confの変更は不要だが、場合によっては変更も必要になるかもしれない。
exten => _5[56]X,1,Dial(SIP/${EXTEN}@192.168.0.249)
CME側の設定
Dial-peerの設定にて、電話をかける先を決める。
- 内線300番台への発信は、Asteriskに発信するようにする。
- パスワードによる認証なし
- SIPによる接続
- Asterisk側へのRegisterは行わない
設定例
dial-peer voice 3 voip description Kurobako destination-pattern 3.. session protocol sipv2 session target ipv4:192.168.0.4 dtmf-relay rtp-nte codec g711ulaw
CME側コマンド色々
CME側のコマンドについて
dial-peer voice 1 voip
電話の掛け先を設定する。
最大で2147483647個所までOK(リソースの限界は不明)
設定例
dial-peer voice 1 voip
description
ただの注釈。
あってもいいし、無くても良い。
接続先の名称を付けておくと区別しやすくなる。
設定例
description Kurobako
destination-pattern
ダイヤル先の番号を正規表現にて設定する。
Asteriskでの書き方とは違うので混同しないように注意すること。
ボイス- Cisco IOS プラットフォームでのダイヤルピアの稼動状態についても参照のこと
- destination-pattern [35]..
- 3か5で始まり、なおかつ3桁の番号
- destination-pattern 2000
- ダイヤル先が2000のみ
- destination-pattern 0T
- 頭が0の番号全て(タイムアウトするまで何桁でも該当する)
設定例
destination-pattern 3..
session protocol
セッションを張るプロトコルを設定する。
CMEのバージョンによって異なる可能性があるが、種類は三つ
Asteriskやその他SIP関連機器ならsipv2一択
- cisco
- multicast
- sipv2
設定例
session protocol sipv2
session target
電話を掛ける先(Inviteを投げる先)を決める。
(CMEのバージョンによって異なるかもしれないが)種類は6つ。
基本的にはIPアドレスか、ホスト名(DNS)を指定する
- loopback
- dns
- ipv4
- enum
- ras
- sip-server
設定例
Dial-peer1つにつき、 session targetも一つしか入らないので注意
session target ipv4:192.168.0.4 ←指定したIPアドレスに投げる session target dns:sip02.g-lex.net ←今は亡きG-LEXに投げる
codec
使用するコーデックを選択する。
CMEのバージョンによっては、G.722コーデックが使えるものもある
- clear-channel
- g711alaw
- g711ulaw
- g723ar53
- g723ar63
- g723r53
- g723r63
- g726r16
- g726r24
- g726r32
- g728
- g729br8
- g729r8
- g722-48 (CME7.0以降対応)
- g722-56 (CME7.0以降対応)
- g722-64 (CME7.0以降対応)
- ilbc (CME7.0以降対応)
設定例
対向先に併せてG.711 Ulawをコーデックとして使用する。
ISR-2801(config-dial-peer)#codec g711ulaw
dtmf-relay
DTMFの送出方法をキメる。
対向側との設定を併せておく必要がある。
初期値では"無効"になっている。
- cisco-rtp
- h245-alphanumeric
- h245-signal
- rtp-nte (RFC2833)
- sip-kpml
- sip-notify
設定例
dtmf-relay rtp-nte
showコマンド
show dial-peer voice summary
ダイヤル先の一覧(サマリー)を出力する。
#show dial-peer voice summary dial-peer hunt 0 AD PRE PASS OUT TAG TYPE MIN OPER PREFIX DEST-PATTERN FER THRU SESS-TARGET STAT PORT 1 voip up up 1 5.. 0 syst ipv4:192.168.0.211 2 voip up up 2.. 0 syst ipv4:192.168.0.5 20001 pots up up 550$ 0 50/0/1 20002 pots up up 551$ 0 50/0/2 3 voip up up 3.. 0 syst ipv4:192.168.0.4
注意事項
- 各IP-PBX(Asterisk/CME)のIPアドレスが固定なので、一方が可変IPの場合は設定を見直す必要アリ
- NAT入れてないのでNAT越しの挙動は不明
- セキュリティを考慮していないので、内部からの犯行があったらお手上げ(パスワード認証は一切無し)
- PSTN発着信を考慮していないので要注意
外部リンク
- Asterisk Cisco CallManager Express Integration
- CMEとAsteriskを接続する方法 (voip-info.orgより)
- Asterisk Cisco CallManager Integration
- コールマネージャー(CMEではない方)とAsteriskを接続する方法 (voip-info.orgより)
- RTシリーズとCISCOルータの相互接続のための設定例集(VoIP(SIP)の使用)
- YAMAHA RTA55iとCisco 3640のSIP接続例