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