asterisk voicemail

9
การใช้งาน Voicemail ใน Asterisk 1 บทความโดย คุณหนุ่ย แห่งเว็บ www.voip4share.com การใช้งาน Asterisk Voicemail ยังมีบทความเกี่ยวกับ Asterisk, Elastix, CentOS และ VoIP อีกมากมายครับทีhttp://www.voip4share.com บทความเกี่ยวกับ Asterisk Voicemail นี้นะครับ ผมจะแยกออกเป็น 3 ตอน เพราะผมต้องการนาเสนอแบบละเอียดมากที่สุดเท่าที่จะมากได้ ถ้าเขียนในตอนเดียวเลยกระทู้มันจะยาวเกินไป เกรงว่าจะเบื่อกันซะก่อน ทั้ง 3 ตอนมีหัวข้อดังนีตอนที1 การคอนฟิกไฟล์ที่เกี่ยวข้อง ตอนที2 การส่ง Voicemail เข้าอีเมล์ ตอนที3 การกดเข้าไปฟัง Voicemail และออปชั่นที่มีให้เลือก มาเริ่มจากตอนที1 กันเลยครับ ตอนที1 ว่าด้วยไฟล์ที่เกี่ยวข้องและวิธีการคอนฟิก 1 ไฟล์คอนฟิก ไฟล์ที่เกี่ยวข้องกับการทา Voicemail มีอยู3 ไฟล์นะครับ คือ sip.conf, voicemail.conf และ extensions.conf มาดูทีละไฟล์กันเลยครับ 1.1 ไฟล์ /etc/asterisk/sip.conf ให้เพิ่มบรรทัด mailbox ไว้ในเบอร์ Extension แต่ละเบอร์ รูปแบบคือ mailbox=mailbox_number@voicemail_context โดยทีmailbox_number เป็นหมายเลขของ Mailbox ซึ่งก็คือเบอร์ Extension นั่นเองครับ ส่วน voicemail_context เป็น context ที่อยู่ในไฟล์ voicemail.conf ครับ โดยผมจะใช้ context ชื่อ voip4share ถ้าเราไม่ใส่ voicemail_context ต่อท้าย เช่นบรรทัดนี้เราใส่แค่ mailbox=100 มันจะหมายถึง context ที่ชื่อ [default] ในไฟล์ voicemail.conf นะครับ ดังนั้นถ้าจะใช้ context ชื่ออื่นก็อย่าลืมใส่เข้าไปด้านหลังด้วยนะครับ เดี๋ยวจะไม่เวอร์ค [general] notifymimetype=application/simple-message-summary vmexten=*99 [100] context=from-internal mailbox=100@voip4share

Upload: iamaladin

Post on 18-Jun-2015

342 views

Category:

Documents


2 download

DESCRIPTION

เอกสารเซ็ตอัพ Asterisk Voicemail ฉบับภาษาไทย สมบูรณ์ที่สุดฉบับแรกในโลก เอกสารภาษาไทยคุณภาพจากเว็บ http://www.voip4share.com

TRANSCRIPT

Page 1: Asterisk Voicemail

การใชงาน Voicemail ใน Asterisk 1

บทความโดย คณหนย แหงเวบ www.voip4share.com

การใชงาน Asterisk Voicemail

ยงมบทความเกยวกบ Asterisk, Elastix, CentOS และ VoIP อกมากมายครบท http://www.voip4share.com

บทความเกยวกบ Asterisk Voicemail นนะครบ ผมจะแยกออกเปน 3 ตอน เพราะผมตองการน าเสนอแบบละเอยดมากทสดเทาทจะมากได

ถาเขยนในตอนเดยวเลยกระทมนจะยาวเกนไป เกรงวาจะเบอกนซะกอน ทง 3 ตอนมหวขอดงน

ตอนท 1 การคอนฟกไฟลทเกยวของ

ตอนท 2 การสง Voicemail เขาอเมล

ตอนท 3 การกดเขาไปฟง Voicemail และออปชนทมใหเลอก

มาเรมจากตอนท 1 กนเลยครบ

ตอนท 1 วาดวยไฟลทเกยวของและวธการคอนฟก

1 ไฟลคอนฟก

ไฟลทเกยวของกบการท า Voicemail มอย 3 ไฟลนะครบ คอ sip.conf, voicemail.conf และ extensions.conf มาดทละไฟลกนเลยครบ

1.1 ไฟล /etc/asterisk/sip.conf

ใหเพมบรรทด mailbox ไวในเบอร Extension แตละเบอร รปแบบคอ mailbox=mailbox_number@voicemail_context โดยท

mailbox_number เปนหมายเลขของ Mailbox ซงกคอเบอร Extension นนเองครบ สวน voicemail_context เปน context ทอยในไฟล

voicemail.conf ครบ โดยผมจะใช context ชอ voip4share

ถาเราไมใส voicemail_context ตอทาย เชนบรรทดนเราใสแค mailbox=100 มนจะหมายถง context ทชอ [default] ในไฟล voicemail.conf

นะครบ ดงนนถาจะใช context ชออนกอยาลมใสเขาไปดานหลงดวยนะครบ เดยวจะไมเวอรค

[general]

notifymimetype=application/simple-message-summary

vmexten=*99

[100]

context=from-internal

mailbox=100@voip4share

Page 2: Asterisk Voicemail

การใชงาน Voicemail ใน Asterisk 2

บทความโดย คณหนย แหงเวบ www.voip4share.com

[101]

context=from-internal

mailbox=101@voip4share

1.2 ไฟล /etc/asterisk/voicemail.conf

[general]

format=wav49|gsm

attach=yes

maxmsg=100

;userscontext=default

maxecs=180

minsecs=3

maxgreet=60

skipms=3000

maxlogins=3

[default]

;mailbox_number => password, name, email

[voip4share]

100 => 100, Nui, [email protected]

101 => 101, Kik, [email protected]

102 => 102, Joy, [email protected]

ในไฟล voicemail.conf นนะครบ ม context ดฟอลทชอวา default อย ปกตเราจะสราง Mailbox ไวภายใต context น แตวาผมอยากแสดง

ใหเหนวาเราไมตองใช [default] กได สรางใหมดวยชออะไรกไดถาตองการ ผมตง context ใหมใชชอวา voip4share แลวสราง Mailbox ไว

ภายใต context น

รปแบบการสราง Mailbox แบบพนๆคอ mailbox_number => password แคนกใชงานไดแลวครบ ซง password กคอพาสเวอรดทเราตอง

ใสเขาไปเพอใหเขาไปฟง Voicemail ใน Mailbox ของเราได นอกจาก password แลวเรากอาจจะใส name, email ดวยกได ดงทผมแสดงใหด

ในตวอยาง

Page 3: Asterisk Voicemail

การใชงาน Voicemail ใน Asterisk 3

บทความโดย คณหนย แหงเวบ www.voip4share.com

1.3 ไฟล /etc/asterisk/extensions.conf

ไฟลนเปน Dial Plan สรางเบอรไว 4 เบอร เปนเบอร Extension 3 เบอร และเบอรกดฟง Voicemail อก 1 เบอร ดงน

วธการเขยน Dialplan ส าหรบ Voicemail

[from-internal]

exten => 100,1,Dial(SIP/100,30,tTr)

exten => 100,2,Voicemail(u100@voip4share)

exten => 100,102,Voicemail(b100@voip4share)

exten => 101,1,Dial(SIP/101,30,tTr)

exten => 101,2,Voicemail(u101@voip4share)

exten => 101,102,Voicemail(b101@voip4share)

exten => 102,1,Dial(SIP/102,30,tTr)

exten => 102,2,Voicemail(u102@voip4share)

exten => 102,102,Voicemail(b102@voip4share)

; Dial *99 to Listen to Mailbox

exten => *99,1,VoiceMailMain(@voip4share)

ค าสง Voicemail เปนการโอนสายไปเขาวอยสเมลครบ รปแบบค าสงคอ Voicemail(mailbox_number@voicemail_context) โดยท

voicemail_number คอเบอร Mailbox ซงปกตกเบอร Extension นนแหละครบ สวน voicemail_context กคอ context ในไฟล

voicemail.conf

ค าสง VoiceMailMain เปนค าสงทใชเขาไปฟง Voicemail ผมตงวา กด *99 เพอฟง Voicemail

รายละเอยดของแตละ Extension เปนดงนครบ

บรรทดท 1 หรอ Priority 1 โทรไปยงเบอร Extension

บรรทดท 2 หรอ Priority 2 ถาไมรบสายภายใน 30 วนาทหรอไมสามารถตดตอเบอร Extension ได กจะสงเขา Voicemail

Page 4: Asterisk Voicemail

การใชงาน Voicemail ใน Asterisk 4

บทความโดย คณหนย แหงเวบ www.voip4share.com

บรรทดท 3 หรอ Priority 102 ถาเบอร Extension ไมวาง ตวเลข 102 ผมไมไดตงตามใจชอบนะครบ มนมทมาทไป ซง Asterisk ก าหนดไววา

ถาจะเขยน Dialplan ทเชควา Extension Busy หรอเปลาใหใช Priority = 101+n โดยท n เปน Priority ทใชค าสง Dial ครบ กรณน n=1

2 รโหลด dialplan, voicemail, sip

เขา Asterisk Console แลวพมพค าสงตอไปน

reload

เทานกฝากขอความและเชคขอความใน Maixbox ไดแลวครบ

3 ไดเรคตอรเกบ Voicemail

ถามใครฝากขอความไวใน Mailbox ขอความนนจะถกเกบไวทไดเรคตอร /var/spool/asterisk/voicemail/<voicemail_context>/

<mailbox_number>/INBOX เชนถาผมฝากขอความไวท Mailbox ของเบอร 101 ขอความจะถกเกบไวทไดเรคตอร

/var/spool/asterisk/voicemail/from-internal/101/INBOX

4 การแจงเตอนวามขอความใน Mailbox

Asterisk มความสามารถแจงแกเบอร Extension วามขอความฝากไวใน Mailbox ไดดวยนะครบ โดยเมอใดกตามทมขอความและ Asterisk

ตรวจสอบพบวาเบอร Extension นนออนไลนแลว มนจะสง NOTIFY ไปบอกเบอรดงกลาว พรอมบอกจ านวนขอความทยงไมไดเปดอาน (เปด

ฟง) เราเรยกฟเจอรนวา Message Waiting Indication (MWI) ถาอปกรณ SIP ทใชงานรองรบ MWI มนกจะแสดงใหเรารวาม Voicemail ฝาก

ไว โดยอาจจะแสดงเปนตวหนงสอ เชน "Unread Message" หรอมไฟกระพรบบนหนาจอกได

NOTIFY sip:[email protected]:3582;rinstance=d3574279b03712b9 SIP/2.0..Via: SIP/2.0/UDP 203.147.1.200:5060;branch=z9hG4bK15df674c

;rport..Max-Forwards: 70..From: "voip4share" <sip:[email protected]:5060>;tag=as1f2ffad2..To: <sip:[email protected]:3582

;rinstance=d3574279b03712b9>..Contact: <sip:[email protected]:5062>..Call-ID: [email protected]

..CSeq: 102 NOTIFY..User-Agent: voip4share v1.85..Event: message-summary..Content-Type: application/simple-message-summary.

.Content-Length: 99....Messages-Waiting: yes..Message-Account: sip:[email protected]:5060..Voice-Message: 4/0 (0/0) ..

ถาในไฟล /etc/asterisk.conf เราเพมบรรทด vmexten (ซงกคอเบอร Extension ทเราจะโทรเขาไปฟง Voicemail) เขาไปดวย เพมอยใน

[general] นะครบ กจะท าใหมเบอรนปรากฏอยใน NOTIFY ดวย ขอดคอถาอปกรณทใชมปมกดฟง Voicemail มนกจะโทรเขาไฟฟง

Voicemail โดยทเราไมไดตองกด ตวอยางเชน กดเบอร *99 ฟงวอยสเมล

[general]

vmexten = *99

Page 5: Asterisk Voicemail

การใชงาน Voicemail ใน Asterisk 5

บทความโดย คณหนย แหงเวบ www.voip4share.com

มาด NOTIFY หลงจากทผมเพม vmexten=*99 เขาไปในไฟล sip.conf กนครบ จะเหนวาม *99 อยใน NOTIFY ดวย

NOTIFY sip:[email protected]:3519;rinstance=95f593532d8a648c SIP/2.0..Via: SIP/2.0/UDP 203.147.1.200:5060;branch=z9hG4bK5b8ecf8a

;rport..Max-Forwards: 70..From: "voip4share" <sip:[email protected]:5060>;tag=as19b8f210..To: <sip:[email protected]:3519

;rinstance=95f593532d8a648c>..Contact: <sip:[email protected]:5060>..Call-ID: [email protected]

..CSeq: 102 NOTIFY..User-Agent: voip4share v1.85..Event: message-summary..Content-Type: application/simple-message-summary.

.Content-Length: 95....Messages-Waiting: yes..Message-Account: sip:*[email protected]:5060..Voice-Message: 10/0 (0/0)..

จะมเบอร *99 อยตอนทายของ Message ครบ และเราอาจจะเพมบรรทดตอไปนเขาไปในไฟล sip.conf ดวยกไดนะครบ

[general]

notifymimetype=application/simple-message-summary

notifyhold=yes

vmexten=*99

การใชงาน Asterisk Voicemail ตอนท 2 มาดการใชงาน Voicemail ใน Asterisk ตอนท 2 กนเลยครบ ซงจะวากนดวยการสง Voicemail เขาอเมล คอนฟกหลกจะอยทไฟล /etc/asterisk/voicemail.conf ครบ มาดหลกการท างานของมนกอนนะครบ "เมอมคนฝากขอความไวใน Mailbox เสรจแลว Asterisk จะเชคในไฟล voicemail.com วาหมายเลข Mailbox นนมคอนฟกวาใหสงเขาอเมลหรอไม ถามมนกจะด าเนนการสงไปยงอเมลทระบไว โดยอาจจะแคสงขอความไปแจงเฉยๆวาม Voicemail ฝากไวแลวผรบกกดฟง หรออาจจะสงขอความเสยง Voicemail แนบไปกบอเมลดวยพรอมๆกนเลย หรอสงขอความแนบไปกบอเมลแลวใหลบขอความใน Mailbox ดวย เปนไปไดหมดครบ" 1 คอนฟก voicemail.conf เพอใหสงอเมล รายละเอยดทงหมดของไฟล voicemail.conf ครบ หากสนใจกคลกเขาไปดไดเลย ในทนผมจะโฟกสเฉพาะทเกยวของกบการสง Voicemail เขาอเมล [general] format=wav49|gam ; ระบผสง (From) [email protected] ; แนบ Voicemail ไปกบอเมลหรอไม attach=yes

Page 6: Asterisk Voicemail

การใชงาน Voicemail ใน Asterisk 6

บทความโดย คณหนย แหงเวบ www.voip4share.com

; รปแบบไฟลทจะแนบไป attachfmt=wav49 ; บอกวาเบอร Extension ไหนเปนคนฝาก Voicemail ไว saycid=yes ; บอกความยาวของ Voicemail sayduration=yes ; ลบ Voicemail เมอสงเขาอเมลแลว delete=yes ; เปน Subject ของอเมล emailsubject=[PBX]: New message ${VM_MSGNUM} in mailbox ${VM_MAILBOX} ; เปน Body ของอเมล ; \n หมายถงขนบรรทดใหม, \t หมายถง Tab emailbody=Dear ${VM_NAME}:\n\n\tjust wanted to let you know you were just left a ${VM_DUR} long message (number ${VM_MSGNUM})\nin mailbox ${VM_MAILBOX} from ${VM_CALLERID}, on ${VM_DATE}, so you might\nwant to check it when you get a chance. Thanks!\n\n\t\t\t\t--VoIP4Share Service\n ; รปแบบวนทในอเมล รปแบบ 24 ชวโมง emaildateformat=%A, %d %B %Y at %H:%M:%S ; ค าสงทจะใชตอนสงอเมลออก mailcmd=/usr/sbin/sendmail -t ; เซต Timezone tz=Asia/Bangkok ตอไปเราจะสราง Mailbox ภายใตคอนเทค voip4share นเปนรายละเอยดพรอมตวอยางการสรางบรรทด Mailbox ทผมยกมาใหดดานลางครบ (เผอจะสงสยวาเขยนกนยงไง) [default] ; ผมไมไดสราง Mailbox ไวภายใตคอนเทค default นะครบ เพราะวาในไฟล sip.conf ผมเขยนเปนแบบน mailbox=Mailbox_Number@voip4share ซงแสดงวาผมตองสราง Mailbox ไวภายใตคอนเทค voip4share [voip4share] 100 => 1234, Khun Nui, [email protected] 101 => 2532, Khun Kik, [email protected] 102 => 1820, Khun Joiz, [email protected] 103 => 1234, Khun Aoo, [email protected],,delete=0|emailsubject=You have a new voicemail.|emailbody=Click on the

Page 7: Asterisk Voicemail

การใชงาน Voicemail ใน Asterisk 7

บทความโดย คณหนย แหงเวบ www.voip4share.com

attachment to listen|tz=european เสรจแลวบนทกไฟล แลวเขา Asterisk Console จากนนใชค าสง module reload app_voicemail.so เพอเรมการท างานของ Voicemail ใหม 2 ตวอยางอเมล ตวอยาง Voicemail ทสงเขาอเมล เปนดงรปครบ

Asterisk Voicemail To Email voicemail-to-mail.jpg (86.65 KiB) เปดด 57 ครง

ขอความทอยในอเมลทง From, Body และ Subject เราแกไขไดนะครบ โดยแกไขทบรรทด serveremail, emailbody และ emailsubject ใน

ไฟล /etc/asterisk/voicemail.conf

การใชงาน Asterisk Voicemail ตอนท 3

ส าหรบการใชงาน Asterisk Voicemail ตอนท 3 นนะครบ จะพดถงการกดเขามาฟง Voicemail รวมทงออปชนทมใหกดเลอกดวยนะครบวาม

อะไรบาง

1 สรางเบอร Extension พเศษส าหรบโทรเขามาฟง Voicemail

คงยงไมลมนะครบวาเบอร Extension จะโทรไปเบอรใดเบอรหนงไดนน เราตองสรางเบอรไวในไฟล /etc/asterisk/extensions.conf ซะกอน

(หรอทเรยกวาสราง Dial Plan หนะครบ) ซงเบอร Extension เบอรนตองไมซ ากบเบอรทมอยแลวใน context เดยวกน มาดกนเลยดกวาครบ

ผมจะสรางเบอร *99 ไวส าหรบโทรเขามาเชค Voicemail

Page 8: Asterisk Voicemail

การใชงาน Voicemail ใน Asterisk 8

บทความโดย คณหนย แหงเวบ www.voip4share.com

เขยน Dial Plan ของเบอร *99 ไวภายใตคอนเทค [from-internal] นะครบ เพราะวาตอนสราง Client ในไฟล sip.conf เราใสบรรทด

context=from-internal ไว

ไฟล /etc/asterisk/extensions.conf

[from-internal]

exten => *99,1,VoiceMailMain(@voip4share)

บนทกไฟล จากนนเขา Asterisk Console แลวพมพค าสง dialplan reload แคนครบ

2 กดโทรเขามาฟง Voicemail

ใชเบอร Extenstion เบอรไหนกได กดมาทเบอร *99 จะไดยนเสยงวา "Comedian Mail, Mailbox" ใหกดหมายเลข Mailbox เชน 100 แลวจะ

มเสยงวา "Password" กใหกดพาสเวอรดของ Mailbox ตามดวยเครองหมาย # เชน 1234#

จะมเสยงบอกออปชนตางๆดงตอไปน

1 Old Messages

3 Advanced options

- 1 Send reply

- 2 Call back

- 3 Envelope

- 4 Outgoing call

- 5 Leave message

- * Return to main menu

4 Play previous message

5 Repeat current message

6 Play next message

7 Delete current message

8 Forward message to another mailbox

9 Save message in a folder

Page 9: Asterisk Voicemail

การใชงาน Voicemail ใน Asterisk 9

บทความโดย คณหนย แหงเวบ www.voip4share.com

* Help; during msg playback: Rewind

# Exit; during msg playback: Fastforward

2 Change folders

3 Advanced options

0 Mailbox options

- 1 Record your unavailable message

- 2 Record your busy message

- 3 Record your name

- 4 Change your password

- * Return to the main menu

* Help

# Exit

และขณะฟงขอความทบนทกไว สามารถใชอก 2 ปม ไดแก

# to fastforward

* to rewind