FusionPBX og ACL

Greinin mín er ekki full lýsing á vörunni, heldur aðeins örlítil betrumbót á hinu góða riti "FusionPBX, eða aftur-frábært, FreeSWITCH". Mér sýnist að efni ACL í FusionPBX sé ekki mjög vel gefið upp í því. Ég mun reyna að fylla þetta skarð út frá eigin reynslu af FreeSWITCH/FusionPBX.

Og svo höfum við uppsettan FusionPBX með skráð innra númeri 1010 á domain.local léninu og stillta leið fyrir utanaðkomandi símtöl til borgarinnar. Við notum ACL til að tryggja símkerfi okkar fyrir óviðkomandi símtölum sem taka peningana okkar. Þeir. aðeins frá netkerfum sem lýst er í ACL leyfa hringingar. Og hér þarftu algjörlega skýran skilning á því hvernig ACL virkar í FusionPBX, eiginleikum þess, rökfræði og akkerispunkti.

Eins og hinn virti höfundur greinarinnar hér að ofan steig ég líka á allar hrífur sem tengjast ACL.

Ég byrja á SipProfiles.
Báðir prófílarnir (ég mun kalla þá það), bæði innri og ytri, eru í opinberu samhengi og þetta er ekki tilviljun. Skráning númera fer fram í innri prófílnum og munum við gefa því gaum. Í innra sniðinu eru lénin ACL bundin sem app-innleið-acl. Það er þessi lína sem ber ábyrgð á rekstri ACL á prófílstigi. Enn sem komið er, það er það með sniðin.

Samhengi

Samhengi er meðal annars notað í símtalaleiðingu. Allar komuleiðir eru bundnar opinberu samhengi.

Útgönguleiðir (til borgarinnar, til farsíma, langlínusímstöðva, millilanda og hvers kyns) eru (sjálfgefið) í samhengi við lén (köllum það domain.local).

ACL

Nú skulum við takast á við ACLs. Sjálfgefið er að nýuppsett FusionPBX hefur tvö ACL:

sjálfgefna aðgerð léna: neita - þetta blað er bundið innri prófílnum
lan sjálfgefna aðgerð: leyfa

Í ACL listanum fyrir lén, ávísum við netinu (tja, til dæmis, 192.168.0.0/24), við gerum leyfi fyrir þetta net, við notum reloadacl.

Næst skráum við síma frá þessu neti og allt virðist vera í lagi og samkvæmt leiðbeiningunum og rökrétt.
Við byrjum að prófa, hringjum í ytra númer og ... við fáum kleinuhring, eða réttara sagt kleinuhring. Allt í einu!

Við byrjum að greina skráninguna í stjórnborðinu eða í gegnum Log Viewer FusioPBX.

Við sjáum áskorunina okkar:

switch_channel.c:1104 New Channel sofia/internal/[email protected]

Við sjáum ACL sem virkaði:

sofia.c:10208 IP 192.168.0.150 Approved by acl "domains[]". Access Granted.

Og ennfremur:

mod_dialplan_xml.c:637 Processing 1010 <1010>->98343379xxxx in context public
switch_core_state_machine.c:311 No Route, Aborting 
switch_core_state_machine.c:312 Hangup sofia/internal/[email protected] [CS_ROUTING] [NO_ROUTE_DESTINATION] 

Engin leið! Þó leiðin sem við höfum heiðarlega skráð.

Svarið er í rauninni einfalt.

Kallið er komið. ACL missti af því. Og þar sem ACL er bundið í innri sniðinu, og þetta snið er í opinberu samhengi, lítur FreeSWITCH heiðarlega á leið í opinberu samhengi. En í hinu opinbera samhengi, aðeins komandi leið, og kerfið segir okkur heiðarlega að það eru engar leiðir til borgarinnar þar.

Það eru að minnsta kosti tvær leiðir út úr þessu ástandi.

  1. Festu þetta ACL ekki við prófílinn, heldur við innra númerið sjálft. Þetta gæti verið réttasta leiðin til að leysa, vegna þess að. Það er betra að binda ACL eins nálægt Extension og hægt er til að fínstilla. Þeir. þú getur ávísað tilteknu heimilisfangi / netfangi símans sem hann getur hringt úr. Ókosturinn við þennan valkost er að hver framlenging verður að gera þetta.
  2. Lagaðu ACL þannig að það virki rétt á prófílstigi. Ég valdi þennan valmöguleika, vegna þess að mér fannst auðveldara að bæta netinu við ACL einu sinni en að ávísa því í hverri viðbót. En þetta er sérstaklega fyrir mitt verkefni. Fyrir önnur verkefni gætirðu þurft aðra ákvarðanatökurökfræði.

Svo. Við skulum laga ACL lénin sem hér segir:

sjálfgefna aðgerð léna: leyfa

Í ACL listanum fyrir lén skráum við netið:

neita 192.168.0.0/24

Sækja, endurhlaðaacl.
Við erum að prófa: við hringjum aftur í númerið 98343379xxxx og ... eftirlitsstöðin er að koma ... HALLÓ. Allt er að virka.
Við skulum sjá hvað gerðist í FreeSWITCH:
símtal hefst:

switch_channel.c:1104 New Channel sofia/internal/[email protected]

ACL lét sig ekki vanta:

[DEBUG] sofia.c:10263 IP 192.168.0.150 Rejected by acl "domains". Falling back to Digest auth.

og frekar:

mod_dialplan_xml.c:637 Processing 1010 <1010>->98343379xxxx in context domain.local
sofia/internal/[email protected] Regex (PASS) [Sity] destination_number(98343379xxxx) =~ /^9(8343[23]d{6})$/ break=on-false 

Leiðin er liðin og svo kemur tengingin, sem er utan viðfangsefnisins.

Ef við breytum netfanginu í ACL, en fáum myndina úr fyrsta prófinu, þ.e. ACL mun sleppa símtalinu og leiðin mun segja NO_ROUTE_DESTINATION.

Það er líklega allt sem ég vildi bæta við á ACL FusionPBX.

Ég vona að það komi einhverjum að gagni.

Heimild: www.habr.com

Bæta við athugasemd