Just an observation and enhancement suggestion.

VERY occasionally Ive been gettingĀ 

ERROR: <core> [parser/parse_param.c:591]: parse_params2(): parse_params(): No memory left


Now I know this is the root of the problem BUT ... it would be nice if it didnt leave my kamailio with no dispatchers at all.

Im just suggesting that rather than calling destroy_list before re-populating the list.
Could this be changed to create a new list, swap over the pointers to the new distributor list ( IF it has > 0 entries ) and then destroy_list .

its just a thought ?

--
Sincerely

Jay