Hi, I need openSIPS expert's advice on what is the easiest way to integrate our Oracle database policy routing application with OpenSIPS?
This database application includes the Web-GUI and is capable to return sorted list of routes (IPs) and can also perform optional gateway authentication by allowed IP\prefix combinations. Earlier it was used with proprietary SIP server, integrated through C++ layer, which interacted with that Oracle app by calling store procedures (via OCI).
I’ve looked through the documentation, but the solution remains unclear for me as such integration has to work pretty fast and won't be a performance bottleneck.
I have a few ideas, may you comment on these or advise something else?
1. Insert in OpenSIPS Perl's routing and authorization scripts the requests to our own database instead of existing OpenSIPS tables. By the way, I think it's possible to switch databases\algorithms for certain domains\IP, right?
2. To synchronize (by triggers), our Oracle table-space with current table-space of OpenSIPS. It means there is no change in OpenSIPS logics at all, but there are a lot of questions of how correctly fill our existing routing scenarios into OpenSIPS table-space structure…
Thank you, Nikolay
what about directly triggering action or fetching data from the oracle DB via the oracle module - like running custom queries or procedures in the DB.
If I got you right, in this case I should:
1. Call our Oracle functions (say: sp_Authorize and sp_Route) via existing OpenSIPS Oracle module
2. Change the perl scripts logic (in opensips.cfg) to correctly process list of dial-peers returned by sp_Route (and same for sp_Authorize)
Correct? And then how can I make OpenSIPS to use my new custom logic and database only for certain Callers (domains\IPs) and keep the standard OpenSIPS routing and table-space for all other domains?