Académique Documents
Professionnel Documents
Culture Documents
ตอนที่ 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
[101]
context=from-internal
mailbox=101@voip4share
[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, nui@voip4share.com
101 => 101, Kik, kikka@hotmail.com
102 => 102, Joy, joyza@gmail.com
ในไฟล์ voicemail.conf นี้นะครับ มี context ดีฟอลท์ชื่อว่า default อยู่ ปกติเราจะสร้าง Mailbox ไว้ภายใต้ context นี้ แต่ว่าผมอยากแสดง
ให้เห็นว่าเราไม่ต้องใช้ [default] ก็ได้ สร้างใหม่ด้วยชื่ออะไรก็ได้ถ้าต้องการ ผมตั้ง context ใหม่ใช้ชื่อว่า voip4share แล้วสร้าง Mailbox ไว้
ภายใต้ context นี้
รูปแบบการสร้าง Mailbox แบบพื้นๆคือ mailbox_number => password แค่นี้ก็ใช้งานได้แล้วครับ ซึ่ง password ก็คือพาสเวอร์ดทีเราต้อง
ใส่เข้าไปเพื่อให้เข้าไปฟัง Voicemail ใน Mailbox ของเราได้ นอกจาก password แล้วเราก็อาจจะใส่ name, email ด้วยก็ได้ ดังที่ผมแสดงให้ดู
ในตัวอย่าง
[from-internal]
บรรทัดที่ 3 หรือ Priority 102 ถ้าเบอร์ Extension ไม่ว่าง ตัวเลข 102 ผมไม่ได้ตั้งตามใจชอบนะครับ มันมีที่มาที่ไป ซึ่ง Asterisk กาหนดไว้ว่า
ถ้าจะเขียน Dialplan ที่เช็คว่า Extension Busy หรือเปล่าให้ใช้ Priority = 101+n โดยที่ n เป็น Priority ที่ใช้คาสั่ง Dial ครับ กรณีนี้ n=1
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" หรือมีไฟกระพริบบนหน้าจอก็ได้
ถ้าในไฟล์ /etc/asterisk.conf เราเพิ่มบรรทัด vmexten (ซึ่งก็คือเบอร์ Extension ที่เราจะโทรเข้าไปฟัง Voicemail) เข้าไปด้วย เพิ่มอยู่ใน
[general] นะครับ ก็จะทาให้มีเบอร์นี้ปรากฏอยู่ใน NOTIFY ด้วย ข้อดีคือถ้าอุปกรณ์ที่ใช้มีปุ่มกดฟัง Voicemail มันก็จะโทรเข้าไฟฟัง
Voicemail โดยที่เราไม่ได้ตอ้ งกด ตัวอย่างเช่น กดเบอร์ *99 ฟังวอยส์เมล์
[general]
vmexten = *99
มาดู NOTIFY หลังจากที่ผมเพิ่ม vmexten=*99 เข้าไปในไฟล์ sip.conf กันครับ จะเห็นว่ามี *99 อยู่ใน NOTIFY ด้วย
[general]
notifymimetype=application/simple-message-summary
notifyhold=yes
vmexten=*99
[general]
format=wav49|gam
; ระบุผู้ส่ง (From)
serveremail=voicemail@voip4share.com
; แนบ Voicemail ไปกับอีเมล์หรือไม่
attach=yes
; คาสั่งที่จะใช้ตอนส่งอีเมล์ออก
mailcmd=/usr/sbin/sendmail -t
; เซ็ต Timezone
tz=Asia/Bangkok
[default]
; ผมไม่ได้สร้าง Mailbox ไว้ภายใต้คอนเท็ค default นะครับ เพราะว่าในไฟล์ sip.conf ผมเขียนเป็นแบบนี้
mailbox=Mailbox_Number@voip4share ซึ่งแสดงว่าผมต้องสร้าง Mailbox ไว้ภายใต้คอนเท็ค voip4share
[voip4share]
100 => 1234, Khun Nui, nuiz@voip4share.com
101 => 2532, Khun Kik, kikka@hotmail.com
102 => 1820, Khun Joiz, joyza@gmail.com
103 => 1234, Khun Aoo, aooz@voip4share.com,,delete=0|emailsubject=You have a new voicemail.|emailbody=Click on the
เสร็จแล้วบันทึกไฟล์ แล้วเข้า Asterisk Console จากนั้นใช้คาสั่ง module reload app_voicemail.so เพื่อเริ่มการทางานของ Voicemail ใหม่
2 ตัวอย่างอีเมล์
ตัวอย่าง Voicemail ที่ส่งเข้าอีเมล์ เป็นดังรูปครับ
ข้อความที่อยู่ในอีเมล์ทั้ง From, Body และ Subject เราแก้ไขได้นะครับ โดยแก้ไขที่บรรทัด serveremail, emailbody และ emailsubject ใน
ไฟล์ /etc/asterisk/voicemail.conf
เขียน Dial Plan ของเบอร์ *99 ไว้ภายใต้คอนเท็ค [from-internal] นะครับ เพราะว่าตอนสร้าง Client ในไฟล์ sip.conf เราใส่บรรทัด
context=from-internal ไว้
ไฟล์ /etc/asterisk/extensions.conf
[from-internal]
exten => *99,1,VoiceMailMain(@voip4share)
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
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
# to fastforward
* to rewind