Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / AstPbx / Не получается разбить потоки на группы, проблема в том что в каждой группе работает только один поток.

Не получается разбить потоки на группы, проблема в том что в каждой группе работает только один поток.

1 2>
Откуда: nevermind
Сообщений: 13

Не получается разбить потоки на группы, проблема в том что в каждой группе работает только один поток.

Не получается разбить потоки на группы, проблема в том что в каждой группе работает только один поток. Не могу понять почему.
Прежде чем писать прочел форум почитал гугл, вот что из этого получилось.
Вобщем всё настроено в dahdi-channels.conf
Прошу помощи или дайте ссылочку где почитать.
Спасибо!

----------------
chan_dahdi.conf
----------------

[channels]
overlapdial=no
priindication=outofband
toneduration=600
usecallerid=yes
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
relaxdtmf=yes
rxgain=-5.0
txgain=0.0
resetinterval=100000000
;
;[trunk_g1]
;group=1
;switchtype=qsig
;context=trunk_g1
;pridialplan=unknown
;signalling=pri_net
;immediate=no
;dahdichan=1-15,17-31,32-46,48-62
;
;[trunk_g2]
;group=2
;switchtype=euroisdn
;pridialplan=unknown
;context=trunk_g2
;signalling=pri_cpe
;immediate=no
;dahdichan=63-77,79-93
;
;[trunk_g3]
;group=3
;switchtype=euroisdn
;pridialplan=unknown
;context=trunk_g3
;signalling=pri_net
;immediate=no
;;dahdichan=125-139,141-155,156-170,172-186,187-201,203-217,218-232,234-248
;dahdichan=187-201,203-217,218-232,234-248

#include dahdi-channels.conf

------------------------------------
dahdi-channels.conf
------------------------------------

; Span 1: TE4/0/1 "T4XXP (PCI) Card 0 Span 1" (MASTER) HDB3/CCS
group = 1
context = trunk_g1
switchtype = qsig
signalling = pri_net
channel => 1-15,17-31
context = trunk_g1
group =

; Span 2: TE4/0/2 "T4XXP (PCI) Card 0 Span 2" HDB3/CCS
group = 1
context = trunk_g1
switchtype = qsig
signalling = pri_net
channel => 32-46,48-62
context = trunk_g1
group =

; Span 3: TE4/0/3 "T4XXP (PCI) Card 0 Span 3" HDB3/CCS
group = 2
context = trunk_g2
switchtype = euroisdn
signalling = pri_cpe
channel => 63-77,79-93
context = trunk_g2
group =

; Span 4: TE4/0/4 "T4XXP (PCI) Card 0 Span 4" HDB3/CCS
group = 2
context = trunk_g2
switchtype = euroisdn
signalling = pri_cpe
channel => 94-108,110-124
context = trunk_g2
group =

; Span 5: TE4/1/1 "T4XXP (PCI) Card 1 Span 1" HDB3/CCS RED
;group = 2
;context = trunk_g2
;switchtype = euroisdn
;signalling = pri_cpe
;channel => 125-139,141-155
;context = trunk_g2
;group =

; Span 6: TE4/1/2 "T4XXP (PCI) Card 1 Span 2" HDB3/CCS RED
;group = 3
;context = trunk_g3
;switchtype = euroisdn
;signalling = pri_net
;channel => 156-170,172-186
;context = trunk_g3
;group =

; Span 7: TE4/1/3 "T4XXP (PCI) Card 1 Span 3" HDB3/CCS
group = 3
context = trunk_g3
switchtype = euroisdn
signalling = pri_net
channel => 187-201,203-217
context = trunk_g3
group =

; Span 8: TE4/1/4 "T4XXP (PCI) Card 1 Span 4" HDB3/CCS
group = 3
context = trunk_g3
switchtype = euroisdn
signalling = pri_net
channel => 218-232,234-248
context = trunk_g3
group =
2010-08-17 09:54

Откуда: nevermind
Сообщений: 13

Re: Не получается разбить потоки на группы, проблема в том что в каждой группе работает только один поток.

Чтобы было понятней, на астериск приходят два потока (группа 2), работают на вход и выход (ТФОП). Далее транзитом уходят на АТС LG (группа 3). QSIG (группа 1) используется для внутренних звонков между станцией и астериском. Понимаю что извращенная схема но пока так... И дальше одного потока при выборе свободной линии дело не идёт! Почему?
2010-08-17 12:32

Сообщений: 6521

Re: Не получается разбить потоки на группы, проблема в том что в каждой группе работает только один поток.

Вы приводите большие куски закомментированных конфигов

Severuga:

;
;[trunk_g1]
;group=1
;switchtype=qsig
;context=trunk_g1
;pridialplan=unknown
;signalling=pri_net
;immediate=no
;dahdichan=1-15,17-31,32-46,48-62
;
;[trunk_g2]
;group=2
;switchtype=euroisdn
;pridialplan=unknown
;context=trunk_g2
;signalling=pri_cpe
;immediate=no
;dahdichan=63-77,79-93
;
;[trunk_g3]
;group=3
;switchtype=euroisdn
;pridialplan=unknown
;context=trunk_g3
;signalling=pri_net
;immediate=no
;;dahdichan=125-139,141-155,156-170,172-186,187-201,203-217,218-232,234-248
;dahdichan=187-201,203-217,218-232,234-248


; Span 5: TE4/1/1 "T4XXP (PCI) Card 1 Span 1" HDB3/CCS RED
;group = 2
;context = trunk_g2
;switchtype = euroisdn
;signalling = pri_cpe
;channel => 125-139,141-155
;context = trunk_g2
;group =

; Span 6: TE4/1/2 "T4XXP (PCI) Card 1 Span 2" HDB3/CCS RED
;group = 3
;context = trunk_g3
;switchtype = euroisdn
;signalling = pri_net
;channel => 156-170,172-186
;context = trunk_g3
;group =
- зачем?
Чтобы было понятней: работают у Вас незакомментированные конфиги. Добавление сюда закомментированных кусков уменьшает полезность этих цитат.
2010-08-17 13:03

Откуда: nevermind
Сообщений: 13

Re: Не получается разбить потоки на группы, проблема в том что в каждой группе работает только один поток.

Соласен. Исправляюсь. Вот что "работает", точнее работает ровно на 50% в каждой группе только один поток.

----------------
chan_dahdi.conf
----------------

[channels]
overlapdial=no
priindication=outofband
toneduration=600
usecallerid=yes
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
relaxdtmf=yes
rxgain=-5.0
txgain=0.0
resetinterval=100000000

#include dahdi-channels.conf

------------------------------------
dahdi-channels.conf
------------------------------------

; Span 1: TE4/0/1 "T4XXP (PCI) Card 0 Span 1" (MASTER) HDB3/CCS
group = 1
context = trunk_g1
switchtype = qsig
signalling = pri_net
channel => 1-15,17-31
context = trunk_g1
group =

; Span 2: TE4/0/2 "T4XXP (PCI) Card 0 Span 2" HDB3/CCS
group = 1
context = trunk_g1
switchtype = qsig
signalling = pri_net
channel => 32-46,48-62
context = trunk_g1
group =

; Span 3: TE4/0/3 "T4XXP (PCI) Card 0 Span 3" HDB3/CCS
group = 2
context = trunk_g2
switchtype = euroisdn
signalling = pri_cpe
channel => 63-77,79-93
context = trunk_g2
group =

; Span 4: TE4/0/4 "T4XXP (PCI) Card 0 Span 4" HDB3/CCS
group = 2
context = trunk_g2
switchtype = euroisdn
signalling = pri_cpe
channel => 94-108,110-124
context = trunk_g2
group =

; Span 7: TE4/1/3 "T4XXP (PCI) Card 1 Span 3" HDB3/CCS
group = 3
context = trunk_g3
switchtype = euroisdn
signalling = pri_net
channel => 187-201,203-217
context = trunk_g3
group =

; Span 8: TE4/1/4 "T4XXP (PCI) Card 1 Span 4" HDB3/CCS
group = 3
context = trunk_g3
switchtype = euroisdn
signalling = pri_net
channel => 218-232,234-248
context = trunk_g3
group =
2010-08-17 13:51

Сообщений: 6521

Re: Не получается разбить потоки на группы, проблема в том что в каждой группе работает только один поток.

Какой статус портов на картах? Точнее - там все зелёные LED?
Можно и программно посмотреть
dahdi_tools
dahdi_cfg -vv
2010-08-17 14:33

Откуда: nevermind
Сообщений: 13

Re: Не получается разбить потоки на группы, проблема в том что в каждой группе работает только один поток.

На карточках индикация:
1,2,3,4,7,8 Зелёные
5,6 Красные (они не используются в них ничего не воткнуто).

dahdi_tool говорит:
Alarm Span 1,2,3,4,7,8 OK
Alarm Span 5,6 Red

dahdi_cfg -vv говорит:
248 channels to configure
Далее вывод строк о включении эходава:
Setting echocan for channel 1 to mg2 - для каждого канала по 248-й включительно
кроме служебных каналов
16,47,78,109,140,171,202,233
для них строки такого типа:
Setting echocan for channel 16 to none
2010-08-17 15:08

Сообщений: 6521

Re: Не получается разбить потоки на группы, проблема в том что в каждой группе работает только один поток.

ОК.
Как Вы определили тогда, что работает только один поток в группе из двух?
Например span 7 & 8 в одной группе 3, значит у вас вызов должен идти как
Dial(DAHDI/g3/${EXTEN})
В такой форме все иходящие будут занимать каналы с 187 по 248, таким образом надо создать больше, чем 30 одновременных вызовов, чтобы увидеть, что во второй поток каким-то образом не влезает.
Это так?
И даже если так, то pri debug должен дать причину отлупов во втором потоке. А это уже информативно.
2010-08-17 16:19

Откуда: nevermind
Сообщений: 13

Re: Не получается разбить потоки на группы, проблема в том что в каждой группе работает только один поток.

Как Вы определили тогда, что работает только один поток в группе из двух?
Определил по занятым и занимаемым каналам, все чётко в одном потоке.
Например span 7 & 8 в одной группе 3, значит у вас вызов должен идти как
Dial(DAHDI/g3/${EXTEN})

Да именно так идёт. Разве что буква /g3/ как /G3/ прописана.
В контексте trunk_g2 приходящие звонки отправляютря именно таким способом в группу 3 то есть на АТС.
И с АТС контекст trunk_g3 звокни идут Dial(DAHDI/G2/${EXTEN}).
В такой форме все иходящие будут занимать каналы с 187 по 248, таким образом надо создать больше, чем 30 одновременных вызовов, чтобы увидеть, что во второй поток каким-то образом не влезает.
Это так?

Да это так. У меня есть ещё третий поток от моего провайдера, который идёт на прямую в АТС. В часы пик, количество занимаемых линий доходит до 70 (раньше все три потока шли на прямую в атс, потому знаю). Когда мне нужно потестировать астериск, я отрубаю (никому не говорите) третий поток идущий на прямую в АТС и все вызовы идут через астериск. Так вот астериск по достижении 30-ти внешних звонков, начинает выдавать сигнал занято. По внутренним номерам звонки нормально проходят.
И даже если так, то pri debug должен дать причину отлупов во втором потоке. А это уже информативно.

А вот этого не делал. Завтра включу pri debug, отрублю третий поток и буду сидеть ждать отлупов. По результатам отпишусь. А лучше прямо скопирую debug.
2010-08-17 19:34

Сообщений: 6521

Re: Не получается разбить потоки на группы, проблема в том что в каждой группе работает только один поток.

Severuga:

И даже если так, то pri debug должен дать причину отлупов во втором потоке. А это уже информативно.
А вот этого не делал. Завтра включу pri debug, отрублю третий поток и буду сидеть ждать отлупов. По результатам отпишусь. А лучше прямо скопирую debug.
Интересней видеть что он пишет при этом в командной строке. Кстати, ситуацию можно вызвать искуственно, указав для теста какой-то
exten => 1000,1,Dial(DAHDI/218/1000) где 1000 - условнй номер на которй звоним чтобы протестировать, а 218 - первый канал из второго потока.
2010-08-17 20:45

Откуда: nevermind
Сообщений: 13

Re: Не получается разбить потоки на группы, проблема в том что в каждой группе работает только один поток.

Попробовал искуственно создать ситуацию со звонком в город через не используемый поток. Звонок состоялся. В город смотрит группа№2 это Span3 и Span4. При вызовах на группу, звонки уходят только через Span4. Взял 63-й канал из Span3 и включил pri debug на Span3.

План набора (использую AEL):
1234567 => {
Verbose(------------EXPERIMENTAL CALL-------------);
Dial(DAHDI/63/100);
Hangup;
}

DEBUG:
------------EXPERIMENTAL CALL-------------
-- Executing [1234567@trunk_g3:2] Dial("DAHDI/187-1", "DAHDI/63/100") in new stack
-- Making new call for cref 32774
-- Requested transfer capability: 0x00 - SPEECH
> Protocol Discriminator: Q.931 (8) len=33
> TEI=0 Call Ref: len= 2 (reference 6/0x6) (Sent from originator)
> Message Type: SETUP (5)
> [04 03 80 90 a3]
> Bearer Capability (len= 5) [ Ext: 1 Q.931 Std: 0 Info transfer capability: Speech (0)
> Ext: 1 Trans mode/rate: 64kbps, circuit-mode (16)
> User information layer 1: A-Law (35)
> [18 03 a1 83 81]
> Channel ID (len= 5) [ Ext: 1 IntID: Implicit Other(PRI) Spare: 0 Preferred Dchan: 0
> ChanSel: As indicated in following octets
> Ext: 1 Coding: 0 Number Specified Channel Type: 3
> Ext: 1 Channel: 1 Type: CPE]
> [6c 09 21 83 34 39 35 32 30 30 30]
> Calling Number (len=11) [ Ext: 0 TON: National Number (2) NPI: ISDN/Telephony Numbering Plan (E.164/E.163) (1)
> Presentation: Presentation allowed of network provided number (3) '4952000' ]
> [70 04 80 31 30 30]
> Called Number (len= 6) [ Ext: 1 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0) '100' ]
> [a1]
> Sending Complete (len= 1)
q931.c:4877 q931_setup: Call 32774 enters state 1 (Call Initiated). Hold state: Idle
-- Called 63/100
< Protocol Discriminator: Q.931 (8) len=10
< TEI=0 Call Ref: len= 2 (reference 6/0x6) (Sent to originator)
< Message Type: CALL PROCEEDING (2)
< [18 03 a9 83 81]
< Channel ID (len= 5) [ Ext: 1 IntID: Implicit Other(PRI) Spare: 0 Exclusive Dchan: 0
< ChanSel: As indicated in following octets
< Ext: 1 Coding: 0 Number Specified Channel Type: 3
< Ext: 1 Channel: 1 Type: CPE]
Received message for call 0xa420e98 on 0x90b8f68 TEI/SAPI 0/0, call->pri is 0x90b8f68 TEI/SAPI 0/0
-- Processing IE 24 (cs0, Channel Identification)
q931.c:6916 post_handle_q931_message: Call 32774 enters state 3 (Outgoing Call Proceeding). Hold state: Idle
-- DAHDI/63-1 is proceeding passing it to DAHDI/187-1
< Protocol Discriminator: Q.931 (8) len=9
< TEI=0 Call Ref: len= 2 (reference 6/0x6) (Sent to originator)
< Message Type: PROGRESS (3)
< [1e 02 82 88]
< Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Public network serving the local user (2)
< Ext: 1 Progress Description: Inband information or appropriate pattern now available. (8) ]
Received message for call 0xa420e98 on 0x90b8f68 TEI/SAPI 0/0, call->pri is 0x90b8f68 TEI/SAPI 0/0
-- Processing IE 30 (cs0, Progress Indicator)
-- DAHDI/63-1 is making progress passing it to DAHDI/187-1
-- DAHDI/63-1 is making progress passing it to DAHDI/187-1
< Protocol Discriminator: Q.931 (8) len=9
< TEI=0 Call Ref: len= 2 (reference 6/0x6) (Sent to originator)
< Message Type: PROGRESS (3)
< [1e 02 82 88]
< Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Public network serving the local user (2)
< Ext: 1 Progress Description: Inband information or appropriate pattern now available. (8) ]
Received message for call 0xa420e98 on 0x90b8f68 TEI/SAPI 0/0, call->pri is 0x90b8f68 TEI/SAPI 0/0
-- Processing IE 30 (cs0, Progress Indicator)
-- DAHDI/63-1 is making progress passing it to DAHDI/187-1
-- DAHDI/63-1 is making progress passing it to DAHDI/187-1
< Protocol Discriminator: Q.931 (8) len=5
< TEI=0 Call Ref: len= 2 (reference 6/0x6) (Sent to originator)
< Message Type: CONNECT (7)
Received message for call 0xa420e98 on 0x90b8f68 TEI/SAPI 0/0, call->pri is 0x90b8f68 TEI/SAPI 0/0
q931.c:6837 post_handle_q931_message: Call 32774 enters state 10 (Active). Hold state: Idle
> Protocol Discriminator: Q.931 (8) len=5
> TEI=0 Call Ref: len= 2 (reference 6/0x6) (Sent from originator)
> Message Type: CONNECT ACKNOWLEDGE (15)
-- DAHDI/63-1 answered DAHDI/187-1



< Protocol Discriminator: Q.931 (8) len=9
< TEI=0 Call Ref: len= 2 (reference 6/0x6) (Sent to originator)
< Message Type: DISCONNECT (69)
< [08 02 8f 90]
< Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) Spare: 0 Location: Unknown (15)
< Ext: 1 Cause: Normal Clearing (16), class = Normal Event (1) ]
Received message for call 0xa420e98 on 0x90b8f68 TEI/SAPI 0/0, call->pri is 0x90b8f68 TEI/SAPI 0/0
-- Processing IE 8 (cs0, Cause)
-- Found active call: 0xa420e98 cref:32774
q931.c:7119 post_handle_q931_message: Call 32774 enters state 12 (Disconnect Indication). Hold state: Idle

q931_hangup: other hangup
NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Disconnect Indication, peerstate Disconnect Request, hold-state Idle
q931.c:4639 q931_release: Call 32774 enters state 19 (Release Request). Hold state: Idle
> Protocol Discriminator: Q.931 (8) len=9
> TEI=0 Call Ref: len= 2 (reference 6/0x6) (Sent from originator)
> Message Type: RELEASE (77)
> [08 02 81 90]
> Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) Spare: 0 Location: Private network serving the local user (1)
> Ext: 1 Cause: Normal Clearing (16), class = Normal Event (1) ]
-- Hungup 'DAHDI/63-1'
== Spawn extension (trunk_g3, 1234567, 2) exited non-zero on 'DAHDI/187-1'
-- Hungup 'DAHDI/187-1'
< Protocol Discriminator: Q.931 (8) len=5
< TEI=0 Call Ref: len= 2 (reference 6/0x6) (Sent to originator)
< Message Type: RELEASE COMPLETE (90)
Received message for call 0xa420e98 on 0x90b8f68 TEI/SAPI 0/0, call->pri is 0x90b8f68 TEI/SAPI 0/0
q931.c:7001 post_handle_q931_message: Call 32774 enters state 0 (Null). Hold state: Idle
q931_hangup: other hangup
NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Null, hold-state Idle
NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null, hold-state Idle


2010-08-18 10:00

1 2>
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru