Browse Source

exclude our own listening ports from RTP

git.mgm/mediaproxy-ng/2.2
Richard Fuchs 13 years ago
parent
commit
ce2df6d90f
3 changed files with 9 additions and 0 deletions
  1. +6
    -0
      daemon/call.c
  2. +1
    -0
      daemon/call.h
  3. +2
    -0
      daemon/main.c

+ 6
- 0
daemon/call.c View File

@ -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);
}

+ 1
- 0
daemon/call.h View File

@ -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 *);


+ 2
- 0
daemon/main.c View File

@ -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