From 9503de297107840bd6cf290e2b91bba3b2b9240e Mon Sep 17 00:00:00 2001 From: Stefan Sayer Date: Tue, 19 Oct 2010 19:41:26 +0200 Subject: [PATCH] handle errors in processing INVITE --- core/AmSession.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/core/AmSession.cpp b/core/AmSession.cpp index 3b144898..3be1b0a6 100644 --- a/core/AmSession.cpp +++ b/core/AmSession.cpp @@ -721,7 +721,19 @@ void AmSession::onSipRequest(const AmSipRequest& req) break; } - onInvite(req); + try { + onInvite(req); + } + catch(const string& s) { + ERROR("%s\n",s.c_str()); + setStopped(); + AmSipDialog::reply_error(req, 500, "Internal Server Error"); + } + catch(const AmSession::Exception& e) { + ERROR("%i %s\n",e.code,e.reason.c_str()); + setStopped(); + AmSipDialog::reply_error(req,e.code,e.reason); + } if(detached.get() && !getStopped()){