มีคำว่า <ZOMBIE> โชว์ใน CL แล้วก็เสียงมันมารวมกันมั่วเลยครับ

Asterisk Opensource IP Pbx

มีคำว่า <ZOMBIE> โชว์ใน CL แล้วก็เสียงมันมารวมกันมั่วเลยครับ

โพสต์โดย pakasuz » 08 มิ.ย. 2012 12:14

มีใครเคยเจอปัญหาแบบนี้บ้างไหมครับ คือ อยู่ดีๆ เราก็ได้ยินเสียงคนอื่นคุยกันอยู่ในสายเรา ทั้งๆ ที่เราก็ไม่ได้กดแอบฟังนะครับ ทำให้ได้ยินเสียงดังปนกันไปหมด ฟังไม่รู้เรื่องเลยครับ

ผมลองเข้าไปดูใน CL ผ่าน Putty ก็พบว่า มันมักจะมีข้อความต่อท้้าย อย่างเช่น...

== Spawn extension (macro-hangupcall, s, 34) exited non-zero on 'SIP/101-000003c8<ZOMBIE>' in macro 'hangupcall'
== Spawn extension (macro-dial, s, 7) exited non-zero on 'SIP/101-000003c8<ZOMBIE>' in macro 'dial'
== Spawn extension (from-internal, 101, 18) exited non-zero on 'SIP/101-000003c8<ZOMBIE>'
== MixMonitor close filestream

แบบนี้นะครับ ผมเองก็ไม่แน่ใจว่าจะเกี่ยวกันไหม ..แต่ ว่า เมื่อก่อนมันไม่เคยเกิดข้อความแบบนี้นะครับ ตอนมันยังดีๆ อยู่
ผมไปอ่านเจอ ก็เห็นฝรั่งบอกว่า มันเป็นคอล ที่เคลียร์ไม่ได้ กลายเป็นซอมบี้ แต่ผมเองก็ได้ Restart Elastix แล้ว Restore Elastix ก็แล้ว ลบ Extension ที่ถูกซอมบี้ต่อท้ายแล้วสร้างใหม่ก็แล้ว ก็ยังเหมือนเดิมเลยครับ

อยากขอความช่วยเหลือครับ เผื่อท่านใดเคยเจอปัญหาเดียวกันหรือมีวิธีแนะนำแก้ไข ช่วยแนะนำด้วยนะครับ ขอบคุณมากๆ ครับ
pakasuz
Silver Member
 
โพสต์: 24
ลงทะเบียนเมื่อ: 03 ต.ค. 2011 12:00

Re: มีคำว่า <ZOMBIE> โชว์ใน CL แล้วก็เสียงมันมารวมกันมั่วเลยครับ

โพสต์โดย pakasuz » 08 มิ.ย. 2012 15:27

เพิ่มเติมนะครับ

-- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
== Begin MixMonitor Recording SIP/102-0000008a
dialparties.agi: Starting New Dialparties.agi
dialparties.agi: Caller ID name is 'Klaw' number is '102'
dialparties.agi: Methodology of ring is 'ringallv2'
-- dialparties.agi: Added extension 214 to extension map
-- dialparties.agi: Extension 214 cf is disabled
-- dialparties.agi: Extension 214 do not disturb is disabled
dialparties.agi: EXTENSION_STATE: 0 (NOT_INUSE)
dialparties.agi: Extension 214 has ExtensionState: 0
-- dialparties.agi: Checking CW and CFB status for extension 214
-- dialparties.agi: dbset CALLTRACE/214 to 102
-- dialparties.agi: Filtered ARG3: 214
-- <SIP/102-0000008a>AGI Script dialparties.agi completed, returning 0
-- Executing [s@macro-dial:7] Dial("SIP/102-0000008a", "SIP/214,22,trM(auto-blkvm)") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called 214
-- SIP/214-0000008b is ringing
-- Stopped music on hold on Local/102@from-queue-f829;2
-- Executing [h@macro-dial:1] Macro("SIP/102-0000008a<ZOMBIE>", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/102-0000008a<ZOMBIE>", "0?endmixmoncheck") in new stack
-- Executing [s@macro-hangupcall:2] Set("SIP/102-0000008a<ZOMBIE>", "MIXMON_CALLFILENAME=/var/spool/asterisk/monitor/g214-20120608-151115-1339143075.210.gsm") in new stack
-- Executing [s@macro-hangupcall:3] GotoIf("SIP/102-0000008a<ZOMBIE>", "1?defaultmixmondir") in new stack
-- Goto (macro-hangupcall,s,5)
-- Executing [s@macro-hangupcall:5] System("SIP/102-0000008a<ZOMBIE>", "test -e /var/spool/asterisk/monitor/g214-20120608-151115-1339143075.210.gsm") in new stack
-- Executing [s@macro-hangupcall:6] NoOp("SIP/102-0000008a<ZOMBIE>", "SYSTEMSTATUS = APPERROR") in new stack
-- Executing [s@macro-hangupcall:7] GotoIf("SIP/102-0000008a<ZOMBIE>", "0?endmixmoncheck") in new stack
-- Executing [s@macro-hangupcall:8] Set("SIP/102-0000008a<ZOMBIE>", "CDR(userfield)=") in new stack
-- Executing [s@macro-hangupcall:9] NoOp("SIP/102-0000008a<ZOMBIE>", "End of MIXMON check") in new stack
-- Executing [s@macro-hangupcall:10] GotoIf("SIP/102-0000008a<ZOMBIE>", "1?nomeetmemon") in new stack
-- Goto (macro-hangupcall,s,15)
-- Executing [s@macro-hangupcall:15] NoOp("SIP/102-0000008a<ZOMBIE>", "MEETME_RECORDINGFILE=") in new stack
-- Executing [s@macro-hangupcall:16] GotoIf("SIP/102-0000008a<ZOMBIE>", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,18)
-- Executing [s@macro-hangupcall:18] NoOp("SIP/102-0000008a<ZOMBIE>", "TOUCH_MONITOR_OUTPUT=") in new stack
-- Executing [s@macro-hangupcall:19] GotoIf("SIP/102-0000008a<ZOMBIE>", "1?noautomon2") in new stack
-- Goto (macro-hangupcall,s,25)
-- Executing [s@macro-hangupcall:25] NoOp("SIP/102-0000008a<ZOMBIE>", "MONITOR_FILENAME=") in new stack
-- Executing [s@macro-hangupcall:26] GotoIf("SIP/102-0000008a<ZOMBIE>", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,29)
-- Executing [s@macro-hangupcall:29] GotoIf("SIP/102-0000008a<ZOMBIE>", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,32)
-- Executing [s@macro-hangupcall:32] GotoIf("SIP/102-0000008a<ZOMBIE>", "1?theend") in new stack
-- Goto (macro-hangupcall,s,34)
-- Executing [s@macro-hangupcall:34] Hangup("SIP/102-0000008a<ZOMBIE>", "") in new stack
== Spawn extension (macro-hangupcall, s, 34) exited non-zero on 'SIP/102-0000008a<ZOMBIE>' in macro 'hangupcall'
== Spawn extension (macro-dial, s, 7) exited non-zero on 'SIP/102-0000008a<ZOMBIE>' in macro 'dial'
== Spawn extension (from-internal, 102, 18) exited non-zero on 'SIP/102-0000008a<ZOMBIE>'
== MixMonitor close filestream

น่าจะเป็นข้อมูลเบื้องต้นให้ทุกท่านที่กำัลังจะช่วยตอบคำถามให้ผมได้นะครับ
pakasuz
Silver Member
 
โพสต์: 24
ลงทะเบียนเมื่อ: 03 ต.ค. 2011 12:00

Re: มีคำว่า <ZOMBIE> โชว์ใน CL แล้วก็เสียงมันมารวมกันมั่วเลยครับ

โพสต์โดย nuiz » 09 มิ.ย. 2012 00:17

ตั้งแต่ทำ elastix มาผมยังไม่เคยเจออาการนี้เลยครับ รบกวนส่ง tv account มาให้ด้วยครับ ผมจะรีโมทเข้าไปเช็คดู ต้องไล่ดูทีละอย่าง cpu load, harddisk space, process, asterisk version เผื่อว่าจะอัพเดทเป็นเวอร์ชั่นแล้วแจ๊คพอทพอดี
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 7069
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: มีคำว่า <ZOMBIE> โชว์ใน CL แล้วก็เสียงมันมารวมกันมั่วเลยครับ

โพสต์โดย pakasuz » 09 มิ.ย. 2012 08:35

ขอบคุณมากคร้าบพี่หนุ่ย ...เดี๋ยวผมส่งไปให้นะครับ :D
pakasuz
Silver Member
 
โพสต์: 24
ลงทะเบียนเมื่อ: 03 ต.ค. 2011 12:00

Re: มีคำว่า <ZOMBIE> โชว์ใน CL แล้วก็เสียงมันมารวมกันมั่วเลยครับ

โพสต์โดย nuiz » 12 มิ.ย. 2012 15:50

จากที่ดูข้อมูลในไฟล์ log -> /var/log/asterisk/full พบว่าอาการ ZOMBIE ไม่ได้เป็นทุกสายครับ มันเกิดแบบสุ่มๆไม่ได้เป็นที่เบอร์ใดเบอร์หนึ่ง เดี๋ยวจะลองดูให้ละเอียดๆกว่านี้ครับ เผื่อว่าจะเจอไรดีๆ
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 7069
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: มีคำว่า <ZOMBIE> โชว์ใน CL แล้วก็เสียงมันมารวมกันมั่วเลยครับ

โพสต์โดย nuiz » 12 มิ.ย. 2012 16:23

เพิ่มเติมครับ... มีข้อสังเกตุดังต่อไปนี้
1. มันเป็น ZOMBIE ได้ไม่ว่าจะเป็นการโทรระหว่าง extension to extension บน Elastix หรือโทรจากสายนอกมาที่ extension บน Elastix
*** แต่โทรจาก extension บน Elastix ไปสายนอก ไม่พบว่าเกิด ZOMBIE ***
2. ถ้าเกิด ZOMBIE มันจะเกิดหลังจากบรรทัดนี้
res_musiconhold.c: -- Stopped music on hold on
สันนิษฐานว่ามันจะเกี่ยวข้องกับ music on hold
3. การโทรระหว่าง extension-to-extension และ สายนอก-to-extension มีการเล่น music on hold ทุกครั้ง ก็เลยมีโอกาสเกิด ZOMBIE แต่ในขณะที่โทรจาก extension-to-สายนอก ไม่มีการเล่น music on hold เลยไม่เกิด ZOMBIE

สาเหตุ (เดาเอานะครับ จากข้อมูลด้านบน) -> คาดว่ามันจะเกิดจาก music on hold ซึ่งเมื่อปลายทางรับสายและมีการหยุดเล่น music on hold อาจจะทำให้ session ขณะที่ Asterisk ทำการ transfer สายระหว่างต้นทางและปลายทางเกิดการมั่ว ทำให้ session ที่ควรจะเป็นแบบ unique (ไม่ซ้ำกัน) มันกลับซ้ำกัน เสียงก็เลยพันกันมั่ว หน่ะครับ

วิธีแก้ไข
1. ปิด music on hold สัก 0.5 วัน หรือ 1 วัน แล้วสังเกตุ ZOMBILE หรือว่ามีสายพันกันหรือไม่
2. ลบไฟล์ใน music on hold (ถ้ามีหลายไฟล์) ให้เหลือไฟล์เดียว บางไฟล์อาจจะมีปัญหา ไม่สมบูรณ์
3. ให้เล่นไฟล์ใน music on hold แบบ random


ประมาณนี้ครับ
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 7069
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: มีคำว่า <ZOMBIE> โชว์ใน CL แล้วก็เสียงมันมารวมกันมั่วเลยครับ

โพสต์โดย sitt01 » 12 ส.ค. 2012 17:19

Kill zombie AGI scripts while debugging

If your script failed for some reason, the process could be hung; remember to kill your script process with killproc my_script.php before testing it again.

ไม่รู้ว่าพอจะช่วยได้หรือเปล่า บังเอิญ ไปเจอมา
ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Gold Member
 
โพสต์: 319
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19


ย้อนกลับไปยัง Asterisk SIP Server

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 6 ท่าน

cron