Tartalék FreePBX beüzemelési anomália

Fórumok

Sziasztok!

Munkahelyemen egy külön vason üzemelő  FreePBX-et használunk telefonközpontnak. A működési biztonságunk okán egy Proxmox-on működő virtuális gépre is fel lett telepítve a rendszer, az éles gépről a konfiguráció is át lett emelve (a beépített backup / restore segítségével). A terv az, hogy ha összeomlik a telefonközpontunk (mert pl kihullik a vas), akkor csak egy IP címet kelljen váltani a tartalékon és működhetünk tovább.

A hétvégén le lett tesztelve a váltás. Ez úgy történt, hogy az éles gép le lett kapcsolva, a virtuális gépen pedig az IP cím át lett állítva arra, amit az éles gép használ. Így volt legegyszerűbb megoldani az átállást, mert nem kell hozzá belenyúlni a tűzfal szabályokba.

A tapasztalat: elsőnek minden rendben levőnek tűnt:
- a telefonok azt mutatták, hogy be vannak regisztrálva
- a PBX is azt mutatta, hogy be vannak regisztrálva a mellékek
- lehetett kifelé telefonálni, itt látszott egy eltérés: az éles rendszerrel ellentétben nem mutatta a hívó számát
- bejöttek a külső hívások és működött az IVR is, egészen addig, amíg konkrét melléket el nem akart érni a rendszer. Az viszont mindig foglaltat adott
- mellékről melléket sem lehetett hívni, mindig foglaltat adott

Sok kínlódás után (konfigok átnézése, logok böngészése, stb) egy ötlettől vezérelve megváltoztattam az egyik mellék regisztrációjához tartozó jelszót, és csodák csodájára az adott mellék egyből elérhetővé vált. Sőt, az adott mellékről történt kimenő hívásnál már kijelezte a hívószámot is.

Ez így számomra nehezen értelmezhető. El tudom fogadni, hogy a backup/restore nem tudja átvinni a jelszavakat, de akkor miért mutatja a rendszer a mellékeket regisztráltként, miért működik a kimenő hívás?

Találkoztatok már ilyennel?

Gábor

Hozzászólások

Szerkesztve: 2023. 12. 04., h – 09:39

- A kimenő hívás nem regisztrációhoz kötött, függetlenül attól, hogy ahhoz is kellhet auth. (Ugyanaz, mint levelezésnél az IMAP és SMTP)

- A register interval/timeout/expire és hasonló értékeket nézd meg mindkét oldalon. Én 60s-re szoktam általában állítani, így gyorsan le tudja követni a változásokat, a default talán 3600s, az orbitális:

* Ha a telefon 1 perccel előtte regelt még a régi központra, a következő 59 percig eszébe se fog jutni, és nyilván azt hiszi hogy online.

* A központ meg valszeg az extensionről kimenő hivás miatt jelzi elérhetőnek.

"Sose a gép a hülye."

Köszi a válaszokat! Írtál új dolgokat.

- "A kimenő hívás nem regisztrációhoz kötött". Ez nem igaz, már ha egyre gondolunk. Ki is próbáltam, az egyik melléken direkt elrontottam a jelszót, ki is írta, hogy nincs regisztrálva és természetesen nem engedett hívást kezdeményezni.

- Meg fogom nézni ezt az interval/expire értéket, biztos, hogy alapértelmezésen van.

- A központ biztosan nem a kimenő hívás miatt jelzi aktívnak a melléket, mert a kimenő hívás egy mellékről indult, de az összes melléket mutatta a pbx.

Gábor

Pontosítsunk. A regisztráció és a hívás indítása nem függ össze.

A REGISTER egy SIP metódus, amivel a telefonod elmondja a központnak h. itt van, ez az IP címe, ez a "Contact" címe. Így a központod fogja tudni, hogy merre kell őt megszólítani.

Hívást INVITE-al kezdeményezel, amihez nem feltétlen szükségeltetik a REGISTER előtte, simán el tud indulni a hívás akkor is ha nem vagy regisztrálva, de minden auth adatot helyesen adsz át az INVITE-ban (pontosabban az ACK401 után majd, de ebbe bele se menjünk).

És akkor arról nem is beszéltünk h. ha auth by IP -vel megy a dolog (provider linkeken pl.) akkor AUTH sem kell, csak átdobod az INVITE-ot és ha megfelelő source IP-ről jössz, akkor már kezeli is a másik oldal.

De hogy ontopic is legyek. A kolléga már leírta h. mi történt.

A telefonjaid ritkán próbálnak REGISTER-t küldeni, így ők a PBX váltáskor szentül hitték h. a régi alközponton vannak regisztrálva. A PBX-ed qualify-ol (SIP OPTIONS-t küld a peer IP-re), a telefonok pedig válaszolnak rá szépen, így online-nak látod őket. Mivel a mellékek nem küldtek REGISTER-t, a pbx nem tudta h. merre vannak (Reg. Contact, Path), így nem tudta őket kicsörgetni. Asterisk logban gondolom olyanok lehettek h. "subscriber absent". Ha egy telefont újraindítottál volna, akkor szépen betolta volna a REGISTER-t az új PBX-nek (ami a régi IP címén üzemelt), így az működött volna rendben. A jelszó változtatásával ugyanezt érted el gyakorlatilag, mert minden változáskor új REGISTER-t küld egy IP telefon.

Tehát minden működik, csak a telefonokat is újra kellett volna indítani. Ugyanitt a register frequency/timeout értéket érdemes 1-2-3 percre levenni és akkor ennyi a "kiesési" időd.

Ezt egyébként remekül lehet kezelni valami értelmesebb SIP routerrel, ahol pl. replikált usrloc db van (opensips,kamailio,routr)