FusionPBX un ACL

Mans raksts nav pilns produkta apraksts, bet tikai neliels labās publikācijas "FusionPBX, or again-great, FreeSWITCH" precizējums. Man Ŕķiet, ka FusionPBX ACL tēma tajā nav Ä«paÅ”i labi atklāta. Es mēģināŔu aizpildÄ«t Å”o robu, pamatojoties uz savu pieredzi ar FreeSWITCH/FusionPBX.

Un tā, mums ir instalēts Fusion PBX ar reÄ£istrētu iekŔējo numuru 1010 domēnā domain.local un konfigurētu marÅ”rutu ārējiem zvaniem uz pilsētu. Mēs izmantojam ACL, lai aizsargātu mÅ«su telefonijas sistēmu no neautorizētiem zvaniem, kas atņems mÅ«su naudu. Tie. izejoÅ”os zvanus drÄ«kst veikt tikai no ACL aprakstÄ«tajiem tÄ«kliem. Un Å”eit jums ir nepiecieÅ”ama pilnÄ«gi skaidra izpratne par ACL darbÄ«bu FusionPBX, tā funkcijām, loÄ£iku un enkura punktu.

Tāpat kā cienījamais raksta autors, arī es uzkāpu uz visiem ar ACL saistītajiem grābekļiem.

SākŔu ar SipProfili.
Abi profili (es tos tā saukÅ”u), gan iekŔējie, gan ārējie, atrodas Publiskā kontekstā, un tas nav nejauÅ”i. Numuru reÄ£istrācija notiek iekŔējā profilā, un mēs tam pievērsÄ«sim uzmanÄ«bu. IekŔējā profilā domēnu ACL ir piesaistÄ«ts kā pieteikties-ienākoÅ”ais-acl. Å Ä« lÄ«nija ir atbildÄ«ga par ACL darbÄ«bu profila lÄ«menÄ«. Pagaidām tas ir ar profiliem.

konteksts

Konteksts tiek izmantots, cita starpā, zvanu marÅ”rutÄ“Å”anā. Visi ienākoÅ”ie marÅ”ruti ir saistÄ«ti ar publisko kontekstu.

IzejoÅ”ie marÅ”ruti (uz pilsētu, mobilo sakaru, tālsatiksmes, starptautiski un jebkuri citi) ir (pēc noklusējuma) domēna nosaukuma kontekstā (sauksim to domēns.local).

ACL

Tagad nodarbosimies ar ACL. Pēc noklusējuma tikko instalētam FusionPBX ir divi ACL:

domēnu noklusējuma darbÄ«ba: noliegt - Ŕī lapa ir saistÄ«ta ar iekŔējo profilu
LAN noklusējuma darbība: atļaut

Domēnu ACL sarakstā mēs norādām tÄ«klu (nu, piemēram, 192.168.0.0/24), Å”im tÄ«klam pieŔķiram atļauju, izmantojam reloadacl.

Tālāk mēs reÄ£istrējam tālruni no Ŕī tÄ«kla, un Ŕķiet, ka viss ir kārtÄ«bā un saskaņā ar instrukcijām un loÄ£iski.
Sākam testÄ“Å”anu, piezvanām uz ārējo numuru un ... iegÅ«stam virtuli, pareizāk sakot, virtuļa bedrÄ«ti. PēkŔņi!

Mēs sākam analizēt žurnālu konsolē vai caur žurnāla skatītāju FusioPBX.

Mēs redzam savu izaicinājumu:

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

Mēs redzam ACL, kas darbojās:

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

Un tālāk:

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] 

Nav marÅ”ruta! Lai gan marÅ”rutu esam godÄ«gi reÄ£istrējuÅ”i.

Atbilde ir patieŔām vienkārŔa.

Zvans ir atnācis. ACL to palaida garām. Un tā kā ACL ir saistÄ«ts ar iekŔējo profilu un Å”is profils ir publiskajā kontekstā, FreeSWITCH godÄ«gi aplÅ«ko marÅ”rutÄ“Å”anu publiskajā kontekstā. Bet publiskajā kontekstā tikai ienākoŔā marÅ”rutÄ“Å”ana, un sistēma mums godÄ«gi pasaka, ka tur nav marÅ”rutu uz pilsētu.

Ir vismaz divas izejas no Ŕīs situācijas.

  1. Pievienojiet Å”o ACL nevis profilam, bet gan paÅ”am iekŔējam numuram. Tas var bÅ«t vispareizākais risinājums, jo. Labāk ir saistÄ«t ACL pēc iespējas tuvāk paplaÅ”inājumam, lai precÄ«zāk pielāgotu. Tie. varat norādÄ«t konkrētu tālruņa adresi/tÄ«kla adresi, no kuras tas var veikt izejoÅ”o zvanu. Å Ä«s opcijas trÅ«kums ir tāds, ka tas bÅ«s jādara katram paplaÅ”inājumam.
  2. Labojiet ACL, lai tas pareizi darbotos profila lÄ«menÄ«. Izvēlējos Å”o opciju, jo man Ŕķita vienkārŔāk tÄ«klu pievienot ACL, nekā norādÄ«t katrā paplaÅ”inājumā. Bet tas ir tieÅ”i manam uzdevumam. Lai veiktu citus uzdevumus, jums var bÅ«t nepiecieÅ”ama cita lēmumu pieņemÅ”anas loÄ£ika.

Tātad. Labojiet ACL domēnus Ŕādi:

domēnu noklusējuma darbība: atļaut

Domēnu ACL sarakstā mēs reģistrējam tīklu:

noliegt 192.168.0.0/24

Piesakies, pārlādē.
Mēs testējam: vēlreiz sastādām numuru 98343379xxxx un ... tuvojas kontrolpunkts ... SVEIKA. Viss darbojas.
Apskatīsim, kas notika FreeSWITCH:
zvans sākas:

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

ACL nepalaida garām:

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

un tālāk:

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 

MarÅ”rutÄ“Å”ana ir pagājis, un tad seko savienojuma izveide, kas ir ārpus tēmas.

Ja mainām tÄ«kla adresi ACL, bet attēlu iegÅ«stam no pirmā testa, t.i. ACL izlaidÄ«s zvanu, un marÅ”rutÄ“Å”ana teiks NO_ROUTE_DESTINATION.

Tas, iespējams, ir viss, ko es gribēju pievienot ACL FusionPBX.

Ceru, ka kādam noderēs.

Avots: www.habr.com

Pievieno komentāru