Exemplo n.º 1
0
const char *call_offer_ng(bencode_item_t *input, struct callmaster *m, bencode_item_t *output, const char* addr,
		const struct sockaddr_in6 *sin)
{
	if (m->conf.max_sessions>0) {
		rwlock_lock_r(&m->hashlock);
		if (g_hash_table_size(m->callhash) >= m->conf.max_sessions) {
			rwlock_unlock_r(&m->hashlock);
			atomic64_inc(&m->totalstats.total_rejected_sess);
			atomic64_inc(&m->totalstats_interval.total_rejected_sess);
			ilog(LOG_ERROR, "Parallel session limit reached (%i)",m->conf.max_sessions);
			return "Parallel session limit reached";
		}
		rwlock_unlock_r(&m->hashlock);
	}
	return call_offer_answer_ng(input, m, output, OP_OFFER, addr, sin);
}
Exemplo n.º 2
0
const char *call_answer_ng(bencode_item_t *input, struct callmaster *m, bencode_item_t *output) {
	return call_offer_answer_ng(input, m, output, OP_ANSWER);
}