Cisco Webex Calling クラウド電話システムに接続する ローカルゲートウェイ (LGW: Local Gateway) の設定例を紹介します。本ドキュメントでは、ローカルゲートウェイを Webex Calling クラウドに登録後、Webex Calling クラウドからローカルゲートウェイ経由で PSTN (PRI) にコールする設定について説明します。
本ドキュメントの内容は、2020 年 2 月 20 日時点の情報および IOS-XE 16.9.4 の構成を前提としています。最新の情報は以下の情報を確認してください。
本ドキュメントでは、ローカルゲートウェイにおいて、下記の設定を使って Webex Calling クラウドと PSTN 間をルーティングする方法を紹介します。説明の関係上、関連する設定を前もって作成しなければならない場合があることを、あらかじめご了承ください。PRI の設定は既に完了していることを前提としています。
Webex Calling クラウド側の設定 (20x)
PSTN (PRI) 側の設定 (10x)
ローカルゲートウェイが Webex Calling クラウドから SIP INVITE を受信してルーティングを実施し、PRI へ Q.931 SETUP を送信する設定について説明します。PSTN (PRI) 側から VoIP 側にさかのぼって設定していきます。
Outgoing ダイヤルピアに紐付けるためのトランクグループを設定し、PRI のインタフェースに紐付けます。
conf t
trunk group ISDN
!
interface Serial0/0/0:23
no ip address
encapsulation hdlc
isdn switch-type primary-ntt
isdn incoming-voice voice
trunk-group ISDN
end
宛先番号、発信元番号が E.164 番号の場合に適切な番号に変換します。
voice translation-rule 3 は PRI へ発信時における発信者番号の変換ルールです。通信事業者によっては、市外局番を削除しないと網側で代表番号に強制上書きされる場合があるため、この例では市外局番の 3 を削除しています(例: +81312341111 から 12341111 に変換)。環境によって適切に変更してください。
conf t
voice translation-rule 1
rule 1 /^\+81/ /0/
rule 2 /\+\(.*\)/ /010\1/
exit
voice translation-rule 3
rule 1 /^\+813/ //
exit
voice translation-profile Outgoing-to-ISDN
translate calling 3
translate called 1
exit
PSTN 向けの Outgoing ダイヤルピアを作成し、既に作成したトランクグループや変換プロファイルを紐付けます。
Webex Calling クラウドに登録された Webex Calling App や MPP 電話機からダイヤルされた発信は、下記の番号に変換されてローカルゲートウェイに着信します。
conf t
dial-peer voice 101 pots
trunkgroup ISDN
description outbound to PSTN
translation-profile outgoing Outgoing-to-ISDN
destination-pattern BAD.BAD
forward-digits all
exit
既に作成した Outgoing ダイヤルピア 101 を選択するために、ダイヤルピアグループ 100 を設定します。後ほど Incoming ダイヤルピア作成時に紐付けます。
conf t
voice class dpg 100
dial-peer 101 preference 1
end
Webex Calling クラウドからの着信を voice class uri を使って識別します。Webex Calling クラウドからローカルゲートウェイに送信される SIP INVITE の Request-URI には dtg パラメータが付与され、Control Hub に表示されている Trunk Group のパラメータが設定されます。
(例:INVITE sip:+81312341111@192.168.43.197:5061;transport=tls;dtg=isr4331new8583_lgu SIP/2.0)
voice class uri 200 sip には、Control Hub でローカルゲートウェイを設定した時に表示された [Trunk Group OTG/DTG] を設定します。pattern はアンダースコア (_) には対応していないため、Trunk Group OTG/DTG のアンダースコア (_) を、任意の文字列を示すピリオド (.) に変換して設定します(例: pattern isr4331new8583.lgu)。
Trunk Group OTG/DTG: トランクグループ (例: isr4331new8583_lgu)
conf t
voice class uri 200 sip
pattern dtg={Trunk Group OTG/DTG (アンダースコアをピリオドに変更)}
end
例:
conf t
voice class uri 200 sip
pattern dtg=isr4331new8583.lgu
end
Webex Calling クラウドから受信するための Incoming ダイヤルピアを作成します。先程作成した voice class uri 200 および宛先ダイヤルピアグループ 100 を紐付けます。合わせて、Webex Calling - ローカルゲートウェイの設定例 (2: LGW の登録)で作成した voice class codec 99 と voice class stun-usage 200 と voice-class sip tenant 200 を紐付けます。
conf t
dial-peer voice 200 voip
description INBOUND dial-peer FROM WxC Cloud
session protocol sipv2
destination dpg 100
incoming uri request 200
voice-class codec 99
voice-class stun-usage 200
no voice-class sip localhost
voice-class sip tenant 200
dtmf-relay rtp-nte
srtp
no vad
end
ローカルゲートウェイが PRI から SETUP を受信してルーティングを実施し、Webex Calling クラウドへ SIP INVITE を送信する設定について説明します。VoIP 側から PSTN (PRI) 側にさかのぼって設定していきます。
Webex Calling クラウド向けの宛先番号および発信者番号を E.164 番号に変換します。
voice translation-rule 2 は、通信事業者によっては、宛先番号から市外局番が削除されている場合があるため、この例では市外局番 3 を付与しています。(例: 12342222 から +81312342222)。環境によって適切に変更してください。
conf t
voice translation-rule 2
rule 1 /^/ /+813/
exit
voice translation-rule 4
rule 1 /^0/ /+81/
exit
voice translation-profile Incoming-from-ISDN
translate calling 4
translate called 2
Webex Calling クラウド向けの Outgoing ダイヤルピアを作成します。voice class tenant 200 に設定された sip-server に INVITE が送信されます。
conf t
dial-peer voice 201 voip
description OUTBOUND dial-peer TO WxC Cloud
translation-profile outgoing Incoming-from-ISDN
destination-pattern BAD.BAD
session protocol sipv2
session target sip-server
voice-class codec 99
voice-class stun-usage 200
no voice-class sip localhost
voice-class sip tenant 200
dtmf-relay rtp-nte
srtp
no vad
end
既に作成した Outgoing ダイヤルピア 201 を選択するために、ダイヤルピアグループ 200 を設定します。後ほど Incoming ダイヤルピア作成時に紐付けます。
conf t
voice class dpg 200
dial-peer 201 preference 1
end
incoming called-number . を設定し、POTS (PRI) からのコールをダイヤルピア 100 で受信するように設定します。先程作成した宛先ダイヤルピアグループ 200 を紐付けます。
conf t
dial-peer voice 100 pots
trunkgroup ISDN
description INBOUND from PSTN TO WxC Cloud
destination dpg 200
incoming called-number .
end
日本で ISDN (PRI) に接続するための設定例です。
conf t
card type t1 0 1
!
network-clock synchronization automatic
no network-clock synchronization participate 0/1
!
isdn switch-type ntt
!
voice call send-alert
voice rtp send-recv
!
controller T1 0/1/0
framing esf
clock source line primary
linecode b8zs
cablelength long 0db
pri-group timeslots 1-24
exit
interface Serial0/1/0:23
no ip address
encapsulation hdlc
isdn switch-type primary-ntt
isdn incoming-voice voice
exit
参考:
設定 (max-conn) によって、着信ダイヤルピアの同時接続数を一般的なインターネットによる接続方法の最大値である 150 に制限することができます。専用線 (Equinix) の場合は 500 となります。また、設定 (call threthold) によって、全体コール数、メモリ、CPU の閾値によって制限することができます。
dial-peer voice 200 voip
descriiption INBOUND dial-peer FROM WxC Cloud
max-conn 150
...
call treatment on
call threshold global cpu-avg low 75 high 80
call threshold global total-mem low 75 high 80
call threshold global total-calls low 150 high 150
REGISTER 登録の設定を含めた最終的な設定例は以下の通りです。色がついた箇所を適切に変更してください。
Trunk Group OTG/DTG: トランクグループ (例: isr4331new8583_lgu)
Registrar Domain: レジストラのドメイン (例: 59685258.jp10.bcld.webex.com)
Line/Port: ライン・ポート (例: isr4331new4795_LGU)
Outbound Proxy Address: アウトバウンド SIP プロキシ (例: ty01.sipconnect-jp10.bcld.webex.com)
Username: ユーザ名 (例: isr4331new8583_LGU)
Password: パスワード (例: meX7]~)VmF)
!
card type t1 0 1
!
network-clock synchronization automatic
no network-clock synchronization participate 0/1
!
clock timezone jst 9 0
!
ip name-server 8.8.8.8
!
key config-key password-encrypt Password123$
password encryption aes
!
isdn switch-type ntt
!
trunk group ISDN
!
crypto pki trustpoint dummyTp
revocation-check crl
!
crypto pki trustpool import clean url http://www.cisco.com/security/pki/trs/ios_core.p7b
!
voice call send-alert
voice rtp send-recv
!
voice service voip
ip address trusted list
ipv4 85.119.56.128 255.255.255.192
ipv4 85.119.57.128 255.255.255.192
ipv4 128.177.14.0 255.255.255.128
ipv4 128.177.36.0 255.255.255.192
ipv4 135.84.169.0 255.255.255.128
ipv4 135.84.170.0 255.255.255.128
ipv4 135.84.171.0 255.255.255.128
ipv4 135.84.172.0 255.255.255.128
ipv4 135.84.173.0 255.255.255.128
ipv4 135.84.174.0 255.255.255.128
ipv4 139.177.64.0 255.255.255.0
ipv4 139.177.65.0 255.255.255.0
ipv4 139.177.66.0 255.255.255.0
ipv4 139.177.67.0 255.255.255.0
ipv4 139.177.68.0 255.255.255.0
ipv4 139.177.69.0 255.255.255.0
ipv4 139.177.70.0 255.255.255.0
ipv4 139.177.71.0 255.255.255.0
ipv4 139.177.72.0 255.255.255.0
ipv4 139.177.73.0 255.255.255.0
ipv4 185.115.196.0 255.255.255.128
ipv4 185.115.197.0 255.255.255.128
ipv4 199.19.197.0 255.255.255.0
ipv4 199.19.199.0 255.255.255.0
ipv4 199.59.64.0 255.255.255.128
ipv4 199.59.65.0 255.255.255.128
ipv4 199.59.66.0 255.255.255.128
ipv4 199.59.67.0 255.255.255.128
ipv4 199.59.70.0 255.255.255.128
ipv4 199.59.71.0 255.255.255.128
media statistics
media bulk-stats
media disable-detailed-stats
media-address range 192.168.43.197 192.168.43.197 port-range 8000 48000
allow-connections sip to sip
no supplementary-service sip refer
no supplementary-service sip handle-replaces
fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none
stun
stun flowdata agent-id 1 boot-count 4
stun flowdata shared-secret 0 Password123$
sip
early-offer forced
g729 annexb-all
!
voice class uri 200 sip
pattern dtg=isr4331new8583.lgu
!
voice class codec 99
codec preference 1 g711ulaw
!
voice class stun-usage 200
stun usage firewall-traversal flowdata
!
voice class sip-profiles 200
rule 9 request ANY sip-header SIP-Req-URI modify "sips:(.*)" "sip:\1"
rule 10 request ANY sip-header To modify "<sips:(.*)" "<sip:\1"
rule 11 request ANY sip-header From modify "<sips:(.*)" "<sip:\1"
rule 12 request ANY sip-header Contact modify "<sips:(.*)>" "<sip:\1;transport=tls>"
rule 13 response ANY sip-header To modify "<sips:(.*)" "<sip:\1"
rule 14 response ANY sip-header From modify "<sips:(.*)" "<sip:\1"
rule 15 response ANY sip-header Contact modify "<sips:(.*)" "<sip:\1"
rule 20 request ANY sip-header From modify ">" ";otg=isr4331new8583_lgu>"
rule 30 request ANY sip-header P-Asserted-Identity modify "<sips:" "<sip:"
!
voice class dpg 100
dial-peer 101 preference 1
!
voice class dpg 200
dial-peer 201 preference 1
!
voice class tenant 200
registrar dns:59685258.jp10.bcld.webex.com scheme sips expires 240 refresh-ratio 50 tcp tls
credentials number isr4331new4795_LGU username isr4331new8583_LGU password meX7]~)VmF realm BroadWorks
authentication username isr4331new8583_LGU password meX7]~)VmF realm BroadWorks
authentication username isr4331new8583_LGU password meX7]~)VmF realm 59685258.jp10.bcld.webex.com
no remote-party-id
sip-server dns:59685258.jp10.bcld.webex.com
connection-reuse
srtp-crypto 200
session transport tcp tls
url sips
error-passthru
asserted-id pai
bind control source-interface GigabitEthernet0/0/0
bind media source-interface GigabitEthernet0/0/0
no pass-thru content custom-sdp
sip-profiles 200
outbound-proxy dns:ty01.sipconnect-jp10.bcld.webex.com
privacy-policy passthru
!
voice class srtp-crypto 200
crypto 1 AES_CM_128_HMAC_SHA1_80
!
voice translation-rule 1
rule 1 /^\+81/ /0/
rule 2 /\+\(.*\)/ /010\1/
!
voice translation-rule 2
rule 1 /^/ /+813/
!
voice translation-rule 3
rule 1 /^\+813/ //
!
voice translation-rule 4
rule 1 /^0/ /+81/
!
voice translation-profile Incoming-from-ISDN
translate calling 4
translate called 2
!
voice translation-profile Outgoing-to-ISDN
translate calling 3
translate called 1
!
controller T1 0/1/0
framing esf
clock source line primary
linecode b8zs
cablelength long 0db
pri-group timeslots 1-24
!
interface GigabitEthernet0/0/0
description internet
ip address 192.168.43.197 255.255.255.0
negotiation auto
!
interface Serial0/1/0:23
no ip address
encapsulation hdlc
isdn switch-type primary-ntt
isdn incoming-voice voice
trunk-group ISDN
!
ip route 0.0.0.0 0.0.0.0 192.168.43.254
!
call treatment on
call threshold global cpu-avg low 75 high 80
call threshold global total-mem low 75 high 80
call threshold global total-calls low 150 high 150
!
dial-peer voice 100 pots
trunkgroup ISDN
description INBOUND from PSTN TO WxC Cloud
destination dpg 200
incoming called-number .
!
dial-peer voice 101 pots
trunkgroup ISDN
description outbound to PSTN
translation-profile outgoing Outgoing-to-ISDN
destination-pattern BAD.BAD
forward-digits all
!
dial-peer voice 200 voip
description INBOUND dial-peer FROM WxC Cloud
max-conn 150
session protocol sipv2
destination dpg 100
incoming uri request 200
voice-class codec 99
voice-class stun-usage 200
no voice-class sip localhost
voice-class sip tenant 200
dtmf-relay rtp-nte
srtp
no vad
!
dial-peer voice 201 voip
description OUTBOUND dial-peer TO WxC Cloud
translation-profile outgoing Incoming-from-ISDN
destination-pattern BAD.BAD
session protocol sipv2
session target sip-server
voice-class codec 99
voice-class stun-usage 200
no voice-class sip localhost
voice-class sip tenant 200
dtmf-relay rtp-nte
srtp
no vad
!
sip-ua
transport tcp tls v1.2
crypto signaling default trustpoint dummyTp cn-san-validate server
!