Summary:ASTERISK-00614: Destroyed gateway addresses when using host=dynamic in MGCP
Reporter:i3micro (i3micro)Labels:
Date Opened:2003-12-03 10:09:16.000-0600Date Closed:2004-09-25 02:49:15
Versions:Frequency of
Description:There is a bug in chan_mgcp.c which shows up if you have
more than one MGCP gateway configured with host=dynamic.
When a MGCP response is received there is a big chance that
the addresses to other (sometimes all) gateways are
set to the address where the response came from.


The problem is in the routine find_subchannel when
a MGCP response is received.
When the response is handled find_subchannel
is called with name = NULL and sin = address.
This cause the find_subchannel routine to alter
the address of all gateways up to the one the
response is addressed to. This will cause asterisk
to send MGCP messages to the wrong address for the
altered gateways.

I have changed my call of find_subchannel so that the sin
parameter is also set to NULL. This works for me but I'm shure this is not the correct solution. The correct
solution I think is to change find_subchannel to only
change the address of the gateway that the response
belongs to.
Comments:By: Mark Spencer (markster) 2003-12-05 10:59:18.000-0600

Fixed in CVS.  Sorry 'bout that.