หน้า 1 จากทั้งหมด 2

การฝากข้อความใน Asterisk

โพสต์โพสต์แล้ว: 11 ม.ค. 2010 14:53
โดย rookie
ผมได้ตั้งค่าตามนี้ครับ

Voicemail.conf

[default]

404 => 1234,chakkawarn,chakkawarn@ies.co.th,,|tz=central|attach=no|saycid=yes|dialout=fromvm|callback=fromvm|review=yes|operator=yes|envelope=yes|sayduration=yes|saydurationm=1

ก็สามารถฝากได้ปรกติครับแตไม่มีการแจ้งเตือนไปที่หัวเครื่องให้ทราว่ามีการฝากข้อความไม่ทราบว่าต้องทำการตั้งค่าอะไรเพิ่มเติมใหมครับ

ขอบคุณครับ

Re: การฝากข้อความใน Asterisk

โพสต์โพสต์แล้ว: 11 ม.ค. 2010 22:58
โดย voip4share
Asterisk สามารถแจ้งการฝากข้อความไปที่หัวเครื่อง IP Phone ได้นะครับอย่างที่ทราบมา โดยถ้ามีข้อความฝากไว้ที่เบอร์ Extension 404 เมื่อเบอร์นี้รีจิสเตอร์เข้ามา Asterisk จะส่ง SIP NOTIFY ไปบอก พร้อมทั้งบอกว่ามีข้อความใหม่กี่ข้อความ "ถ้าหัวเครื่องรองรับข้อความ SIP NOTIFY นี้มันก็จะแสดงจำนวน Messages บนหน้าจอครับ"

ดู SIP Notify ต่อไปนี้จะเข้าใจมากขึ้นครับ
sip-notify-message-with-voicemail.png
SIP NOTIFY Message
sip-notify-message-with-voicemail.png (22.15 KiB) เปิดดู 6896 ครั้ง

เป็น SIP Notify ที่ส่งจาก Asterisk ไปหา SIP Client หลังจากที่มัน Register สำเร็จ จะมีฟิลด์ที่บอกว่ามี Voice Mail ใหม่กี่ข้อความ (ในรูปคือ 1 ข้อความ) และบอกว่าให้กดเบอร์ *97 เพื่อฟังวอยส์เมล์ครับ

ผมคิดว่าสาเหตุที่หัวเครื่องไม่โชว์น่าจะเป็นเพราะว่ามันดู SIP Notify ไม่รู้เรื่องหน่ะครับ ฟีเจอร์แจ้งข้อความแบบนี้เราเรียกว่า MWI หรือ Message Waiting Indication นะครับ Asterisk หน่ะรองรับอยู่แล้วแต่ผมไม่แน่ใจว่าหัวเครื่องที่ใช้รองรับหรือเปล่า ลองดูในเสป็คของหัวเครื่องดูครับและอย่าลืมเช็คด้วยนะครับว่า Asterisk ส่งมามั๊ย

Re: การฝากข้อความใน Asterisk

โพสต์โพสต์แล้ว: 19 ม.ค. 2010 14:35
โดย rookie
เครื่อง IP ผมซัพพอร์ท MWI จริงๆด้วยครับอย่างงี้ผมจะเซทให้ระบบรองรับ MWI ได้อย่างไรครับเพราะเท่าที่ลอง x-lite ก็ไม่มีแจ้งเตือนฝากข้อความเหมือนกันครับ

ขอบคุณครับ

Re: การฝากข้อความใน Asterisk

โพสต์โพสต์แล้ว: 19 ม.ค. 2010 17:32
โดย rookie
ลืมบอกไปครับ sip notify เช็คยังไงครับเพราะหากดูจาก log ไม่มีอย่างที่เอารูปมาลงให้ครับต้อง ขออภัยด้วยนะครับหากถามมากไปหน่อยเพราะสำหรับผมเรื่อง linux นี่มือใหม่หัดขับเลยครับ

ขอบคุณครับ :D

Re: การฝากข้อความใน Asterisk

โพสต์โพสต์แล้ว: 19 ม.ค. 2010 20:22
โดย voip4share
ปกติถ้าเครื่องรองรับ mwi ก็ไม่ต้องทำอะไรครับ เวลามี sip notify เข้ามาแล้วภายในมีบอกจำนวน message ก็จะเอามาโชว์บนหน้าจอเอง แต่ถ้าจะให้ชัวร์จริงๆต้องเข้าไปดูคอนฟิกของมันหน่ะครับ เผื่อแบบว่าจะมี enable/disable อะไรทำนองนี้

สำหรับวิธีการดู sip notify นั้นต้องดูโดยใช้โปรแกรม wireshark/tethereal หรือไม่ก็ ngrep นะครับ อยู่ในกระทู้นี้ viewtopic.php?f=12&t=72

ลองทำตามดูครับ ถ้ายังมอนิเตอร์ไม่ได้ รบกวนถามมาอีกครับ

Re: การฝากข้อความใน Asterisk

โพสต์โพสต์แล้ว: 21 ม.ค. 2010 14:24
โดย rookie
http://images.temppic.com/21-01-2010/im ... 619300.bmp

จากลิ้งค์ด้านบนจะเห็นว่าไม่มีการส่ง sip notify ครับ และอีกอย่างที่แปลกคือหากดูจากรูปจะมีการแจ้งไม่มีเมลล์บ็อก 404 ทั้งที่สามารถทำการฝากข้อความได้เป็นปรกติทุกอย่างครับ
ผมละ งง เลยยังไงรบกวนขอคำแนะนำด้วยครับ งง มากๆเลยครับ

ขอรบกวนด้วยครับ
ขอบคุณครับ

Re: การฝากข้อความใน Asterisk

โพสต์โพสต์แล้ว: 22 ม.ค. 2010 16:43
โดย voip4share
เอาเคส NOTIFY ก่อนนะครับ
ให้เช็ค 2 จุดนะครับ ในไฟล์ไฟล์ sip.conf และ voicemail.conf

ไฟล์ sip.conf เช็คว่ามีบรรทัด mailbox หรือเปล่า ถ้าไม่มีให้เพิ่มเข้าไป รูปแบบคือ mailbox=mailbox_number@voicemail_context โดยที่ mailbox_number คือเบอร์ Mailbox นะครับ เช่น 404 หรือ 405 ส่วน voicemail_context คือ context ในไฟล์ voicemail.conf สมมติว่าในไฟล์ voicemail.conf คอนฟิกโดยใช้คอนเท็ก [default] บรรทัด maibox ให้ใส่ mailbox=404 หรือ mailbox=404@default ก็ได้

ไฟล์ sip.conf
[404]
mailbox=404

[405]
mailbox=405

ไฟล์ voicemail.conf
[default]
404 => 1234,......

เสร็จแล้วรีโหลด sip และ voicemail โดยเข้า Asterisk Console แล้วพิมพ์ sip reload และ module reload app_voicemail.so ตามลำดับ

อาจจะเพิ่ม 2 บรรทัดนี้เข้าไปในไฟล์ sip.conf ด้วยก็ได้นะครับ
[general]
notifymimetype=application/simple-message-summary
vmexten=66

66 คือเบอร์ที่ใช้โทรเข้าไปฟัง Voicemail (ผมดูจากไฟล์ extensions.conf ที่คุณ Rookie แสดงให้ดู)
อ่านข้อมูลเพิ่มเติมได้ที่ กระทู้นี้ครับ

SUBSCRIBER เป็น SIP message แบบหนึ่งซึ่ง SIP device ไม่ว่าจะเป็น Client หรือ Server ก็ตาม ส่งไปหา SIP Device อื่นเพื่อบอกกว่า "ถ้ามีการเปลี่ยนแปลงสถานะ กรุณาแจ้งให้ผมทราบด้วย" สถานะในที่นี้ก็ได้แก่ วางสาย ยกหู สายไม่ว่าง อะไรทำนองนี้หน่ะครับ เครื่องไอพีโฟนที่ปุ่มเยอะๆเหมือนกับเครื่องคีย์ของโอเปอร์เรเตอร์ (ผมเคยเห็นยี่ห้อ Grandstream) ที่มันมีปุ่มแสดงสถานะของเบอร์ Extensions ได้ว่าเบอร์ไหนใช้สายอยู่หรือไม่ได้ใช้สาย มันก็ใช้คอนเซ็ปต์แบบนี้แหล่ะครับ โดยมันอาจจะส่ง SUBSCRIBE request มาที่ SIP Server (IP PBX, Asterisk) หรือที่เบอร์ Extension โดยตรง เพื่อสอบถามสถานะของเบอร์ Extension แต่ละเบอร์ และถ้าเบอร์เหล่านั้นมีการเปลี่ยนสถานะมันก็จะส่งกลับไปบอก

ข้อความ SUBSCRIBER เป็นคนละกรณีกันกับ NOTIFY แจ้ง Voicemail นะครับ การที่ Client ส่ง SUBSCRIBE มาแล้ว Asterisk ส่ง 404 Not Found กลับไปนั้นเป็นเพราะว่า เราไม่ได้คอนฟิกบอกให้ Asterisk ทำอะไรหน่ะครับ ถ้าต้องการให้ Asterisk จัดการกับ SUBSCRIBE ได้ ให้ทำดังนี้ครับ

ไฟล์ sip.conf
[general]
subscribecontext=subscribe-client

ไฟล์ extensions.conf
ให้เพิ่มคอนเท็ก [subscribe-client] ดังตัวอย่าง

[default]
exten => 404,1,Dial(SIP/404)
... คอนฟิกเดิมๆ

exten => 405,1,Dial(SIP/405)
... คอนฟิกเดิมๆ

[subscribe-client]
exten => 404,hint,SIP/404
exten => 405,hint,SIP/405

แล้วรีโหลด sip และ dialplan ใหม่

Re: การฝากข้อความใน Asterisk

โพสต์โพสต์แล้ว: 24 ม.ค. 2010 22:36
โดย rookie
สำเร็จแล้วครับได้ละครับ ได้ทำตามคำแนะนำแล้วเห็นผลเลยครับอยากขอบคุณ คุณ voip4share มากๆครับสำหรับคำแนะนำดีๆและละเอียดมักๆครับผิดจากหลายๆที่เหมือนไม่อยาก
จะตอบเลยยังไงก็จะติดตามเรื่อยๆครับและจะหาปัญหามาถามบ่อยๆ...อิๆ :lol:

ขอบคุณมากครับขอบคุณจริงๆสำหรับคำแนะนำครับ

Re: การฝากข้อความใน Asterisk

โพสต์โพสต์แล้ว: 24 ม.ค. 2010 23:57
โดย voip4share
ยินดีครับ คุณ Rookie ก็ฝีมือนะครับผมดูจากไฟล์ extensions.conf มีใช้ตัวแปรด้วย ผมเองยังเขียนไม่ได้ขนาดนั้นเลย เคยใช้แต่ Elastix มาซะชิน (มันง่ายไปก็เลยไม่ค่อยรู้อะไรมาก) พอมาจับ Asterisk แท้ๆก็เลยรู้สึกว่ามันไม่ง่ายเลยนะ
ติดปัญหาตรงได้ก็รบกวนโพสต์มาได้เลยครับ ผมอาจจะช่วยแก้ปัญหาได้นิดๆหน่อย ผมจะได้รู้ด้วยหน่ะครับ :D