AsteriskThailand
February 07, 2012, 11:58:43 PM *
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: ปัญหาสาย E1 กับชื่อ Trunks ใน Trixbox  (Read 2674 times)
Patrickz
Global Moderator
Sr. Member
*****
Posts: 274


View Profile WWW
« on: November 28, 2007, 02:37:59 PM »

สวัสดีครับ พอดีผมยังใช้ Trixbox 2.2.4 สำหรับ production server อยู่ แต่เพราะต้องการให้ระบบมันสะอาดหน่อย จึงทำการติดตั้งเครื่อง production ใหม่ (ตอนแรกมันก็ทำงานดีอยู่แล้ว)
แต่พอติดตั้งเสร็จ config Sangoma card เรียบร้อยแล้ว ทดสอบการโทร ดันมีปัญหาว่าโทรไม่ออก (Outbound call always busy) ตรวจสอบพบว่าปัญหาเกิดจาก CHANUNAVAIL เลยทำให้รู้ว่า
สาเหตุของ channel avariable นั้นนอกจากจะเกิดจากการ config สาย (E1/T1/J1) ไม่ถูกต้องแล้ว ยังมีปัญหาจาก bug ใน Asterisk ได้อีก

มีปัญหาหนึ่งที่เกิดกับ Trixbox 2.2.4 ซึ่งผมไม่ได้ตามว่าปัญหาเกิดจากตัว Asterisk หรือว่าเกิดจากการปรับแต่งของ Trixboxเอง
วิธีแก้ก็คือ ให้เปลี่ยนชื่อ Trunks จาก g0 (ค่า default) ไปเป็น g1 (หรืออะไรก็ได้ที่ไม่ใช่ g0) ฟังดูไม่น่าเชื่อ...

ผมทดสอบให้ดูเลย  เมื่อชื่อของ Trunk เป็น g0
Quote
    -- Executing Set("SIP/3000-0908eef8", "custom=ZAP/g0") in new stack
    -- Executing GotoIf("SIP/3000-0908eef8", "0?customtrunk") in new stack
    -- Executing Dial("SIP/3000-0908eef8", "ZAP/g0/66819999999|300|") in new stack
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing Goto("SIP/3000-0908eef8", "s-CHANUNAVAIL|1") in new stack
    -- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
    -- Executing NoOp("SIP/3000-0908eef8", "Dial failed due to CHANUNAVAIL - failing through to other trunks") in new stack

เมื่อชื่อของ Trunk เป็น g1 (หรือชื่ออะไรก็ได้)
Quote
    -- Executing Set("SIP/3000-0908ee90", "custom=ZAP/g1") in new stack
    -- Executing GotoIf("SIP/3000-0908ee90", "0?customtrunk") in new stack
    -- Executing Dial("SIP/3000-0908ee90", "ZAP/g1/66819999999|300|") in new stack
    -- Requested transfer capability: 0x00 - SPEECH
    -- Called g1/66819999999
    -- Zap/1-1 is proceeding passing it to SIP/3000-0908ee90
    -- Zap/1-1 is ringing
    -- Hungup 'Zap/1-1'

** สมมุติว่า 66819999999  คือเบอร์ผม **

Links พวกนี้มีประโยชน์ครับ ลองอ่านๆดู
Outbound Calls On T1 PRI Always End With CHANUNAVAIL
TE110P prooblem with PRI - TB-2.0 - solved
Sangoma A101 E1 line All circuits are busy

note: ใน trixbox forum มีคนบอกว่า g0 ใช้ในระบบของ asterisk  แต่หาใน sourcecode แล้วไม่เห็นเจอ  ซึ่งอาจเชื่อไม่ได้

ผมเจอใน Trixbox 2.2.4 นะครับ ท่านใดใช้รุ่นใหม่กว่านี้ อาจได้รับการแก้ไขแล้ว
« Last Edit: December 21, 2007, 06:27:44 AM by admin » Logged

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


View Profile WWW
« Reply #1 on: November 30, 2007, 03:28:19 PM »

Quote
ผมเจอใน Trixbox 2.2.4 นะครับ ท่านใดใช้รุ่นใหม่กว่านี้ อาจได้รับการแก้ไขแล้ว
คิดดูอีกที  ไม่น่าจะเกี่ยวกับ Trixbox 2.2.4  เพราะว่า พอ update package หมดแล้ว มัีนก็ไม่ได้ต่างกับ Trixbox รุ่นล่าสุดนัก
น่าจะเป็นที่ Asterisk?  ท่านใดเคยมีปัญหานี้ ลองบอกเล่าให้ฟังกันหน่อยนะครับ

Logged

temp
Newbie
*
Posts: 23


View Profile
« Reply #2 on: December 21, 2007, 02:09:49 AM »

สวัสดีครับ ผมก็ เจอปัญหานี้เหมือนกัน ครับ แก้ เป็น g1 แล้วก็ ยังไม่ได้ เลย ครับ ไม่ทราบว่า จะ check ที่ส่วนไหนได้บ้างครับ ผมใช้งาน elastix 0.9.1 ครับ ขอบคุณครับ
Logged
temp
Newbie
*
Posts: 23


View Profile
« Reply #3 on: December 21, 2007, 03:11:27 AM »

เพิ่มเติมครับ .. มันขึ้น อย่างนี้ ครับ

Quote
-- Executing [s@macro-dialout-trunk:17] AGI("SIP/1000-b7701b58", "fixlocalprefix") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
    -- AGI Script fixlocalprefix completed, returning 0
    -- Executing [s@macro-dialout-trunk:18] Set("SIP/1000-b7701b58", "OUTNUM=026792233") in new stack
    -- Executing [s@macro-dialout-trunk:19] Set("SIP/1000-b7701b58", "custom=ZAP/g1") in new stack
    -- Executing [s@macro-dialout-trunk:20] GotoIf("SIP/1000-b7701b58", "1?gocall") in new stack
    -- Goto (macro-dialout-trunk,s,24)
    -- Executing [s@macro-dialout-trunk:24] GotoIf("SIP/1000-b7701b58", "0?customtrunk") in new stack
    -- Executing [s@macro-dialout-trunk:25] Dial("SIP/1000-b7701b58", "ZAP/g1/026792233|300|") in new stack
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [s@macro-dialout-trunk:26] Goto("SIP/1000-b7701b58", "s-CHANUNAVAIL|1") in new stack
    -- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
    -- Executing [s-CHANUNAVAIL@macro-dialout-trunk:1] GotoIf("SIP/1000-b7701b58", "1?noreport") in new stack
    -- Goto (macro-dialout-trunk,s-CHANUNAVAIL,3)
    -- Executing [s-CHANUNAVAIL@macro-dialout-trunk:3] NoOp("SIP/1000-b7701b58", "TRUNK Dial failed due to CHANUNAVAIL - failing through to other trunks") in new stack
    -- Executing [026792233@from-internal:2] Macro("SIP/1000-b7701b58", "outisbusy|") in new stack
    -- Executing [s@macro-outisbusy:1] Playback("SIP/1000-b7701b58", "all-circuits-busy-now|noanswer") in new stack
    -- <SIP/1000-b7701b58> Playing 'all-circuits-busy-now' (language 'en')
    -- Executing [s@macro-outisbusy:2] Playback("SIP/1000-b7701b58", "pls-try-call-later|noanswer") in new stack
    -- <SIP/1000-b7701b58> Playing 'pls-try-call-later' (language 'en')
    -- Executing [s@macro-outisbusy:3] Macro("SIP/1000-b7701b58", "hangupcall") in new stack
    -- Executing [s@macro-hangupcall:1] ResetCDR("SIP/1000-b7701b58", "w") in new stack
    -- Executing [s@macro-hangupcall:2] NoCDR("SIP/1000-b7701b58", "") in new stack
    -- Executing [s@macro-hangupcall:3] GotoIf("SIP/1000-b7701b58", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing [s@macro-hangupcall:6] GotoIf("SIP/1000-b7701b58", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s@macro-hangupcall:9] GotoIf("SIP/1000-b7701b58", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing [s@macro-hangupcall:11] Hangup("SIP/1000-b7701b58", "") in new stack
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/1000-b7701b58' in macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/1000-b7701b58' in macro 'outisbusy'
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/1000-b7701b58'
Logged
Patrickz
Global Moderator
Sr. Member
*****
Posts: 274


View Profile WWW
« Reply #4 on: December 21, 2007, 06:30:55 AM »

ถ้ามี busy/congested ด้วย ผมพบว่าส่วนใหญ่จะเป็นปัญหาเนื่องจากเบอร์ผิด format หรือเบอร์ไม่มีอยู่จริง
มี zapata.conf ไหมครับ
Logged

temp
Newbie
*
Posts: 23


View Profile
« Reply #5 on: December 21, 2007, 10:13:16 AM »

เดี๋ยวคืนนี้ผมมา post ให้อีกครั้งครับ ..เครืองที่ test อยู่ที่บ้าน ครับ แล้วไม่ทราบว่า config ที่ถูกต้องของไฟล์ zapata.conf มันเป็นยังไงครับ รบกวน post ให้ดูได้ไหมครับ และ ถ้าใช้งาน freepbx มันจะสร้างไฟล์ให้ เอง ... นี่ครับ

ส่วน format ของการกำหนดเบอร์ ผมกำหนดที่ outbound เป็น 02. และ 9. ส่วน เวลาผมโทร จะกดที่ x-lift เป็น 021231234 แบบนี้ครับ

ขอบคุณครับ
Logged
Patrickz
Global Moderator
Sr. Member
*****
Posts: 274


View Profile WWW
« Reply #6 on: December 21, 2007, 12:01:59 PM »

ลองดู เชื่อมสาย E1 กับ Asterisk

กรณีของผมใช้ในต่างประเทศ จำเป็นต้องกำหนดค่า
pridialplan=international
prilocaldialplan=international

อย่าลืมว่าต้อง restart service ทุกครั้งครับ

Logged

temp
Newbie
*
Posts: 23


View Profile
« Reply #7 on: December 21, 2007, 12:28:22 PM »

ขอบคุณครับ เดี๋ยวจะ ลองศึกษา ดูครับ ...
Logged
temp
Newbie
*
Posts: 23


View Profile
« Reply #8 on: December 21, 2007, 10:57:58 PM »

; Autogenerated by /usr/local/sbin/genzaptelconf -- do not hand edit
; Zaptel Channels Configurations (zapata.conf)
;
; This is not intended to be a complete zapata.conf. Rather, it is intended
; to be #include-d by /etc/zapata.conf that will include the global settings
;

; Span 1: WCTDM/0 "Wildcard TDM400P REV E/F Board 1"
;;; line="1 WCTDM/0/0"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 1
context=default

;;; line="2 WCTDM/0/1"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 2
context=default

;;; line="3 WCTDM/0/2"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 3
context=default

;;; line="4 WCTDM/0/3"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 4
context=default

Logged
temp
Newbie
*
Posts: 23


View Profile
« Reply #9 on: December 21, 2007, 11:06:56 PM »

แบบนี้ มันหมายความ ว่ายังไง ครับ เหมือนว่า ไปที่ 02 แล้ว ก็ outisbusy เลยเหรอครับ


[outrt-001-9_outside]
include => outrt-001-9_outside-custom
exten => _02.,1,Macro(dialout-trunk,4,${EXTEN},,)
exten => _02.,n,Macro(outisbusy,)
exten => _9.,1,Macro(dialout-trunk,4,${EXTEN},,)
exten => _9.,n,Macro(outisbusy,)
exten => _NXXNXXXXXX,1,Macro(dialout-trunk,4,${EXTEN},,)
exten => _NXXNXXXXXX,n,Macro(outisbusy,)
exten => _NXXXXXX,1,Macro(dialout-trunk,4,${EXTEN},,)
exten => _NXXXXXX,n,Macro(outisbusy,)

; end of [outrt-001-9_outside]
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