По умолчанию в Астериске в любой сборке нет возможности удобно ограничивать права доступа, учитывая то, что в любой уже УАТС есть возможность достаточно гибко настраивать доступ к внешни/внутренним линиям...но есть модуль Custom Context и мы приходим к тому что все нужное можно наращивать модулями и расширениями. Их много, о других потом ещё расскажу.
Делать будем на FreePBX 14 Asterisk 13
Поехали:
1) Ставим: Admin → module admin
2) Открываем вкладку Connectivity → Custom Contexts и добавляем первый контекст
3) В окне Deny Rules вбиваем шаблон(dial pattern) номеров, которые запретим
для копирования:
810Z.
8495XXXXXXX
8499XXXXXXX
89XXXXXXXXX
4) Теперь правила:
А) Set All To: Allow
Б) ЕNTIRE Basic Internal Dialplan: Deny Rules
В) ALL OUTBOUND ROUTES: Deny Rule (в самом низу)
5) На внутреннем номере во вкладке Advanced находим Custom Context и выбираем наш,сделанный контекст
Работу его видим примерно так:
# asterisk -vvvvr
Asterisk 13.22.0, Copyright (C) 1999 - 2014, Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 13.22.0 currently running on fpbx-spm (pid = 10273)
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
> 0x7fa4c0154700 -- Strict RTP learning after remote address set to: 10.20.201.113:8000
-- Executing [84959090999@All_D_Local_Y:1] Goto("SIP/17000-000013be", "All_D_Local_Y_rulematch,84959090999,1") in new stack
-- Goto (All_D_Local_Y_rulematch,84959090999,1)
-- Executing [84959090999@All_D_Local_Y_rulematch:1] ResetCDR("SIP/17000-000013be", "") in new stack
-- Executing [84959090999@All_D_Local_Y_rulematch:2] NoCDR("SIP/17000-000013be", "") in new stack
-- Executing [84959090999@All_D_Local_Y_rulematch:3] Progress("SIP/17000-000013be", "") in new stack
-- Executing [84959090999@All_D_Local_Y_rulematch:4] Wait("SIP/17000-000013be", "1") in new stack
> 0x7fa4c0154700 -- Strict RTP qualifying stream type: audio
> 0x7fa4c0154700 -- Strict RTP switching source address to 11.22.33.44:8000
-- Executing [84959090999@All_D_Local_Y_rulematch:5] Playback("SIP/17000-000013be", "silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer") in new stack
-- <SIP/17000-000013be> Playing 'silence/1.ulaw' (language 'ru')
> 0x7fa5580db240 -- Strict RTP learning complete - Locking on source address 10.20.555.555:23088
-- <SIP/17000-000013be> Playing 'cannot-complete-as-dialed.ulaw' (language 'ru')
-- <SIP/17000-000013be> Playing 'check-number-dial-again.ulaw' (language 'ru')
> 0x7fa4c0154700 -- Strict RTP learning complete - Locking on source address 11.22.33.44:8000
fpbx*CLI> exit
Как видим контекст подставляется сразу при вызове
Итог:
Эти правилом запрещаем гор связь и оставляем внутреннюю связь, что очень часто необходимо(тлф на проходной/у вахтера/в цеху/справочная в бизнес центре/доп линия без выхода в город и т. д.)
Комментариев нет:
Отправить комментарий