Билайн и авторизация по IP-адресу

Для начинающих.
Всем начинающим - сюда.

Модераторы: Admins, Модераторы

herznaet
Сообщения: 26
Зарегистрирован: 10 сен 2018, 10:08

Re: Билайн и авторизация по IP-адресу

Сообщение herznaet » 12 сен 2018, 12:23

Мы интернетом питаемся с квартиры, получаем его по направленным точкам доступа, а свою сеть мы отгораживаем еще одним роутером. Вот как раз я тестовый сервер вывел за свой роутер. Одна из главных проблем это в том, что мы не можем воткнуть шнур от интернет-провайдера напрямик в тестовый сервер, ибо далековато

xelas
admin
Сообщения: 1154
Зарегистрирован: 05 мар 2007, 11:21

Re: Билайн и авторизация по IP-адресу

Сообщение xelas » 12 сен 2018, 12:30

А, вот оно что. То есть ваш сервер за двумя роутерами? И там, наверное, двойной НАТ? Боюсь, что эта ситуация хуже чем может показаться с первого раза(для телефонии). В любом случае, вам нужно проверить файрволы/наты по всему пути от сервера до провайдера.

herznaet
Сообщения: 26
Зарегистрирован: 10 сен 2018, 10:08

Re: Билайн и авторизация по IP-адресу

Сообщение herznaet » 12 сен 2018, 12:36

Боевой сервер за двумя натами, а тестовый только за одним

herznaet
Сообщения: 26
Зарегистрирован: 10 сен 2018, 10:08

Re: Билайн и авторизация по IP-адресу

Сообщение herznaet » 15 сен 2018, 08:05

Доброго времени суток! Созвонился с нашим интернет-провайдером, они только развели руками. Есть возможность опробовать на другом статическом адресе с прямым выходом телефонии в сеть, но не ранее понедельника.

herznaet
Сообщения: 26
Зарегистрирован: 10 сен 2018, 10:08

Re: Билайн и авторизация по IP-адресу

Сообщение herznaet » 25 сен 2018, 12:12

Всем привет, кто читает эту тему! Отпишусь, что у нас сейчас пока получается с билайном. Дали мне регу и повесили на стандартные порты, вроде как все завелось. Завтра попробую на нестандартных.

herznaet
Сообщения: 26
Зарегистрирован: 10 сен 2018, 10:08

Re: Билайн и авторизация по IP-адресу

Сообщение herznaet » 22 ноя 2018, 10:57

Доброго времени суток! Билайн нашел косяк где-то со своей стороны, вроде как входящие работают. Помогите пожалуйста с диалпланом на исходящие. Есть кое-какие вопросы:
1) Почему мне в sip.conf нужно название транка пропиывать обязательно в виде 4233772801, в любом другом виде пишет ошибку о том, что транк не обнаружен в экстеншене 4233772801

2) Почему у меня не получается использовать s (вопрос может и глупый)?

3) При использовании конструкции exten => _X.,n,Dial(SIP/{EXTEN}@4233772801,30,r) получаем ошибку:
Call from '1000' (94.198.221.102:57120) to extension '89644390273' rejected because extension not found in context 'internal'

xelas
admin
Сообщения: 1154
Зарегистрирован: 05 мар 2007, 11:21

Re: Билайн и авторизация по IP-адресу

Сообщение xelas » 22 ноя 2018, 12:23

1) Имя транка может быть любым.
2) Правильная конструкция exten => _X.,n,Dial(SIP/имятранка/${EXTEN},30,r)
3) Констркция с Dial и вас должна быть в контексте internal, ну или наоборот, пир пользовательского телефона должен быть в том контексте, где у вас конструкция диал :)

Ну а вообще не забывайте прикладывать и логи, и конфиги.

herznaet
Сообщения: 26
Зарегистрирован: 10 сен 2018, 10:08

Re: Билайн и авторизация по IP-адресу

Сообщение herznaet » 22 ноя 2018, 12:31

Не получилось, ошибка аналогичная, это я прошел по Вашему второму пункту. Конфиги приведены на первой странице, с небольшими изменениями в extensions.conf

[general]

[globals]

[public]

[internal]

exten => 1000,1,Dial(SIP/1000,30,Tt)
exten => 1001,1,Dial(SIP/1001,30Tt)
exten => _X.,n,Dial(SIP/4233772801/{EXTEN},30,r)

[incoming]

exten => 4233772801,1,Answer()
exten => 4233772801,n,Dial(SIP/1000,30,Tt)
exten => 4233772801,n,Hangup()

xelas
admin
Сообщения: 1154
Зарегистрирован: 05 мар 2007, 11:21

Re: Билайн и авторизация по IP-адресу

Сообщение xelas » 22 ноя 2018, 12:45

1) Вы намеренно игнорируете символ $ в конструкции ${EXTEN}?
2) План набора перегружаете после внесения изменений?
3) Покажите логи из консоли при совершении вызова
4) показите sip.conf

herznaet
Сообщения: 26
Зарегистрирован: 10 сен 2018, 10:08

Re: Билайн и авторизация по IP-адресу

Сообщение herznaet » 22 ноя 2018, 12:50

1) Нет, не игнорирую, писал сюда вручную
2) Да
3) chan_sip.c:26512 handle_request_invite: Call from '1000' (94.198.221.102:57120) to extension '89644390273' rejected because extension not found in context 'internal'.
4)
[general]
allowguest=no
allowoverlap=no
context=public
useragent=TEST PBX
alwaysauthreject=yes
bindport=5065
bindaddr=0.0.0.0
srvlookup=no
disallow=all
allow=alaw
canreinvite=no
language=ru
externaddr=81.200.156.17
localnet=192.168.1.0/24

[4233772801]
type=friend
host=82.142.175.22
port=5071
context=incoming
canreinvite=no
dtmfmode=inband
nat=force_rport,comedia
insecure=invite,port

[defaults](!)
type=peer
host=dynamic
qualify=yes
context=internal
disallow=all
allow=alaw
call-limit=2
busylevel=1
rtpkeepalive=5
canreinvite=no
nat=force_rport,comedia

[1000](defaults)
secret=пароль1

[1001](defaults)
secret=пароль2

xelas
admin
Сообщения: 1154
Зарегистрирован: 05 мар 2007, 11:21

Re: Билайн и авторизация по IP-адресу

Сообщение xelas » 22 ноя 2018, 12:52

1) Хотелось бы увидеть лог польностью. core set verbose 3
2)
[1000](defaults)
type=friend
secret=пароль1

3) покажите dialplan show

4) покажите sip show peer 1000

herznaet
Сообщения: 26
Зарегистрирован: 10 сен 2018, 10:08

Re: Билайн и авторизация по IP-адресу

Сообщение herznaet » 22 ноя 2018, 13:00

1) core set verbose 3
Console verbose was OFF and is now 3.
== Using SIP RTP CoS mark 5
[Nov 22 21:54:50] NOTICE[4967][C-00000002]: chan_sip.c:26512 handle_request_invite: Call from '1000' (94.198.221.102:57120) to extension '89644390273' rejected because extension not found in context 'internal'.

2) Исправил на friend

3)
Spoiler!
dialplan show
[ Context 'ael-dundi-e164-canonical' created by 'pbx_ael' ]

[ Context 'ael-dundi-e164-customers' created by 'pbx_ael' ]

[ Context 'ael-dundi-e164-via-pstn' created by 'pbx_ael' ]

[ Context 'ael-dundi-e164-local' created by 'pbx_ael' ]
Include => 'ael-dundi-e164-canonical' [pbx_ael]
Include => 'ael-dundi-e164-customers' [pbx_ael]
Include => 'ael-dundi-e164-via-pstn' [pbx_ael]

[ Context 'ael-dundi-e164-switch' created by 'pbx_ael' ]
Alt. Switch => 'DUNDi/e164' [pbx_ael]

[ Context 'ael-dundi-e164-lookup' created by 'pbx_ael' ]
Include => 'ael-dundi-e164-local' [pbx_ael]
Include => 'ael-dundi-e164-switch' [pbx_ael]

[ Context 'ael-dundi-e164' created by 'pbx_ael' ]
'~~s~~' => 1. MSet(LOCAL(exten)=${ARG1}) [pbx_ael]
2. Goto(${exten},1) [pbx_ael]
3. Return() [pbx_ael]
Include => 'ael-builtin-h-bubble' [pbx_ael]

[ Context 'ael-iaxtel700' created by 'pbx_ael' ]
'_91700XXXXXXX' => 1. Dial(IAX2/${IAXINFO-AEL}@iaxtel.com/${EXTEN:1}@iaxtel) [pbx_ael]

[ Context 'ael-iaxprovider' created by 'pbx_ael' ]

[ Context 'ael-trunkint' created by 'pbx_ael' ]
'_9011.' => 1. Gosub(ael-dundi-e164,~~s~~,1(${EXTEN:4})) [pbx_ael]
2. Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}}) [pbx_ael]
Include => 'ael-dundi-e164-lookup' [pbx_ael]

[ Context 'ael-trunkld' created by 'pbx_ael' ]
'_91NXXNXXXXXX' => 1. Gosub(ael-dundi-e164,~~s~~,1(${EXTEN:1})) [pbx_ael]
2. Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}}) [pbx_ael]
Include => 'ael-dundi-e164-lookup' [pbx_ael]

[ Context 'ael-trunklocal' created by 'pbx_ael' ]
'_9NXXXXXX' => 1. Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}}) [pbx_ael]

[ Context 'ael-trunktollfree' created by 'pbx_ael' ]
'_91800NXXXXXX' => 1. Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}}) [pbx_ael]
'_91866NXXXXXX' => 1. Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}}) [pbx_ael]
'_91877NXXXXXX' => 1. Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}}) [pbx_ael]
'_91888NXXXXXX' => 1. Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}}) [pbx_ael]

[ Context 'ael-international' created by 'pbx_ael' ]
Include => 'ael-longdistance' [pbx_ael]
Include => 'ael-trunkint' [pbx_ael]
Ignore pattern => '9' [pbx_ael]

[ Context 'ael-longdistance' created by 'pbx_ael' ]
Include => 'ael-local' [pbx_ael]
Include => 'ael-trunkld' [pbx_ael]
Ignore pattern => '9' [pbx_ael]

[ Context 'ael-local' created by 'pbx_ael' ]
Include => 'ael-default' [pbx_ael]
Include => 'ael-trunklocal' [pbx_ael]
Include => 'ael-iaxtel700' [pbx_ael]
Include => 'ael-trunktollfree' [pbx_ael]
Include => 'ael-iaxprovider' [pbx_ael]
Ignore pattern => '9' [pbx_ael]

[ Context 'ael-std-exten-ael' created by 'pbx_ael' ]
'a' => 1. VoiceMailMain(${ext}) [pbx_ael]
2. Return() [pbx_ael]
'sw_1_' => 10. Goto(sw_1_.,10) [pbx_ael]
'sw_1_BUSY' => 10. Voicemail(${ext},b) [pbx_ael]
11. Goto(~~s~~,7) [pbx_ael]
'~~s~~' => 1. MSet(LOCAL(ext)=${ARG1}) [pbx_ael]
2. MSet(LOCAL(dev)=${ARG2}) [pbx_ael]
3. MSet(LOCAL(~~EXTEN~~)=${EXTEN}) [pbx_ael]
4. MSet(LOCAL(~~EXTEN~~)=${~~EXTEN~~}) [pbx_ael]
5. Dial(${dev}/${ext},20) [pbx_ael]
6. Goto(sw_1_${DIALSTATUS},10) [pbx_ael]
7. NoOp(Finish switch_ael-std-exten-ael_1) [pbx_ael]
8. Return() [pbx_ael]
'_sw_1_.' => 10. Voicemail(${ext},u) [pbx_ael]
11. Goto(~~s~~,7) [pbx_ael]
Include => 'ael-builtin-h-bubble' [pbx_ael]

[ Context 'ael-demo' created by 'pbx_ael' ]
'#' => 1. Playback(demo-thanks) [pbx_ael]
2. Hangup() [pbx_ael]
'1000' => 1. Goto(ael-default,s,1) [pbx_ael]
'2' => 1. Background(demo-moreinfo) [pbx_ael]
2. Goto(s,instructions) [pbx_ael]
'3' => 1. Set(LANGUAGE()=fr) [pbx_ael]
2. Goto(s,restart) [pbx_ael]
'500' => 1. Playback(demo-abouttotry) [pbx_ael]
2. Dial(IAX2/guest@misery.digium.com/s@default) [pbx_ael]
3. Playback(demo-nogo) [pbx_ael]
4. Goto(s,instructions) [pbx_ael]
'600' => 1. Playback(demo-echotest) [pbx_ael]
2. Echo() [pbx_ael]
3. Playback(demo-echodone) [pbx_ael]
4. Goto(s,instructions) [pbx_ael]
'8500' => 1. VoicemailMain() [pbx_ael]
2. Goto(s,instructions) [pbx_ael]
'i' => 1. Playback(invalid) [pbx_ael]
's' => 1. Wait(1) [pbx_ael]
2. Answer() [pbx_ael]
3. Set(TIMEOUT(digit)=5) [pbx_ael]
4. Set(TIMEOUT(response)=10) [pbx_ael]
[restart] 5. Background(demo-congrats) [pbx_ael]
[instructions] 6. MSet(x=$[0]) [pbx_ael]
7. GotoIf($[ ${x} < 3]?8:12) [pbx_ael]
8. Background(demo-instruct) [pbx_ael]
9. WaitExten() [pbx_ael]
10. MSet(x=$[${x} + 1]) [pbx_ael]
11. Goto(7) [pbx_ael]
12. NoOp(Finish for_ael-demo_3) [pbx_ael]
't' => 1. Goto(#,1) [pbx_ael]
'_1234' => 1. Gosub(ael-std-exten-ael,~~s~~,1(${EXTEN}, "IAX2")) [pbx_ael]

[ Context 'ael-default' created by 'pbx_ael' ]
Include => 'ael-demo' [pbx_ael]

[ Context 'ael-builtin-h-bubble' created by 'pbx_ael' ]
'h' => 1. Goto(9991) [pbx_ael]
9991. Set(~~parentcxt~~=${STACK_PEEK(1,c,1)}) [pbx_ael]
9992. GotoIf($["${~~parentcxt~~}"=""]?9996) [pbx_ael]
9993. GotoIf(${DIALPLAN_EXISTS(${~~parentcxt~~},h,1)}?9994:9996) [pbx_ael]
9994. StackPop() [pbx_ael]
9995. Goto(${~~parentcxt~~},h,1) [pbx_ael]
9996. NoOp() [pbx_ael]

[ Context 'parkedcalls' created by 'res_parking' ]
'700' => 1. Park() [res_parking]
'701' => 1. ParkedCall(default,701) [res_parking/default]
'702' => 1. ParkedCall(default,702) [res_parking/default]
'703' => 1. ParkedCall(default,703) [res_parking/default]
'704' => 1. ParkedCall(default,704) [res_parking/default]
'705' => 1. ParkedCall(default,705) [res_parking/default]
'706' => 1. ParkedCall(default,706) [res_parking/default]
'707' => 1. ParkedCall(default,707) [res_parking/default]
'708' => 1. ParkedCall(default,708) [res_parking/default]
'709' => 1. ParkedCall(default,709) [res_parking/default]
'710' => 1. ParkedCall(default,710) [res_parking/default]
'711' => 1. ParkedCall(default,711) [res_parking/default]
'712' => 1. ParkedCall(default,712) [res_parking/default]
'713' => 1. ParkedCall(default,713) [res_parking/default]
'714' => 1. ParkedCall(default,714) [res_parking/default]
'715' => 1. ParkedCall(default,715) [res_parking/default]
'716' => 1. ParkedCall(default,716) [res_parking/default]
'717' => 1. ParkedCall(default,717) [res_parking/default]
'718' => 1. ParkedCall(default,718) [res_parking/default]
'719' => 1. ParkedCall(default,719) [res_parking/default]
'720' => 1. ParkedCall(default,720) [res_parking/default]

[ Context '__func_periodic_hook_context__' created by 'func_periodic_hook' ]
'beep' (CID match '') => 1. Answer() [func_periodic_hook]
2. Playback(beep) [func_periodic_hook]
'hook' (CID match '') => 1. Set(EncodedChannel=${CUT(HOOK_CHANNEL,-,1-2)}) [func_periodic_hook]
2. Set(GROUP_NAME=${EncodedChannel}${HOOK_ID}) [func_periodic_hook]
3. Set(GROUP(periodic-hook)=${GROUP_NAME}) [func_periodic_hook]
4. ExecIf($[${GROUP_COUNT(${GROUP_NAME}@periodic-hook)} > 1]?Hangup()) [func_periodic_hook]
5. Set(ChannelToSpy=${URIDECODE(${EncodedChannel})}) [func_periodic_hook]
6. ChanSpy(${ChannelToSpy},qEB) [func_periodic_hook]

[ Context 'local' created by 'pbx_lua' ]
Alt. Switch => 'Lua/' [pbx_lua]

[ Context 'demo' created by 'pbx_lua' ]
'1000' => hint: SIP/1000 [pbx_lua]
'1001' => hint: SIP/1001 [pbx_lua]
Alt. Switch => 'Lua/' [pbx_lua]

[ Context 'default' created by 'pbx_lua' ]
'1234' => hint: SIP/1234 [pbx_lua]
Alt. Switch => 'Lua/' [pbx_lua]

[ Context 'incoming' created by 'pbx_config' ]
'4233772801' => 1. Answer() [extensions.conf:15]
2. Dial(SIP/1000,30,Tt) [extensions.conf:16]
3. Hangup() [extensions.conf:17]

[ Context 'internal' created by 'pbx_config' ]
'1000' => 1. Dial(SIP/1000,30,Tt) [extensions.conf:9]
'1001' => 1. Dial(SIP/1001,30,Tt) [extensions.conf:10]
'_X.' => 2. Dial(SIP/4233772801/${EXTEN},30,r) [extensions.conf:11]

[ Context 'public' created by 'pbx_config' ]
Alt. Switch => 'Lua/' [pbx_lua]

-= 56 extensions (105 priorities) in 28 contexts. =-
localhost*CLI> dialplan show | less
Usage: dialplan show [[exten@]context]
Show dialplan
localhost*CLI> dialplan show
[ Context 'ael-dundi-e164-canonical' created by 'pbx_ael' ]

[ Context 'ael-dundi-e164-customers' created by 'pbx_ael' ]

[ Context 'ael-dundi-e164-via-pstn' created by 'pbx_ael' ]

[ Context 'ael-dundi-e164-local' created by 'pbx_ael' ]
Include => 'ael-dundi-e164-canonical' [pbx_ael]
Include => 'ael-dundi-e164-customers' [pbx_ael]
Include => 'ael-dundi-e164-via-pstn' [pbx_ael]

[ Context 'ael-dundi-e164-switch' created by 'pbx_ael' ]
Alt. Switch => 'DUNDi/e164' [pbx_ael]

[ Context 'ael-dundi-e164-lookup' created by 'pbx_ael' ]
Include => 'ael-dundi-e164-local' [pbx_ael]
Include => 'ael-dundi-e164-switch' [pbx_ael]

[ Context 'ael-dundi-e164' created by 'pbx_ael' ]
'~~s~~' => 1. MSet(LOCAL(exten)=${ARG1}) [pbx_ael]
2. Goto(${exten},1) [pbx_ael]
3. Return() [pbx_ael]
Include => 'ael-builtin-h-bubble' [pbx_ael]

[ Context 'ael-iaxtel700' created by 'pbx_ael' ]
'_91700XXXXXXX' => 1. Dial(IAX2/${IAXINFO-AEL}@iaxtel.com/${EXTEN:1}@iaxtel) [pbx_ael]

[ Context 'ael-iaxprovider' created by 'pbx_ael' ]

[ Context 'ael-trunkint' created by 'pbx_ael' ]
'_9011.' => 1. Gosub(ael-dundi-e164,~~s~~,1(${EXTEN:4})) [pbx_ael]
2. Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}}) [pbx_ael]
Include => 'ael-dundi-e164-lookup' [pbx_ael]

[ Context 'ael-trunkld' created by 'pbx_ael' ]
'_91NXXNXXXXXX' => 1. Gosub(ael-dundi-e164,~~s~~,1(${EXTEN:1})) [pbx_ael]
2. Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}}) [pbx_ael]
Include => 'ael-dundi-e164-lookup' [pbx_ael]

[ Context 'ael-trunklocal' created by 'pbx_ael' ]
'_9NXXXXXX' => 1. Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}}) [pbx_ael]

[ Context 'ael-trunktollfree' created by 'pbx_ael' ]
'_91800NXXXXXX' => 1. Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}}) [pbx_ael]
'_91866NXXXXXX' => 1. Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}}) [pbx_ael]
'_91877NXXXXXX' => 1. Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}}) [pbx_ael]
'_91888NXXXXXX' => 1. Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}}) [pbx_ael]

[ Context 'ael-international' created by 'pbx_ael' ]
Include => 'ael-longdistance' [pbx_ael]
Include => 'ael-trunkint' [pbx_ael]
Ignore pattern => '9' [pbx_ael]

[ Context 'ael-longdistance' created by 'pbx_ael' ]
Include => 'ael-local' [pbx_ael]
Include => 'ael-trunkld' [pbx_ael]
Ignore pattern => '9' [pbx_ael]

[ Context 'ael-local' created by 'pbx_ael' ]
Include => 'ael-default' [pbx_ael]
Include => 'ael-trunklocal' [pbx_ael]
Include => 'ael-iaxtel700' [pbx_ael]
Include => 'ael-trunktollfree' [pbx_ael]
Include => 'ael-iaxprovider' [pbx_ael]
Ignore pattern => '9' [pbx_ael]

[ Context 'ael-std-exten-ael' created by 'pbx_ael' ]
'a' => 1. VoiceMailMain(${ext}) [pbx_ael]
2. Return() [pbx_ael]
'sw_1_' => 10. Goto(sw_1_.,10) [pbx_ael]
'sw_1_BUSY' => 10. Voicemail(${ext},b) [pbx_ael]
11. Goto(~~s~~,7) [pbx_ael]
'~~s~~' => 1. MSet(LOCAL(ext)=${ARG1}) [pbx_ael]
2. MSet(LOCAL(dev)=${ARG2}) [pbx_ael]
3. MSet(LOCAL(~~EXTEN~~)=${EXTEN}) [pbx_ael]
4. MSet(LOCAL(~~EXTEN~~)=${~~EXTEN~~}) [pbx_ael]
5. Dial(${dev}/${ext},20) [pbx_ael]
6. Goto(sw_1_${DIALSTATUS},10) [pbx_ael]
7. NoOp(Finish switch_ael-std-exten-ael_1) [pbx_ael]
8. Return() [pbx_ael]
'_sw_1_.' => 10. Voicemail(${ext},u) [pbx_ael]
11. Goto(~~s~~,7) [pbx_ael]
Include => 'ael-builtin-h-bubble' [pbx_ael]

[ Context 'ael-demo' created by 'pbx_ael' ]
'#' => 1. Playback(demo-thanks) [pbx_ael]
2. Hangup() [pbx_ael]
'1000' => 1. Goto(ael-default,s,1) [pbx_ael]
'2' => 1. Background(demo-moreinfo) [pbx_ael]
2. Goto(s,instructions) [pbx_ael]
'3' => 1. Set(LANGUAGE()=fr) [pbx_ael]
2. Goto(s,restart) [pbx_ael]
'500' => 1. Playback(demo-abouttotry) [pbx_ael]
2. Dial(IAX2/guest@misery.digium.com/s@default) [pbx_ael]
3. Playback(demo-nogo) [pbx_ael]
4. Goto(s,instructions) [pbx_ael]
'600' => 1. Playback(demo-echotest) [pbx_ael]
2. Echo() [pbx_ael]
3. Playback(demo-echodone) [pbx_ael]
4. Goto(s,instructions) [pbx_ael]
'8500' => 1. VoicemailMain() [pbx_ael]
2. Goto(s,instructions) [pbx_ael]
'i' => 1. Playback(invalid) [pbx_ael]
's' => 1. Wait(1) [pbx_ael]
2. Answer() [pbx_ael]
3. Set(TIMEOUT(digit)=5) [pbx_ael]
4. Set(TIMEOUT(response)=10) [pbx_ael]
[restart] 5. Background(demo-congrats) [pbx_ael]
[instructions] 6. MSet(x=$[0]) [pbx_ael]
7. GotoIf($[ ${x} < 3]?8:12) [pbx_ael]
8. Background(demo-instruct) [pbx_ael]
9. WaitExten() [pbx_ael]
10. MSet(x=$[${x} + 1]) [pbx_ael]
11. Goto(7) [pbx_ael]
12. NoOp(Finish for_ael-demo_3) [pbx_ael]
't' => 1. Goto(#,1) [pbx_ael]
'_1234' => 1. Gosub(ael-std-exten-ael,~~s~~,1(${EXTEN}, "IAX2")) [pbx_ael]

[ Context 'ael-default' created by 'pbx_ael' ]
Include => 'ael-demo' [pbx_ael]

[ Context 'ael-builtin-h-bubble' created by 'pbx_ael' ]
'h' => 1. Goto(9991) [pbx_ael]
9991. Set(~~parentcxt~~=${STACK_PEEK(1,c,1)}) [pbx_ael]
9992. GotoIf($["${~~parentcxt~~}"=""]?9996) [pbx_ael]
9993. GotoIf(${DIALPLAN_EXISTS(${~~parentcxt~~},h,1)}?9994:9996) [pbx_ael]
9994. StackPop() [pbx_ael]
9995. Goto(${~~parentcxt~~},h,1) [pbx_ael]
9996. NoOp() [pbx_ael]

[ Context 'parkedcalls' created by 'res_parking' ]
'700' => 1. Park() [res_parking]
'701' => 1. ParkedCall(default,701) [res_parking/default]
'702' => 1. ParkedCall(default,702) [res_parking/default]
'703' => 1. ParkedCall(default,703) [res_parking/default]
'704' => 1. ParkedCall(default,704) [res_parking/default]
'705' => 1. ParkedCall(default,705) [res_parking/default]
'706' => 1. ParkedCall(default,706) [res_parking/default]
'707' => 1. ParkedCall(default,707) [res_parking/default]
'708' => 1. ParkedCall(default,708) [res_parking/default]
'709' => 1. ParkedCall(default,709) [res_parking/default]
'710' => 1. ParkedCall(default,710) [res_parking/default]
'711' => 1. ParkedCall(default,711) [res_parking/default]
'712' => 1. ParkedCall(default,712) [res_parking/default]
'713' => 1. ParkedCall(default,713) [res_parking/default]
'714' => 1. ParkedCall(default,714) [res_parking/default]
'715' => 1. ParkedCall(default,715) [res_parking/default]
'716' => 1. ParkedCall(default,716) [res_parking/default]
'717' => 1. ParkedCall(default,717) [res_parking/default]
'718' => 1. ParkedCall(default,718) [res_parking/default]
'719' => 1. ParkedCall(default,719) [res_parking/default]
'720' => 1. ParkedCall(default,720) [res_parking/default]

[ Context '__func_periodic_hook_context__' created by 'func_periodic_hook' ]
'beep' (CID match '') => 1. Answer() [func_periodic_hook]
2. Playback(beep) [func_periodic_hook]
'hook' (CID match '') => 1. Set(EncodedChannel=${CUT(HOOK_CHANNEL,-,1-2)}) [func_periodic_hook]
2. Set(GROUP_NAME=${EncodedChannel}${HOOK_ID}) [func_periodic_hook]
3. Set(GROUP(periodic-hook)=${GROUP_NAME}) [func_periodic_hook]
4. ExecIf($[${GROUP_COUNT(${GROUP_NAME}@periodic-hook)} > 1]?Hangup()) [func_periodic_hook]
5. Set(ChannelToSpy=${URIDECODE(${EncodedChannel})}) [func_periodic_hook]
6. ChanSpy(${ChannelToSpy},qEB) [func_periodic_hook]

[ Context 'local' created by 'pbx_lua' ]
Alt. Switch => 'Lua/' [pbx_lua]

[ Context 'demo' created by 'pbx_lua' ]
'1000' => hint: SIP/1000 [pbx_lua]
'1001' => hint: SIP/1001 [pbx_lua]
Alt. Switch => 'Lua/' [pbx_lua]

[ Context 'default' created by 'pbx_lua' ]
'1234' => hint: SIP/1234 [pbx_lua]
Alt. Switch => 'Lua/' [pbx_lua]

[ Context 'incoming' created by 'pbx_config' ]
'4233772801' => 1. Answer() [extensions.conf:15]
2. Dial(SIP/1000,30,Tt) [extensions.conf:16]
3. Hangup() [extensions.conf:17]

[ Context 'internal' created by 'pbx_config' ]
'1000' => 1. Dial(SIP/1000,30,Tt) [extensions.conf:9]
'1001' => 1. Dial(SIP/1001,30,Tt) [extensions.conf:10]
'_X.' => 2. Dial(SIP/4233772801/${EXTEN},30,r) [extensions.conf:11]

[ Context 'public' created by 'pbx_config' ]
Alt. Switch => 'Lua/' [pbx_lua]

-= 56 extensions (105 priorities) in 28 contexts. =-
Последний раз редактировалось herznaet 22 ноя 2018, 13:02, всего редактировалось 1 раз.

herznaet
Сообщения: 26
Зарегистрирован: 10 сен 2018, 10:08

Re: Билайн и авторизация по IP-адресу

Сообщение herznaet » 22 ноя 2018, 13:02

4)
Spoiler!
sip show peer 1000


* Name : 1000
Description :
Secret : <Set>
MD5Secret : <Not set>
Remote Secret: <Not set>
Context : internal
Record On feature : automon
Record Off feature : automon
Subscr.Cont. : <Not set>
Language : ru
Tonezone : <Not set>
AMA flags : Unknown
Transfer mode: open
CallingPres : Presentation Allowed, Not Screened
Callgroup :
Pickupgroup :
Named Callgr :
Nam. Pickupgr:
MOH Suggest :
Mailbox :
VM Extension : asterisk
LastMsgsSent : 0/0
Call limit : 2
Max forwards : 0
Busy level : 1
Dynamic : Yes
Callerid : "" <>
MaxCallBR : 384 kbps
Expire : 3387
Insecure : no
Force rport : Yes
Symmetric RTP: Yes
ACL : No
DirectMedACL : No
T.38 support : No
T.38 EC mode : Unknown
T.38 MaxDtgrm: 4294967295
DirectMedia : No
PromiscRedir : No
User=Phone : No
Video Support: No
Text Support : No
Ign SDP ver : No
Trust RPID : No
Send RPID : No
Path support : No
Path : N/A
TrustIDOutbnd: Legacy
Subscriptions: Yes
Overlap dial : No
DTMFmode : rfc2833
Timer T1 : 500
Timer B : 32000
ToHost :
Addr->IP : 94.198.221.102:57120
Defaddr->IP : (null)
Prim.Transp. : UDP
Allowed.Trsp : UDP
Def. Username: 1000
SIP Options : (none)
Codecs : (alaw)
Auto-Framing : No
Status : OK (43 ms)
Useragent :
Reg. Contact : sip:1000@172.16.1.6:57120
Qualify Freq : 60000 ms
Keepalive : 0 ms
Sess-Timers : Accept
Sess-Refresh : uas
Sess-Expires : 1800 secs
Min-Sess : 90 secs
RTP Engine : asterisk
Parkinglot :
Use Reason : No
Encryption : No
RTCP Mux : No

xelas
admin
Сообщения: 1154
Зарегистрирован: 05 мар 2007, 11:21

Re: Билайн и авторизация по IP-адресу

Сообщение xelas » 23 ноя 2018, 06:08

А, блин. Как же я сразу то не заметил

[internal]

exten => 1000,1,Dial(SIP/1000,30,Tt)
exten => 1001,1,Dial(SIP/1001,30Tt)
exten => _X.,n,Dial(SIP/4233772801/{EXTEN},30,r)

Это не правильно. Правильно:
exten => _X.,1,Dial(SIP/4233772801/{EXTEN},30,r)

herznaet
Сообщения: 26
Зарегистрирован: 10 сен 2018, 10:08

Re: Билайн и авторизация по IP-адресу

Сообщение herznaet » 23 ноя 2018, 09:36

Спасибо огромное! Взлетело. И все-таки, почему я не могу переобозвать транк по-своему?

1) Переименовал транк с 4233772801 в cbpline
2) в extensions.conf заменил в incoming 4233772801 на s
3) там же в разделе internal заменил 4233772801 на cbpline

при попытке дозвониться пишет:
chan_sip.c:26512 handle_request_invite: Call from 'cbpline' (82.142.175.22:5071) to extension '4233772801' rejected because extension not found in context 'incoming'.

Причем исходящие работают

xelas
admin
Сообщения: 1154
Зарегистрирован: 05 мар 2007, 11:21

Re: Билайн и авторизация по IP-адресу

Сообщение xelas » 23 ноя 2018, 10:43

Можете
1) Хорошо
2) А вот этого не надо было делать
3) А это правильно.

Вы вообще вчитываетесь что вам пишет в ошибке? Там, в общем, все довольно прозрачно сказано :)

herznaet
Сообщения: 26
Зарегистрирован: 10 сен 2018, 10:08

Re: Билайн и авторизация по IP-адресу

Сообщение herznaet » 24 ноя 2018, 10:12

Где не правильно?
Spoiler!
cat sip.conf
[general]
allowguest=no
allowoverlap=no
context=public
useragent=TEST PBX
alwaysauthreject=yes
bindport=5065
bindaddr=0.0.0.0
srvlookup=no
disallow=all
allow=alaw
canreinvite=no
language=ru
externaddr=81.200.156.17
localnet=192.168.1.0/24

[beeline]
type=friend
host=82.142.175.22
port=5071
context=incoming
canreinvite=no
dtmfmode=inband
nat=force_rport,comedia
insecure=invite,port

[defaults](!)
type=friend
host=dynamic
qualify=yes
context=internal
disallow=all
allow=alaw
call-limit=2
busylevel=1
rtpkeepalive=5
canreinvite=no
nat=force_rport,comedia

[1000](defaults)
secret=

[1001](defaults)
secret=


cat extensions.conf
[general]

[globals]

[public]

[internal]

exten => 1000,1,Dial(SIP/1000,30,Tt)
exten => 1001,1,Dial(SIP/1001,30,Tt)
exten => _X.,1,Dial(SIP/beeline/${EXTEN},30,r)

[incoming]

exten => beeline,1,Answer()
exten => beeline,n,Dial(SIP/1000,30,Tt)
exten => beeline,n,Hangup()
именно в таком виде дает ошибку, но если поменяю beeline на 4233772801, то все заработает

awsswa
Сообщения: 1729
Зарегистрирован: 28 апр 2012, 10:19
Откуда: Russia, Пермь

Re: Билайн и авторизация по IP-адресу

Сообщение awsswa » 24 ноя 2018, 12:40

[incoming]
exten => _X.,1,Answer()
exten => _X.,n,Dial(SIP/1000,30,Tt)
exten => _X.,n,Hangup()
платный суппорт по мере возможностей

herznaet
Сообщения: 26
Зарегистрирован: 10 сен 2018, 10:08

Re: Билайн и авторизация по IP-адресу

Сообщение herznaet » 24 ноя 2018, 13:17

Спасибо, сработало. Но может кто объяснить доступно, почему сия конструкция не подойдет, взято с боевого сервака:
Spoiler!
cat extensions.conf
[general]

[globals]

[macro-user-dial]

exten => s,1,Answer()
exten => s,n,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${ARG1})
exten => s,n,MixMonitor(/root/Yandex.Disk/Records/${fname}.wav)
exten => s,n,Dial(SIP/${ARG1},30,Tt)
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Macro(group-dial,1100)
exten => s-CHANUNAVAIL,1,Macro(group-dial,1100)
exten => s-BUSY,1,Macro(group-dial,1100)
exten => s-UNKNOWN,1,Macro(group-dial,1100)
exten => s-CONGESTION,1,Macro(group-dial,1100)
exten => _s-.,1,Hangup()

[macro-group-dial]

exten => s,1,Answer()
exten => s,n,Set(grupp=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${ARG1})
exten => s,n,MixMonitor(/root/Yandex.Disk/Records/${grupp}.wav)
exten => s,n,Queue(${ARG1},60)
exten => s,n,Hangup()

[public]

[internal]

exten => 1000,1,Dial(SIP/1000,30,Tt)
exten => 1001,1,Dial(SIP/1001,30,Tt)
exten => 1002,1,Dial(SIP/1002,30,Tt)
exten => 1003,1,Dial(SIP/1003,30,Tt)
exten => 1004,1,Dial(SIP/1004,30,Tt)
exten => 1234,1,VoicemailMain(500@incoming)

exten => _X.,1,Set(ishod=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN})
exten => _X.,n,MixMonitor(/root/Yandex.Disk/Records/${ishod}.wav)
exten => _X.,n,Dial(SIP/${EXTEN}@beeline,30,r)

[incoming]

exten => s-beeline,6,Background(menu)
exten => s-beeline,n,WaitExten()

exten => 1,1,Macro(user-dial,1000)
exten => 2,1,Macro(user-dial,1002)
exten => 3,1,Macro(user-dial,1003)
exten => 4,1,Macro(user-dial,1001)
exten => 5,1,Macro(user-dial,1001)
exten => 7,1,Macro(user-dial,1004)
exten => 6,1,Macro(group-dial,1100)

exten => 0,1,Goto(incoming,s-beeline,6)

exten => i,1,Goto(incoming,s-beeline,6)

exten => t,1,Macro(group-dial,1100)

include => daytime,9:00-18:00,mon-fri,*,*
include => dayfri,9:00-17:00,fri,*,*
include => nighttime

[daytime]

exten => s,1,Goto(s-${CHANNEL(peername)},1)
exten => s-beeline/84232790797,1,Congestion
exten => s-beeline/89249440078,1,Congestion
exten => s-beeline,1,Answer()
exten => s-beeline,n,Background(privet)
exten => s-beeline,n,Goto(incoming,s-beeline,6)

[dayfri]

exten => s,1,Goto(s-${CHANNEL(peername)},1)
exten => s-beeline/84232790797,1,Congestion
exten => s-beeline/89249440078,1,Congestion
exten => s-beeline,1,Answer()
exten => s-beeline,n,Background(privet)
exten => s-beeline,n,Goto(incoming,s-beeline,6)

[nighttime]

exten => s,1,Goto(s-${CHANNEL(peername)},1)
exten => s-beeline,1,Answer()
exten => s-beeline,n,Playback(privet)
exten => s-beeline,n,Playback(work)
exten => s-beeline,n,VoiceMail(500@incoming)
exten => s-beeline,n,Hangup()
Честно, писал сам, но это все из 2015-го года, на тот момент прочел, настроил и забыл

xelas
admin
Сообщения: 1154
Зарегистрирован: 05 мар 2007, 11:21

Re: Билайн и авторизация по IP-адресу

Сообщение xelas » 25 ноя 2018, 10:30

Не путайте имя пира и вызываемый номер!
Это две абсолютно разные вещи. Имя пира может быть любым.
Как и номер, который может приходить из транка.
И именно этот номер(extension), который будет в INVITE пакете и будет искаться в контексте, который вы задали для пира.
На вашем другом сервере вы скорее всего регистрировались на сервере провайдера, и в сроке register => указали extension s-beeline. потому в вас там и работало.

Но еще раз прошу четко уяснить имя пира != extension
Если мы в sip.conf описываем пир

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

[mypeer] 
type=friend
context=incoming
это не значит что звонки с него придут на extension mypeer. Звонки придут на номер, который вам присвоил ваш провайдер. Например, вы купили у провайдера номер 12346. Значит контекст incoming должен выглядет так

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

[incoming]
exten => 12346,Dial(..)
Есть исключение, если вы регистрируетесь у провайдера, то тогда вы можете указать, в каком extention вы будете получать звонок:

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

register => 12346:password@my.prov.com/mynumber
и тогда:

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

[incoming]
exten => mynumber,Dial(..)

herznaet
Сообщения: 26
Зарегистрирован: 10 сен 2018, 10:08

Re: Билайн и авторизация по IP-адресу

Сообщение herznaet » 25 ноя 2018, 13:24

Спасибо за разъяснения!

Ответить