LINUX.ORG.RU
решено ФорумAdmin

Проблема с входящими в elastix 4.

 


0

1

Здравствуйте.

Только начал осваиваться с elastix, столкнулся с проблемой. У провайдера регистрируюсь, внутренние номера оформил, работают. Исходящие в город тоже работают. А вот входящие нет.

При чем в консоли asterisk видно, что мой звонок заходит туда, и где-то возникает проблема. После сообщения - sorry, youre having problems, goodbye - звонок сбрасывается.

Trunk:

Outbound CallerID: 7495*******

CID Options: Allow any CID

PEER details:

type=peer

host=sip.***.ru

username=100*****

secret=***

nat=no

context=from-internal

disallow=all

allow=alaw

dtmfmode=rfc2833

canreinvite=no

qualify=no

videosupport=no

t38pt_udptl=yes,redundancy,maxdatagram=400

insecure=invite

fromuser=100*****

fromdomain=sip.***.ru

Register string: 100*****:***@sip.***.ru/7495*******

------------------------------------------------------------

Inbound routes:

DID Number: 7495*******

Set Destination:

Extensions - 111 (один из внутренних номеров)

Это все. Может я где чего не сделал или сделал не так.

Спасибо.

Ответ на: комментарий от afanasiy

afanasiy:

И освой lorcode.

Спасибо за ссылку)

-- Executing [7495***@from-internal:1] Macro("SIP/7495***-00000071", "user-callerid,LIMIT,EXTERNAL,") in new stack -- Executing [s@macro-user-callerid:1] Set("SIP/7495***-00000071", "TOUCH_MONITOR=1491293458.113") in new stack -- Executing [s@macro-user-callerid:2] Set("SIP/7495***-00000071", "AMPUSER=7926***") in new stack -- Executing [s@macro-user-callerid:3] GotoIf("SIP/7495***-00000071", "0?report") in new stack -- Executing [s@macro-user-callerid:4] ExecIf("SIP/7495***-00000071", "1?Set(REALCALLERIDNUM=7926***)") in new stack -- Executing [s@macro-user-callerid:5] Set("SIP/7495***-00000071", "AMPUSER=") in new stack -- Executing [s@macro-user-callerid:6] GotoIf("SIP/7495***-00000071", "0?limit") in new stack -- Executing [s@macro-user-callerid:7] Set("SIP/7495***-00000071", "AMPUSERCIDNAME=") in new stack -- Executing [s@macro-user-callerid:8] GotoIf("SIP/7495***-00000071", "1?report") in new stack -- Goto (macro-user-callerid,s,15) -- Executing [s@macro-user-callerid:15] GotoIf("SIP/7495***-00000071", "1?continue") in new stack -- Goto (macro-user-callerid,s,28) -- Executing [s@macro-user-callerid:28] Set("SIP/7495***-00000071", "CALLERID(number)=7926***") in new stack -- Executing [s@macro-user-callerid:29] Set("SIP/7495***-00000071", "CALLERID(name)=7926***") in new stack -- Executing [s@macro-user-callerid:30] Set("SIP/7495***-00000071", "CDR(cnum)=7926***") in new stack -- Executing [s@macro-user-callerid:31] Set("SIP/7495***-00000071", "CDR(cnam)=7926***") in new stack -- Executing [s@macro-user-callerid:32] Set("SIP/7495***-00000071", "CHANNEL(language)=en") in new stack -- Executing [7495***@from-internal:2] Set("SIP/7495***-00000071", "ROUTE_CIDSAVE="7926***" <7926***>") in new stack -- Executing [7495***@from-internal:3] Set("SIP/7495***-00000071", "MOHCLASS=default") in new stack -- Executing [7495***@from-internal:4] ExecIf("SIP/7495***-00000071", "1?Set(TRUNKCIDOVERRIDE=7495***)") in new stack -- Executing [7495***@from-internal:5] Set("SIP/7495***-00000071", "_NODEST=") in new stack -- Executing [7495***@from-internal:6] Gosub("SIP/7495***-00000071", "sub-record-check,s,1(out,7495***,)") in new stack -- Executing [s@sub-record-check:1] Set("SIP/7495***-00000071", "REC_POLICY_MODE_SAVE=") in new stack -- Executing [s@sub-record-check:2] GotoIf("SIP/7495***-00000071", "1?check") in new stack -- Goto (sub-record-check,s,7) -- Executing [s@sub-record-check:7] Set("SIP/7495***-00000071", "__MON_FMT=wav") in new stack -- Executing [s@sub-record-check:8] GotoIf("SIP/7495***-00000071", "1?next") in new stack -- Goto (sub-record-check,s,11) -- Executing [s@sub-record-check:11] ExecIf("SIP/7495***-00000071", "0?Return()") in new stack -- Executing [s@sub-record-check:12] ExecIf("SIP/7495***-00000071", "0?Set(__REC_POLICY_MODE=)") in new stack -- Executing [s@sub-record-check:13] GotoIf("SIP/7495***-00000071", "0?out,1") in new stack -- Executing [s@sub-record-check:14] Set("SIP/7495***-00000071", "__REC_STATUS=INITIALIZED") in new stack -- Executing [s@sub-record-check:15] Set("SIP/7495***-00000071", "NOW=1491293458") in new stack -- Executing [s@sub-record-check:16] Set("SIP/7495***-00000071", "__DAY=04") in new stack -- Executing [s@sub-record-check:17] Set("SIP/7495***-00000071", "__MONTH=04") in new stack -- Executing [s@sub-record-check:18] Set("SIP/7495***-00000071", "__YEAR=2017") in new stack -- Executing [s@sub-record-check:19] Set("SIP/7495***-00000071", "__TIMESTR=20170404-121058") in new stack -- Executing [s@sub-record-check:20] Set("SIP/7495***-00000071", "__FROMEXTEN=7926***") in new stack -- Executing [s@sub-record-check:21] Set("SIP/7495***-00000071", "__CALLFILENAME=out-7495***-7926***-20170404-121058-1491293458.113") in new stack -- Executing [s@sub-record-check:22] Goto("SIP/7495***-00000071", "out,1") in new stack -- Goto (sub-record-check,out,1) -- Executing [out@sub-record-check:1] ExecIf("SIP/7495***-00000071", "1?Set(__REC_POLICY_MODE=)") in new stack -- Executing [out@sub-record-check:2] GosubIf("SIP/7495***-00000071", "0?record,1(exten,7495***,7926***)") in new stack -- Executing [out@sub-record-check:3] Return("SIP/7495***-00000071", "") in new stack -- Executing [7495***@from-internal:7] Macro("SIP/7495***-00000071", "dialout-trunk,2,7495***,,off") in new stack -- Executing [s@macro-dialout-trunk:1] Set("SIP/7495***-00000071", "DIAL_TRUNK=2") in new stack -- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/7495***-00000071", "0?sub-pincheck,s,1()") in new stack -- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/7495***-00000071", "0?disabletrunk,1") in new stack -- Executing [s@macro-dialout-trunk:4] Set("SIP/7495***-00000071", "DIAL_NUMBER=74951059183") in new stack -- Executing [s@macro-dialout-trunk:5] Set("SIP/7495***-00000071", "DIAL_TRUNK_OPTIONS=tr") in new stack -- Executing [s@macro-dialout-trunk:6] Set("SIP/7495***-00000071", "OUTBOUND_GROUP=OUT_2") in new stack -- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/7495***-00000071", "1?nomax") in new stack -- Goto (macro-dialout-trunk,s,9) -- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/7495***-00000071", "0?skipoutcid") in new stack -- Executing [s@macro-dialout-trunk:10] Set("SIP/7495***-00000071", "DIAL_TRUNK_OPTIONS=") in new stack -- Executing [s@macro-dialout-trunk:11] Macro("SIP/7495***-00000071", "outbound-callerid,2") in new stack -- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/7495***-00000071", "0?Set(CALLERPRES()=)") in new stack -- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/7495***-00000071", "0?Set(REALCALLERIDNUM=7926***)") in new stack -- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/7495***-00000071", "1?normcid") in new stack -- Goto (macro-outbound-callerid,s,6) -- Executing [s@macro-outbound-callerid:6] Set("SIP/7495***-00000071", "USEROUTCID=") in new stack -- Executing [s@macro-outbound-callerid:7] Set("SIP/7495***-00000071", "EMERGENCYCID=") in new stack -- Executing [s@macro-outbound-callerid:8] Set("SIP/7495***-00000071", "TRUNKOUTCID=7495***") in new stack -- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/7495***-00000071", "1?trunkcid") in new stack -- Goto (macro-outbound-callerid,s,14) -- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/7495***-00000071", "1?Set(CALLERID(all)=7495***)") in new stack -- Executing [s@macro-outbound-callerid:15] ExecIf("SIP/7495***-00000071", "0?Set(CALLERID(all)=)") in new stack -- Executing [s@macro-outbound-callerid:16] ExecIf("SIP/7495***-00000071", "1?Set(CALLERID(all)=7495***)") in new stack -- Executing [s@macro-outbound-callerid:17] ExecIf("SIP/7495***-00000071", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack -- Executing [s@macro-outbound-callerid:18] Set("SIP/7495***-00000071", "CDR(outbound_cnum)=7495***") in new stack -- Executing [s@macro-outbound-callerid:19] Set("SIP/7495***-00000071", "CDR(outbound_cnam)=") in new stack -- Executing [s@macro-dialout-trunk:12] GosubIf("SIP/7495***-00000071", "0?sub-flp-2,s,1()") in new stack -- Executing [s@macro-dialout-trunk:13] Set("SIP/7495***-00000071", "OUTNUM=7495***") in new stack -- Executing [s@macro-dialout-trunk:14] Set("SIP/7495***-00000071", "custom=SIP/VoIP MSN") in new stack -- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/7495***-00000071", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default))") in new stack -- Executing [s@macro-dialout-trunk:16] ExecIf("SIP/7495***-00000071", "0?Set(DIAL_TRUNK_OPTIONS=M(confirm))") in new stack -- Executing [s@macro-dialout-trunk:17] Macro("SIP/7495***-00000071", "dialout-trunk-predial-hook,") in new stack

LuckyOne
() автор топика
Ответ на: комментарий от LuckyOne

А вот продолжение

-- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/7495***-00000071", "") in new stack -- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/7495***-00000071", "0?bypass,1") in new stack -- Executing [s@macro-dialout-trunk:19] ExecIf("SIP/7495***-00000071", "0?Set(CONNECTEDLINE(num,i)=7495***)") in new stack -- Executing [s@macro-dialout-trunk:20] ExecIf("SIP/7495***-00000071", "0?Set(CONNECTEDLINE(name,i)=CID:7495***)") in new stack -- Executing [s@macro-dialout-trunk:21] GotoIf("SIP/7495***-00000071", "0?customtrunk") in new stack -- Executing [s@macro-dialout-trunk:22] Dial("SIP/7495***-00000071", "SIP/VoIP MSN/7495***,300,") in new stack == Using SIP RTP TOS bits 184 == Using SIP RTP CoS mark 5 -- Called SIP/VoIP MSN/7495*** -- SIP/VoIP MSN-00000072 is making progress passing it to SIP/7495***-00000071 -- Got SIP response 503 "Service Unavailable" back from 12.34.56.123:5060 -- SIP/VoIP MSN-00000072 is circuit-busy == Everyone is busy/congested at this time (1:0/1/0) -- Executing [s@macro-dialout-trunk:23] NoOp("SIP/7495***-00000071", "Dial failed for some reason with DIALSTATUS = CONGESTION and HANGUPCAUSE = 34") in new stack -- Executing [s@macro-dialout-trunk:24] GotoIf("SIP/7495***-00000071", "0?continue,1:s-CONGESTION,1") in new stack -- Goto (macro-dialout-trunk,s-CONGESTION,1) -- Executing [s-CONGESTION@macro-dialout-trunk:1] Set("SIP/7495***-00000071", "RC=34") in new stack -- Executing [s-CONGESTION@macro-dialout-trunk:2] Goto("SIP/7495***-00000071", "34,1") in new stack -- Goto (macro-dialout-trunk,34,1) -- Executing [34@macro-dialout-trunk:1] Goto("SIP/7495***-00000071", "continue,1") in new stack -- Goto (macro-dialout-trunk,continue,1) -- Executing [continue@macro-dialout-trunk:1] NoOp("SIP/7495***-00000071", "TRUNK Dial failed due to CONGESTION HANGUPCAUSE: 34 - failing through to other trunks") in new stack -- Executing [continue@macro-dialout-trunk:2] Set("SIP/7495***-00000071", "CALLERID(number)=") in new stack -- Executing [7495***@from-internal:8] Set("SIP/7495***-00000071", "CALLERID(all)="7926***" <7926***>") in new stack -- Executing [7495***@from-internal:9] Set("SIP/7495***-00000071", "_KEEPCID=TRUE") in new stack -- Executing [7495***@from-internal:10] Goto("SIP/7495***-00000071", "ivr-3,s,1") in new stack -- Goto (ivr-3,s,1) -- Executing [s@ivr-3:1] Set("SIP/7495***-00000071", "_IVR_CONTEXT_ivr-3=") in new stack -- Executing [s@ivr-3:2] Set("SIP/7495***-00000071", "_IVR_CONTEXT=ivr-3") in new stack -- Executing [s@ivr-3:3] Set("SIP/7495***-00000071", "__IVR_RETVM=") in new stack -- Executing [s@ivr-3:4] GotoIf("SIP/7495***-00000071", "0?skip") in new stack -- Executing [s@ivr-3:5] Answer("SIP/7495***-00000071", "") in new stack -- Executing [s@ivr-3:6] Wait("SIP/7495***-00000071", "1") in new stack > 0x7f839c747360 -- Probation passed - setting RTP source address to 12.34.56.123:60706 -- Executing [s@ivr-3:7] Set("SIP/7495***-00000071", "IVR_MSG=") in new stack -- Executing [s@ivr-3:8] Set("SIP/7495***-00000071", "TIMEOUT(digit)=3") in new stack -- Digit timeout set to 3.000 -- Executing [s@ivr-3:9] ExecIf("SIP/7495***-00000071", "0?Background()") in new stack -- Executing [s@ivr-3:10] WaitExten("SIP/7495***-00000071", "10,") in new stack -- Timeout on SIP/7495***-00000071, going to 't' -- Executing [t@ivr-3:1] Playback("SIP/7495***-00000071", "sorry-youre-having-problems") in new stack -- <SIP/7495***-00000071> Playing 'sorry-youre-having-problems.gsm' (language 'en') -- Executing [t@ivr-3:2] Goto("SIP/7495***-00000071", "hang,1") in new stack -- Goto (ivr-3,hang,1) -- Executing [hang@ivr-3:1] Playback("SIP/7495***-00000071", "vm-goodbye") in new stack -- <SIP/7495***-00000071> Playing 'vm-goodbye.gsm' (language 'en') -- Executing [hang@ivr-3:2] Hangup("SIP/7495***-00000071", "") in new stack == Spawn extension (ivr-3, hang, 2) exited non-zero on 'SIP/7495***-00000071' -- Executing [h@ivr-3:1] Hangup("SIP/7495***-00000071", "") in new stack == Spawn extension (ivr-3, h, 1) exited non-zero on 'SIP/7495***-00000071'

LuckyOne
() автор топика
Ответ на: комментарий от LuckyOne

Мне вот эта строка не нравится: Got SIP response 503 "Service Unavailable" back from 12.34.56.123:5060
Будто сервер провайдера не считает, что мне дозволено принимать вызовы.

LuckyOne
() автор топика
Ответ на: комментарий от LuckyOne

Как размещен elastix? Не за мелкософтовским шлюзом случаем?

Думаю, надо смотреть в сторону nat, firewall и гуглить «Got SIP response 503 „Service Unavailable“ back from»

afanasiy ★★★★
()
Ответ на: комментарий от afanasiy

Машина на win10(брандмауэр и защитник отключены), на ней Virtualbox, на котором стоит elastix(стандартный дистрибутив, nat отключен).

Винду не подозревал, так как исходящие вызовы нормально проходят. Но если есть такая вероятность, буду копать и в этом направлении, спасибо.)

LuckyOne
() автор топика
Ответ на: комментарий от LuckyOne

Хм, написал по этому поводу провайдеру и логи послал. Ответили вот что:

Происходит звонок с номера 926*** на номер 4951111111, он поступает на наше оборудование и далее вызывается SIP-учётка 1001234, которая настроена на Вашем оборудовании и соответсвует номеру 4951111111. Далее от Вас в это же время приходит исходящий звонок с SIP-учётки 1001234 на номер 4951111111, т.е. по сути вы звоните сами себе. Однако так как. номер 4951111111 одноканальный и занят уже входящим звонком с номера 926***, то мы отбиваем этот вызов с 503-ответом.

Видимо я все же что-то не так настроил))

LuckyOne
() автор топика
Ответ на: комментарий от SevikL

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

Информация от прова меня немного удивила. Посему опишу, как я думал раньше, может не так думал))
Outbound routes - это ведь исходящие маршруты. Я думал, что тут настраиваются только правила исходящих вызовов.
Поэтому я там настроил только паттерны, Trunk Sequence for Matched Routes и все. В Inbound я установил Set Destination на нужный мне внутренний телефон (111).
Так вот, в Outbound в самом низу есть еще Optional destination on congestion.
Проблема ушла, когда я там установил значение extensions и указал внутренний номер (222).
И когда я звоню с мобильного, попадаю на номер 222. А казалось бы должен на 111 попадать.

По логике это же меню исходящих, с которыми и так все ок было.

LuckyOne
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.