RaspBerryPi(名刺サイズLinuxボード))上でAsteriskを構築【その4】

画像
今回は以下の内容に関して説明します。が、ちょっと長いです。

No3の(電話会議室の動作確認:現状動作してない)という表現で
保留していましたが、動作しない原因がわかりました。一部のファイルが壊れていました。
現状は電話会議室も動作していますので、合わせて説明したいと思います。

設定が多いのでNo6の実機確認は次回で説明する(パナソニックのKX-UT123N:IP電話機)

3.Asterisk詳細設定
 ・日本語音声の適用
 ・VoceMailの動作確認
 ・(電話会議室の動作確認:現状動作してない)←今回説明★
 ・他・機能の設定&確認
4.光電話(例.PR-S300SE)との連携
 ・光電話側の設定
 ・Asterisk側の設定
 ・ダイヤルプラン
5.IP電話網の拠点間連携
 ・違う場所で稼働するAsterisk同士の内線相互連携
 ・他拠点の外線を使用する
6.実機確認 ←次回説明★
 ・IP電話機(パナソニック製)の設置と動作確認
 ・スマホ関連SIPソフトに関して

●今回の目標
・以下の基本的な電話機能の確認
 -内線発着信
 -コールパーク機能の確認(XXさん内線701番に外線はいってま~すと言われて、701番に
  内線し、外線にの話者と通話するというストーリの確認)
 -代理応答(*8)・・・他のIP電話が鳴っている場合に代理で応答する
 -転送電話(*2)・・・通話中に押すと転送でする
 -ボイスメール(299)・・・自分の内線番号に留守電がはいっているか?
 -日時アナウンス(317)・・・XX年XX月XX日午後8時20分です。とかアナウンスされる
 -エコーテスト(333)・・・自分の声がやまびこの様に戻ってくる音声遅延テスト
・電話会議を使える様にする(2000)・・・2000番に電話するとみんなで電話会議が出来る
・光電話とasteriskを連携(光電話にレジスト)させ、下記の機能を使用出来る様にする
 -IP電話から光電話の外線発信を使う事が出来る(外線発信は先頭に9を付けてダイヤルする)
 -光電話に着信があった場合、IP電話でも着呼さ、かつ話すことができる
 -光電話に接続したアナログ電話と内線通話が出来る
・2拠点にあるAsterisk同志の独立したIP電話網を接続し、相互のIP内線電話を使用可能にする
 -2台のRaspBerryPiに各々Asteriskをインストールし、相互接続テストをする
●全体の流れ
全体の流れは簡単です。

1.以下の4つのファイルを編集
confbridge.conf
extensions.conf
sip.conf
iax.conf

2.Asteriskの再起動
3.テスト

●詳細説明
1.ファイルの編集

a)confbridge.conの編集・・・電話会議の設定
・電話会議の設定

$sudo pico /etc/asterisk/confbridge.conf
(以下★印部分を参考に修正。基本はコメント部分をを外すだけ)

[general]
; The general section of this config
; is not currently used, but reserved
; for future use.

;
; --- Default Information ---
; The default_user and default_bridge sections are applied
; automatically to all ConfBridge instances invoked without
; a user, or bridge argument. No menu is applied by default.
;

; --- ConfBridge User Profile Options ---
[default_user]
type=user
;admin=yes ; Sets if the user is an admin or not. Off by default.
;marked=yes ; Sets if this is a marked user or not. Off by default.
;startmuted=yes; Sets if all users should start out muted. Off by default
;★自分だけの参加の時は音楽を流す様に設定
music_on_hold_when_empty=yes ; Sets whether MOH should be played when only
; one person is in the conference or when the
; the user is waiting on a marked user to enter
; the conference. Off by default.
;music_on_hold_class=default ; The MOH class to use for this user.
;quiet=yes ; When enabled enter/leave prompts and user intros are not played.
; There are some prompts, such as the prompt to enter a PIN number,
; that must be played regardless of what this option is set to.
; Off by default
;★何人入っているかアナウンスする設定
announce_user_count=yes ; Sets if the number of users should be announced to the
; caller. Off by default.
b)extensions.confの編集
・光電話対応の設定
 -自宅電話番号の設定
・外線からのコール待ち受け時間
・asterisk間連携設定
・電話会議設定
・IP電話から光電話経由で外線発信(先頭に9を付けると外線発信する)

$sudo pico /etc/asterisk/extensions.conf
(以下★印部分を参考に修正)

[general]
writeprotect=no
priorityjumping=no

[globals]
USEVOICEMAIL=YES
SPEAKINGCLOCK=317
ECHOTEST=333
;For Hikari Denwa
;★自宅電話番号設定
MYNUMBER=03XXXXXXXX

[default]

; Speaking Clock
exten => ${SPEAKINGCLOCK},1,Answer()
exten => ${SPEAKINGCLOCK},n,Wait(1)
exten => ${SPEAKINGCLOCK},n,Set(FutureTime=$[${EPOCH} + 5])
exten => ${SPEAKINGCLOCK},n,SayUnixTime(${FutureTime},Japan,YbdAPHM)
exten => ${SPEAKINGCLOCK},n,Playback(jp-desu)
exten => ${SPEAKINGCLOCK},n,playback(beep)
exten => ${SPEAKINGCLOCK},n,Hangup

; Echo Test
exten => ${ECHOTEST},1,Answer
exten => ${ECHOTEST},n,Wait(1)
exten => ${ECHOTEST},n,Playback(demo-echotest)
exten => ${ECHOTEST},n,Playback(beep)
exten => ${ECHOTEST},n,Echo
exten => ${ECHOTEST},n,Playback(demo-echodone)
exten => ${ECHOTEST},n,Playback(vm-goodbye)

; Ring 201-204 phones
exten => 200,1,Dial(SIP/201&SIP/202&SIP/203&SIP/204&IAX2/201&IAX2/202&IAX2/203&IAX2/204)
exten => 200,n,Hangup

; Local SIP/IAX phones 201-209
exten => _20Z,1,GotoIf($["${USEVOICEMAIL}"="YES"]?use-vm)
exten => _20Z,n,Dial(SIP/${EXTEN}&IAX2/${EXTEN},,tT)
exten => _20Z,n,Hangup
;exten => _20Z,n(use-vm),Dial(SIP/${EXTEN}&IAX2/${EXTEN},60,tTwW)
;★外線からのコール待ち受け時間。60秒では長いので25秒に設定
exten => _20Z,n(use-vm),Dial(SIP/${EXTEN}&IAX2/${EXTEN},25,tTwW)
exten => _20Z,n,NoOp(${DIALSTATUS})
exten => _20Z,n,GotoIf($["${DIALSTATUS}"="BUSY"]?vm-rec)
exten => _20Z,n,GotoIf($["${DIALSTATUS}"="NOANSWER"]?vm-rec)
exten => _20Z,n,GotoIf($["${DIALSTATUS}"="CHANUNAVAIL"]?vm-rec)
exten => _20Z,n,Hangup
exten => _20Z,n(vm-rec),Answer()
exten => _20Z,n,Wait(1)
exten => _20Z,n,Voicemail(${EXTEN})
exten => _20Z,n,Hangup

---中略---

;iax set
;★Asterisk間の連携の設定例
;★先頭に「3」を付け東京にあるサーバー
;★にユーザ=osaka、パスワード=osaka1234で接続
;★サーバ名[tokyo]の情報はiax.confで定義されている
;★具体例.内線3201に電話すると東京のサーバーの内線201に電話される
;★この設定はtokyo osaka間で相互に設定することでAsteriskの連携が出来る
;★以下は相手側の設定
;★exten => _6.,1,Dial(IAX2/tokyo:tokyo1234@osaka/${EXTEN:1})
;★exten => _6.,2,Hangup
exten => _3.,1,Dial(IAX2/osak:osaka1234@tokyo/${EXTEN:1})
exten => _3.,2,Hangup

;[conferences]
;★電話会議様に設定。2000番に電話すると複数人で電話会議が出来る
;★以下2行追加
exten => 2000,1,Answer()
exten => 2000,n,ConfBridge(1234)

; Ext. 700 for Parking
include => parkedcalls

;Hikari-Denwa Dial-out Sample
;★光電話の外線を9発信で使う設定(以下3行追加)
exten => _9.,1,Set(CALLERID(num)=${MYNUMBER})
exten => _9.,n,Set(CALLERID(name)=${MYNUMBER})
exten => _9.,n,Dial(SIP/${EXTEN:1}@hikari-denwa,120,T)

C) sip.confの編集
・グローバルアドレスの設定
・光電話用の設定
・内線の設定

$ sudo pico /etc/asterisk/sip.conf

[general]
maxexpirey=3600
defaultexpirey=3600
context=default
port=5060
bindaddr=0.0.0.0
srvlookup=yes
allowguest=no
disallow=all
allow=ulaw
allow=alaw
allow=gsm
language=ja
;★グローバルIPアドレスを設定。ddns使用の場合はドメイン名をextrnhostに設定(外部から接続時必須)
externip=210.171.XXX.XX
externhost=XXX.XXX.com
localnet=192.168.100.0/255.255.0.0

;PR-S300SE
;★光電話のIPアドレスを設定
prs300se=192.168.100.1

;HIKARI-denwa register Sample
;★光電話はレジストしないと連携できない。
;★認証ID:パスワード:内線番号@hikari-denwa/201に着信
;★ここで設定した、着信の201の端末が電話を受けられないと、即ボイスメールモード
;★で録音されてしまいます。この状態だと一般の電話は全てAsteriskに横取りされて
;★電話に出られな苦なってしまいます。そういう可能性がある場合は/201を削除して
;★ください。(201に電話を掛けると複数の内線が発呼されるのであれば問題ないですね!)
;★下記は認証ID:パスワード:内線番号@hikari-dennwa/201・・・201は着信内線番号
register => 24:1234:24@hikari-denwa/201

[201]
type=friend
defaultuser=201
;★パスワード設定
secret=1234
canreinvite=no
host=dynamic
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
mailbox=201
;★以下2行NATの設定。反応の遅い端末はqualify=2000位にする
qualify=1000
nat=yes

[202]
type=friend
defaultuser=202
;★パスワード設定
secret=1234
canreinvite=no
host=dynamic
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
mailbox=202
;★以下2行NATの設定。反応の遅い端末はqualify=2000位にする
qualify=1000
nat=yes

[203]
type=friend
defaultuser=203
;★パスワード設定
secret=1234
canreinvite=no
host=dynamic
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
mailbox=203
;★以下2行NATの設定。反応の遅い端末はqualify=2000位にする
qualify=1000
nat=yes

[204]
type=friend
defaultuser=204
;★パスワード設定
secret=1234
canreinvite=no
host=dynamic
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
mailbox=204
;★以下2行NATの設定。反応の遅い端末はqualify=2000位にする
qualify=1000
nat=yes

[205]
type=friend
defaultuser=205
;★パスワード設定
secret=1234
canreinvite=no
host=dynamic
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
mailbox=205
;★以下2行NATの設定。反応の遅い端末はqualify=2000位にする
qualify=1000
nat=yes

[206]
type=friend
defaultuser=206
;★パスワード設定
secret=1234
canreinvite=no
host=dynamic
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
mailbox=206
;★以下2行NATの設定。反応の遅い端末はqualify=2000位にする
qualify=1000
nat=yes

[207]
type=friend
defaultuser=207
;★パスワード設定
secret=1234
canreinvite=no
host=dynamic
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
mailbox=207
;★以下2行NATの設定。反応の遅い端末はqualify=2000位にする
qualify=1000
nat=yes

[208]
type=friend
defaultuser=208
;★パスワード設定
secret=1234
canreinvite=no
host=dynamic
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
mailbox=208
;★以下2行NATの設定。反応の遅い端末はqualify=2000位にする
qualify=1000
nat=yes

[209]
type=friend
defaultuser=209
;★パスワード設定
secret=1234
canreinvite=no
host=dynamic
dtmfmode=rfc2833
callgroup=1
pickupgroup=1
mailbox=209
;★以下2行NATの設定。反応の遅い端末はqualify=2000位にする
qualify=1000
nat=yes

; Sample setting of HIKARI-denwa
;★光電話レジスト用の設定
[hikari-denwa]
type=friend
;パスワードの設定
secret=1234
port=5060
;★IDの設定
defaultuser=24
;★IDの設定
fromuser=24
;★光電話のIPアドレス設定
host=192.168.100.1
;★光電話のドメイン設定(これ必須)
fromdomain=ntt-east.ne.jp
context=default
insecure=invite,port
dtmfmode=inband
canreinvite=no
disallow=all
allow=ulaw
callgroup=1

4.iax.confの編集
・asterisk間連携の設定

$ sudo pico /etc/asterisk/iax.conf

[general]
bindport=4569
;bindaddr=192.168.0.1
iaxcompat=yes
language=ja
bandwidth=medium
disallow=all
allow=ulaw
allow=gsm
jitterbuffer=no
;dropcount=2
;maxjitterbuffer=500
;maxexcessbuffer=80
;minexcessbuffer=10
;jittershrinkrate=1
;tos=lowdelay
;mailboxdetail=yes

;For e164.org incoming call
;[guest]
;type=user
;context=enum-in

[201]
type=friend
username=201
secret=pass
host=dynamic
callgroup=1
pickupgroup=1
mailbox=201

---中略---

[209]
type=friend
username=209
secret=pass
host=dynamic
callgroup=1
pickupgroup=1
mailbox=209

;★Asterisk拠点間接続に相手側サーバー情報の設定
;★[tokyo]部分
;★相手側にも設定してもらう(コメントを外して設定してもらう)
;[osaka]
;type=friend
;username=osaka
;secret=osaka1234
;context=default
;host=192.168.100.82
;port=4569
;trunk=yes
;disallow=all
;allow=ulaw
;allow=alaw
;allow=gsm

;★自分のサイトの設定
[tokyo]
type=friend
username=tokyo
secret=tokyo1234
context=default
;★サーバーアドレス:固定で無い場合は「dynamic」に設定
host=192.168.100.81
port=4569
trunk=yes
disallow=all
allow=ulaw
allow=alaw
allow=gsm

2.Asteriskの再起動
設定が完了したのでasteriskを再起動する(下記のコマンドを実行する)
$ sudo service asterisk restart

3.テスト
最後に動作確認のテストをする

a)以下の基本的な電話機能の確認
 -内線発着信・・・問題なく内線発信、着信OK
 -コールパーク機能の確認・・・内線通話中に700番にダイヤルすると701をアナウンス
  される、一旦切って701番に電話すると先ほどの続きの会話が再開された
 -代理応答(*8)・・・他のIP電話が鳴っている場合に代理で応答出来た
 -転送電話(*2)・・・通話中に押すと転送することが出来た
 -ボイスメール(299)・・・あなたにはXX件のメッセージがありますとアナウンスされ、
              内容を聞く事が出来た
 -日時アナウンス317)・・・XX年XX月XX日午後8時20分です。とアナウンスされた
 -エコーテスト(333)・・・自分の声がやまびこの様に戻ってくる音声遅延テストができた

b)電話会議を使える様にする(2000)・・・2000番に電話するとみんなで電話会議が出来た
 -初めての時「あなただけです」とアナウンス後、音楽が流れて来た
 -2人目が入室すると先に入った人へばビープ音で通知。後から入った人には、先に入っている
  人の人数をアナウンスしてくれる
c)光電話とasteriskを連携(光電話にレジスト)出来た
 -IP電話から光電話の外線発信を9117で時報が聴けた
 -光電話に着信があった場合、IP電話でも着呼さ、かつ話すことができた
 -光電話に接続したアナログ電話と内線通話が出来る・・・光電話の内線の先頭に9を付けて
                            発信し、内線通話ができた
d)2拠点にあるAsterisk同志の独立したIP電話網を接続し、相互のIP内線電話を使用可能にする
 -2台のRaspBerryPiに各々Asteriskをインストールし、相互接続できた
 -東京の内線201から大阪の内線202へ相互に内線通話(6202/3201)できた

4.光電話ルーターの設定
a)レジスト設定
・光電話側の設定で内線設定(IP電話)を実施しておかないと連携できません。
・以下の例では認証ID=24、認証パスワード=1234、着信内線番号=201になるので
 光電側の内線設定(IP電話)の設定をします
register => 24:1234:24@hikari-denwa/201
画像


---2013.05.03追加情報
・X-XX00NE系のNECルーターでは、一旦、ダイジェスト認証をしない設定にし、再度ダイジェスト認証をする設定
にしないとレジスト出来ない場合があるようです。

b)外部からAsteriskサーバーにアクセス出来る様にするための設定
・以下の通り設定
・詳細設定→静的NAT設定
 -asteriskサーバーアドレス(例):192.168.100.82
 -TCP:5060
 -UDP:5000-20000
画像


以上で、一通り使える様になりました。
次回はPanasonicのIP電話機KX-UT123Nでのテストを報告します。







"RaspBerryPi(名刺サイズLinuxボード))上でAsteriskを構築【その4】" へのコメントを書く

お名前
メールアドレス
ホームページアドレス
コメント