Asterisk 電話 日誌

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

Asterisk 構築 extensions.conf

2017-07-17 22:24:24 | 日記
続いて、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
ジャンル:
ウェブログ
コメント   この記事についてブログを書く
この記事をはてなブックマークに追加
« Asterisk 構築 sip.conf | トップ | Asterisk 構築 res_parking.conf »

コメントを投稿

日記」カテゴリの最新記事

トラックバック

この記事のトラックバック  Ping-URL
  • 30日以上前の記事に対するトラックバックは受け取らないよう設定されております。
  • 送信元の記事内容が半角英数のみのトラックバックは受け取らないよう設定されております。
  • このブログへのリンクがない記事からのトラックバックは受け取らないよう設定されております。
  • ※ブログ管理者のみ、編集画面で設定の変更が可能です。