Twilio の IPアドレスレンジ移行

これまで、Twilio に関するいくつかの記事を書いてきた。

日本では大手代理店だった KDDI Webコミュニケーションズが中抜きにあい、KDDI Web経由で契約していたユーザもサンフランシスコの本社との直接の取引に変更になった。

次の大きなトピックとして、IPアドレスレンジの移行(マイグレーション)が予定されている。

これは技術的な仕様変更を行う大きなアップデートで、ユーザ側でも対応が必要ということで、サンフランシスコ本社との契約になってからことごとく日本語情報が出なくなってしまったいま、対応が追いつかないユーザも多いことが予想される。

いまのところ、Twilio からアナウンスされているマイグレーションのスケジュールは以下の通り。

・2023年12月5日の 24時間、1% のトラヒックを新IPアドレスレンジ経由
・2024年1月16日の 24時間、20% のトラヒックを新IPアドレスレンジ経由
・2024年1月23日、100% のトラヒックを新IPアドレスレンジ経由

ユーザ側で対応できない場合、新IPアドレスレンジ経由に割り当てられたコールは片方向通話となり、切断される。


2023年12月5日までの IPアドレスレンジ


これまでは、各エッヂロケーションごとに使用する IPアドレスレンジが公表されており、ユーザ側では自社から使用する可能性のあるエッヂロケーションに割り当てられた IPアドレスレンジ、加えて US North Virgnia(us1) からのトラヒックが飛んでくることを想定する必要があった。具体的には、

North America Virginia Gateways:

Signaling IPs:

    54.172.60.0/30 which translates to:
    54.172.60.0
    54.172.60.1
    54.172.60.2
    54.172.60.3
    Ports: 5060 (UDP/TCP), 5061 (TLS)

Media IPs (will be removed 23 January 2024):

    54.172.60.0/23
    34.203.250.0/23 
    Port Range: 10,000 to 20,000 (UDP)


Asia-Pacific Tokyo Gateways:

Signaling IPs:

    54.65.63.192/30 which translates to:
    54.65.63.192
    54.65.63.193
    54.65.63.194
    54.65.63.195
    Ports: 5060 (UDP/TCP), 5061 (TLS)

Media IPs (will be removed 23 January 2024):

    54.65.63.192/26
    3.112.80.0/24
    Port Range: 10,000 to 20,000 (UDP)


ファイアーウォールでホワイトリストに追加するなど、作業が必要となる。

これが、新IPアドレスレンジでは世界共通のグローバルなものとなり、


Global Media IPs (Migration beginning 5 December 2023, migration complete 23 January 2024):

    168.86.128.0/18
    Port Range: 10,000 to 60,000 (UDP)


と、IPアドレスが追加となるだけでなく、使用するポートもこれまでの UDP/10,000~20,000 だったものが、UDP/10,000~60,000 と大幅に増えている。

なおこの新IPアドレスレンジは、現時点では Media IP だけがアナウンスされているため、Signaling IP(SIP) はこれまで同様の各エッヂロケーションに割り当てられた IPアドレスが使われる。


ルータに YAMAHA RTシリーズを使っている場合などは、以下の通りにフィルタを追加する。(42004 が追加した行)

pp select 1

 #
 # Twilip new IP address range(add 42004)
 # 
 ip pp secure filter in 42001 42002 42003 42004 42011 42012 42021 42022 42023 42031 42041 42051 49997 49998 49999
 #

 ip pp nat descriptor 1
 netvolante-dns hostname host pp server=1 ht813.aa0.netvolante.jp
 
 pp select none
 
ip filter 42001 pass 54.172.60.0/30 172.30.128.151/32 udp * 5060-5061
ip filter 42002 pass 54.172.60.0/23 172.30.128.151/32 udp * 10000-20000
ip filter 42003 pass 34.203.250.0/23 172.30.128.151/32 udp * 10000-20000
ip filter 42011 pass 54.244.51.0/30 172.30.128.151/32 udp 5060-5061
ip filter 42012 pass 54.244.51.0.24 172.30.128.151/32 udp 10000-20000
ip filter 42021 pass 54.65.63.192/30 172.30.128.151/32 udp * 5060-5061
ip filter 42022 pass 54.65.63.192/26 172.30.128.151/32 udp * 10000-20000
ip filter 42023 pass 3.112.80.0/24 172.30.128.151/32 udp * 10000-20000
ip filter 42031 pass 54.172.60.0/30 172.30.128.151/32 tcp * 5060-5061
ip filter 42041 pass 54.244.51.0/30 172.30.128.151/32 tcp * 5060-5061
ip filter 42051 pass 54.65.63.192/30 172.30.128.151/32 tcp * 5060-5061


#
# Twilip new IP address range
#
ip filter 42004 pass 168.86.128.0/18 172.30.128.151/32 udp * 10000-60000
#


ip filter 49997 reject * * udp * 5060-5063
ip filter 49998 reject * * udp * 10000-20000
ip filter 49999 pass * * * * *

nat descriptor type 1 masquerade
nat descriptor address outter 1 ipcp
nat descriptor address inner 1 auto
nat descriptor sip 1 on
nat descriptor masquerade static 1 21 172.30.128.151 udp 5060-5061
nat descriptor masquerade static 1 22 172.30.128.151 udp 10000-20000


古河電工FITELnet の場合は、以下の通りに access-list を追加する。(241004)

NAPT の設定も加える。


access-list 100 permit udp any eq 500 any eq 500
access-list 100 permit 50 any any
access-list 100 permit udp any eq 4500 any eq 4500
access-list 111 deny ip any any
access-list 121 spi ip any any
access-list 205060 permit udp any range 5060 5061 any
access-list 209000 permit tcp any range 9000 9000 any
access-list 241001 permit udp 54.172.60.0 0.0.0.3 range 5060 5061 172.30.128.151 0.0.0.0
access-list 241002 permit udp 54.172.60.0 0.0.1.255 range 10000 20000 172.30.128.151 0.0.0.0
access-list 241003 permit udp 34.203.250.0 0.0.1.255 range 10000 20000 172.30.128.151 0.0.0.0


!
! Twilio new IP address range
!
access-list 241004 permit udp 168.86.128.0 0.0.63.255 range 10000 60000 172.30.128.151 0.0.0.0
!

access-list 241011 permit udp 54.244.51.0 0.0.0.3 range 5060 5061 172.30.128.151 0.0.0.0
access-list 241012 permit udp 54.244.51.0 0.0.0.255 range 10000 20000 172.30.128.151 0.0.0.0
access-list 241021 permit udp 54.65.63.192 0.0.0.3 range 5060 5061 172.30.128.151 0.0.0.0
access-list 241022 permit udp 54.65.63.192 0.0.0.63 range 10000 20000 172.30.128.151 0.0.0.0
access-list 241023 permit udp 3.112.80.0 0.0.0.255 range 10000 20000 172.30.128.151 0.0.0.0
!
!
interface Tunnel 5
 description YBB
 ip access-group 100 in 1
 ip access-group 111 in 1000000
 ip access-group 121 out
 ip access-group 205060 in 205060
 ip access-group 209000 in 209000
 ip access-group 210000 in 210000
 ip access-group 241001 in 41001
 ip access-group 241002 in 41002
 ip access-group 241003 in 41003

 !
 ! Twilio new IP address range
 !
 ip access-group 241004 in 41004
 !

 ip access-group 241011 in 41011
 ip access-group 241012 in 41012
 ip access-group 241021 in 41021
 ip access-group 241022 in 41022
 ip access-group 241023 in 41023
 ip nat inside source list 1 interface
 ip nat inside destination static 0.0.0.0 5060 5061 172.30.128.151 5060 proto 17
 ip nat inside destination static 0.0.0.0 10000 20000 172.30.128.151 10000 proto 17


 tunnel mode pppoe profile PPPoE/YBB
 pppoe interface gigaethernet 2/1
exit


なお、NAPT の設定については、Twilio と対向となるローカルのシステム側に対応させる必要があるため、Media IP で使うポートのレンジが、これまでの通り、10,000~20,000 なら追加する必要はない。(通常に使用する場合、Media IP を 10,000ポート以上、同時に必要とすることはほぼ無い(5,000ch 同時通話の状態)はずなので)


※2023年9月26日追記:
当初の記事では NAPT の設定についても記述していたが、これはローカルのシステムの設定に合わせるものであって、Twilio側の仕様変更とは無関係なので削除した。
なお、ルータ上で ProxyDNS などを使っていると、UDP のポートが 50,000ポートも SIP関連に取られてしまうのは運用上あまり都合がよくないので、様々考慮した結果、該当の設定は削除した。


この記事が気に入ったらサポートをしてみませんか?