void CCRegistrar::route(const string& cc_name, SBCCallProfile* call_profile, const AmSipRequest* ood_req, const AmArg& values, AmArg& res) { DBG("CCRegistrar: route '%s %s'\n", ood_req->method.c_str(), ood_req->r_uri.c_str()); if (ood_req->method == "REGISTER"){ RegisterCacheCtx reg_cache_ctx; // reply 200 if possible, else continue bool replied = RegisterCache::instance()->saveSingleContact(reg_cache_ctx, *ood_req); if(replied) { DBG("replied!"); res.push(AmArg()); AmArg& res_cmd = res.back(); res_cmd[SBC_CC_ACTION] = SBC_CC_DROP_ACTION; } } else { if (retarget(ood_req->r_uri, values, call_profile)){ return; } REFUSE_WITH_404; return; } }