diff --git a/core/AmPlugIn.cpp b/core/AmPlugIn.cpp index 9f5da3cf..4d8b701b 100644 --- a/core/AmPlugIn.cpp +++ b/core/AmPlugIn.cpp @@ -223,7 +223,7 @@ int AmPlugIn::load(const string& directory, const string& plugins) it != name2di.end(); it++){ err = it->second->onLoad(); if(err) - break; + return err; } // load SIPEventHandlers diff --git a/core/plug-in/binrpcctrl/BrpcCtrlInterface.cpp b/core/plug-in/binrpcctrl/BrpcCtrlInterface.cpp index 3fa6634e..471e9e58 100644 --- a/core/plug-in/binrpcctrl/BrpcCtrlInterface.cpp +++ b/core/plug-in/binrpcctrl/BrpcCtrlInterface.cpp @@ -1163,7 +1163,12 @@ int BrpcCtrlInterface::send(const AmSipReply &amRpl) brpc_t *req, *rpl = NULL; brpc_int_t *retcode; brpc_str_t *ser_opaque; - + + + if (amRpl.method == "CANCEL") { + DBG("skipping replying to CANCEL, no longer needed with SER2.\n"); + return 0; + } if (! (req = brpc_req(SER_REPLY, random()))) { ERROR("failed to build RPC context: %s [%d].\n", brpc_strerror(),