【Elastix】発信先が留守の時に、勝手に複数回コールされる現象の解決策【FreePBX】

Network

本日の現場からの依頼。
相手先(携帯電話)が留守の時にガイダンスが流れる設定にしてた場合、
その音声が最後まで流れて終話になった時、もう一度発信しに行っちゃうから直して欲しいとご依頼を頂きました。
で結果的に解決したお話し。

スポンサーリンク

原因は?なんでこんな事に?

Google先生にて調べた所、どうやらOutbound RoutesのTrunk Sequence for Matched Routesに設定しているトランク分だけコールをしに行ってしまう仕様らしい。

弊社PBXに設定しているOutbound Routesは一部を除き殆どが、4つ設定を行っているので今回の様な事象が起きてしまった。
通常の切電時には起こらないのはElastix側での信号が違うからなのかね?そのおかげで大惨事には至っていなかったものの、
逆に今まで気付けずにいたと言う。。。

結論:取り敢えずこうすれば治る

トランクの設定を色々見ていたら、DAHDi identifierにこんな記載が。

結論からお伝えすると単純にデフォルトのg0にしたトランクを一個作成して、
Trunk Sequence for Matched Routesにこれのみを設定した所本事象は起きなくなった。

でもなんでそれで治るのか?って良く分からなかったので、
定義済み と表示された噂のchandahdi.confをちょっと見てみることに。

GUI上で色んなファイルの中身を見てみる

PBX → Tools Asterisk File Editor にてchan_dahdi.confを確認して見る。
すると下の方にこんな記載を発見。

#include dahdi-channels.conf
#include chan_dahdi_additional.conf

なんか上記2ファイルをインクルードしてるとの事らしいので一つずつ掘り下げていく。

一個目のchan_dahdi_additional.confにはこんな内容。

;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. All modifications to ;
; this file must be done via the web gui. There are alternative files to make    ;
; custom modifications, details at: http://freepbx.org/configuration_files       ;
;--------------------------------------------------------------------------------;

和訳→このファイルはFreePBXによって自動生成されるため、編集しないでください。
どうやらPBX側で自動的に書き換えられてしまう恐れが有る模様。
ちなみに何かしらカスタマイズしたい時は~custom.confをいじるのが正しいらしい。

なので放置して次のファイルへ。
お次のdahdi-channels.confはこんな感じ。

; Autogenerated by /usr/sbin/dahdi_genconf on Mon Jun 10 15:15:23 2019
; If you edit this file and execute /usr/sbin/dahdi_genconf again,
; your manual changes will be LOST.
; Dahdi Channels Configurations (chan_dahdi.conf)
;
; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
;

; Span 1: TE4/0/1 "T4XXP (PCI) Card 0 Span 1" (MASTER) 
group=0,11
context=from-pstn
switchtype = national
signalling = pri_cpe
channel => 1-23
context = default
group = 63

; Span 2: TE4/0/2 "T4XXP (PCI) Card 0 Span 2" 
group=0,12
context=from-pstn
switchtype = national
signalling = pri_cpe
channel => 25-47
context = default
group = 63

; Span 3: TE4/0/3 "T4XXP (PCI) Card 0 Span 3" 
group=0,13
context=from-pstn
switchtype = national
signalling = pri_cpe
channel => 49-71
context = default
group = 63

; Span 4: TE4/0/4 "T4XXP (PCI) Card 0 Span 4" 
group=0,14
context=from-pstn
switchtype = national
signalling = pri_cpe
channel => 73-95
context = default
group = 63

ボードが4つ刺さってるのでHardware Detectorが検知したか、
ハードウェアの検出を行った際に出力したのだと思われる。
で、groupにいつもTrunk Sequence for Matched Routesに設定している11~14の記載が有るんだけども、
同時にカンマ区切りで0も入ってる!
つまりg0を指定する=全てのトランクを指定するのと同義な為、g0を指定するのが正解なのであった。

コメント