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

สอบถามเกี่ยวกับ DAHDI ตรวจสอบว่าโทรไปแล้วรับหรือยัง

โพสต์โพสต์แล้ว: 21 มิ.ย. 2010 12:08
โดย l2ashies
ปัญหาคือ ไม่สามารถรู้ได้ว่า สายที่โทรออกผ่าน DAHDI นั้น โทรไปแล้วมีคนรับหรือยัง
เนื่องจาก asterisk โทรไปแล้วมันขึ้นว่า DAHDI-x was Answer. ตลอดเลยครับ

ไม่ทราบมีวิธีทำให้รู้ได้บ้างว่า โทรไปแล้ว ปลายทางยังไม่ได้รับสายอะครับ :D

Re: สอบถามเกี่ยวกับ DAHDI ตรวจสอบว่าโทรไปแล้วรับหรือยัง

โพสต์โพสต์แล้ว: 22 มิ.ย. 2010 22:46
โดย nuiz
สำหรับผมนะครับ นานแล้วที่ไม่ได้ใช้การ์ด DAHDI เพราะโทรผ่าน SIP Trunk ตลอดเลย
ถ้าเป็นโทรผ่าน SIP Trunk มันจะโชว์แบบนี้ครับ ปลายทางยังไม่รับสาย
-- Called 0851619439@trunk
-- SIP/trunk-00001f11 is making progress passing it to SIP/129-00001f10

ถ้าปลายทางรับสายจะขึ้นแบบนี้ (เพิ่ม)
-- SIP/trunk-00001f13 answered SIP/129-00001f12

คือจะมี answered หน่ะครับ

ถ้า DAHDI มัน Answer แล้วก็ดูไม่ได้ครับว่าปลายทาง (จริงๆ) รับหรือยัง ต้องทำให้ DAHDI ไม่รับสาย ถึงจะรู้ว่าปลายทาง Answer หรือเปล่า
ใน Dialplan ที่โทรออกทาง DAHDI มีบรรทัด Answer ป่าวครับ ถ้ามีลองเอาออก

Re: สอบถามเกี่ยวกับ DAHDI ตรวจสอบว่าโทรไปแล้วรับหรือยัง

โพสต์โพสต์แล้ว: 23 มิ.ย. 2010 09:40
โดย l2ashies
ขอบคุณครับ

ตอนผมลองใช้ Gateway GSM มันก็รู้ผลนะครับว่ารับหรือยังไม่ได้รับ

แต่ใช้ Dahdi นี่มัน Answer ตลอด

พอดีผมใช้ .call ในการโทรออกอะครับ เช่น DAHDI/g0/089xxxxxx

แล้วผมสั่งให้มันเข้า Context ที่เป็น IVR เลย โดยที่ ใน IVR นั้น ก็ยังไม่มี ANSWER นะคับ T^T

ขอบคุณสำหรับคำตอบคับผม ^^

พยายามต่อไป...

Re: สอบถามเกี่ยวกับ DAHDI ตรวจสอบว่าโทรไปแล้วรับหรือยัง

โพสต์โพสต์แล้ว: 23 มิ.ย. 2010 12:31
โดย nuiz
ปกติเวลาส่งเข้า IVR ผมว่ามันน่าจะรับสายเลยนะครับ หรือว่ารอให้ปลายทางรับสายก่อน ถึงค่อยโอนสายเข้า IVR

ถ้าสะดวกช่วยก๊อบข้อความใน Asterisk Console มาให้ดูหน่อยครับ อธิบายเพิ่มเติมนิดนึงว่าข้อความอย่างนี้เกิดขั้นตอนไหน

อาจช่วยไม่ได้นะครับ แต่ว่าอยากเห็นอาการของมัน

:D

Re: สอบถามเกี่ยวกับ DAHDI ตรวจสอบว่าโทรไปแล้วรับหรือยัง

โพสต์โพสต์แล้ว: 23 มิ.ย. 2010 14:04
โดย l2ashies
อะครับ

ขั้นตอนคือ ผมสร้าง fill.call มา แล้ว copy ไปไว้ที่ /var/spool/asterisk/outgoing
แล้วผมให้ file.call ทำการโทรผ่าน DAHDI/g1/086936xxxx

พอก๊อบ file ไปวางปุ๊บ มันก็จะขึ้นข้อความนี้เลยครับ

-- Attempting call on DAHDI/g1/0869367640 for 311<311>@ivr-sms-6271ec90487c1fbf34a42436da0a4a17:2 (Retry 1)
> Channel DAHDI/4-1 was answered.

ทั้งๆที่ผมยังไม่ได้รับ มันก็เล่น IVR ของผมต่อเลย

== Starting DAHDI/4-1 at ivr-sms-6271ec90487c1fbf34a42436da0a4a17,311<311>,2 failed so falling back to exten 's'
-- Executing [s@ivr-sms-6271ec90487c1fbf34a42436da0a4a17:2] Set("DAHDI/4-1", "CHANNEL(language)=sms") in new stack
-- Executing [s@ivr-sms-6271ec90487c1fbf34a42436da0a4a17:4] BackGround("DAHDI/4-1", "sms/4e88826ca889b16f926d7311ae275ee0") in new stack
-- <DAHDI/4-1> Playing 'sms/4e88826ca889b16f926d7311ae275ee0.gsm' (language 'sms')
-- Executing [s@ivr-sms-6271ec90487c1fbf34a42436da0a4a17:5] WaitExten("DAHDI/4-1", "20,n(holdmusic)") in new stack

ก็ประมาณนี้อะครับ
คือผมอยากให้ รับสายก่อน ค่อยเล่น IVR น่ะครับ
หรือผมทำอะไรพลาดหว่า :lol:

ใน dialplan ที่เป็น ivr ผม

[ivr-sms-6271ec90487c1fbf34a42436da0a4a17]
exten => s,1,Set(CHANNEL(language)=sms)
exten => s,2,Background(sms/4e88826ca889b16f926d7311ae275ee0)
exten => s,n,WaitExten(20,n(holdmusic))
exten => 1,n,Background(sms/f5a2cee480c4e2a9e2376e8d988e2565)
exten => 1,n,HangUp()

เอามาคร่าวๆ ก่อนอะครับ มันยาวกว่านี้ แต่เดี๋ยวมันจะรก

Re: สอบถามเกี่ยวกับ DAHDI ตรวจสอบว่าโทรไปแล้วรับหรือยัง

โพสต์โพสต์แล้ว: 28 มิ.ย. 2010 17:28
โดย l2ashies
เอ่อ ไม่ทราบว่า มีใครเคยลองใช้
callprogress = yes
บ้างไหมครับ

ตอนนี้ผมลองแก เผื่อมันจะตรวจสอบการรับสายได้
กลายเป็นว่า รับสายแล้ว มานไม่ทำอะไรต่อ ซะงั้น
แต่ถ้าผมกดปฏิเสธสาย (ไม่รับสาย) มันดันทำต่อซะงั้น สงสัย tone มันจะมีอะไรผิดพลาด - -"

ใครเคยใช้ แล้วทำได้ปกติดีบ้างครับ รบกวนชี้แนะทีครับ