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

freepbx не перебирает транки.

Обо всем касательно FreePBX, MetPBX, TrixBox, Elastix, AstPBX и всех других дистрибутивов

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

rusya
Сообщения: 148
Зарегистрирован: 03 май 2011, 16:44

freepbx не перебирает транки.

Сообщение rusya »

Есть несколько SIP транков до провайдера (не шлюзы), все перечислены в исходящем марщруте. Я предполагал, что при исходящем звонке во время занятости одного транка будет предпринята попытка позвонить через следующий и т д. , однако такого не происходит. В логах видно что попытка перейти на другой транк даже не предпринимается. ЧЯДНТ?
ded
Сообщения: 15623
Зарегистрирован: 26 авг 2010, 19:00

Re: freepbx не перебирает транки.

Сообщение ded »

Понятие "Транк занят" нечётко. Если есть адеватный SIP ответ от транка (или неответ) - то будет переход.
Надо выцепить sip debug peer TRUNK_1 чтобы посмотреть что происходит при вызове - есть SIP ответы (и какие), нет ответов...?
rusya
Сообщения: 148
Зарегистрирован: 03 май 2011, 16:44

Re: freepbx не перебирает транки.

Сообщение rusya »

а можно портянку запостить?

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

[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [2741366@from-internal:1] Macro("SIP/243-00001194", "user-callerid,LIMIT,") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:1] Set("SIP/243-00001194", "AMPUSER=243") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:2] GotoIf("SIP/243-00001194", "0?report") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:3] ExecIf("SIP/243-00001194", "1?Set(REALCALLERIDNUM=243)") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:4] Set("SIP/243-00001194", "AMPUSER=243") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:5] Set("SIP/243-00001194", "AMPUSERCIDNAME=Call11") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:6] GotoIf("SIP/243-00001194", "0?report") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:7] Set("SIP/243-00001194", "AMPUSERCID=243") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:8] Set("SIP/243-00001194", "CALLERID(all)="Call11" <243>") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:9] GotoIf("SIP/243-00001194", "0?limit") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:10] ExecIf("SIP/243-00001194", "1?Set(GROUP(concurrency_limit)=243)") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:11] GosubIf("SIP/243-00001194", "7?sub-ccss,s,1(from-internal,2741366)") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@sub-ccss:1] ExecIf("SIP/243-00001194", "0?Return()") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@sub-ccss:2] Set("SIP/243-00001194", "CCSS_SETUP=TRUE") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@sub-ccss:3] GosubIf("SIP/243-00001194", "0?monitor_config,1(from-internal,2741366):monitor_default,1(from-internal,2741366)") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [monitor_default@sub-ccss:1] GotoIf("SIP/243-00001194", "0?is_exten") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [monitor_default@sub-ccss:2] StackPop("SIP/243-00001194", "") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [monitor_default@sub-ccss:3] Return("SIP/243-00001194", "FALSE") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:12] ExecIf("SIP/243-00001194", "0?Set(CHANNEL(language)=)") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:13] GotoIf("SIP/243-00001194", "1?continue") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Goto (macro-user-callerid,s,26)
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:26] Set("SIP/243-00001194", "CALLERID(number)=243") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:27] Set("SIP/243-00001194", "CALLERID(name)=Call11") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-user-callerid:28] Set("SIP/243-00001194", "CHANNEL(language)=ru") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [2741366@from-internal:2] Set("SIP/243-00001194", "MOHCLASS=default") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [2741366@from-internal:3] Set("SIP/243-00001194", "_NODEST=") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [2741366@from-internal:4] Macro("SIP/243-00001194", "record-enable,243,OUT,") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-record-enable:1] GotoIf("SIP/243-00001194", "1?check") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Goto (macro-record-enable,s,4)
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-record-enable:4] ExecIf("SIP/243-00001194", "0?MacroExit()") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-record-enable:5] GotoIf("SIP/243-00001194", "0?Group:OUT") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Goto (macro-record-enable,s,14)
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-record-enable:14] GotoIf("SIP/243-00001194", "0?IN") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-record-enable:15] ExecIf("SIP/243-00001194", "1?MacroExit()") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [2741366@from-internal:5] Macro("SIP/243-00001194", "dialout-trunk,27,2741366,") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:1] Set("SIP/243-00001194", "DIAL_TRUNK=27") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/243-00001194", "0?sub-pincheck,s,1") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/243-00001194", "0?disabletrunk,1") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:4] Set("SIP/243-00001194", "DIAL_NUMBER=2741366") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:5] Set("SIP/243-00001194", "DIAL_TRUNK_OPTIONS=tr") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:6] Set("SIP/243-00001194", "OUTBOUND_GROUP=OUT_27") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/243-00001194", "1?nomax") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Goto (macro-dialout-trunk,s,9)
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/243-00001194", "0?skipoutcid") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:10] Set("SIP/243-00001194", "DIAL_TRUNK_OPTIONS=") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:11] Macro("SIP/243-00001194", "outbound-callerid,27") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/243-00001194", "0?Set(CALLERPRES()=)") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/243-00001194", "0?Set(REALCALLERIDNUM=243)") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/243-00001194", "1?normcid") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Goto (macro-outbound-callerid,s,6)
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-outbound-callerid:6] Set("SIP/243-00001194", "USEROUTCID=") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-outbound-callerid:7] Set("SIP/243-00001194", "EMERGENCYCID=") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-outbound-callerid:8] Set("SIP/243-00001194", "TRUNKOUTCID=78432113418") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/243-00001194", "1?trunkcid") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Goto (macro-outbound-callerid,s,12)
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-outbound-callerid:12] ExecIf("SIP/243-00001194", "1?Set(CALLERID(all)=78432113418)") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-outbound-callerid:13] ExecIf("SIP/243-00001194", "0?Set(CALLERID(all)=)") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/243-00001194", "0?Set(CALLERID(all)=)") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-outbound-callerid:15] ExecIf("SIP/243-00001194", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:12] GosubIf("SIP/243-00001194", "0?sub-flp-27,s,1") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:13] Set("SIP/243-00001194", "OUTNUM=2741366") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:14] Set("SIP/243-00001194", "custom=SIP/2113418") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/243-00001194", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default))") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:16] ExecIf("SIP/243-00001194", "0?Set(DIAL_TRUNK_OPTIONS=M(confirm))") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:17] Macro("SIP/243-00001194", "dialout-trunk-predial-hook,") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/243-00001194", "") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/243-00001194", "0?bypass,1") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:19] GotoIf("SIP/243-00001194", "0?customtrunk") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:20] Dial("SIP/243-00001194", "SIP/2113418/2741366,300,") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] netsock2.c:   == Using SIP RTP TOS bits 184
[2011-09-12 13:47:03] VERBOSE[30951] netsock2.c:   == Using SIP RTP CoS mark 5
[2011-09-12 13:47:03] VERBOSE[30951] app_dial.c:     -- Called SIP/2113418/2741366
[2011-09-12 13:47:03] VERBOSE[31918] chan_sip.c:     -- Got SIP response 603 "Out of capacity" back from 88.17.46.6:5060
[2011-09-12 13:47:03] VERBOSE[30951] app_dial.c:     -- SIP/2113418-00001195 is busy
[2011-09-12 13:47:03] VERBOSE[30951] app_dial.c:   == Everyone is busy/congested at this time (1:1/0/0)
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:21] NoOp("SIP/243-00001194", "Dial failed for some reason with DIALSTATUS = BUSY and HANGUPCAUSE = 21") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s@macro-dialout-trunk:22] Goto("SIP/243-00001194", "s-BUSY,1") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Goto (macro-dialout-trunk,s-BUSY,1)
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s-BUSY@macro-dialout-trunk:1] NoOp("SIP/243-00001194", "Dial failed due to trunk reporting BUSY - giving up") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s-BUSY@macro-dialout-trunk:2] PlayTones("SIP/243-00001194", "busy") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [s-BUSY@macro-dialout-trunk:3] Busy("SIP/243-00001194", "20") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] app_macro.c:   == Spawn extension (macro-dialout-trunk, s-BUSY, 3) exited non-zero on 'SIP/243-00001194' in macro 'dialout-trunk'
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:   == Spawn extension (from-internal, 2741366, 5) exited non-zero on 'SIP/243-00001194'
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:     -- Executing [h@from-internal:1] Hangup("SIP/243-00001194", "") in new stack
[2011-09-12 13:47:03] VERBOSE[30951] pbx.c:   == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/243-00001194'
как видно отбой ему сообщают, но дальше он идти не хочет.
у extention указан jutbound call limit = 1. Но вряд ли здесь собака порылась.
ded
Сообщения: 15623
Зарегистрирован: 26 авг 2010, 19:00

Re: freepbx не перебирает транки.

Сообщение ded »

Да, SIP response 603 "Out of capacity" получает. Фишка в том, что код такой ошибки интерпретируется в BUSY,
Everyone is busy/congested at this time
а согласно человеческой логике - нет смысла отправлять второй вызов через альтернативный транк, если абонент занят (через первый типа транк).
Надо кастомный вызов делать для такого кода ответа.
rusya
Сообщения: 148
Зарегистрирован: 03 май 2011, 16:44

Re: freepbx не перебирает транки.

Сообщение rusya »

ded писал(а):Надо кастомный вызов делать для такого кода ответа.
О, черт! Ну почему у меня все не как у людей?
ded писал(а):Фишка в том, что код такой ошибки интерпретируется в BUSY,
Это в смысле интерпретируется в "абонент занят"?

Ded, как хоть обрабатывать этот ответ? Я в смятении....
То есть перебора не будет у меня? Я могу привязать конечно каждому внутреннему звонильщику свой транк - емкость позволяет, но это порно же.
ded
Сообщения: 15623
Зарегистрирован: 26 авг 2010, 19:00

Re: freepbx не перебирает транки.

Сообщение ded »

Вам бы разобраться с этим пиром SIP/2113418 по существу, поглубже. Если это провайдер, то зачем кастомный транк? И зачем циферный, а не с названием типа SIP/Rostelekom-2113418 (было бы информативней, точно скажу).
И можно ли верить ответу SIP response 603 "Out of capacity" , може он блокирует потому что тоже ограничение на 1 исходящий установил у себя, или не принимает "TRUNKOUTCID=78432113418"
rusya
Сообщения: 148
Зарегистрирован: 03 май 2011, 16:44

Re: freepbx не перебирает транки.

Сообщение rusya »

ded писал(а):Если это провайдер, то зачем кастомный транк?
Нет у меня кастомных транков, все как обычно и в учебнике. Есть у меня кастом контексты, но они там никаким краем.
Ааа, это наверное, потому что у меня там строка register есть.
ded писал(а):И зачем циферный
Ну провайдер один, пока не было необходимости уточнять.
ded писал(а):И можно ли верить ответу SIP response 603 "Out of capacity"
Не, ну для одного номера лимит один исходящий - что здесь такого? В том-то и цель, заставить перейти на следующий транк при невозможности (аут оф капасити или бизи или чего там еще) .
rusya писал(а):не принимает "TRUNKOUTCID=78432113418"
транкаутCID - это провайдер так сказал сделать, так надо.
Не, ну все работает. Каждый транк по отдельности - на ура. Но не перебирается. Получает отбой от первого - и giving up.
Последний раз редактировалось rusya 12 сен 2011, 15:50, всего редактировалось 2 раза.
rusya
Сообщения: 148
Зарегистрирован: 03 май 2011, 16:44

Re: freepbx не перебирает транки.

Сообщение rusya »

Может, эта информация поможет?
На серваке с астериском поднимается pppoe и через него на сервере провайдера регистрируется четыре различных логина.
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: freepbx не перебирает транки.

Сообщение Vlad1983 »

в настройках транка
fromuser=78432113418

это отменяет установки TRUNKOUTCID
сделать для каждого транка там наверное должны быть разные
ЛС: @rostel
rusya
Сообщения: 148
Зарегистрирован: 03 май 2011, 16:44

Re: freepbx не перебирает транки.

Сообщение rusya »

Vlad1983 писал(а):в настройках транка
fromuser=78432113418
Vlad1983, у меня работают транки. каждый по отдельности. А перебор - нет. Если бы была блокировка по CID, ни один бы не работал...
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH