Call Forwarding loop issues

We are having some issues where users are creating call-forwarding loops. I have investigated the issue further, and this is typically what happens:

extension 100 establishes call-forward to extension 101 (client side forwarding).
extension 101 establishes call forward to extension 100 (client side forwarding).

extension 103 establishes a call to one of the extensions, 100 or 101, and this is handled by returning conguestion, so no loop in this situation. I guess this is handled by Asterisk, as I can’t see it happen in the dialplan.

if extension 100 has an optional destination defined (no answer), lets say to extension 102, AND extension 102 have call-forwarded to either 100 or 101, then we have a loop, that will continue until the caller hangs up. This causes a 100% cpu usage on the server, and the number of channels increases.

I have tested this with Asterisk 1.8.9.2 and 1.8.20.1, and FreePBX 2.9.0.7 and 2.9.0.12. Versions make no difference.

Any way to prevent these kind of loops, other than stop using optional destinations? Should it perhaps be reported as a bug?

Also interested in ways to prevent call forward loops. Seems like this is a potential problem for any Asterisk PBX…

Any news on this?

Thanks,

Peter

I have received absolutely no responses what so ever to my post, except from yours.

This is something someone will have to reproduce and test. I would recommend filing it as a bug and let the developers review it.