diff options
-rwxr-xr-x | channels/chan_mgcp.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c index 50f873a95..d0d22ed4c 100755 --- a/channels/chan_mgcp.c +++ b/channels/chan_mgcp.c @@ -3592,17 +3592,19 @@ static struct mgcp_gateway *build_gateway(char *cat, struct ast_variable *v) return NULL; } } - /* Make out subs a circular linked list so we can always sping through the whole bunch */ - sub = e->sub; - /* find the end of the list */ - while(sub->next){ - sub = sub->next; - } - /* set the last sub->next to the first sub */ - sub->next = e->sub; - - e->next = gw->endpoints; - gw->endpoints = e; + if (!ep_reload) { + /* Make out subs a circular linked list so we can always sping through the whole bunch */ + sub = e->sub; + /* find the end of the list */ + while(sub->next){ + sub = sub->next; + } + /* set the last sub->next to the first sub */ + sub->next = e->sub; + + e->next = gw->endpoints; + gw->endpoints = e; + } } } else if (!strcasecmp(v->name, "trunk") || !strcasecmp(v->name, "line")) { |