เทคนิคการโทรผ่าน Trunk แล้วมีเสียงบอกว่ากรุณารอสักครู่

Elastix IP Pbx

Moderator: jubjang

เทคนิคการโทรผ่าน Trunk แล้วมีเสียงบอกว่ากรุณารอสักครู่

โพสต์โดย nuiz » 01 พ.ค. 2012 11:46

พอดีมีท่านหนึ่ง (โทษทีผมจำชื่อไม่ได้) โทรมาปรึกษาว่าตอนนี้ใช้การ์ด Analog 4 FXO เชื่อมต่อกับ GSM Gateway แล้วเจอปัญหารอสายนานกว่าจะโทรติด อยากให้มีเสียงบอกว่า "กรุณาถือสายรอสักครู่ค่ะ" ขณะที่กำลังเชื่อมต่อเพื่อให้คนใช้งานถือสายรอ และเลิกบ่น 55+

** GSM Gateway หรือบางคนก็เรียกว่า GSM Fixed Wireless Terminal (FWT) คล้ายๆกับ GSM VoIP Gateway มันต่างกันตรงที่ GSM Gateway ไม่มีพอร์ต LAN มันมีแต่พอร์ตโทรศัพท์ (เป็นพอร์ต FXS) ต่อกับ CO Line, FAX, Telephone, พอร์ต FXO ของ VoIP Gateway, พอร์ต FXO ของ Analog Card **

** ดูตัวอย่างของ GSM FWT ได้จากบทความนี้ครับ การเชื่อมต่อ GSM FWT กับการ์ด FXO **

สันนิษฐานปัญหาก่อนนะครับว่าเกิดจากอะไร ทำไมถึงรอสายนานขนาดนั้น เกิน 10 วินาที ผมคาดว่าเกิดจากตัว GSM Gateway นั่นแหล่ะ ที่มันต้องรอจนแน่ใจแล้วว่ายูสเซอร์จะไม่กดเลขอะไรมาเพิ่มอีก ระยะเวลาที่มันรอนี้เองที่ทำให้นานกว่าจะโทรติด มีบางยี่ห้อสามารถรับ # ได้ ซึ่งหมายความว่าถ้าเรากด (หรือส่ง) ปุ่ม # ต่อท้ายเบอร์ มันก็จะโทรเลยทันที ในขณะที่บางยี่ห้อไม่รองรับปุ่ม # ก็เลยต้องรอจนกว่าจะถึง Digit Timeout จึงจะโทรออกให้ ซึ่งค่าเวลา Digit Timeout นี้อาจจะเป็น 5 วินาที หรือ 10 วินาที บางยี่ห้อก็เซ็ตได้ บางยี่ห้อก็เซ็ตไม่ได้ ต้องปล่อยเลยตามเลย

** บางท่านอาจจะใช้เทคนิคให้มีเสียงรอสาย Music On Hold แทน แต่ถ้าเป็น Trunk แบบ DAHDI ก็จะได้ยินแค่แป๊บเดียว **

ผมจะแก้ปัญหาโดยทำตามที่ท่านนี้อยากได้นะครับ คือพอยูสเซอร์โทรออกผ่าน Trunk FXO ที่ต่อกับ GSM Gateway ให้มีเสียง "กรุณาถือสายรอสักครู่ค่ะ"

1. อัดเสียง "กรุณาถือสายรอสักครู่ค่ะ"
จะให้คนอัดหรือใช้โปรแกรม Text To Speech ก็ได้
แนะนำโปรแกรม Text To Speech
ผมทำเสียงไว้ให้ดาวน์โหลดมาใช้งานได้เลยครับ เสียง "กรุณาถือสายรอสักครู่ค่ะ"

2. อัพโหลดเข้า Elastix
ใช้เมนู PBX -> System Recording

รูปภาพ

ชื่อไฟล์จะเป็น trunk-please-wait เวลาเราจะเรียกใช้งานเสียงนี้ให้อ้างชื่อไฟล์เป็น trunk-please-wait ไม่ต้องมีนามสกุล ไฟล์นี้ถูกเก็บอยู่ที่โฟลเดอร์ /var/lib/asterisk/sounds/custom ในเครื่อง Elastix

3. สร้าง Trunk
เมนู System -> Hardware Detector
ดูหมายเลขพอร์ต จากรูปตัวอย่างผมจะใช้พอร์ตที่ 1-6 ถึงจะมีแค่พอร์ต 1 ที่ต่อสายโทรศัพท์อยู่ก็เหอะ

รูปภาพ

และเช็คจากไฟล์ /etc/asterisk/dahdi-channels.conf ก็รู้ว่าพอร์ตนี้อยู่ใน Group 0

โค้ด: เลือกทั้งหมด
;;; line="1 WCTDM/0/0 FXSKS  (SWEC: OSLEC)"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 1
callerid=
group=
context=default


เมนู PBX -> Trunks
จะสร้าง DAHDI Trunk หรือ Add Zap Trunk (DAHDI compatibility mode) ก็ได้ครับ ผมเลือก Add Zap Trunk (DAHDI compatibility mode) เพราะว่าผมใช้ Elastix 2.0.3 อยู่ ซึ่งยังไม่มี DAHDI Trunk ให้เลือก

รูปภาพ

ตรงบรรทัดสุดท้าย Zap Identifier (trunk name) จะใส่เป็น g0 หรือ G0 หรือ r0 หรือ R0 หรือระบุหมายเลขพอร์ตเลยก็ได้ ซึ่งในที่นี้คือ 1

3. สร้าง Outbound Routes
เมนู PBX -> Outbound Routes
กำหนด Code ที่จะโทรออกทาง Trunk ชื่อ Analog-0 ที่สร้างไว้เมื่อกี้

รูปภาพ

โดยผมตั้งโค๊ดว่ากด 9 นำหน้าเบอร์ มันจะโทรออกทาง Trunk g0 ซึ่งก็คือ Analog-0 ที่เราสร้างไว้เมื่อกี้

อย่าลืมกด Submit ตามด้วย Apply Configuration Changes Here นะครับ

4. แทรกบรรทัดให้เล่นไฟล์เสียงเข้าไปในโค๊ดของ Elastix
เป็นขั้นตอนค่อนข้างสำคัญที่สุดที่จะทำให้ได้ยินเสียง "กรุณาถือสายรอสักครู่ค่ะ"
จำชื่อ Outbound Route ที่สร้างเมื่อกี้ได้ป่ะครับ มันชื่ออะไร มันชื่อว่า 9_outside
ดูที่ไฟล์ /etc/asterisk/extensions_additional.conf
ค้นหาคำว่า 9_outside]
ให้มีเครื่องหมาย ] ต่อท้ายด้วยนะครับ จะได้เจอเลย
ก็เจอแบบนี้

[outrt-001-9_outside]
include => outrt-001-9_outside-custom
exten => _9X.,1,Macro(user-callerid,SKIPTTL,)
exten => _9X.,n,Set(_NODEST=)
exten => _9X.,n,Macro(record-enable,${AMPUSER},OUT,)
exten => _9X.,n,Macro(dialout-trunk,6,${EXTEN:1},,)
exten => _9X.,n,Macro(outisbusy,)

เราควรจะแทรกบรรทัดให้มันเล่นไฟล์เสียง trunk-please-wait ตรงนี้ ใส่บรรทัดไหนดีหล่ะ เอาเป็นบรรทัดระหว่าง exten => _9X.,n,Macro(record-enable,${AMPUSER},OUT,) และ exten => _9X.,n,Macro(dialout-trunk,6,${EXTEN:1},,) ก็แล้วกัน ก็จะได้แบบนี้

[outrt-001-9_outside]
include => outrt-001-9_outside-custom
exten => _9X.,1,Macro(user-callerid,SKIPTTL,)
exten => _9X.,n,Set(_NODEST=)
exten => _9X.,n,Macro(record-enable,${AMPUSER},OUT,)
exten => _9X.,n,Playback(custom/trunk-please-wait)
exten => _9X.,n,Macro(dialout-trunk,6,${EXTEN:1},,)
exten => _9X.,n,Macro(outisbusy,)

แต่เดี๋ยวก่อนครับ คงยังไม่ลืมว่าถ้าเราแก้ไขอะไรก็ตามในไฟล์ extensions_additional.conf นี้พอเรากด Apply Config ในหน้าเว็บ ค่ามันก็จะกลับมาเป็นดีฟอลท์อีก บรรทัดที่เราอุตส่าห์ไปเพิ่มไว้มันก็จะหายไป ผมมีวิธีแก้ไขคือ ให้ก๊อบทั้งหมดนี้ไปไว้ในไฟล์ /etc/asterisk/extensions_override_elastix.conf แทน เอาไว้บรรทัดบนสุดของไฟล์เลยก็ได้ครับ

** ถ้าในโฟลเดอร์ /etc/asterisk ไม่มีไฟล์ extensions_override_elastix.conf ก็ให้ใช้ไฟล์ /etc/asterisk/extensions_override_freepbx.conf แทนนะครับ **

[outrt-001-9_outside]
include => outrt-001-9_outside-custom
exten => _9X.,1,Macro(user-callerid,SKIPTTL,)
exten => _9X.,n,Set(_NODEST=)
exten => _9X.,n,Macro(record-enable,${AMPUSER},OUT,)
exten => _9X.,n,Playback(custom/trunk-please-wait)
exten => _9X.,n,Macro(dialout-trunk,6,${EXTEN:1},,)
exten => _9X.,n,Macro(outisbusy,)

จากนั้นเข้า asterisk -r แล้วรันคำสั่ง dialplan reload

5. ทดสอบ
โทรออกตามปกติ กด 9 ตามด้วยเบอร์ปลายทาง ก็จะได้ยินเสียงว่า "กรุณาถือสายรอสักครู่ค่ะ"

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

Re: เทคนิคการโทรผ่าน Trunk แล้วมีเสียงบอกว่ากรุณารอสักครู่

โพสต์โดย perf62 » 15 พ.ค. 2012 23:06

ขอบคุณมากๆครับ เดี๋ยวพรุ่งนี้จะได้ลองทำดูครับ :D
perf62
Bronz Member
 
โพสต์: 10
ลงทะเบียนเมื่อ: 29 ก.พ. 2012 11:54

Re: เทคนิคการโทรผ่าน Trunk แล้วมีเสียงบอกว่ากรุณารอสักครู่

โพสต์โดย perf62 » 16 พ.ค. 2012 10:59

ขอบคุณอีกรอบครับ ตอนนี้ทำได้แล้วครับ
perf62
Bronz Member
 
โพสต์: 10
ลงทะเบียนเมื่อ: 29 ก.พ. 2012 11:54

Re: เทคนิคการโทรผ่าน Trunk แล้วมีเสียงบอกว่ากรุณารอสักครู่

โพสต์โดย masashiboy » 19 ธ.ค. 2012 09:39

น้องลองทำตามขั้นตอนที่พี่หนุ่ยบอกแล้วครับ น้องลองทดสอบโดยการโทรภายใน Extentions ไปอีก Extentions ติดปกติ เป็นเสียงรอสาย แต่ก่อนหน้าเสียงรอสาย ไม่มีเสียง กรุณารอสักครู่อะครับ สาเหตุเกิดจากอะไรครับ
สิ่งที่ทำไปแล้ว
1.โหลด file เสียงกรุณารอสักครู่ของพี่มา upload และ save ชื่อ file ตามที่พี่บอกครับ
2.แทรกบรรทัดให้เล่นไฟล์เสียงเข้าไป ใน /etc/asterisk/extensions_additional.conf และ copy code ไปไว้ที่/etc/asterisk/extensions_override_freepbx.conf

Asterisk console
โค้ด: เลือกทั้งหมด
    -- Executing [1002@from-internal:1] Macro("SIP/1001-00000018", "exten-vm,nov                                                                              m,1002") in new stack
    -- Executing [s@macro-exten-vm:1] Macro("SIP/1001-00000018", "user-callerid,                                                                              ") in new stack
    -- Executing [s@macro-user-callerid:1] Set("SIP/1001-00000018", "AMPUSER=100                                                                              1") in new stack
    -- Executing [s@macro-user-callerid:2] GotoIf("SIP/1001-00000018", "0?report                                                                              ") in new stack
    -- Executing [s@macro-user-callerid:3] ExecIf("SIP/1001-00000018", "1?Set(RE                                                                              ALCALLERIDNUM=1001)") in new stack
    -- Executing [s@macro-user-callerid:4] Set("SIP/1001-00000018", "AMPUSER=100                                                                              1") in new stack
    -- Executing [s@macro-user-callerid:5] Set("SIP/1001-00000018", "AMPUSERCIDN                                                                              AME=Meetting room") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("SIP/1001-00000018", "0?report                                                                              ") in new stack
    -- Executing [s@macro-user-callerid:7] Set("SIP/1001-00000018", "AMPUSERCID=                                                                              1001") in new stack
    -- Executing [s@macro-user-callerid:8] Set("SIP/1001-00000018", "CALLERID(al                                                                              l)="Meetting room" <1001>") in new stack
    -- Executing [s@macro-user-callerid:9] ExecIf("SIP/1001-00000018", "0?Set(CH                                                                              ANNEL(language)=)") in new stack
    -- Executing [s@macro-user-callerid:10] GotoIf("SIP/1001-00000018", "0?conti                                                                              nue") in new stack
    -- Executing [s@macro-user-callerid:11] Set("SIP/1001-00000018", "__TTL=64")                                                                               in new stack
    -- Executing [s@macro-user-callerid:12] GotoIf("SIP/1001-00000018", "1?conti                                                                              nue") in new stack
    -- Goto (macro-user-callerid,s,19)
    -- Executing [s@macro-user-callerid:19] Set("SIP/1001-00000018", "CALLERID(n                                                                              umber)=1001") in new stack
    -- Executing [s@macro-user-callerid:20] Set("SIP/1001-00000018", "CALLERID(n                                                                              ame)=Meetting room") in new stack
    -- Executing [s@macro-user-callerid:21] NoOp("SIP/1001-00000018", "Using Cal                                                                              lerID "Meetting room" <1001>") in new stack
    -- Executing [s@macro-exten-vm:2] Set("SIP/1001-00000018", "RingGroupMethod=                                                                              none") in new stack
    -- Executing [s@macro-exten-vm:3] Set("SIP/1001-00000018", "VMBOX=novm") in                                                                               new stack
    -- Executing [s@macro-exten-vm:4] Set("SIP/1001-00000018", "__EXTTOCALL=1002                                                                              ") in new stack
    -- Executing [s@macro-exten-vm:5] Set("SIP/1001-00000018", "CFUEXT=") in new                                                                               stack
    -- Executing [s@macro-exten-vm:6] Set("SIP/1001-00000018", "CFBEXT=") in new                                                                               stack
    -- Executing [s@macro-exten-vm:7] Set("SIP/1001-00000018", "RT=""") in new s                                                                              tack
    -- Executing [s@macro-exten-vm:8] Macro("SIP/1001-00000018", "record-enable,                                                                              1002,IN") in new stack
    -- Executing [s@macro-record-enable:1] GotoIf("SIP/1001-00000018", "1?check"                                                                              ) in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing [s@macro-record-enable:4] ExecIf("SIP/1001-00000018", "0?MacroE                                                                              xit()") in new stack
    -- Executing [s@macro-record-enable:5] GotoIf("SIP/1001-00000018", "0?Group:                                                                              OUT") in new stack
    -- Goto (macro-record-enable,s,15)
    -- Executing [s@macro-record-enable:15] GotoIf("SIP/1001-00000018", "1?IN")                                                                               in new stack
    -- Goto (macro-record-enable,s,20)
    -- Executing [s@macro-record-enable:20] ExecIf("SIP/1001-00000018", "1?Macro                                                                              Exit()") in new stack
    -- Executing [s@macro-exten-vm:9] Macro("SIP/1001-00000018", "dial-one,"",tm                                                                              ,1002") in new stack
    -- Executing [s@macro-dial-one:1] Set("SIP/1001-00000018", "DEXTEN=1002") in                                                                               new stack
    -- Executing [s@macro-dial-one:2] Set("SIP/1001-00000018", "DIALSTATUS_CW=")                                                                               in new stack
    -- Executing [s@macro-dial-one:3] GosubIf("SIP/1001-00000018", "0?screen,1")                                                                               in new stack
    -- Executing [s@macro-dial-one:4] GosubIf("SIP/1001-00000018", "0?cf,1") in                                                                               new stack
    -- Executing [s@macro-dial-one:5] GotoIf("SIP/1001-00000018", "1?skip1") in                                                                               new stack
    -- Goto (macro-dial-one,s,8)
    -- Executing [s@macro-dial-one:8] GotoIf("SIP/1001-00000018", "0?nodial") in                                                                               new stack
    -- Executing [s@macro-dial-one:9] GotoIf("SIP/1001-00000018", "0?continue")                                                                               in new stack
    -- Executing [s@macro-dial-one:10] Set("SIP/1001-00000018", "EXTHASCW=") in                                                                               new stack
    -- Executing [s@macro-dial-one:11] GotoIf("SIP/1001-00000018", "1?next1:cwin                                                                              usebusy") in new stack
    -- Goto (macro-dial-one,s,12)
    -- Executing [s@macro-dial-one:12] GotoIf("SIP/1001-00000018", "0?docfu:skip                                                                              3") in new stack
    -- Goto (macro-dial-one,s,16)
    -- Executing [s@macro-dial-one:16] GotoIf("SIP/1001-00000018", "1?next2:cont                                                                              inue") in new stack
    -- Goto (macro-dial-one,s,17)
    -- Executing [s@macro-dial-one:17] GotoIf("SIP/1001-00000018", "1?continue")                                                                               in new stack
    -- Goto (macro-dial-one,s,25)
    -- Executing [s@macro-dial-one:25] GotoIf("SIP/1001-00000018", "0?nodial") i                                                                              n new stack
    -- Executing [s@macro-dial-one:26] GosubIf("SIP/1001-00000018", "1?dstring,1                                                                              :dlocal,1") in new stack
    -- Executing [dstring@macro-dial-one:1] Set("SIP/1001-00000018", "DSTRING=")                                                                               in new stack
    -- Executing [dstring@macro-dial-one:2] Set("SIP/1001-00000018", "DEVICES=10                                                                              02") in new stack
    -- Executing [dstring@macro-dial-one:3] ExecIf("SIP/1001-00000018", "0?Retur                                                                              n()") in new stack
    -- Executing [dstring@macro-dial-one:4] ExecIf("SIP/1001-00000018", "0?Set(D                                                                              EVICES=002)") in new stack
    -- Executing [dstring@macro-dial-one:5] Set("SIP/1001-00000018", "LOOPCNT=1"                                                                              ) in new stack
    -- Executing [dstring@macro-dial-one:6] Set("SIP/1001-00000018", "ITER=1") i                                                                              n new stack
    -- Executing [dstring@macro-dial-one:7] Set("SIP/1001-00000018", "THISDIAL=S                                                                              IP/1002") in new stack
    -- Executing [dstring@macro-dial-one:8] GosubIf("SIP/1001-00000018", "1?zap2                                                                              dahdi,1") in new stack
    -- Executing [zap2dahdi@macro-dial-one:1] ExecIf("SIP/1001-00000018", "0?Ret                                                                              urn()") in new stack
    -- Executing [zap2dahdi@macro-dial-one:2] Set("SIP/1001-00000018", "NEWDIAL=                                                                              ") in new stack
    -- Executing [zap2dahdi@macro-dial-one:3] Set("SIP/1001-00000018", "LOOPCNT2                                                                              =1") in new stack
    -- Executing [zap2dahdi@macro-dial-one:4] Set("SIP/1001-00000018", "ITER2=1"                                                                              ) in new stack
    -- Executing [zap2dahdi@macro-dial-one:5] Set("SIP/1001-00000018", "THISPART                                                                              2=SIP/1002") in new stack
    -- Executing [zap2dahdi@macro-dial-one:6] ExecIf("SIP/1001-00000018", "0?Set                                                                              (THISPART2=DAHDI/1002)") in new stack
    -- Executing [zap2dahdi@macro-dial-one:7] Set("SIP/1001-00000018", "NEWDIAL=                                                                              SIP/1002&") in new stack
    -- Executing [zap2dahdi@macro-dial-one:8] Set("SIP/1001-00000018", "ITER2=2"                                                                              ) in new stack
    -- Executing [zap2dahdi@macro-dial-one:9] GotoIf("SIP/1001-00000018", "0?beg                                                                              in2") in new stack
    -- Executing [zap2dahdi@macro-dial-one:10] Set("SIP/1001-00000018", "THISDIA                                                                              L=SIP/1002") in new stack
    -- Executing [zap2dahdi@macro-dial-one:11] Return("SIP/1001-00000018", "") i                                                                              n new stack
    -- Executing [dstring@macro-dial-one:9] Set("SIP/1001-00000018", "DSTRING=SI                                                                              P/1002&") in new stack
    -- Executing [dstring@macro-dial-one:10] Set("SIP/1001-00000018", "ITER=2")                                                                               in new stack
    -- Executing [dstring@macro-dial-one:11] GotoIf("SIP/1001-00000018", "0?begi                                                                              n") in new stack
    -- Executing [dstring@macro-dial-one:12] Set("SIP/1001-00000018", "DSTRING=S                                                                              IP/1002") in new stack
    -- Executing [dstring@macro-dial-one:13] Return("SIP/1001-00000018", "") in                                                                               new stack
    -- Executing [s@macro-dial-one:27] GotoIf("SIP/1001-00000018", "0?nodial") i                                                                              n new stack
    -- Executing [s@macro-dial-one:28] GotoIf("SIP/1001-00000018", "1?skiptrace"                                                                              ) in new stack
    -- Goto (macro-dial-one,s,30)
    -- Executing [s@macro-dial-one:30] Set("SIP/1001-00000018", "D_OPTIONS=tm")                                                                               in new stack
    -- Executing [s@macro-dial-one:31] ExecIf("SIP/1001-00000018", "0?SIPAddHead                                                                              er(Alert-Info: )") in new stack
    -- Executing [s@macro-dial-one:32] ExecIf("SIP/1001-00000018", "0?SIPAddHead                                                                              er()") in new stack
    -- Executing [s@macro-dial-one:33] ExecIf("SIP/1001-00000018", "0?Set(CHANNE                                                                              L(musicclass)=)") in new stack
    -- Executing [s@macro-dial-one:34] GosubIf("SIP/1001-00000018", "0?qwait,1")                                                                               in new stack
    -- Executing [s@macro-dial-one:35] Set("SIP/1001-00000018", "__CWIGNORE=") i                                                                              n new stack
    -- Executing [s@macro-dial-one:36] Set("SIP/1001-00000018", "__KEEPCID=TRUE"                                                                              ) in new stack
    -- Executing [s@macro-dial-one:37] Dial("SIP/1001-00000018", "SIP/1002,"",tm                                                                              ") in new stack
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
    -- Called SIP/1002
    -- Started music on hold, class 'default', on SIP/1001-00000018
    -- SIP/1002-00000019 is ringing
    -- SIP/1002-00000019 is ringing
    -- Stopped music on hold on SIP/1001-00000018
  == Spawn extension (macro-dial-one, s, 37) exited non-zero on 'SIP/1001-00000018' in macro 'dial-one'
  == Spawn extension (macro-exten-vm, s, 9) exited non-zero on 'SIP/1001-00000018' in macro 'exten-vm'
  == Spawn extension (from-internal, 1002, 1) exited non-zero on 'SIP/1001-00000018'
    -- Executing [h@from-internal:1] Macro("SIP/1001-00000018", "hangupcall") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("SIP/1001-00000018", "1?endmixmoncheck") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s@macro-hangupcall:9] NoOp("SIP/1001-00000018", "End of MIXMON check") in new stack
    -- Executing [s@macro-hangupcall:10] GotoIf("SIP/1001-00000018", "1?nomeetmemon") in new stack
    -- Goto (macro-hangupcall,s,15)
    -- Executing [s@macro-hangupcall:15] NoOp("SIP/1001-00000018", "MEETME_RECORDINGFILE=") in new stack
    -- Executing [s@macro-hangupcall:16] GotoIf("SIP/1001-00000018", "1?noautomon") in new stack
    -- Goto (macro-hangupcall,s,18)
    -- Executing [s@macro-hangupcall:18] NoOp("SIP/1001-00000018", "TOUCH_MONITOR_OUTPUT=") in new stack
    -- Executing [s@macro-hangupcall:19] GotoIf("SIP/1001-00000018", "1?noautomon2") in new stack
    -- Goto (macro-hangupcall,s,25)
    -- Executing [s@macro-hangupcall:25] NoOp("SIP/1001-00000018", "MONITOR_FILENAME=") in new stack
    -- Executing [s@macro-hangupcall:26] GotoIf("SIP/1001-00000018", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,29)
    -- Executing [s@macro-hangupcall:29] GotoIf("SIP/1001-00000018", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,32)
    -- Executing [s@macro-hangupcall:32] GotoIf("SIP/1001-00000018", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,34)
    -- Executing [s@macro-hangupcall:34] Hangup("SIP/1001-00000018", "") in new stack
  == Spawn extension (macro-hangupcall, s, 34) exited non-zero on 'SIP/1001-00000018' in macro 'hangupcall'
  == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/1001-00000018'

ขอบคุณล่วงหน้าครับพี่หนุ่ย
masashiboy
Silver Member
 
โพสต์: 23
ลงทะเบียนเมื่อ: 10 ธ.ค. 2012 22:01

Re: เทคนิคการโทรผ่าน Trunk แล้วมีเสียงบอกว่ากรุณารอสักครู่

โพสต์โดย nuiz » 19 ธ.ค. 2012 09:58

เสียง "กรุณาถือสายรอสักครู่" ไม่ใช่เสียงรอสาย (music on hold หรือ moh) นะครับ มันเป็นเสียงปกติซึ่งต้องเล่นก่อนที่จะไปทำงานอื่นต่อ ส่วนเสียงรอสาย moh นั้นเป็นเสียงที่เล่นขณะ "พักรอ"
เสียงปกติโหลดด้วยเมนู System Recording
เสียงรอสายโหลดด้วยเมนู Music On Hold

ปัญหาน่าจะอยู่ตรงชื่อไฟล์หน่ะครับ extensions_override_freepbx.conf เวอร์ชั่นใหม่ๆทาง Elastix เปลี่ยนไปใช้ไฟล์ extensions_override_elastix.conf แทนแล้ว (แต่ยังคงไฟล์เดิมไว้อยู่) ให้ทำในไฟล์ extensions_override_elastix.conf แทนแล้วลองดูอีกทีครับ

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

Re: เทคนิคการโทรผ่าน Trunk แล้วมีเสียงบอกว่ากรุณารอสักครู่

โพสต์โดย masashiboy » 19 ธ.ค. 2012 12:02

แก้ไขตามที่พี่หนุ่ยบอกแล้วครับ ตอนนี้ไฟล์ extensions_additional.conf ไม่กลับคืนค่าละครับ แต่พอโทรออกไป ก็เป็นลักษณะเดิมครับ คือ ได้ยินแต่ music on hold ครับ ก่อน music on hold ไม่ได้ยินเสีัยงอะไรเลยครับพี่
masashiboy
Silver Member
 
โพสต์: 23
ลงทะเบียนเมื่อ: 10 ธ.ค. 2012 22:01

Re: เทคนิคการโทรผ่าน Trunk แล้วมีเสียงบอกว่ากรุณารอสักครู่

โพสต์โดย masashiboy » 20 ธ.ค. 2012 08:27

เง้อ อยู่ดีๆได้เลยเฉยเลยครับพี่หนุ่ย เมื่อวานน้องลองตั้งหลายหน แต่พอเช้านี้ลองเปิด server ใหม่ เสียงมาเลย ขอบคุณมากครับพี่
masashiboy
Silver Member
 
โพสต์: 23
ลงทะเบียนเมื่อ: 10 ธ.ค. 2012 22:01

Re: เทคนิคการโทรผ่าน Trunk แล้วมีเสียงบอกว่ากรุณารอสักครู่

โพสต์โดย apcom » 14 ม.ค. 2013 18:27

ผมลองดูแล้วครับ ใช้งานได้ แต่ว่าจะเพิ่มเวลาในการรอ เช่นเดิมถ้าไม่ใช้เทคนิคนี้จะรอประมาณ 6-8วิ แต่พอทำเสร็จ ระบบจะใช้เวลามากขึ้นตาม file เสียงที่เราบันทึกครับ
apcom
Bronz Member
 
โพสต์: 14
ลงทะเบียนเมื่อ: 22 ธ.ค. 2012 14:52


ย้อนกลับไปยัง Elastix - Unified Communications Software

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

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

cron