カテゴリー
Asterisk IP-PBX

Asterisk extensions.conf ‘same =>’ オペレータ

Extensions.conf  のダイアルプランの記述が少し楽になる ‘same =>’ オペレータがあります。また、ダイアルプランが見やすくなるので個人的に気に入っています。

簡単な例として、こちらで紹介したダイアルプランを same => オペレータで記述すると:

[internal]
; exten => name,priority,application
; ex. exten => 123,1,Answer()
exten => 1000,1,Answer()
 same => 2,Playback(hello-world)
 same => 3,Hangup()

となります。簡単なのであまりメリットを感じられないかもしれません。

もう少し書いてみましょう。

今度はこちらの例を書き直すと:

[incoming]
exten => 8005,1,NoOp(${CALLERID(num)})
; 営業時間外
 same => n,GotoIfTime(18:00-08:59,mon-fri,*,*?closed)
 same => n,GotoIfTime(00:00-23:59,sat-sun,*,*?closed)
; 営業中は「Hello world」を再生
 same => n,Answer()
 same => n,Wait(1)
 same => n,Playback(hello-world)
 same => n,Wait(1)
 same => n,Hangup()
; 営業時間外は「I'm sorry」を再生
 same => n(closed),Answer()
 same => n,Wait(1)
 same => n,PlayBack(im-sorry)
 same => n,Wait(1)
 same => n,Hangup()

だいぶコードがすっきりして見えます。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください