Asteriskでひかり電話と050利用時に着信先を区別したい

久々にAsteriskの設定を変える機会があったのでメモを残したいと思います。
弊社では外出が多いので社内電話システムをクラウドPBXにしており、
ひかり電話の03番号や050の受付回線に着信するとクラウドPBX経由で、
社内に設置のGRANDSTREAMの固定電話数台と社員のスマホに着信する
仕組みを採用しております。

クラウドPBXといっても零細企業の弊社では有料サービスを
借りる程ではないためVPS上にFreePBXをインストールし、
VPNで社内と接続することでオレオレクラウドPBXを運用してます。

で、今回の話題の鳴り分なのですが今までは業務上としては、
03宛に着信しても050に着信しても両方対応できていたのですが、
業務繁忙のため、番号毎に担当を設けることになりました。
そうすると問題になるのが通常のひかり電話だとHGWが着信番号を
通知してこないのでAsterisk側でそのままでは入電経路がわからない!

そこでちょっとAsteriskのConfigを追加してあげることで、
050宛に着信したのか、03宛に着信したのか区別することが可能になります。
あとはInboud roureでそれぞれ目的の内線やRingに向ければ解決です。

弊社はAsterisk 20でやってますが19とかでも同じだと思います。

1、ひかり電話のTrunkの設定でContextを設定する。
弊社では[from-NTThikari]と付けましたがなんでも構いません。

2、”extensions_custom.conf”に以下のように設定する
[from-NTThikari] ←ここは”1”で設定したContextと同じになるようにすること!
exten => _.,1,Goto(from-pstn,${CUT(CUT(PJSIP_HEADER(read,To),@,1),:,2)},1)

3、Inbound RoutesのDIDにそのまま03XXXXXXXXのようにご自身の番号をセット

これで03宛に着信がくるとHGWから送られてくるSIP HeaderのTOにセットされている
電話番号を利用して鳴り分に利用することが可能です。

具体的にどこ参照してんのか?ということで弊社で取ったTcpdumpを
参考までに掲載しておきます。

——–
02:34:48.018975 tap_voip Out IP sipedemo.local.sip > 192.168.X.X.sip: SIP: SIP/2.0 200 OK
E`.y”.@.@…… ………e..SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.X.X:5060;rport=5060;received=192.168.X.X;branch=z9hG4bK291358527
Call-ID: 468619045@192.168.X.X
From: <sip:anonymous@anonymous.invalid>;tag=368508610
To: “03XXXXXXXX” <sip:03XXXXXXXX@192.168.X.X>;tag=9e43156e-5043-4f0d-80a0-8407da769d25
CSeq: 2 BYE
Server: FPBX-16.0.40.7(20.4.0)
Content-Length: 0
——–

なお、参考までに以下のようなHeaderの050番号の場合は、
”exten => _.,1,Goto(from-pstn,${CUT(CUT(PJSIP_HEADER(read,To),@,2))},1)”とすることで
電話番号ではないですがアカウント名?的なユニークな情報をToとして取得することができるので、
電話番号ではないですがDIDにセットすることが可能です。

03:02:24.095581 eth0 In IP XXXXXXX > sip.domain.tld.sip: SIP: BYE sip:XXX.XXX.XXX.X:5060 SIP/2.0
E…Z…4.ENw….,……….BYE sip:XXX.XXX.XXX.X:5060 SIP/2.0
Via: SIP/2.0/UDP XXX.XXX.XXX.X:5060;branch=z9hG4bK69eb980a;rport
Max-Forwards: 70
From: “08012345678” <sip:08012345678@XXX.XXX.XXX.X:5060>;tag=as38f9f65c
To: <sip:99991230001@XXX.XXX.XXX.X:506>;tag=5bb93ac5-caa4-472f-834f-92e0349ca7fc

→”99991230001”が取り出せますね!

外出の多い中小企業の皆様や個人事業主の皆様
超安価なVPSベースのクラウドPBX利用してみませんか?
リモートワーク等で固定電話に出られない方にもおすすめです。
弊社ではメールベースでしたら無料でご相談をお受けしております。
構築もオープンソースを積極的に活用するため非常に低額で
ご利用頂けるかと思いますのでご検討ください!