Don't reload subchannels of wild card endpoint on reload.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3566 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
parent
71e6f3bccf
commit
d96b7e454b
|
@ -3570,29 +3570,29 @@ static struct mgcp_gateway *build_gateway(char *cat, struct ast_variable *v)
|
||||||
e->onhooktime = time(NULL);
|
e->onhooktime = time(NULL);
|
||||||
/* ASSUME we're onhook */
|
/* ASSUME we're onhook */
|
||||||
e->hookstate = MGCP_ONHOOK;
|
e->hookstate = MGCP_ONHOOK;
|
||||||
/*snprintf(txident, sizeof(txident), "%08x", rand());*/
|
|
||||||
for (i = 0; i < MAX_SUBS; i++) {
|
|
||||||
sub = malloc(sizeof(struct mgcp_subchannel));
|
|
||||||
if (sub) {
|
|
||||||
ast_verbose(VERBOSE_PREFIX_3 "Allocating subchannel '%d' on %s@%s\n", i, e->name, gw->name);
|
|
||||||
memset(sub, 0, sizeof(struct mgcp_subchannel));
|
|
||||||
ast_mutex_init(&sub->lock);
|
|
||||||
ast_mutex_init(&sub->cx_queue_lock);
|
|
||||||
sub->parent = e;
|
|
||||||
sub->id = i;
|
|
||||||
snprintf(sub->txident, sizeof(sub->txident), "%08x", rand());
|
|
||||||
/*stnrcpy(sub->txident, txident, sizeof(sub->txident) - 1);*/
|
|
||||||
sub->cxmode = MGCP_CX_INACTIVE;
|
|
||||||
sub->nat = nat;
|
|
||||||
sub->next = e->sub;
|
|
||||||
e->sub = sub;
|
|
||||||
} else {
|
|
||||||
/* XXX Should find a way to clean up our memory */
|
|
||||||
ast_log(LOG_WARNING, "Out of memory allocating subchannel");
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!ep_reload) {
|
if (!ep_reload) {
|
||||||
|
/*snprintf(txident, sizeof(txident), "%08x", rand());*/
|
||||||
|
for (i = 0; i < MAX_SUBS; i++) {
|
||||||
|
sub = malloc(sizeof(struct mgcp_subchannel));
|
||||||
|
if (sub) {
|
||||||
|
ast_verbose(VERBOSE_PREFIX_3 "Allocating subchannel '%d' on %s@%s\n", i, e->name, gw->name);
|
||||||
|
memset(sub, 0, sizeof(struct mgcp_subchannel));
|
||||||
|
ast_mutex_init(&sub->lock);
|
||||||
|
ast_mutex_init(&sub->cx_queue_lock);
|
||||||
|
sub->parent = e;
|
||||||
|
sub->id = i;
|
||||||
|
snprintf(sub->txident, sizeof(sub->txident), "%08x", rand());
|
||||||
|
/*stnrcpy(sub->txident, txident, sizeof(sub->txident) - 1);*/
|
||||||
|
sub->cxmode = MGCP_CX_INACTIVE;
|
||||||
|
sub->nat = nat;
|
||||||
|
sub->next = e->sub;
|
||||||
|
e->sub = sub;
|
||||||
|
} else {
|
||||||
|
/* XXX Should find a way to clean up our memory */
|
||||||
|
ast_log(LOG_WARNING, "Out of memory allocating subchannel");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
/* Make out subs a circular linked list so we can always sping through the whole bunch */
|
/* Make out subs a circular linked list so we can always sping through the whole bunch */
|
||||||
sub = e->sub;
|
sub = e->sub;
|
||||||
/* find the end of the list */
|
/* find the end of the list */
|
||||||
|
|
Reference in New Issue