Hi Everyone,
I just installed OpenSER w/MySQL and noticed that whenever MySQL became unavailable I could no longer place calls. Is this the correct behavior? I thought OpenSER's in-memory database would still allow new calls to go through.
I'm using db_mode 1 in my openser.cfg on SVN 1.2.0 version of OpenSER.
I'd really like to have OpenSER be able to continue working in the event MySQL is unreachable temporarily, for example, if the MySQL server crashes and needs to be rebooted or repaired. How can I accomplish this?
Thanks! Daryl
Daryl Sanders wrote:
Hi Everyone,
I just installed OpenSER w/MySQL and noticed that whenever MySQL became unavailable I could no longer place calls. Is this the correct behavior? I thought OpenSER's in-memory database would still allow new calls to go through.
It depends for what you use the mysql DB. Location lookup will works also without DB as they are cached, but user authentication, group checking, loading user preferences require a running database.
regards klaus
I'm using db_mode 1 in my openser.cfg on SVN 1.2.0 version of OpenSER.
I'd really like to have OpenSER be able to continue working in the event MySQL is unreachable temporarily, for example, if the MySQL server crashes and needs to be rebooted or repaired. How can I accomplish this?
Thanks! Daryl
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
On 3/12/07, Klaus Darilion klaus.mailinglists@pernau.at wrote:
Daryl Sanders wrote:
Hi Everyone,
I just installed OpenSER w/MySQL and noticed that whenever MySQL became unavailable I could no longer place calls. Is this the correct behavior? I thought OpenSER's in-memory database would still allow new calls to go through.
It depends for what you use the mysql DB. Location lookup will works also without DB as they are cached, but user authentication, group checking, loading user preferences require a running database.
regards klaus
Is there any way to cache authentication info in memory? If OpenSER cannot do this, do you know if SER has this ability? I'm only concerned with registrations and authentication right now. I don't need features or user preference from a DB.
I really just want my SER/OpenSER system to be able to survive a MySQL failure. I'm totally open to other suggestion or possibilities as well.
- Daryl
Hi Daryl,
mysql module should be able to reconnect to mysql server....if this is not what it happens, use full debug mode and get the log will triggering a new DB query (after a mysqld restart).
regards, bogdan
Daryl Sanders wrote:
Hi Everyone,
I just installed OpenSER w/MySQL and noticed that whenever MySQL became unavailable I could no longer place calls. Is this the correct behavior? I thought OpenSER's in-memory database would still allow new calls to go through.
I'm using db_mode 1 in my openser.cfg on SVN 1.2.0 version of OpenSER.
I'd really like to have OpenSER be able to continue working in the event MySQL is unreachable temporarily, for example, if the MySQL server crashes and needs to be rebooted or repaired. How can I accomplish this?
Thanks! Daryl
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
On 3/12/07, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi Daryl,
mysql module should be able to reconnect to mysql server....if this is not what it happens, use full debug mode and get the log will triggering a new DB query (after a mysqld restart).
regards, bogdan
No, that part works fine. I was just hoping for a solution where subscriber authentication info was stored in memory. That way users could still place calls even if the MySQL server became unreachable.
- Daryl
On 03/12/07 17:39, Daryl Sanders wrote:
On 3/12/07, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi Daryl,
mysql module should be able to reconnect to mysql server....if this is not what it happens, use full debug mode and get the log will triggering a new DB query (after a mysqld restart).
regards, bogdan
No, that part works fine. I was just hoping for a solution where subscriber authentication info was stored in memory. That way users could still place calls even if the MySQL server became unreachable.
if they place calls and you cannot record to acc, then you lose money :-). But think you want to afford that rather than service unavailable ... Maybe for future a function to detect if sql server is connect or not would help, or, maybe better, the auth functions will return a special code to signal that failed to connect to database and let the admin handle that in script.
Cheers, Daniel
- Daryl
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
if they place calls and you cannot record to acc, then you lose money :-). But think you want to afford that rather than service unavailable ... Maybe for future a function to detect if sql server is connect or not would help, or, maybe better, the auth functions will return a special code to signal that failed to connect to database and let the admin handle that in script.
Cheers, Daniel
I think your suggestion for auth functions to return a special code is a great idea. At least this way you can act on the failure.
Speaking of this, is it currently possible to lookup a subscriber's own registration status from within the script as they place a call. My thought is, If we can't properly authorize the subscriber because the database is down, then maybe we can at least lookup the calling subscribers location data, and if they are still registered then let the call pass. I'm just brainstorming... Let me know if my totally off base.
Another thought is to add the option for a failover DB connection to OpenSER, so if one connection times out, another DB can be queried. I know this can already be solved with DB HA but it would be nice to have the ability to use multiple data sources for auth info, especially since this data does not change as frequently.
- Daryl
I just had another thought... Can I use DBTEXT for auth, and MySQL for everything else. I think this might solve my problem.
How much slower is DBTEXT when querying auth data vs. MySQL?
- Daryl
Am Montag, 12. März 2007 17:15 schrieb Daryl Sanders:
Another thought is to add the option for a failover DB connection to OpenSER, so if one connection times out, another DB can be queried. I know this can already be solved with DB HA but it would be nice to have the ability to use multiple data sources for auth info, especially since this data does not change as frequently.
We're using a somewhat similar setup for the saving of user location data. The usrloc data is distributed across several databases, you could also provide a spare database for better reliability. But the main reason for the implementation of this functionality was the better scalability. This solution is quite complex, so the management of a HA database should be the easiest way to solve your problem.
Regards,
Henning
ok, I say - no, for the moment there is no caching for DB authentication. But you can work on the DB server side with an HA solution.
regards, bogdan
Daryl Sanders wrote:
On 3/12/07, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi Daryl,
mysql module should be able to reconnect to mysql server....if this is not what it happens, use full debug mode and get the log will triggering a new DB query (after a mysqld restart).
regards, bogdan
No, that part works fine. I was just hoping for a solution where subscriber authentication info was stored in memory. That way users could still place calls even if the MySQL server became unreachable.
- Daryl