void AmB2BSession::terminateLeg() { setStopped(); clearRtpReceiverRelay(); dlg->bye("", SIP_FLAGS_VERBATIM); }
void DSMCall::onBye(const AmSipRequest& req) { DBG("onBye\n"); map<string, string> params; params["headers"] = req.hdrs; engine.runEvent(this, this, DSMCondition::Hangup, ¶ms); clearRtpReceiverRelay(); }
bool AmB2BSession::onOtherBye(const AmSipRequest& req) { DBG("onOtherBye()\n"); // don't call terminateLeg(), as BYE will be sent end-to-end setStopped(); clearRtpReceiverRelay(); return false; }
AmB2BSession::~AmB2BSession() { clearRtpReceiverRelay(); DBG("relayed_req.size() = %zu\n",relayed_req.size()); map<int,AmSipRequest>::iterator it = recvd_req.begin(); DBG("recvd_req.size() = %zu\n",recvd_req.size()); for(;it != recvd_req.end(); ++it){ DBG(" <%i,%s>\n",it->first,it->second.method.c_str()); } if(subs) delete subs; }
void AmB2BCallerSession::onBye(const AmSipRequest& req) { clearRtpReceiverRelay(); AmB2BSession::onBye(req); }
void AmB2BCallerSession::onRemoteDisappeared(const AmSipReply& reply) { DBG("remote unreachable, ending B2BUA call\n"); clearRtpReceiverRelay(); AmB2BSession::onRemoteDisappeared(reply); }