AsteriskThailand
May 22, 2012, 11:17:01 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: การเปลี่ยนที่เก็บ voicemail ไปยัง file-server  (Read 1412 times)
Patrickz
Global Moderator
Sr. Member
*****
Posts: 274


View Profile WWW
« on: January 24, 2008, 12:05:11 PM »

สวัสดีครับ

  ผมต้องการแยก voicemail ไปยัง file server ซึ่งเป็น Windows
โดยผมได้ทำการ mount samba filesystem  ด้วยคำสั่งดังนี้
mount -t smbfs -o username=Administrator,password=myPassword //192.168.1.77/voicemail /mnt/voicemail

เมื่อได้ /mnt/voicemail มาแล้ว จึงได้ทำ link โดย redirect จาก /var/spool/asterisk/voicemail ไปยัง /mnt/voicemail ด้วยคำสั่งดังนี้
ln -s /mnt/voicemail /var/spool/asterisk/voicemail

เื่พื่อหลีกเลี่ยงปัญหา permission ผมจึงแก้ไข /etc/fstab โดยกำหนดสิทธิอ่านเขียน เป็น 777 โดยผู้เป็นเจ้าของคือ asterisk ด้วยคำสั่งดังนี้
\\192.168.5.77\voicemail  /mnt/voicemail  smbfs  password=myPassword,fmask=777,uid=100,dmask=777,gid=101,username=Administrator  0  0


ที่ File Server (Windows) ผมได้ทำการลบไฟล์ทั้งหมดใน \\192.168.5.77\voicemail ออก เหลือเพียง folder ที่ว่างเปล่า จากนั้นทดสอบ โดยการโทรไปยังเบอร์ที่เปิดใช้บริการ voicemail ไว้  หลังจาก verbose ก็ดูเหมือนจะทำงานได้ตามปกติ

Quote

-- Playing 'beep' (language 'en')
-- Recording the message
-- x=0, open writing:  /var/spool/asterisk/voicemail/default/7001/tmp/sOpVTs format: wav49, 0x9080b00
-- x=1, open writing:  /var/spool/asterisk/voicemail/default/7001/tmp/sOpVTs format: wav, 0x9084d28

-- User ended message by pressing #
-- Playing 'auth-thankyou' (language 'en')
-- Playing 'vm-review' (language 'en')
-- Saving message as is
-- Playing 'vm-msgsaved' (language 'en')
-- Executing Goto("SIP/7000-090740d8", "exit-SUCCESS|1") in new stack
-- Goto (macro-vm,exit-SUCCESS,1)
-- Executing Playback("SIP/7000-090740d8", "goodbye") in new stack
-- Playing 'goodbye' (language 'en')
-- Executing Hangup("SIP/7000-090740d8", "") in new stack



หลังจากที่บันทึกเสียงเสร็จ ผมได้ตรวจสอบ folder \\192.168.5.77\voicemail ซึ่ง Asterisk ก็ได้สร้าง folder ของ account นั้นๆ ให้
voicemail\
voicemail\default
voicemail\default\7001
voicemail\default\7001\greet
voicemail\default\7001\INBOX
voicemail\default\7001\temp
voicemail\default\7001\tmp
voicemail\default\7001\unavail

แต่เมื่อดูใน folder voicemail\default\7001\INBOX กลับไม่มีไฟล์เสียงถูกบันทึกเอาไว้

ผมได้ทำการทดสอบการเปลี่ยน mount จาก /var/spool/asterisk/voicemail ไปยัง  /mnt/voicemail_local (ซึ่งเป็น directory ที่ผมสร้างขึ้นมาไว้)  ก็พบว่า Asterisk ทำงานตามปกติ

ที่สงสัยตอนนี้คือ permission ในการเขียนน่าจะผิดปกติ แต่อย่างไรก็ตาม Asterisk กลับสร้าง folder ของ account ได้?

ไม่ทราบว่าท่านใดมีปัญหานี้บ้างครับ  หรือมีความเห็นในการตรวจสอบแก้ไขอย่างไร?

ขอบคุณล่วงหน้าครับ Smiley
« Last Edit: January 24, 2008, 12:17:28 PM by Patrickz » Logged

stp
Newbie
*
Posts: 32


View Profile
« Reply #1 on: January 24, 2008, 08:00:48 PM »

การ streaming ผ่าน network จะค่อนข้างมีปัญหา ทางที่ดีควรจะ save ที่ local harddisk แล้วค่อย copy ผ่าน network เมื่อวางหูแล้ว
Logged
Patrickz
Global Moderator
Sr. Member
*****
Posts: 274


View Profile WWW
« Reply #2 on: January 24, 2008, 09:10:06 PM »

การ streaming ผ่าน network จะค่อนข้างมีปัญหา ทางที่ดีควรจะ save ที่ local harddisk แล้วค่อย copy ผ่าน network เมื่อวางหูแล้ว

ขอบคุณครับ ประเด็นเรื่อง file streaming ผ่าน network file system (smbfs, nfs) อันนี้ผมก็มองอยู่เหมือนกัน
เพราะไม่แน่ใจว่า การ streaming ผ่านไปยัง file server เหล่านี้ยอมให้มากน้อยขนาดไหน

ล่าสุดผมเพิ่งทราบว่า  smbfs นั้นเก่าแล้ว  ปัจจุบันเขาใช้ cifs แทน ยังไม่ทราบว่าจะเป็นอย่างไร ถ้าไม่ได้จริงๆ ผมคงต้องใช้วิธี rsync และหวังว่าจะไม่มีปัญหากับ voicemailmain()
Logged

Patrickz
Global Moderator
Sr. Member
*****
Posts: 274


View Profile WWW
« Reply #3 on: January 25, 2008, 04:06:09 PM »

สวัสดีครับ

วันนี้ได้ลองทดสอบกับ samba server บน Linux เองครับ (ใช้เครื่องเดียวกันเอง)

/voicemail_share   เป็น share folder ครับ
/mnt/voicemail_share เป็น mount point ของ /var/spool/asterisk/voicemail ครับ

ที่ /etc/fstab ตั้งเป็น
\\127.0.0.1\voicemail  /mnt/voicemail_share  smbfs  fmask=777,uid=99,dmask=777,gid=99  0  0

ที่ /etc/samba/smb.conf เป็น
[voicemail]
guest account = root
writeable = yes
path = /voicemail_share
force directory mode = 777
force create mode = 777
public = yes
create mode = 777
directory mode = 777


ใช้ samba บน linux เครื่องเดียวกันเอง ไม่มีปัญหาครับ  แต่หากใช้เชื่อมต่อกับ Windows ยังมีปัญหาอยู่
« Last Edit: January 30, 2008, 10:38:07 AM by Patrickz » Logged

Patrickz
Global Moderator
Sr. Member
*****
Posts: 274


View Profile WWW
« Reply #4 on: January 30, 2008, 02:10:04 PM »

คิดว่ามีปัญหากับการ write streaming file ข้าม network กัน  แม้ว่าจะหาวิธีเลี่ยงได้ (rsync) มันก็พอถูๆไถๆ :/
เสียเวลาไปหนึ่งอาทิตย์  สรุปว่าเขียน voicemail เองดีกว่าครับ  Cry

Logged

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.12 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!
SEM | Asterisk | สถานที่ท่องเที่ยว | สัมมนา SEM