Asterisk 電話 日誌

AsteriskとKX-UT136を使った小規模電話システム構築まで

Asterisk 構築 extensions.conf

2017-07-17 22:24:24 | Asterisk
続いて、extensions.confです。
外線1は0発信 フュージョンからは9発信
外線2は発信を書いてません。着信のみです。内線すべてに着信するようにしています。


電話番号と名前をデータベースcidnameに登録しておけば、
データーベースをチェックして、名前を電話機に表示できます。
blacklistに電話番号を登録しておけば、ss-noserviceという音声を繰り返し流します。

[general]
writeprotect=no
priorityjumping=no

[globals]
GROUP1=SIP/201&SIP/202&SIP/203&SIP/204&SIP/205&SIP/206&SIP/207&SIP/301&SIP/302&SIP/303
;GROUP2=

;自局の着信番号を設定する
;[incoming]セクションを参照
;ひかり電話HGWの番号(着信番号:自分の番号)
MYNUMBER1=0245678901
MYNUMBER2=0245678902
;FUSION OpenGateの番号(050を取ったもの)
MYNUMBER3=12345678

[default]
;200番台を内線に割り当てています
;グループ着信
exten => 200,1,NoOp(内線代表着信)
exten => 200,n,Dial(${GROUP1},60)
exten => 200,n,Hangup

;内線呼び出し
exten => _20Z,1,NoOp(内線呼出)
exten => _20Z,n,Dial(SIP/${EXTEN},60)
exten => _20Z,n,Hangup

;内線呼び出し
exten => _30Z,1,NoOp(内線呼出)
exten => _30Z,n,Dial(SIP/${EXTEN},60)
exten => _30Z,n,Hangup

;400番台は特番で機能に割り当てています
;音声会議
exten => 401,1,NoOp(音声会議)
exten => 401,n,Answer()
exten => 401,n,Confbridge(${EXTEN})
exten => 401,n,Hangup

;PIASTでのページング
;ALSAサウンドを持つLinux機でも使用可能
exten => 409,1,NoOp(ページング)
exten => 409,n,GoTo(paging,s,1)

;700番台はコールパーキング用です
;コールパーキング
exten => 700,1,NoOp(コールパーキング)
exten => 700,n,Park()
;パーキングロットをインクルードXXXしない
include => parkedcalls
;exten => 700,1,ParkedCall(701)
;exten => _701,hint,park:701@parkedcalls


;0発信をひかり電話にする場合の例(0+03--でダイヤル)
exten => _0.,1,NoOp(ひかり電話0発信)
exten => _0.,n,Set(CALLERID(num)=${MYNUMBER1})
exten => _0.,n,Set(CALLERID(name)=${MYNUMBER1})
exten => _0.,n,Dial(PJSIP/${EXTEN:1}@hikari-trunk)

;9発信をFUSIONにする場合の例(9+03--でダイヤル)
exten => _9.,1,NoOp(OpenGate 9発信)
exten => _9.,n,Set(CALLERID(num)=${MYNUMBER3})
exten => _9.,n,Set(CALLERID(name)=${MYNUMBER3})
exten => _9.,n,Dial(SIP/${EXTEN:1}@fusion1)

;外線着信用コンテキスト
[incoming]
;着信番号毎に処理を書くこと

;ひかり電話着信例
exten => ${MYNUMBER1},1,NoOp(うちの代表番号)
exten => ${MYNUMBER1},n,GotoIf(${BLACKLIST()}?blacklisted)
exten => ${MYNUMBER1},n,SipAddHeader(P-Called-Party-ID:)
exten => ${MYNUMBER1},n,Macro(cidnamecheck)
exten => ${MYNUMBER1},n,Dial(${GROUP1},120)
exten => ${MYNUMBER1},n,Hangup
exten => ${MYNUMBER1},n(blacklisted),Answer()
exten => ${MYNUMBER1},n(loop),Zapateller()
exten => ${MYNUMBER1},n,Playback(ss-noservice)
exten => ${MYNUMBER1},n,Goto(loop)

exten => ${MYNUMBER2},1,NoOp(うちの代表番号)
exten => ${MYNUMBER2},n,GotoIf(${BLACKLIST()}?blacklisted)
exten => ${MYNUMBER2},n,SipAddHeader(P-Called-Party-ID:)
exten => ${MYNUMBER2},n,Macro(cidnamecheck)
exten => ${MYNUMBER2},n,Dial(${GROUP1},120)
exten => ${MYNUMBER2},n,Hangup
exten => ${MYNUMBER2},n(blacklisted),Answer()
exten => ${MYNUMBER2},n(loop),Zapateller()
exten => ${MYNUMBER2},n,Playback(ss-noservice)
exten => ${MYNUMBER2},n,Goto(loop)

;FUSION OpenGate着信例
exten => ${MYNUMBER3},1,NoOp(FUSION着信)
exten => ${MYNUMBER3},n,GotoIf(${BLACKLIST()}?blacklisted)
exten => ${MYNUMBER3},n,SipAddHeader(P-Called-Party-ID:)
exten => ${MYNUMBER3},n,Macro(cidnamecheck)
exten => ${MYNUMBER3},n,Dial(${GROUP1},120)
exten => ${MYNUMBER3},n,Hangup
exten => ${MYNUMBER3},n(blacklisted),Answer()
exten => ${MYNUMBER3},n(loop),Zapateller()
exten => ${MYNUMBER3},n,Playback(ss-noservice)
exten => ${MYNUMBER3},n,Goto(loop)

;ひかり電話HGW用前処理
[from-hikari]

exten => s,1,NoOp(ひかり電話着番処理)
exten => s,n,Set(DESTNUM=${PJSIP_HEADER(read,To)})
exten => s,n,NoOp(着信To: ${DESTNUM})
;着信番号の桁数が異なる場合には以下の行を調整のこと
exten => s,n,Set(DESTNUM=${DESTNUM:1:10})
exten => s,n,NoOp(着信番号: ${DESTNUM})
exten => s,n,Goto(incoming,${DESTNUM},1)

;CID(番号)から名前を取得するマクロ
;AstDBのcidnameに番号と名前を入れておくこと
[macro-cidnamecheck]

exten => s,1,NoOp(CID参照マクロ)
exten => s,n,Set(CIDNAME=${DB(cidname/${CALLERID(num)})})
exten => s,n,GotoIf($["${CIDNAME}" = ""]?noname)
exten => s,n,Set(CALLERID(name)=${CIDNAME})
exten => s,n,Goto(endmacro)
exten => s,n(noname),Set(CALLERID(name)=不明)
exten => s,n(endmacro),MacroExit

;PIASTページング用
[paging]

;リレーをONしてページング実行、ページング前にビープを鳴らす
exten => s,1,NoOp(Paging Start)
;exten => s,n,System(/home/piast/relayon.sh)
exten => s,n,Dial(Console/0,,A(beep))

;ハングアップ後にビープを鳴らす
exten => h,1,NoOp(Paging Hangup)
exten => h,n,System(asterisk -rx 'channel originate Console/0 application Playback beep')
;exten => h,n,System(/home/piast/relayoff.sh)

;発信不可
[localonly]
exten => _20Z,1,NoOp(内線呼出)
exten => _20Z,n,Dial(SIP/${EXTEN},60)
exten => _20Z,n,Hangup

exten => _30Z,1,NoOp(内線呼出)
exten => _30Z,n,Dial(SIP/${EXTEN},60)
exten => _30Z,n,Hangup

最新の画像もっと見る

コメントを投稿