diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-09-17 20:08:40 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-09-17 20:08:40 +0000 |
commit | 904af1c1a97d99e4351ccbed0457da52f0dc7041 (patch) | |
tree | 774ad1c529dca9289193969d0d280cdd83648b48 /channels | |
parent | 7dfcccd83f47c21b0c794133bea3ab2490169225 (diff) |
If singlepath=yes, don't send multiple RTP streams during transfer
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3802 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-x | channels/chan_mgcp.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c index e068c74a9..171b72297 100755 --- a/channels/chan_mgcp.c +++ b/channels/chan_mgcp.c @@ -3,9 +3,9 @@ * * Implementation of Media Gateway Control Protocol * - * Copyright (C) 1999, Mark Spencer + * Copyright (C) 1999-2004, Digium, Inc. * - * Mark Spencer <markster@linux-support.net> + * Mark Spencer <markster@digium.com> * * This program is free software, distributed under the terms of * the GNU General Public License @@ -1137,8 +1137,10 @@ static int mgcp_write(struct ast_channel *ast, struct ast_frame *frame) } if (sub) { ast_mutex_lock(&sub->lock); - if (sub->rtp) { - res = ast_rtp_write(sub->rtp, frame); + if ((sub->parent->sub == sub) || !sub->parent->singlepath) { + if (sub->rtp) { + res = ast_rtp_write(sub->rtp, frame); + } } ast_mutex_unlock(&sub->lock); } @@ -3674,6 +3676,7 @@ static struct mgcp_gateway *build_gateway(char *cat, struct ast_variable *v) e->callreturn = callreturn; e->cancallforward = cancallforward; e->canreinvite = canreinvite; + e->singlepath = singlepath; e->callwaiting = callwaiting; e->slowsequence = slowsequence; e->transfer = transfer; |