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-0600 | Date Closed: | 2004-09-25 02:49:15 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Core/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
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. ****** ADDITIONAL INFORMATION ****** 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. |