exclude our own listening ports from RTP

remotes/origin/HEAD
Richard Fuchs 12 years ago
parent 9ae844040a
commit ce2df6d90f

@ -2206,3 +2206,9 @@ const char *call_delete_ng(bencode_item_t *input, struct callmaster *m, bencode_
bencode_dictionary_add_string(output, "result", "ok");
return NULL;
}
void callmaster_exclude_port(struct callmaster *m, u_int16_t p) {
mutex_lock(&m->portlock);
bit_array_set(m->ports_used, p);
mutex_unlock(&m->portlock);
}

@ -131,6 +131,7 @@ struct callmaster;
struct callmaster *callmaster_new(struct poller *);
void callmaster_config(struct callmaster *m, struct callmaster_config *c);
void callmaster_exclude_port(struct callmaster *m, u_int16_t p);
str *call_request_tcp(char **, struct callmaster *);

@ -423,6 +423,7 @@ void create_everything(struct main_context *ctx) {
cu = NULL;
if (udp_listenport) {
callmaster_exclude_port(ctx->m, udp_listenport);
cu = control_udp_new(ctx->p, udp_listenp, udp_listenport, ctx->m);
if (!cu)
die("Failed to open UDP control connection port\n");
@ -430,6 +431,7 @@ void create_everything(struct main_context *ctx) {
cn = NULL;
if (ng_listenport) {
callmaster_exclude_port(ctx->m, ng_listenport);
cn = control_ng_new(ctx->p, ng_listenp, ng_listenport, ctx->m);
if (!cn)
die("Failed to open UDP control connection port\n");

Loading…
Cancel
Save