VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Dahdi - рестарт каналов

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Jonny
Сообщения: 63
Зарегистрирован: 11 июл 2011, 20:04

Re: Dahdi - рестарт каналов

Сообщение Jonny »

Этот же поток с двумя номерами подключаю в cisco 5300 - как SIP транк работает все отлично - оба номера
Получается что cisco нормально разбирает поток а карта криво?
ded
Сообщения: 15623
Зарегистрирован: 26 авг 2010, 19:00

Re: Dahdi - рестарт каналов

Сообщение ded »

Сейчас моя очередь психовать?
У Вас было
switchtype=national
это, согласно документации по chan_dahdi - ISDN2 (он же BRI), а у вас - PRI. Поэтому я Вам указал
switchtype=euroisdn
Вы изменили этот параметр или нет?
Jonny
Сообщения: 63
Зарегистрирован: 11 июл 2011, 20:04

Re: Dahdi - рестарт каналов

Сообщение Jonny »

Да я пробовал все варианнты. Причем поток с одним номером на 30 каналов и с двумя с одинаковыми параметрами работают по разному.
ded
Сообщения: 15623
Зарегистрирован: 26 авг 2010, 19:00

Re: Dahdi - рестарт каналов

Сообщение ded »

Не надо все варианты, тем более - неверные.
Я перечитал ещё раз:
Подается поток с двумя DID - например 7777777 и 7777778 причем на АТС разделяют так чтобы 7777777 был на 1 и 2 каналах а 7777778 на 17 и 18.
Непонятно, зачем Вы разводите их на именные номера каналов, А что делать в потоке с каналами 3,4,5,6,7,8,9,10 и 19, 20, 21, 22, и т.д.?
Вы всё время используете то входящие DID на Астериск 7777777 и 7777778, то исходящие:
При исходящей ругается
-- Called DAHDI/g1/7777777
Зачем Вы свой же DID вызываете в качестве исходящего в группе - не понимаю. Хотите подать два номера на Астериск в потоке но ограничить их в канальности? это не так делается. Для этого совсем не обязательно разводить их на каналы. Вполне можно маршрутизировать из одного контекста далее.
Я бы приветствовал тестирование входящих из мира с помощью мобильного телефона, например.
как только заводишь 2 номера - поднимает только первый канал а остальные не слушает
- не верю. Что-то Вы делаете не так.

Вместо изучения конфигов лучше изучайте выхлоп
dmesg
CLI> dahdi show channels
и pri debug on span 1
Jonny
Сообщения: 63
Зарегистрирован: 11 июл 2011, 20:04

Re: Dahdi - рестарт каналов

Сообщение Jonny »

Простите за такую сумбурную подачу информации.

По поводу разделения потока - есть рабочий поток который разделен на 3 части по 10 каналов на номер (жестко закреплены по конкретным каналам). Причем разделение организовано на АТС и может быть они неправильно это делают, но не признаются в этом. Ведь работает все через шлюз Cisco - значит от них так сказать "пакет ушел " а дальше не их проблемы. И действительно - если в потоке на все 30 каналов один номер - то прекрасно работает и через cisco и при подключении в плату TE 121, а если разделить поток - то через cisco все работает прекрасно а с картой начинаются такие проблемы. Вот чтобы не тревожить рабочий поток я заказал себе тестовый на 2 номера и пробую его получить на карте в нормальном виде.
То что я что-то не так делаю - это факт и я признаю это полностью. Только вот определить бы что именно. На голую систему и Астериск + freepbx поток с одним номером на 30 каналов подключается мгновенно - настройки самые элементарные - практически дефолтные (делал через freepbx-connectivity-dahdi config). Работает и исходящая и входящая связь сразу и без рестарта каналов параметром resetinterval, проходит все 30 каналов по порядку. Тоесть карта рабочая. Как только меняю поток и подключаю тот в котором 2 номера присутствуют - без параметра resetinterval=3600 работает только самый первый канал и тот номер который за ним закреплен. Может быть нужно долго ждать пока восстановятся все каналы - я не знаю - но после resetinterval сразу видно что

-- Span 1: Channel 0/1 successfully restarted
-- Span 1: Channel 0/2 successfully restarted
-- Span 1: Channel 0/3 successfully restarted
-- Span 1: Channel 0/4 successfully restarted
и начинают работать оба номера на своих каналах но только на вход.
причем если номера заведены не по порядку то поднимутся только
-- Span 1: Channel 0/1 successfully restarted
-- Span 1: Channel 0/2 successfully restarted
а остальные каналы бдут лежать

Исходящая маршрутизация - настраиваю транк - просто вписываю название транка и все -
параметр DAHDI Trunks - Group 0 Round Robin Ascending
Outbound route - название - Dial pattern - X. и выбираю созданный транк - при потоке с одним номером на 30 каналов все работает - с разделенным на 2 номера вот такое
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
Connected to Asterisk 11.14.1 currently running on localhost (pid = 10744)
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [рабочий_телефон@from-internal:1] Macro("SIP/200-0000000e", "user-callerid,LIMIT,EXTERNAL,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/200-0000000e", "TOUCH_MONITOR=1463123404.27") in new stack
-- Executing [s@macro-user-callerid:2] Set("SIP/200-0000000e", "AMPUSER=200") in new stack
-- Executing [s@macro-user-callerid:3] GotoIf("SIP/200-0000000e", "0?report") in new stack
-- Executing [s@macro-user-callerid:4] ExecIf("SIP/200-0000000e", "1?Set(REALCALLERIDNUM=200)") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/200-0000000e", "AMPUSER=200") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/200-0000000e", "0?limit") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/200-0000000e", "AMPUSERCIDNAME=200") in new stack
-- Executing [s@macro-user-callerid:8] GotoIf("SIP/200-0000000e", "0?report") in new stack
-- Executing [s@macro-user-callerid:9] Set("SIP/200-0000000e", "AMPUSERCID=200") in new stack
-- Executing [s@macro-user-callerid:10] Set("SIP/200-0000000e", "__DIAL_OPTIONS=Ttr") in new stack
-- Executing [s@macro-user-callerid:11] Set("SIP/200-0000000e", "CALLERID(all)="200" <200>") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("SIP/200-0000000e", "0?limit") in new stack
-- Executing [s@macro-user-callerid:13] ExecIf("SIP/200-0000000e", "1?Set(GROUP(concurrency_limit)=200)") in new stack
-- Executing [s@macro-user-callerid:14] GosubIf("SIP/200-0000000e", "7?sub-ccss,s,1(from-internal,рабочий_телефон)") in new stack
-- Executing [s@sub-ccss:1] ExecIf("SIP/200-0000000e", "0?Return()") in new stack
-- Executing [s@sub-ccss:2] Set("SIP/200-0000000e", "CCSS_SETUP=TRUE") in new stack
-- Executing [s@sub-ccss:3] GosubIf("SIP/200-0000000e", "0?monitor_config,1(from-internal,рабочий_телефон):monitor_default,1(from-internal,рабочий_телефон)") in new stack
-- Executing [monitor_default@sub-ccss:1] GotoIf("SIP/200-0000000e", "0?is_exten") in new stack
-- Executing [monitor_default@sub-ccss:2] StackPop("SIP/200-0000000e", "") in new stack
-- Executing [monitor_default@sub-ccss:3] Return("SIP/200-0000000e", "FALSE") in new stack
-- Executing [s@macro-user-callerid:15] ExecIf("SIP/200-0000000e", "1?Set(CHANNEL(language)=admin)") in new stack
-- Executing [s@macro-user-callerid:16] GotoIf("SIP/200-0000000e", "1?continue") in new stack
-- Goto (macro-user-callerid,s,30)
-- Executing [s@macro-user-callerid:30] Set("SIP/200-0000000e", "CALLERID(number)=200") in new stack
-- Executing [s@macro-user-callerid:31] Set("SIP/200-0000000e", "CALLERID(name)=200") in new stack
-- Executing [s@macro-user-callerid:32] Set("SIP/200-0000000e", "CDR(cnum)=200") in new stack
-- Executing [s@macro-user-callerid:33] Set("SIP/200-0000000e", "CDR(cnam)=200") in new stack
-- Executing [s@macro-user-callerid:34] Set("SIP/200-0000000e", "CHANNEL(language)=admin") in new stack
-- Executing [рабочий_телефон@from-internal:2] ExecIf("SIP/200-0000000e", "0 ?Set(CDR(accountcode)=)") in new stack
-- Executing [рабочий_телефон@from-internal:3] Set("SIP/200-0000000e", "MOHCLASS=default") in new stack
-- Executing [рабочий_телефон@from-internal:4] Set("SIP/200-0000000e", "_NODEST=") in new stack
-- Executing [рабочий_телефон@from-internal:5] Gosub("SIP/200-0000000e", "sub-record-check,s,1(out,рабочий_телефон,)") in new stack
-- Executing [s@sub-record-check:1] Set("SIP/200-0000000e", "REC_POLICY_MODE_SAVE=") in new stack
-- Executing [s@sub-record-check:2] GotoIf("SIP/200-0000000e", "1?check") in new stack
-- Goto (sub-record-check,s,7)
-- Executing [s@sub-record-check:7] Set("SIP/200-0000000e", "__MON_FMT=wav") in new stack
-- Executing [s@sub-record-check:8] GotoIf("SIP/200-0000000e", "1?next") in new stack
-- Goto (sub-record-check,s,11)
-- Executing [s@sub-record-check:11] ExecIf("SIP/200-0000000e", "0?Return()") in new stack
-- Executing [s@sub-record-check:12] ExecIf("SIP/200-0000000e", "0?Set(__REC_POLICY_MODE=)") in new stack
-- Executing [s@sub-record-check:13] GotoIf("SIP/200-0000000e", "0?out,1") in new stack
-- Executing [s@sub-record-check:14] Set("SIP/200-0000000e", "__REC_STATUS=INITIALIZED") in new stack
-- Executing [s@sub-record-check:15] Set("SIP/200-0000000e", "NOW=1463123404") in new stack
-- Executing [s@sub-record-check:16] Set("SIP/200-0000000e", "__DAY=13") in new stack
-- Executing [s@sub-record-check:17] Set("SIP/200-0000000e", "__MONTH=05") in new stack
-- Executing [s@sub-record-check:18] Set("SIP/200-0000000e", "__YEAR=2016") in new stack
-- Executing [s@sub-record-check:19] Set("SIP/200-0000000e", "__TIMESTR=20160513-101004") in new stack
-- Executing [s@sub-record-check:20] Set("SIP/200-0000000e", "__FROMEXTEN=200") in new stack
-- Executing [s@sub-record-check:21] Set("SIP/200-0000000e", "__CALLFILENAME=out-рабочий_телефон-200-20160513-101004-1463123404.27") in new stack
-- Executing [s@sub-record-check:22] Goto("SIP/200-0000000e", "out,1") in new stack
-- Goto (sub-record-check,out,1)
-- Executing [out@sub-record-check:1] ExecIf("SIP/200-0000000e", "1?Set(__REC_POLICY_MODE=dontcare)") in new stack
-- Executing [out@sub-record-check:2] GosubIf("SIP/200-0000000e", "0?record,1(exten,рабочий_телефон,200)") in new stack
-- Executing [out@sub-record-check:3] Return("SIP/200-0000000e", "") in new stack
-- Executing [рабочий_телефон@from-internal:6] Macro("SIP/200-0000000e", "dialout-trunk,1,рабочий_телефон,,off") in new stack
-- Executing [s@macro-dialout-trunk:1] Set("SIP/200-0000000e", "DIAL_TRUNK=1") in new stack
-- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/200-0000000e", "0?sub-pincheck,s,1()") in new stack
-- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/200-0000000e", "0?disabletrunk,1") in new stack
-- Executing [s@macro-dialout-trunk:4] Set("SIP/200-0000000e", "DIAL_NUMBER=рабочий_телефон") in new stack
-- Executing [s@macro-dialout-trunk:5] Set("SIP/200-0000000e", "DIAL_TRUNK_OPTIONS=Ttr") in new stack
-- Executing [s@macro-dialout-trunk:6] Set("SIP/200-0000000e", "OUTBOUND_GROUP=OUT_1") in new stack
-- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/200-0000000e", "1?nomax") in new stack
-- Goto (macro-dialout-trunk,s,9)
-- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/200-0000000e", "0?skipoutcid") in new stack
-- Executing [s@macro-dialout-trunk:10] Set("SIP/200-0000000e", "DIAL_TRUNK_OPTIONS=Tt") in new stack
-- Executing [s@macro-dialout-trunk:11] Macro("SIP/200-0000000e", "outbound-callerid,1") in new stack
-- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/200-0000000e", "0?Set(CALLERPRES()=)") in new stack
-- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/200-0000000e", "0?Set(REALCALLERIDNUM=200)") in new stack
-- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/200-0000000e", "1?normcid") in new stack
-- Goto (macro-outbound-callerid,s,6)
-- Executing [s@macro-outbound-callerid:6] Set("SIP/200-0000000e", "USEROUTCID=") in new stack
-- Executing [s@macro-outbound-callerid:7] Set("SIP/200-0000000e", "EMERGENCYCID=") in new stack
-- Executing [s@macro-outbound-callerid:8] Set("SIP/200-0000000e", "TRUNKOUTCID=") in new stack
-- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/200-0000000e", "1?trunkcid") in new stack
-- Goto (macro-outbound-callerid,s,14)
-- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/200-0000000e", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:15] ExecIf("SIP/200-0000000e", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:16] ExecIf("SIP/200-0000000e", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:17] ExecIf("SIP/200-0000000e", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack
-- Executing [s@macro-outbound-callerid:18] Set("SIP/200-0000000e", "CDR(outbound_cnum)=200") in new stack
-- Executing [s@macro-outbound-callerid:19] Set("SIP/200-0000000e", "CDR(outbound_cnam)=200") in new stack
-- Executing [s@macro-dialout-trunk:12] GosubIf("SIP/200-0000000e", "0?sub-flp-1,s,1()") in new stack
-- Executing [s@macro-dialout-trunk:13] Set("SIP/200-0000000e", "OUTNUM=рабочий_телефон") in new stack
-- Executing [s@macro-dialout-trunk:14] Set("SIP/200-0000000e", "custom=DAHDI/r0") in new stack
-- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/200-0000000e", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)Tt)") in new stack
-- Executing [s@macro-dialout-trunk:16] ExecIf("SIP/200-0000000e", "0?Set(DIAL_TRUNK_OPTIONS=TtM(confirm))") in new stack
-- Executing [s@macro-dialout-trunk:17] Macro("SIP/200-0000000e", "dialout-trunk-predial-hook,") in new stack
-- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/200-0000000e", "") in new stack
-- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/200-0000000e", "0?bypass,1") in new stack
-- Executing [s@macro-dialout-trunk:19] ExecIf("SIP/200-0000000e", "1?Set(CONNECTEDLINE(num,i)=рабочий_телефон)") in new stack
-- Executing [s@macro-dialout-trunk:20] ExecIf("SIP/200-0000000e", "1?Set(CONNECTEDLINE(name,i)=CID:200)") in new stack
-- Executing [s@macro-dialout-trunk:21] GotoIf("SIP/200-0000000e", "0?customtrunk") in new stack
-- Executing [s@macro-dialout-trunk:22] Dial("SIP/200-0000000e", "DAHDI/r0/рабочий_телефон,300,Tt") in new stack
PRI Span: 1 -- Making new call for cref 32769
-- Requested transfer capability: 0x00 - SPEECH
PRI Span: 1
PRI Span: 1 > DL-DATA request
PRI Span: 1 > Protocol Discriminator: Q.931 (8) len=33
PRI Span: 1 > TEI=0 Call Ref: len= 2 (reference 1/0x1) (Sent from originator)
PRI Span: 1 > Message Type: SETUP (5)
PRI Span: 1 TEI=0 Transmitting N(S)=16, window is open V(A)=16 K=7
PRI Span: 1
PRI Span: 1 > Protocol Discriminator: Q.931 (8) len=33
PRI Span: 1 > TEI=0 Call Ref: len= 2 (reference 1/0x1) (Sent from originator)
PRI Span: 1 > Message Type: SETUP (5)
PRI Span: 1 > [04 03 80 90 a3]
PRI Span: 1 > Bearer Capability (len= 5) [ Ext: 1 Coding-Std: 0 Info transfer capability: Speech (0)
PRI Span: 1 > Ext: 1 Trans mode/rate: 64kbps, circuit-mode (16)
PRI Span: 1 > User information layer 1: A-Law (35)
PRI Span: 1 > [18 03 a1 83 81]
PRI Span: 1 > Channel ID (len= 5) [ Ext: 1 IntID: Implicit Other(PRI) Spare: 0 Preferred Dchan: 0
PRI Span: 1 > ChanSel: As indicated in following octets
PRI Span: 1 > Ext: 1 Coding: 0 Number Specified Channel Type: 3
PRI Span: 1 > Ext: 1 Channel: 1 Type: CPE]
PRI Span: 1 > [6c 05 00 80 32 30 30]
PRI Span: 1 > Calling Number (len= 7) [ Ext: 0 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0)
PRI Span: 1 > Presentation: Presentation permitted, user number not screened (0) '200' ]
PRI Span: 1 > [70 08 80 37 38 36 39 30 35 31]
PRI Span: 1 > Called Number (len=10) [ Ext: 1 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0) 'рабочий_телефон' ]
PRI Span: 1 > [a1]
PRI Span: 1 > Sending Complete (len= 1)
PRI Span: 1 q931.c:6036 q931_setup: Call 32769 enters state 1 (Call Initiated). Hold state: Idle
-- Called DAHDI/r0/рабочий_телефон
PRI Span: 1
PRI Span: 1 < Protocol Discriminator: Q.931 (8) len=9
PRI Span: 1 < TEI=0 Call Ref: len= 2 (reference 1/0x1) (Sent to originator)
PRI Span: 1 < Message Type: RELEASE COMPLETE (90)
PRI Span: 1 < [08 02 82 9f]
PRI Span: 1 < Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) Spare: 0 Location: Public network serving the local user (2)
PRI Span: 1 < Ext: 1 Cause: Normal, unspecified (31), class = Normal Event (1) ]
PRI Span: 1 Received message for call 0xa4fcd20 on link 0xb764d874 TEI/SAPI 0/0
PRI Span: 1 -- Processing IE 8 (cs0, Cause)
PRI Span: 1 q931.c:8567 post_handle_q931_message: Call 32769 enters state 0 (Null). Hold state: Idle
Span 1: Processing event PRI_EVENT_HANGUP(6)
-- Span 1: Channel 0/1 got hangup, cause 31
PRI Span: 1 q931.c:6837 q931_hangup: Hangup other cref:32769
PRI Span: 1 q931.c:6594 __q931_hangup: ourstate Null, peerstate Null, hold-state Idle
PRI Span: 1 Destroying call 0xa4fcd20, ourstate Null, peerstate Null, hold-state Idle
-- Hungup 'DAHDI/i1/рабочий_телефон-4'
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [s@macro-dialout-trunk:23] NoOp("SIP/200-0000000e", "Dial failed for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 31") in new stack
-- Executing [s@macro-dialout-trunk:24] GotoIf("SIP/200-0000000e", "0?continue,1:s-CHANUNAVAIL,1") in new stack
-- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
-- Executing [s-CHANUNAVAIL@macro-dialout-trunk:1] Set("SIP/200-0000000e", "RC=31") in new stack
-- Executing [s-CHANUNAVAIL@macro-dialout-trunk:2] Goto("SIP/200-0000000e", "31,1") in new stack
-- Goto (macro-dialout-trunk,31,1)
-- Executing [31@macro-dialout-trunk:1] Goto("SIP/200-0000000e", "continue,1") in new stack
-- Goto (macro-dialout-trunk,continue,1)
-- Executing [continue@macro-dialout-trunk:1] NoOp("SIP/200-0000000e", "TRUNK Dial failed due to CHANUNAVAIL HANGUPCAUSE: 31 - failing through to other trunks") in new stack
-- Executing [continue@macro-dialout-trunk:2] Set("SIP/200-0000000e", "CALLERID(number)=200") in new stack
-- Executing [рабочий_телефон@from-internal:7] Macro("SIP/200-0000000e", "outisbusy,") in new stack
-- Executing [s@macro-outisbusy:1] Progress("SIP/200-0000000e", "") in new stack
-- Executing [s@macro-outisbusy:2] GotoIf("SIP/200-0000000e", "0?emergency,1") in new stack
-- Executing [s@macro-outisbusy:3] GotoIf("SIP/200-0000000e", "0?intracompany,1") in new stack
-- Executing [s@macro-outisbusy:4] Playback("SIP/200-0000000e", "all-circuits-busy-now&pls-try-call-later, noanswer") in new stack
-- <SIP/200-0000000e> Playing 'all-circuits-busy-now.ulaw' (language 'admin')
-- <SIP/200-0000000e> Playing 'pls-try-call-later.ulaw' (language 'admin')
-- Executing [s@macro-outisbusy:5] Congestion("SIP/200-0000000e", "20") in new stack
[2016-05-13 10:10:08] WARNING[12706][C-00000010]: channel.c:4860 ast_prod: Prodding channel 'SIP/200-0000000e' failed
== Spawn extension (macro-outisbusy, s, 5) exited non-zero on 'SIP/200-0000000e' in macro 'outisbusy'
== Spawn extension (from-internal, рабочий_телефон, 7) exited non-zero on 'SIP/200-0000000e'
-- Executing [h@from-internal:1] Hangup("SIP/200-0000000e", "") in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/200-0000000e'
localhost*CLI>
Может в этом причина?

PRI Span: 1 > Calling Number (len= 7) [ Ext: 0 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0)
PRI Span: 1 > Presentation: Presentation permitted, user number not screened (0) '200' ]
PRI Span: 1 > [70 08 80 37 38 36 39 30 35 31]
PRI Span: 1 > Called Number (len=10) [ Ext: 1 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0) 'рабочий_телефон' ]


Сейчас вот такие конфиги
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
/etc/modprobe.d/dahdi.conf
options wcte12xp default_linemode=e1


/etc/dahdi/system.conf
span=1,1,0,ccs,hdb3,crc4
bchan=1-15,17-31
dchan=16
echocanceller=mg2,1-15,17-31
loadzone = ru
defaultzone = ru


/etc/asterisk/chan_dahdi.conf
[general]

; generated by module
#include chan_dahdi_general.conf
; for user additions not provided by module
#include chan_dahdi_general_custom.conf
[channels]
language=ru
busydetect=yes
busycount=10
usecallerid=yes
callwaiting=yes
usecallingpres=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
echotraining=no
immediate=no
faxdetect=no
rxgain=0.0
txgain=0.0

; for user additions not provided by module
#include chan_dahdi_channels_custom.conf

; include dahdi groups defined by DAHDI module of FreePBX
#include chan_dahdi_groups.conf

; include dahdi extensions defined in FreePBX
#include chan_dahdi_additional.conf


/etc/asterisk/chan_dahdi_groups.conf
; [span_1]
signalling=pri_cpe
switchtype=euroisdn
pridialplan=unknown
prilocaldialplan=unknown
group=0
context=from-analog
channel=>1-15,17-31


/etc/asterisk/dahdi-channels.conf
; Span 1: WCT1/0 "Wildcard TE121 Card 0" (MASTER) CCS/HDB3/CRC4 ClockSource
group=0,11
context=from-pstn
switchtype = euroisdn
signalling = pri_cpe
channel => 1-15,17-31
context = default
group = 63
ded
Сообщения: 15623
Зарегистрирован: 26 авг 2010, 19:00

Re: Dahdi - рестарт каналов

Сообщение ded »

На вопрос - Непонятно, зачем Вы разводите их на именные номера каналов, А что делать в потоке с каналами 3,4,5,6,7,8,9,10 и 19, 20, 21, 22, и т.д.? - не ответили.
Может в этом причина?

PRI Span: 1 > Calling Number (len= 7) [ Ext: 0 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0)
PRI Span: 1 > Presentation: Presentation permitted, user number not screened (0) '200' ]
PRI Span: 1 > [70 08 80 37 38 36 39 30 35 31]
PRI Span: 1 > Called Number (len=10) [ Ext: 1 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0) 'рабочий_телефон' ]
Нет.
Вы не подставляете правильный CID в правильном формате (который требует оператор), то есть один из тех, который у вас выше 777777, а пытаетесь отправлять 200 номер в качестве звонящего. Вам на транке надо поставить закрывающий легальный CID.
Вписывать словами рабочий_телефон в дебаг не очень правильно, ничего не понятно. Лучше бы оставались на заменителях типа 777777

Почему Вы используете параметр r при наборе?
Dial("SIP/200-0000000e", "DAHDI/r0/рабочий_телефон,300,Tt")
Знаете о его назначении?

Код: Выделить всё

>         /*
>          * Dial(DAHDI/pseudo[/extension])
>          * Dial(DAHDI/<channel#>[c|r<cadance#>|d][/extension])
>          * Dial(DAHDI/(g|G|r|R)<group#(0-63)>[c|r<cadance#>|d][/extension])
>          *
>          * g - channel group allocation search forward
>          * G - channel group allocation search backward
>          * r - channel group allocation round robin search forward
>          * R - channel group allocation round robin search backward
>          *
>          * c - Wait for DTMF digit to confirm answer
>          * r<cadance#> - Set distintive ring cadance number
>          * d - Force bearer capability for ISDN/SS7 call to digital.
>          */
В общем резюмирую:
Так как вам подают номера (один номер на 1-2, другой на 17-18) - это, скорее всего, попытка ограничить по канальности со стороны провайдера. И это сигнализация CAS, а не PRI. Поэтому каналы не поднимаются, кроме 1-2.
только платный суппорт. Между делом с этим разбираться (мне) никак не не можно.
Jonny
Сообщения: 63
Зарегистрирован: 11 июл 2011, 20:04

Re: Dahdi - рестарт каналов

Сообщение Jonny »

На вопрос -
Непонятно, зачем Вы разводите их на именные номера каналов .... -
отвечаю - Я просто попросил дать мне в потоке два номера - они же жестко закрепили их за каналами - зачем, я не могу понять. Видимо иначе не умеют. Где-то читал Ваш пост о том что
...в PRI динамическое занятие каналов...

Я вот тоже думаю, что наверняка же можно в один поток завести несколько номеров не привязывая их жестко к определенному каналу. А уже на Asterisk`е ограничить по количеству входящих вызовов с каждого номера.
ded
Сообщения: 15623
Зарегистрирован: 26 авг 2010, 19:00

Re: Dahdi - рестарт каналов

Сообщение ded »

Конечно можно. В PRI нет зависимости от номеров (DIDs) от каналов. В полном потоке 30 каналов можно подать 1, 2 номера, а можно 40-50-60 номеров.
Они не привязываются к номерам каналов, а занятие каналов динамически происходит сверху вниз (если DAHDI/g0), снизу вверх (DAHDI/G0) или рандомно (DAHDI/r0 forward) и R - backward
Jonny
Сообщения: 63
Зарегистрирован: 11 июл 2011, 20:04

Re: Dahdi - рестарт каналов

Сообщение Jonny »

Спасибо большое за разъяснение.
Теперь осталось дожать "специалистов" АТС.
Сказали мне что завели основной номер и к нему добавили второй но по факту работает только основной.

Они пишут что на EWSD можно сделать только вот таким образом
Номеров можно засунуть хоть 10000, но для этого основной номер РВХ должен быть создан с диапазоном номеров а не как единичный. т.е есть такой параметр на EWSD PBX volume, надо чтобы номер доступа имел диапазон номеров ну хотя бы 2, 5, 10. Тогда можно добавить еще 15 единичных или 15 диапазонов номеров
Тут я мало чего понимаю.
Может есть у кого какая-то документация, или может кто подключал поток с несколькими номерами в нем к карте? Так как сдается мне вся проблема у них но признаться ж никто не захочет.
Jonny
Сообщения: 63
Зарегистрирован: 11 июл 2011, 20:04

Re: Dahdi - рестарт каналов

Сообщение Jonny »

Дожал таки проблему.
Как и думал - все проблемы были на АТС.
После 2х дней общения с "специалистами" АТС наконец-то удалось добиться того, чтобы в поток были добавлены номера без привязки к конкретным каналам. Как оказалось - необходимо на АТС (в моем случае EWSD) в поток прописать основной номер (параметр PBX_volume) + еще как минимум один номер, идущий подряд - например 7777777 и 7777778 - в этом случае есть возможность прописать в этом же потоке еще несколько номеров другой нумерации - например 7200000 7860000 ну и так далее. Таким образом карта Digium TE121 уже нормально понимает конфигурацию потока и может корректно с ним работать - есть исходящие и входящие.
Ни в коем случае не претендую на правильность всего вышенаписанного но оно работает.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH