0
- 29.01.2016 - 09:59
|
Добрый день, есть 2 транка с городскими номерами от РТК. Всё это дело крутится и успешно работает на одном из серверов (freebsd), настройки там минимальные входящие звонки прямиком идут на внутренние телефоны одного из офисов. Руководство поставило задачу создать IVR и запустить всё это дело с очередями звонков,правилами на несколько офисов и подразделений, временными правилами и дозвоном на сотовые телефоны в случае неподнятия трубки в офисе, либо в выходные. Что было сделано, установил FreePBX+Asterisk13, настроил пока что 1 транк, на старом серваке его отрубил. Транк успешно цепляется есть входящие звонки, но вот с исходящими проблема, в логах asterisk при звонке наружу пишет вот что: Скрытый текст [2016-01-29 09:19:38] WARNING[3978]: res_odbc.c:1405 _ast_odbc_request_obj2: SetConnectAttr (Txn isolation) returned an error: HY000: [MySQL][ODBC 5.1 Driver]MySQL server has gone away [2016-01-29 09:19:38] WARNING[3978]: res_odbc.c:649 ast_odbc_prepare_and_execute: SQL Execute returned an error -1: 08S01: [MySQL][ODBC 5.1 Driver][mysqld-5.1.73]MySQL server has gone away (65) [2016-01-29 09:19:38] WARNING[3978]: res_odbc.c:661 ast_odbc_prepare_and_execute: SQL Execute error -1! Verifying connection to asteriskcdrdb [MySQL-asteriskcdrdb]... [2016-01-29 09:19:38] WARNING[3978]: res_odbc.c:765 ast_odbc_sanity_check: Connection is down attempting to reconnect... [2016-01-29 09:19:38] NOTICE[3978]: res_odbc.c:1528 odbc_obj_connect: Connecting asteriskcdrdb [2016-01-29 09:19:38] NOTICE[3978]: res_odbc.c:1567 odbc_obj_connect: res_odbc: Connected to asteriskcdrdb [MySQL-asteriskcdrdb] -- Executing [891897xxxxx@from-internal:1] Macro("SIP/1133-00000003", "user-callerid,LIMIT,EXTERNAL,") in new stack -- Executing [s@macro-user-callerid:1] Set("SIP/1133-00000003", "TOUCH_MONITOR=1454048378.6") in new stack -- Executing [s@macro-user-callerid:2] Set("SIP/1133-00000003", "AMPUSER=1133") in new stack -- Executing [s@macro-user-callerid:3] GotoIf("SIP/1133-00000003", "0?report") in new stack -- Executing [s@macro-user-callerid:4] ExecIf("SIP/1133-00000003", "1?Set(REALCALLERIDNUM=1133)") in new stack -- Executing [s@macro-user-callerid:5] Set("SIP/1133-00000003", "AMPUSER=1133") in new stack -- Executing [s@macro-user-callerid:6] GotoIf("SIP/1133-00000003", "0?limit") in new stack -- Executing [s@macro-user-callerid:7] Set("SIP/1133-00000003", "AMPUSERCIDNAME=Test SIP ID") in new stack -- Executing [s@macro-user-callerid:8] GotoIf("SIP/1133-00000003", "0?report") in new stack -- Executing [s@macro-user-callerid:9] Set("SIP/1133-00000003", "AMPUSERCID=1133") in new stack -- Executing [s@macro-user-callerid:10] Set("SIP/1133-00000003", "__DIAL_OPTIONS=Ttr") in new stack -- Executing [s@macro-user-callerid:11] Set("SIP/1133-00000003", "CALLERID(all)="Test SIP ID" <1133>") in new stack -- Executing [s@macro-user-callerid:12] GotoIf("SIP/1133-00000003", "0?limit") in new stack -- Executing [s@macro-user-callerid:13] ExecIf("SIP/1133-00000003", "1?Set(GROUP(concurrency_limit)=1133)") in new stack -- Executing [s@macro-user-callerid:14] ExecIf("SIP/1133-00000003", "0?Set(CHANNEL(language)=)") in new stack -- Executing [s@macro-user-callerid:15] GotoIf("SIP/1133-00000003", "1?continue") in new stack -- Goto (macro-user-callerid,s,29) -- Executing [s@macro-user-callerid:29] Set("SIP/1133-00000003", "CALLERID(number)=1133") in new stack -- Executing [s@macro-user-callerid:30] Set("SIP/1133-00000003", "CALLERID(name)=Test SIP ID") in new stack -- Executing [s@macro-user-callerid:31] Set("SIP/1133-00000003", "CDR(cnum)=1133") in new stack -- Executing [s@macro-user-callerid:32] Set("SIP/1133-00000003", "CDR(cnam)=Test SIP ID") in new stack -- Executing [s@macro-user-callerid:33] Set("SIP/1133-00000003", "CHANNEL(language)=ru") in new stack -- Executing [891897xxxxx@from-internal:2] Gosub("SIP/1133-00000003", "sub-record-check,s,1(out,891897xxxxx,dontcare)") in new stack -- Executing [s@sub-record-check:1] GotoIf("SIP/1133-00000003", "0?initialized") in new stack -- Executing [s@sub-record-check:2] Set("SIP/1133-00000003", "__REC_STATUS=INITIALIZED") in new stack -- Executing [s@sub-record-check:3] Set("SIP/1133-00000003", "NOW=1454048378") in new stack -- Executing [s@sub-record-check:4] Set("SIP/1133-00000003", "__DAY=29") in new stack -- Executing [s@sub-record-check:5] Set("SIP/1133-00000003", "__MONTH=01") in new stack -- Executing [s@sub-record-check:6] Set("SIP/1133-00000003", "__YEAR=2016") in new stack -- Executing [s@sub-record-check:7] Set("SIP/1133-00000003", "__TIMESTR=20160129-091938") in new stack -- Executing [s@sub-record-check:8] Set("SIP/1133-00000003", "__FROMEXTEN=1133") in new stack -- Executing [s@sub-record-check:9] Set("SIP/1133-00000003", "__MON_FMT=wav") in new stack -- Executing [s@sub-record-check:10] NoOp("SIP/1133-00000003", "Recordings initialized") in new stack -- Executing [s@sub-record-check:11] ExecIf("SIP/1133-00000003", "0?Set(ARG3=dontcare)") in new stack -- Executing [s@sub-record-check:12] Set("SIP/1133-00000003", "REC_POLICY_MODE_SAVE=") in new stack -- Executing [s@sub-record-check:13] ExecIf("SIP/1133-00000003", "0?Set(REC_STATUS=NO)") in new stack -- Executing [s@sub-record-check:14] GotoIf("SIP/1133-00000003", "3?checkaction") in new stack -- Goto (sub-record-check,s,17) -- Executing [s@sub-record-check:17] GotoIf("SIP/1133-00000003", "1?sub-record-check,out,1") in new stack -- Goto (sub-record-check,out,1) -- Executing [out@sub-record-check:1] NoOp("SIP/1133-00000003", "Outbound Recording Check from 1133 to 891897xxxxx") in new stack -- Executing [out@sub-record-check:2] Set("SIP/1133-00000003", "RECMODE=dontcare") in new stack -- Executing [out@sub-record-check:3] ExecIf("SIP/1133-00000003", "1?Goto(routewins)") in new stack -- Goto (sub-record-check,out,7) -- Executing [out@sub-record-check:7] Gosub("SIP/1133-00000003", "recordcheck,1(dontcare,out,891897xxxxx)") in new stack -- Executing [recordcheck@sub-record-check:1] NoOp("SIP/1133-00000003", "Starting recording check against dontcare") in new stack -- Executing [recordcheck@sub-record-check:2] Goto("SIP/1133-00000003", "dontcare") in new stack -- Goto (sub-record-check,recordcheck,3) -- Executing [recordcheck@sub-record-check:3] Return("SIP/1133-00000003", "") in new stack -- Executing [out@sub-record-check:8] Return("SIP/1133-00000003", "") in new stack -- Executing [891897xxxxx@from-internal:3] ExecIf("SIP/1133-00000003", "0 ?Set(CDR(accountcode)=)") in new stack -- Executing [891897xxxxx@from-internal:4] Set("SIP/1133-00000003", "MOHCLASS=default") in new stack -- Executing [891897xxxxx@from-internal:5] ExecIf("SIP/1133-00000003", "1?Set(TRUNKCIDOVERRIDE=861992xxxx)") in new stack -- Executing [891897xxxxx@from-internal:6] Set("SIP/1133-00000003", "_NODEST=") in new stack -- Executing [891897xxxxx@from-internal:7] Macro("SIP/1133-00000003", "dialout-trunk,2,891897xxxxx,,off") in new stack -- Executing [s@macro-dialout-trunk:1] Set("SIP/1133-00000003", "DIAL_TRUNK=2") in new stack -- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/1133-00000003", "0?sub-pincheck,s,1()") in new stack -- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/1133-00000003", "1?disabletrunk,1") in new stack -- Goto (macro-dialout-trunk,disabletrunk,1) -- Executing [disabletrunk@macro-dialout-trunk:1] NoOp("SIP/1133-00000003", "TRUNK: PJSIP DISABLED - falling through to next trunk") in new stack -- Executing [891897xxxxx@from-internal:8] Macro("SIP/1133-00000003", "outisbusy,") in new stack -- Executing [s@macro-outisbusy:1] Progress("SIP/1133-00000003", "") in new stack -- Executing [s@macro-outisbusy:2] GotoIf("SIP/1133-00000003", "0?emergency,1") in new stack -- Executing [s@macro-outisbusy:3] GotoIf("SIP/1133-00000003", "0?intracompany,1") in new stack -- Executing [s@macro-outisbusy:4] Playback("SIP/1133-00000003", "all-circuits-busy-now&pls-try-call-later, noanswer") in new stack -- <SIP/1133-00000003> Playing 'all-circuits-busy-now.slin' (language 'ru') > 0x7f1138044c90 -- Probation passed - setting RTP source address to 10.1.xxx.xxx:10326 -- <SIP/1133-00000003> Playing 'pls-try-call-later.slin' (language 'ru') -- Executing [s@macro-outisbusy:5] Congestion("SIP/1133-00000003", "20") in new stack [2016-01-29 09:19:43] WARNING[56852][C-00000003]: channel.c:4856 ast_prod: Prodding channel 'SIP/1133-00000003' failed == Spawn extension (macro-outisbusy, s, 5) exited non-zero on 'SIP/1133-00000003' in macro 'outisbusy' == Spawn extension (from-internal, 891897xxxxx, 8) exited non-zero on 'SIP/1133-00000003' -- Executing [h@from-internal:1] Macro("SIP/1133-00000003", "hangupcall") in new stack -- Executing [s@macro-hangupcall:1] GotoIf("SIP/1133-00000003", "1?theend") in new stack -- Goto (macro-hangupcall,s,3) -- Executing [s@macro-hangupcall:3] ExecIf("SIP/1133-00000003", "0?Set(CDR(recordingfile)=)") in new stack -- Executing [s@macro-hangupcall:4] Hangup("SIP/1133-00000003", "") in new stack == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/1133-00000003' in macro 'hangupcall' == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/1133-00000003' Вижу что астер ругается на базу данных, но эти строчки в первый раз вылезли, да и думаю что они пока не имеют отношения к проблеме... Звонил в ТП РТК, он смотрели что происходит на ихней стороне во время исходящего. Вобщем в двух словах, если я звоню на ихние телефоны с номерами вида 992-хх-хх, то звонки ходят без проблем, если же звоню на аналоговую АТС, либо на сотовые меня кикает их сервер из за огромного параметра "PTIME", он должен быть равен 20, от меня же он идёт с числом 150.Сказали исправить этот пункт и всё заработает. Перерыл все конфиги, перелапатил весь UI, но нигде не нашёл этого параметра. Есть тут гуру астериска? Прошу помощи, ибо уже зашёл в тупик. Подключён тестовый транк как pjsip, вот конфиг: Скрытый текст [RTK992XXXX] host=83.239.xx.xx username=xxxxxxxx secret=xxxxxxxxxxxxxxxx fromuser=992xxxx type=peer nat=no insecure=port,invite dtmfmode=indand canreinvite=no registersip=yes disallow=all allow=alaw qualify=yes context=from-pstn [b]Строка регистрации не используется[/b] Пробовал ставить Elastix, там версия Asterisk старее, думал в нём косяк, но нет на Elastix, беда та-же самая. PS. Донастроить старый сервер не представляется возможным, ибо к нему нет доступа, пароль от root -был унесён предыдущим админом, связи с ним нет. Заранее благодарю за любые советы. | |
1
- 29.01.2016 - 10:11
| Скрин из dashboard freepbx | |
2
- 29.01.2016 - 11:21
| https://wiki.asterisk.org/wiki/displ...+Packetization | |
| Интернет-форум Краснодарского края и Краснодара |