Доброго времени суток! Два сервера с Elastix. Если объединять по IAX то звонки ходят туд и обратно без проблем, но не работает перевод (transfer) звонка. А если объединять по SIP протоколу, то с 1го на 2ой звонки проходят а со 2го на 1й нет, но если добавить в исходящую маршрутизацию 2го Route CID то звонки проходят (transfer тоже). Подскажите куда копать? На других наших серверах все прекрасно работает с аналогичной конфигурацией.
конфиг транка проще некуда:
host=XXX.XXX.XXX.XXX
type=friend
Пробовал транк с использованием логина и пароля тоже самое, хотя на обоих серверах sip show registry показывает State Registred
Connected to Asterisk 1.8.20.0 currently running on jakovandr (pid = 1770)
Verbosity is at least 6
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [2001@from-internal:1] Macro("SIP/3333-00000024", "user-callerid, SKIPTTL,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/3333-00000024", "AMPUSER=3333" ) in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("SIP/3333-00000024", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("SIP/3333-00000024", "1?Set(REAL CALLERIDNUM=3333)") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/3333-00000024", "AMPUSER=3333" ) in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/3333-00000024", "AMPUSERCIDNAM E=3333") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/3333-00000024", "0?report") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/3333-00000024", "AMPUSERCID=33 33") in new stack
-- Executing [s@macro-user-callerid:8] Set("SIP/3333-00000024", "CALLERID(all) ="3333" <3333>") in new stack
-- Executing [s@macro-user-callerid:9] ExecIf("SIP/3333-00000024", "0?Set(CHAN NEL(language)=)") in new stack
-- Executing [s@macro-user-callerid:10] GotoIf("SIP/3333-00000024", "1?continu e") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] Set("SIP/3333-00000024", "CALLERID(num ber)=3333") in new stack
-- Executing [s@macro-user-callerid:20] Set("SIP/3333-00000024", "CALLERID(nam e)=3333") in new stack
-- Executing [s@macro-user-callerid:21] NoOp("SIP/3333-00000024", "Using Calle rID "3333" <3333>") in new stack
-- Executing [2001@from-internal:2] NoOp("SIP/3333-00000024", "Calling Out Rout e: main") in new stack
-- Executing [2001@from-internal:3] Set("SIP/3333-00000024", "MOHCLASS=default ") in new stack
-- Executing [2001@from-internal:4] Set("SIP/3333-00000024", "_NODEST=") in ne w stack
-- Executing [2001@from-internal:5] Macro("SIP/3333-00000024", "record-enable, 3333,OUT,") in new stack
-- Executing [s@macro-record-enable:1] GotoIf("SIP/3333-00000024", "1?check") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing [s@macro-record-enable:4] ExecIf("SIP/3333-00000024", "0?MacroExi t()") in new stack
-- Executing [s@macro-record-enable:5] GotoIf("SIP/3333-00000024", "0?Group:OU T") in new stack
-- Goto (macro-record-enable,s,15)
-- Executing [s@macro-record-enable:15] GotoIf("SIP/3333-00000024", "0?IN") in new stack
-- Executing [s@macro-record-enable:16] ExecIf("SIP/3333-00000024", "1?MacroEx it()") in new stack
-- Executing [2001@from-internal:6] Macro("SIP/3333-00000024", "dialout-trunk, 1,2001,") in new stack
-- Executing [s@macro-dialout-trunk:1] Set("SIP/3333-00000024", "DIAL_TRUNK=1" ) in new stack
-- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/3333-00000024", "0?sub-pin check,s,1") in new stack
-- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/3333-00000024", "0?disablet runk,1") in new stack
-- Executing [s@macro-dialout-trunk:4] Set("SIP/3333-00000024", "DIAL_NUMBER=2 001") in new stack
-- Executing [s@macro-dialout-trunk:5] Set("SIP/3333-00000024", "DIAL_TRUNK_OP TIONS=trw") in new stack
-- Executing [s@macro-dialout-trunk:6] Set("SIP/3333-00000024", "OUTBOUND_GROU P=OUT_1") in new stack
-- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/3333-00000024", "1?nomax") in new stack
-- Goto (macro-dialout-trunk,s,9)
-- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/3333-00000024", "0?skipoutc id") in new stack
-- Executing [s@macro-dialout-trunk:10] Set("SIP/3333-00000024", "DIAL_TRUNK_O PTIONS=") in new stack
-- Executing [s@macro-dialout-trunk:11] Macro("SIP/3333-00000024", "outbound-c allerid,1") in new stack
-- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/3333-00000024", "0?Set( CALLERPRES()=)") in new stack
-- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/3333-00000024", "0?Set( REALCALLERIDNUM=3333)") in new stack
-- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/3333-00000024", "1?norm cid") in new stack
-- Goto (macro-outbound-callerid,s,6)
-- Executing [s@macro-outbound-callerid:6] Set("SIP/3333-00000024", "USEROUTCI D=3333") in new stack
-- Executing [s@macro-outbound-callerid:7] Set("SIP/3333-00000024", "EMERGENCY CID=3333") in new stack
-- Executing [s@macro-outbound-callerid:8] Set("SIP/3333-00000024", "TRUNKOUTCI D=") in new stack
-- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/3333-00000024", "1?trun kcid") in new stack
-- Goto (macro-outbound-callerid,s,12)
-- Executing [s@macro-outbound-callerid:12] ExecIf("SIP/3333-00000024", "0?Set (CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:13] ExecIf("SIP/3333-00000024", "1?Set (CALLERID(all)=3333)") in new stack
-- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/3333-00000024", "0?Set (CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:15] ExecIf("SIP/3333-00000024", "0?Set (CALLERPRES()=prohib_passed_screen)") in new stack
-- Executing [s@macro-dialout-trunk:12] GosubIf("SIP/3333-00000024", "0?sub-fl p-1,s,1") in new stack
-- Executing [s@macro-dialout-trunk:13] Set("SIP/3333-00000024", "OUTNUM=2001" ) in new stack
-- Executing [s@macro-dialout-trunk:14] Set("SIP/3333-00000024", "custom=SIP/m ain") in new stack
-- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/3333-00000024", "0?Set(DIA L_TRUNK_OPTIONS=M(setmusic^default))") in new stack
-- Executing [s@macro-dialout-trunk:16] Macro("SIP/3333-00000024", "dialout-tr unk-predial-hook,") in new stack
-- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/3333-000000 24", "") in new stack
-- Executing [s@macro-dialout-trunk:17] GotoIf("SIP/3333-00000024", "0?bypass, 1") in new stack
-- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/3333-00000024", "0?customt runk") in new stack
-- Executing [s@macro-dialout-trunk:19] Dial("SIP/3333-00000024", "SIP/main/20 01,300,") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called SIP/main/2001
-- SIP/main-00000025 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
-- Executing [s@macro-dialout-trunk:20] NoOp("SIP/3333-00000024", "Dial failed for some reason with DIALSTATUS = CONGESTION and HANGUPCAUSE = 21") in new stack
-- Executing [s@macro-dialout-trunk:21] Goto("SIP/3333-00000024", "s-CONGESTIO N,1") in new stack
-- Goto (macro-dialout-trunk,s-CONGESTION,1)
-- Executing [s-CONGESTION@macro-dialout-trunk:1] Set("SIP/3333-00000024", "RC =21") in new stack
-- Executing [s-CONGESTION@macro-dialout-trunk:2] Goto("SIP/3333-00000024", "2 1,1") in new stack
-- Goto (macro-dialout-trunk,21,1)
-- Executing [21@macro-dialout-trunk:1] Goto("SIP/3333-00000024", "continue,1" ) in new stack
-- Goto (macro-dialout-trunk,continue,1)
-- Executing [continue@macro-dialout-trunk:1] GotoIf("SIP/3333-00000024", "1?n oreport") in new stack
-- Goto (macro-dialout-trunk,continue,3)
-- Executing [continue@macro-dialout-trunk:3] NoOp("SIP/3333-00000024", "TRUNK Dial failed due to CONGESTION HANGUPCAUSE: 21 - failing through to other trunks") in new stack
-- Executing [continue@macro-dialout-trunk:4] Set("SIP/3333-00000024", "CALLER ID(number)=3333") in new stack
-- Executing [2001@from-internal:7] Macro("SIP/3333-00000024", "outisbusy,") i n new stack
-- Executing [s@macro-outisbusy:1] Progress("SIP/3333-00000024", "") in new st ack
-- Executing [s@macro-outisbusy:2] GotoIf("SIP/3333-00000024", "0?emergency,1" ) in new stack
-- Executing [s@macro-outisbusy:3] GotoIf("SIP/3333-00000024", "0?intracompany ,1") in new stack
-- Executing [s@macro-outisbusy:4] Playback("SIP/3333-00000024", "all-circuits -busy-now&pls-try-call-later, noanswer") in new stack
-- <SIP/3333-00000024> Playing 'all-circuits-busy-now.gsm' (language 'en')
-- <SIP/3333-00000024> Playing 'pls-try-call-later.gsm' (language 'en')
== Spawn extension (macro-outisbusy, s, 4) exited non-zero on 'SIP/3333-00000024 ' in macro 'outisbusy'
== Spawn extension (from-internal, 2001, 7) exited non-zero on 'SIP/3333-0000002 4'
-- Executing [h@from-internal:1] Macro("SIP/3333-00000024", "hangupcall") in n ew stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/3333-00000024", "1?endmixmonch eck") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] NoOp("SIP/3333-00000024", "End of MIXMON c heck") in new stack
-- Executing [s@macro-hangupcall:10] GotoIf("SIP/3333-00000024", "1?nomeetmemo n") in new stack
-- Goto (macro-hangupcall,s,28)
-- Executing [s@macro-hangupcall:28] NoOp("SIP/3333-00000024", "End of MEETME check") in new stack
-- Executing [s@macro-hangupcall:29] GotoIf("SIP/3333-00000024", "1?noautomon" ) in new stack
-- Goto (macro-hangupcall,s,34)
-- Executing [s@macro-hangupcall:34] NoOp("SIP/3333-00000024", "TOUCH_MONITOR_ OUTPUT=") in new stack
-- Executing [s@macro-hangupcall:35] GotoIf("SIP/3333-00000024", "1?noautomon2 ") in new stack
-- Goto (macro-hangupcall,s,41)
-- Executing [s@macro-hangupcall:41] NoOp("SIP/3333-00000024", "MONITOR_FILE ME=") in new stack
-- Executing [s@macro-hangupcall:42] GotoIf("SIP/3333-00000024", "1?skiprg") n new stack
-- Goto (macro-hangupcall,s,45)
-- Executing [s@macro-hangupcall:45] GotoIf("SIP/3333-00000024", "1?skipblkv ) in new stack
-- Goto (macro-hangupcall,s,48)
-- Executing [s@macro-hangupcall:48] GotoIf("SIP/3333-00000024", "1?theend") n new stack
-- Goto (macro-hangupcall,s,50)
-- Executing [s@macro-hangupcall:50] AGI("SIP/3333-00000024", "hangup.agi") new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/hangup.agi
-- <SIP/3333-00000024>AGI Script hangup.agi completed, returning 0
-- Executing [s@macro-hangupcall:51] Hangup("SIP/3333-00000024", "") in new ack
== Spawn extension (macro-hangupcall, s, 51) exited non-zero on 'SIP/3333-0000 24' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/3333-00000024
итак. опять авторизация на астериске..
астериск видит входящий вызов от екстеншена 100.
смотрит. ага. уменя такой есть. значит надо спросить пароль. спрашивает. а он чегото не от 100.
а вот если прийдет от 199 которого на * нет, тогда астериск сравнит уже адреса. и соответсвенно возьмет пароль от секции с адресом(причем от первой).
както так.
Задан: 2015-02-19 01:49:15 +0400
Просмотрен: 583 раз
Обновлен: Feb 20 '15
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
маршрут между серверами в самом верху ?
awsswa ( 2015-02-19 11:57:33 +0400 )редактироватьОгромное СПАСИБО! Действительно проблема была в совпадении экстеншенов на двух серверах.
sash8d ( 2015-02-20 11:58:54 +0400 )редактировать