NTTさんが提供しているサービスや緊急連絡の3桁番号サービスに発信できるよう設定を行います。
現時点では、0で始まる電話番号だけ外線発信になる設定になっております。そこで問題になるのが「3桁番号サービス」(104:番号案内、110:警察へ急報、117:時報、119:火事・救助・救急車など)の1で始まる3桁の電話番号です。0以外で始まる番号だと内線発信処理となり発信することが出来ません。
101~199を外線で発信できるように設定します。
「extensions.conf」の内容を編集します。
sudo nano /etc/asterisk/extensions.conf
以下の内容を「extensions.conf」に追記します。
;101~199の電話番号の外線発信処理 exten = _1XZ,1,Set(CALLERID(num)=6001) same = n,Set(CALLERID(name)=6001) same = n,Set(call_num=${EXTEN}) same = n,Dial(PJSIP/9${EXTEN}@VE-IG1-202-trunk,,tT) same = n,Congestion same = n,Busy
上記の設定は、101~199を発信すると処理が行われます。
2行目の「exten = _1XZ,1,Set(CALLERID(num)=6001)」ついて、
exten = 内線番号,優先順位,アプリケーション
内線番号の「_1XZ」は、パターンマッチングで101~199が対象となります。
パターンマッチングについて
内線番号の最初のアンダーバー”_”は、パターンマッチングを使う宣言です。
. ・・・・ 1文字以上の数字。
X ・・・・ 0~9の数字。
Z ・・・・ 1~9の数字。
N ・・・・ 2~9の数字。
[1-3] ・・ 1~3の数字(範囲指定)。
「Set(CALLERID(num)=6001)」は、アプリケーションSetは変数CALLERID(num)に6001を代入します。
3行目の「same = n,Set(CALLERID(name)=6001)」について、
same ・・・・ 1つ前の行の「exten = _1XZ」と同一と判断されます。
n ・・・ 優先順位(nは、1つ前の行の番号に1を加えた番号になります。)
5行目の「Dial(PJSIP/9${EXTEN}@VE-IG1-202-trunk,,tT)」のアプリケーションDialについて、
Dial(type/電話をかける相手,タイムアウト秒数,オプション設定,URL)
type ・・・・・ PJSIP
電話をかける相手 ・・・ 9${EXTEN}@VE-IG1-202-trunk
${EXTEN} = 発信番号
VE-IG1-202-trunk = pjsip.confにISDNのGATEWAYを設定した名前
※ISDN回線は、発信番号に頭に「9」を付けないと発信できません。
6行目の「Congestion」については、 混雑状況を示します。
7行目の「Busy」については、ビジー状態を通知します。
サービスの再起動
sudo systemctl restart asterisk.service
リアルタイムのデバッグ出力
sudo asterisk -rvvvv
実際に「117」をダイヤルして時報が流れたら完了です。