Problem with Call Forwarding

Hi,

I recently downloaded from the tarball FreePBX 2.9.0.7 and installed it into an already running server with CentOS 5.7. I also installed Asterisk 1.8.7.1. Everything worked fine (I can call inside and outside my office perfectly).

I tried to install the module “Call Forward” from the FreePBX web Module Administration interface, and apparently also worked fine. When I try to forward all calls from one extesion to another using the feature code *72, it asks me to type the origin extension (for example, 12), press #, then type the target extension (for example, 13) and press # again.

I’ve checked the Asterisk DB using the following console command:
asterisk -rx "database show"
I could see the entry was correctly added, for example something like this was added:
/CF/12 : 13

However, if I call extension 12 it plays the busy tone and of course extension 13 does not ring. This is the output during the call (I’m callig from extension 17).

== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Executing [12@from-internal:1] ExecIf(“SIP/17-0000013f”, “0?Set(__RINGTIMER=0)”) in new stack
– Executing [12@from-internal:2] Macro(“SIP/17-0000013f”, “exten-vm,novm,12,0,0,0”) in new stack
– Executing [s@macro-exten-vm:1] Macro(“SIP/17-0000013f”, “user-callerid,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“SIP/17-0000013f”, “AMPUSER=17”) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“SIP/17-0000013f”, “0?report”) in new stack
– Executing [s@macro-user-callerid:3] ExecIf(“SIP/17-0000013f”, “1?Set(REALCALLERIDNUM=17)”) in new stack
– Executing [s@macro-user-callerid:4] Set(“SIP/17-0000013f”, “AMPUSER=17”) in new stack
– Executing [s@macro-user-callerid:5] Set(“SIP/17-0000013f”, “AMPUSERCIDNAME=Marti”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“SIP/17-0000013f”, “0?report”) in new stack
– Executing [s@macro-user-callerid:7] Set(“SIP/17-0000013f”, “AMPUSERCID=17”) in new stack
– Executing [s@macro-user-callerid:8] Set(“SIP/17-0000013f”, “CALLERID(all)=“Marti” <17>”) in new stack
– Executing [s@macro-user-callerid:9] GotoIf(“SIP/17-0000013f”, “0?limit”) in new stack
– Executing [s@macro-user-callerid:10] ExecIf(“SIP/17-0000013f”, “0?Set(GROUP(concurrency_limit)=17)”) in new stack
– Executing [s@macro-user-callerid:11] GotoIf(“SIP/17-0000013f”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:12] Set(“SIP/17-0000013f”, “__TTL=64”) in new stack
– Executing [s@macro-user-callerid:13] GotoIf(“SIP/17-0000013f”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,24)
– Executing [s@macro-user-callerid:24] Set(“SIP/17-0000013f”, “CALLERID(number)=17”) in new stack
– Executing [s@macro-user-callerid:25] Set(“SIP/17-0000013f”, “CALLERID(name)=Marti”) in new stack
– Executing [s@macro-user-callerid:26] Set(“SIP/17-0000013f”, “CHANNEL(language)=ca”) in new stack
– Executing [s@macro-exten-vm:2] Set(“SIP/17-0000013f”, “RingGroupMethod=none”) in new stack
– Executing [s@macro-exten-vm:3] Set(“SIP/17-0000013f”, “__EXTTOCALL=12”) in new stack
– Executing [s@macro-exten-vm:4] Set(“SIP/17-0000013f”, “__PICKUPMARK=12”) in new stack
– Executing [s@macro-exten-vm:5] Set(“SIP/17-0000013f”, “RT=”"") in new stack
– Executing [s@macro-exten-vm:6] Macro(“SIP/17-0000013f”, “record-enable,12,IN”) in new stack
– Executing [s@macro-record-enable:1] GotoIf(“SIP/17-0000013f”, “1?check”) in new stack
– Goto (macro-record-enable,s,4)
– Executing [s@macro-record-enable:4] ExecIf(“SIP/17-0000013f”, “0?MacroExit()”) in new stack
– Executing [s@macro-record-enable:5] GotoIf(“SIP/17-0000013f”, “0?Group:OUT”) in new stack
– Goto (macro-record-enable,s,14)
– Executing [s@macro-record-enable:14] GotoIf(“SIP/17-0000013f”, “1?IN”) in new stack
– Goto (macro-record-enable,s,18)
– Executing [s@macro-record-enable:18] ExecIf(“SIP/17-0000013f”, “1?MacroExit()”) in new stack
– Executing [s@macro-exten-vm:7] Macro(“SIP/17-0000013f”, “dial-one,”",tr,12") in new stack
– Executing [s@macro-dial-one:1] Set(“SIP/17-0000013f”, “DEXTEN=12”) in new stack
– Executing [s@macro-dial-one:2] Set(“SIP/17-0000013f”, “DIALSTATUS_CW=”) in new stack
– Executing [s@macro-dial-one:3] GosubIf(“SIP/17-0000013f”, “0?screen,1”) in new stack
– Executing [s@macro-dial-one:4] GosubIf(“SIP/17-0000013f”, “1?cf,1”) in new stack
– Executing [cf@macro-dial-one:1] Set(“SIP/17-0000013f”, “CFAMPUSER=17”) in new stack
– Executing [cf@macro-dial-one:2] ExecIf(“SIP/17-0000013f”, “0?Return()”) in new stack
– Executing [cf@macro-dial-one:3] ExecIf(“SIP/17-0000013f”, “0?Set(ARG1=0)”) in new stack
– Executing [cf@macro-dial-one:4] Set(“SIP/17-0000013f”, “DEXTEN=13#”) in new stack
– Executing [cf@macro-dial-one:5] ExecIf(“SIP/17-0000013f”, “1?Return()”) in new stack
– Executing [s@macro-dial-one:5] GotoIf(“SIP/17-0000013f”, “1?skip1”) in new stack
– Goto (macro-dial-one,s,8)
– Executing [s@macro-dial-one:8] GotoIf(“SIP/17-0000013f”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:9] GotoIf(“SIP/17-0000013f”, “1?continue”) in new stack
– Goto (macro-dial-one,s,25)
– Executing [s@macro-dial-one:25] GotoIf(“SIP/17-0000013f”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:26] GosubIf(“SIP/17-0000013f”, “0?dstring,1:dlocal,1”) in new stack
– Executing [dlocal@macro-dial-one:1] Set(“SIP/17-0000013f”, “DSTRING=”) in new stack
– Executing [dlocal@macro-dial-one:2] Set(“SIP/17-0000013f”, “USEGOTO=”) in new stack
– Executing [dlocal@macro-dial-one:3] Return(“SIP/17-0000013f”, “”) in new stack
– Executing [s@macro-dial-one:27] GotoIf(“SIP/17-0000013f”, “1?nodial”) in new stack
– Goto (macro-dial-one,s,46)
– Executing [s@macro-dial-one:46] ExecIf(“SIP/17-0000013f”, “1?Set(DIALSTATUS=NOANSWER)”) in new stack
– Executing [s@macro-dial-one:47] NoOp(“SIP/17-0000013f”, “Returned from dial-one with nothing to call and DIALSTATUS: NOANSWER”) in new stack
– Executing [s@macro-dial-one:48] MacroExit(“SIP/17-0000013f”, “”) in new stack
– Executing [s@macro-exten-vm:8] GotoIf(“SIP/17-0000013f”, “0?exit”) in new stack
– Executing [s@macro-exten-vm:9] Set(“SIP/17-0000013f”, “SV_DIALSTATUS=NOANSWER”) in new stack
– Executing [s@macro-exten-vm:10] GosubIf(“SIP/17-0000013f”, “0?docfu,1”) in new stack
– Executing [s@macro-exten-vm:11] GosubIf(“SIP/17-0000013f”, “0?docfb,1”) in new stack
– Executing [s@macro-exten-vm:12] Set(“SIP/17-0000013f”, “DIALSTATUS=NOANSWER”) in new stack
– Executing [s@macro-exten-vm:13] ExecIf(“SIP/17-0000013f”, “0?MacroExit()”) in new stack
– Executing [s@macro-exten-vm:14] GotoIf(“SIP/17-0000013f”, “1?s-NOANSWER,1”) in new stack
– Goto (macro-exten-vm,s-NOANSWER,1)
– Executing [s-NOANSWER@macro-exten-vm:1] GotoIf(“SIP/17-0000013f”, “0?exit,1”) in new stack
– Executing [s-NOANSWER@macro-exten-vm:2] PlayTones(“SIP/17-0000013f”, “congestion”) in new stack
– Executing [s-NOANSWER@macro-exten-vm:3] Congestion(“SIP/17-0000013f”, “10”) in new stack
== Spawn extension (macro-exten-vm, s-NOANSWER, 3) exited non-zero on ‘SIP/17-0000013f’ in macro ‘exten-vm’
== Spawn extension (from-internal, 12, 2) exited non-zero on ‘SIP/17-0000013f’
– Executing [h@from-internal:1] Hangup(“SIP/17-0000013f”, “”) in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on ‘SIP/17-0000013f’

I guess I’m missing a module or dependency that Call Forward needs. Actually, I have an older system where Call Forwarding works fine, and if I do the same testing as described here and check the output of the call, I see that dialparties.agi seems to handle the call forwarding. However, I can’t see anything related to dialparties.agi in the output of the current system (that I copied above).

Any help would be much appreciated!!
Thanks :slight_smile:

Recently I’ve discovered that if I call the office from outside, and FreePBX detects the incoming call and makes ring all the extensions in the office, actually if one extension has Call Forwarding activated IT DOES WORK (dialparties.agi seems to participate and detect correctly the CF).

But still, if I call directly this extension that has Call Forwarding activated from another extension in the office, it still doesn’t work and the CLI outputs the same that I copied in the original post.

Please I need some help as I can’t understand what’s going on here.

If someone could figure out what’s going on with the main problem that I explained, I would also ask why could it be that when I call to a forwarded phone to a cell phone and after some time I hang up the call, sometimes the cell phone keeps ringing a long time (I don’t mean a delay, I mean it doesn’t detect I have terminated calling so it can keep ringing for half a minute or so).

Thanks again.

For anyone interested, I explained better the situation and found a solution to the first part of the problem in the following post:

http://www.freepbx.org/forum/freepbx/general-help/call-forwarding-problem