Beispiel #1
0
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, &params);

  clearRtpReceiverRelay();
}
Beispiel #3
0
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;
}
Beispiel #4
0
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;
}
Beispiel #5
0
void AmB2BCallerSession::onBye(const AmSipRequest& req)
{
  clearRtpReceiverRelay();
  AmB2BSession::onBye(req);
}
Beispiel #6
0
void AmB2BCallerSession::onRemoteDisappeared(const AmSipReply& reply) {
  DBG("remote unreachable, ending B2BUA call\n");
  clearRtpReceiverRelay();

  AmB2BSession::onRemoteDisappeared(reply);
}