Asterisk / Freepbx disable outbound route for specific extension

Fórumok

Azt kéne megoldanom, hogy bizonyos extension(ok) dinamikusan tudják/ne tudják használni a kimenő vonalakat. (hotel vendég kicsekk/becsekk)

Trixbox van freepbx-szel (már bánom hogy nem plain asterisk, de ez van...), ebben kéne megoldani a feladatot.
Találtam a freepbx-hez egy jó kis CustomContexts modult, ami jól is működik, tehát ha kézzel pakolászom az extensionöket, akkor lehet/nem lehet kifelé telefonálni.
Na már csak ezt a lépést kell automatizálni. Ez lenne az egyik megoldás.

Eszembe jutott még két megoldás:

- AMI scripttel kicsekk/becsekk esetén a konfigot módosítani (csúnyának tűnik, mert a freepbx webes piszkálásakor a konfig "elromolhat")
- AGI scripttel híváskor realtime megnézni, hogy ennek a melléknek szabad-e éppen kifelé telefonálni

Ehhez már csak az AGI/AMI -hoz kéne érteni :)

Pls. help!

PS: Bármilyen más - akár elvében is más - megoldás érdekel, ha működik!

Hozzászólások

szia

én annó ezt úgy oldottam meg hogy a mellékeket két contextusba raktam egyikben benne volt az outbound routing másikban meg nem, és mikor felvettem a melléket azt a contextet állítottam be amelyik kellett.

Alapból a from-internal a van ugye, ezt megkeresede és kiremelem azt az include ot amiben az outbound route ok vannak, és csinálsz egy másik contextet amiben berakod az outbound routing szabályokat, meg a from-internált.

röviden tömören ennyi

Core2Duo T7100, 2.5G, Ubuntu 8.04, 2.6.28.3

a webes piszkálás jól nem nyúl hozzá a custom konfighoz, ha egy script-ből atirod úgy marad és működik.

Lehet hülye ötlet... de kapcsold be a pin kódot az outbound route mindegyik irányába, lehetőleg bonyolult pinkód legyen és használd a AMPUSER/XXXX/pinless=NOPASSWD opciót

AMI-n keresztül (akinek be van állítva ha minden igaz nem kér pin kódot akinél nincs -mert kijelentkezett attól pedig kér).

--Manager bejelentkezés---

Action: Login
Username: felhnév (ami a checkin gépről engedélyezve van Tools/Manager API)
Secret: erősjelszó
Events: off

--Pinkód nélkül:

Action: DBPut
Family: AMPUSER
Key: mellék/pinless
Val: NOPASSWD

--Pinkód kérése ismét:
Action: DBPut
Family: AMPUSER
Key: mellék/pinless
Val:

--Manager Kijelentkezés (el is bontódik a kapcsolat)---

Action: Logoff

szerk: érdekelt és kipróbáltam (mondjuk asterisk 1.4 és Freepbx 2.4.. nem trixbox, de lehet hogy ott is megy)... megy rendesen, manager if-en kiadod a fenti parancsot... rögtön rákerül a pinkód (amit úgy sem ismer), ha pedig feloldod akkor pinkód nélkül tud kifelé telefonálni... így akkor 1 context elég és ha módosul 1-2 dolog nem kell legenerálnod a 2. contextet is...

Üdv:
Csabka

Sziasztok!

Szép feladat... Amennyiben nem csak erre használnád az asterisket, hanem felvennél más "Hotel Funkciókat" is (ki/be csekk, szobaszervíz, takarítás, minibar, egyenleg közlő, ébresztő funkció, Vendég neve, beszélt nyelvének kijelzése, nemzetiségének kijelzése...) akkor egy apró turpissággal és plain asteriskkel sokkal hatékonyabban tudod elvégezni a feladatot.

Az asteriskben van MYSQL DB Connnect. Ha a szobákat egy contextbe teszed (pl.: room-out) akkor tudsz csinálni egy MYSQL selectet a szobára, hogy telefonálhat e vagy nem. (I/N, 0/1) Míg a többi helyen, igazgatóság, recepció egy másik contexten keresztül tud telefonálni.

Arra figyelned kell, hogy a hívásokat a segélyhívók irányába nem szabad tiltanod! A szobából akkor is fel kell tudnod hívni a rendőröket, tűzöltókat, mentőket, 112-t esetleg a recepciót ha oda senki nem csekkolt be. Ha jól sejtem a fenti módszer erre alkalmatlan és a Trixboxnak sem ismerem azt a funkcióját ami ezt támogatná.

A feladat hálás, de ezt már ez elején is :o)

Krisz

http://www.voipnetwork.hu
VNM VoIP Telefonközpontok
a NAGYOK tudásával, a kicsik rugalmasságával

Azt csináljuk, amire szerződésünk van :)
A fenti módszer simán alkalmas erre, ugyanis route-onként lehet megadni hogy pin vagy nem pin.
Ha csinálok olyan route-t ami nem pin, akkor azon bármikor lehet kifele telefonálni.
A háromjegyű számokat bármikor fel lehet hívni.
A belső context mindig működik.
Jó megoldás ez.

--
Gabriel Akos