While simulating a database failure (stopping the service), I noticed that
OpenSER would also crash (see log below). While I don't mind the OpenSER
crash since in our configuration its highly dependent upon the database,
what I would like to do is send a 5xx series message to the client so that
it would be forced to look at one of our other proxies to complete its call.
As the client continued to send the INVITE to the original server.
How can I send a 500 Server Internal Error message back to the client in the
event of a database failure?
Dec 8 22:36:11 terra /usr/local/sbin/openser[8134]: PG[get_result]:
0x81af628 Warning: Probable invalid query
Dec 8 22:36:11 terra /usr/local/sbin/openser[8134]: PG[get_result]:
0x81af628 Warning: PGRES_FATAL_ERROR
Dec 8 22:36:11 terra /usr/local/sbin/openser[8134]: PG[get_result]:
0x81af628 Warning: server closed the connection unexpectedly This
probably means the server terminated abnormally before or while
processing the request.
Dec 8 22:36:11 terra /usr/local/sbin/openser[8147]: ERROR: receive_fd: EOF
on 23
Dec 8 22:36:11 terra /usr/local/sbin/openser[8105]: child process 8134
exited by a signal 11
Dec 8 22:36:11 terra /usr/local/sbin/openser[8105]: core was not generated
Dec 8 22:36:11 terra /usr/local/sbin/openser[8105]: INFO: terminating due
to SIGCHLD
Dec 8 22:36:11 terra /usr/local/sbin/openser[8147]: INFO: signal 15
received
Dec 8 22:36:11 terra /usr/local/sbin/openser[8140]: INFO: signal 15
received
Dec 8 22:36:11 terra /usr/local/sbin/openser[8137]: INFO: signal 15
received