Call Forward - Freepbx 14

Hi at all, i’m a new user of freepbx.
I need an help to configure a call forward on my freepbx.
I need to set up a key on the ip phone to activate/deactivate a call forward to a mobile phone.
I see a feature code *72 and *73 for this purpose, but i’m doing something worng…

Can someone explain me a walkthrought to do this ?

I have :
Linux Centos OS
Asterisk 15.7.3
FreePBX 14.0.13.33

based on your description check out https://wiki.freepbx.org/display/F2/Follow+Me+Module

What phone? Button provisioning is different on almost every model of phone. It’s almost as if the people that make phones want to make programming buttons as unwieldy and arcane as possible.

In General, you should be able to program a button on any phone to dial a sequence of button pushes to simulate whatever you are trying to accomplish, so pressing the button and presenting “*72*8005551212” to the system (which IIRC is the sequence for setting CFALL to the system) and programming it to dial “*73” when the *72 button is active is pretty straightforward on many phones. On others, you may have to use 2 buttons (one for ‘on’ and one for ‘off’).

Like I said before, though, every phone is going to handle this differently.

Thanks for the answer.

@ dolesec : i see Follow Me module … but for my first experience it’s a little complicated…
(but i’llread and try in future)

@cynjut : ip phone are Snom D725 - i found the setting for activate and deactivate call forward … unfortunatly it doesn’t work…

I get back this log and the call doesn’t forward to mobile phone:

Extension : PJSIP - 99
TRUNK : PJSIP - $TRUNKNAME
CALLING NUMBER : $CALLINGNUMBER
MOBILE NUMBER for call forward : $CALLFORWARDNUMBER

DTMF 3 is for a IVR selection direct to extension 99.

Asterisk-FreePBX*CLI>
[2020-07-16 10:56:38] DTMF[57955][C-00009a0a]: channel.c:3909 __ast_read: DTMF begin ‘3’ received on PJSIP/$TRUNKNAME-00025126
[2020-07-16 10:56:38] DTMF[57955][C-00009a0a]: channel.c:3913 __ast_read: DTMF begin ignored ‘3’ on PJSIP/$TRUNKNAME-00025126
[2020-07-16 10:56:39] DTMF[57955][C-00009a0a]: channel.c:3823 __ast_read: DTMF end ‘3’ received on PJSIP/$TRUNKNAME-00025126, duration 540 ms
[2020-07-16 10:56:39] DTMF[57955][C-00009a0a]: channel.c:3893 __ast_read: DTMF end passthrough ‘3’ on PJSIP/$TRUNKNAME-00025126
– Executing [3@ivr-5:1] Set(“PJSIP/$TRUNKNAME-00025126”, “__ivrreturn=0”) in new stack
– Executing [3@ivr-5:2] Goto(“PJSIP/$TRUNKNAME-00025126”, “from-did-direct,99,1”) in new stack
– Goto (from-did-direct,99,1)
– Executing [99@from-did-direct:1] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “1?ext-local,99,1:followme-check,99,1”) in new stack
– Goto (ext-local,99,1)
– Executing [99@ext-local:1] Set(“PJSIP/$TRUNKNAME-00025126”, “__RINGTIMER=15”) in new stack
– Executing [99@ext-local:2] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(__CWIGNORE=)”) in new stack
– Executing [99@ext-local:3] Macro(“PJSIP/$TRUNKNAME-00025126”, “exten-vm,novm,99,0,0,0”) in new stack
– Executing [s@macro-exten-vm:1] Macro(“PJSIP/$TRUNKNAME-00025126”, “user-callerid,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“PJSIP/$TRUNKNAME-00025126”, “TOUCH_MONITOR=1594889789.379956”) in new stack
– Executing [s@macro-user-callerid:2] Set(“PJSIP/$TRUNKNAME-00025126”, “AMPUSER=$CALLINGNUMBER”) in new stack
– Executing [s@macro-user-callerid:3] Set(“PJSIP/$TRUNKNAME-00025126”, “HOTDESCKCHAN=$TRUNKNAME-00025126”) in new stack
– Executing [s@macro-user-callerid:4] Set(“PJSIP/$TRUNKNAME-00025126”, “HOTDESKEXTEN=BG”) in new stack
– Executing [s@macro-user-callerid:5] Set(“PJSIP/$TRUNKNAME-00025126”, “HOTDESKCALL=0”) in new stack
– Executing [s@macro-user-callerid:6] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(HOTDESKCALL=1)”) in new stack
– Executing [s@macro-user-callerid:7] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(CALLERID(name)=)”) in new stack
– Executing [s@macro-user-callerid:8] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “0?report”) in new stack
– Executing [s@macro-user-callerid:9] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “1?Set(REALCALLERIDNUM=$CALLINGNUMBER)”) in new stack
– Executing [s@macro-user-callerid:10] Set(“PJSIP/$TRUNKNAME-00025126”, “AMPUSER=”) in new stack
– Executing [s@macro-user-callerid:11] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “0?limit”) in new stack
– Executing [s@macro-user-callerid:12] Set(“PJSIP/$TRUNKNAME-00025126”, “AMPUSERCIDNAME=”) in new stack
– Executing [s@macro-user-callerid:13] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(__CIDMASQUERADING=TRUE)”) in new stack
– Executing [s@macro-user-callerid:14] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “1?report”) in new stack
– Goto (macro-user-callerid,s,28)
– Executing [s@macro-user-callerid:28] NoOp(“PJSIP/$TRUNKNAME-00025126”, “Macro Depth is 2”) in new stack
– Executing [s@macro-user-callerid:29] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “1?report2:macroerror”) in new stack
– Goto (macro-user-callerid,s,30)
– Executing [s@macro-user-callerid:30] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:31] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “1?Set(__CALLEE_ACCOUNCODE=)”) in new stack
– Executing [s@macro-user-callerid:32] Set(“PJSIP/$TRUNKNAME-00025126”, “__TTL=64”) in new stack
– Executing [s@macro-user-callerid:33] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,49)
– Executing [s@macro-user-callerid:49] Set(“PJSIP/$TRUNKNAME-00025126”, “CALLERID(number)=$CALLINGNUMBER”) in new stack
– Executing [s@macro-user-callerid:50] Set(“PJSIP/$TRUNKNAME-00025126”, “CALLERID(name)=$CALLINGNUMBER”) in new stack
– Executing [s@macro-user-callerid:51] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “0?cnum”) in new stack
– Executing [s@macro-user-callerid:52] Set(“PJSIP/$TRUNKNAME-00025126”, “CDR(cnam)=$CALLINGNUMBER”) in new stack
– Executing [s@macro-user-callerid:53] Set(“PJSIP/$TRUNKNAME-00025126”, “CDR(cnum)=$CALLINGNUMBER”) in new stack
– Executing [s@macro-user-callerid:54] Set(“PJSIP/$TRUNKNAME-00025126”, “CHANNEL(language)=it”) in new stack
– Executing [s@macro-exten-vm:2] Set(“PJSIP/$TRUNKNAME-00025126”, “RingGroupMethod=none”) in new stack
– Executing [s@macro-exten-vm:3] Set(“PJSIP/$TRUNKNAME-00025126”, “__EXTTOCALL=99”) in new stack
– Executing [s@macro-exten-vm:4] Set(“PJSIP/$TRUNKNAME-00025126”, “__PICKUPMARK=99”) in new stack
– Executing [s@macro-exten-vm:5] Set(“PJSIP/$TRUNKNAME-00025126”, “RT=”) in new stack
[2020-07-16 10:56:39] WARNING[57955][C-00009a0a]: chan_sip.c:23073 func_header_read: This function can only be used on SIP channels.
– Executing [s@macro-exten-vm:6] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Macro(vm,novm,DIRECTDIAL,)”) in new stack
[2020-07-16 10:56:39] WARNING[57955][C-00009a0a]: chan_sip.c:23073 func_header_read: This function can only be used on SIP channels.
[2020-07-16 10:56:39] WARNING[57955][C-00009a0a]: chan_sip.c:23073 func_header_read: This function can only be used on SIP channels.
– Executing [s@macro-exten-vm:7] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?MacroExit()”) in new stack
[2020-07-16 10:56:39] WARNING[57955][C-00009a0a]: chan_sip.c:23073 func_header_read: This function can only be used on SIP channels.
[2020-07-16 10:56:39] WARNING[57955][C-00009a0a]: chan_sip.c:23073 func_header_read: This function can only be used on SIP channels.
– Executing [s@macro-exten-vm:8] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Gosub(ext-intercom,*8099,1())”) in new stack
[2020-07-16 10:56:39] WARNING[57955][C-00009a0a]: chan_sip.c:23073 func_header_read: This function can only be used on SIP channels.
[2020-07-16 10:56:39] WARNING[57955][C-00009a0a]: chan_sip.c:23073 func_header_read: This function can only be used on SIP channels.
– Executing [s@macro-exten-vm:9] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?MacroExit()”) in new stack
[2020-07-16 10:56:39] WARNING[57955][C-00009a0a]: chan_sip.c:23073 func_header_read: This function can only be used on SIP channels.
[2020-07-16 10:56:39] WARNING[57955][C-00009a0a]: chan_sip.c:23073 func_header_read: This function can only be used on SIP channels.
– Executing [s@macro-exten-vm:10] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?ChanSpy(PJSIP/99,q)”) in new stack
[2020-07-16 10:56:39] WARNING[57955][C-00009a0a]: chan_sip.c:23073 func_header_read: This function can only be used on SIP channels.
[2020-07-16 10:56:39] WARNING[57955][C-00009a0a]: chan_sip.c:23073 func_header_read: This function can only be used on SIP channels.
– Executing [s@macro-exten-vm:11] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?MacroExit()”) in new stack
[2020-07-16 10:56:39] WARNING[57955][C-00009a0a]: chan_sip.c:23073 func_header_read: This function can only be used on SIP channels.
– Executing [s@macro-exten-vm:12] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Macro(vm,novm,DIRECTDIAL,)”) in new stack
– Executing [s@macro-exten-vm:13] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?MacroExit()”) in new stack
– Executing [s@macro-exten-vm:14] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Gosub(ext-intercom,*8099,1())”) in new stack
– Executing [s@macro-exten-vm:15] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?MacroExit()”) in new stack
– Executing [s@macro-exten-vm:16] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?ChanSpy(PJSIP/99,q)”) in new stack
– Executing [s@macro-exten-vm:17] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?MacroExit()”) in new stack
– Executing [s@macro-exten-vm:18] Gosub(“PJSIP/$TRUNKNAME-00025126”, “sub-record-check,s,1(exten,99,dontcare)”) in new stack
– Executing [s@sub-record-check:1] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “10?initialized”) in new stack
– Goto (sub-record-check,s,10)
– Executing [s@sub-record-check:10] NoOp(“PJSIP/$TRUNKNAME-00025126”, “Recordings initialized”) in new stack
– Executing [s@sub-record-check:11] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(ARG3=dontcare)”) in new stack
– Executing [s@sub-record-check:12] Set(“PJSIP/$TRUNKNAME-00025126”, “REC_POLICY_MODE_SAVE=”) in new stack
– Executing [s@sub-record-check:13] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(REC_STATUS=NO)”) in new stack
– Executing [s@sub-record-check:14] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “5?checkaction”) in new stack
– Goto (sub-record-check,s,17)
– Executing [s@sub-record-check:17] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “1?sub-record-check,exten,1”) in new stack
– Goto (sub-record-check,exten,1)
– Executing [exten@sub-record-check:1] NoOp(“PJSIP/$TRUNKNAME-00025126”, “Exten Recording Check between $CALLINGNUMBER and 99”) in new stack
– Executing [exten@sub-record-check:2] Set(“PJSIP/$TRUNKNAME-00025126”, “CALLTYPE=external”) in new stack
– Executing [exten@sub-record-check:3] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(CALLTYPE=)”) in new stack
– Executing [exten@sub-record-check:4] Set(“PJSIP/$TRUNKNAME-00025126”, “CALLEE=dontcare”) in new stack
– Executing [exten@sub-record-check:5] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(CALLEE=dontcare)”) in new stack
– Executing [exten@sub-record-check:6] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “1?callee”) in new stack
– Goto (sub-record-check,exten,11)
– Executing [exten@sub-record-check:11] Gosub(“PJSIP/$TRUNKNAME-00025126”, “recordcheck,1(dontcare,external,99)”) in new stack
– Executing [recordcheck@sub-record-check:1] NoOp(“PJSIP/$TRUNKNAME-00025126”, “Starting recording check against dontcare”) in new stack
– Executing [recordcheck@sub-record-check:2] Goto(“PJSIP/$TRUNKNAME-00025126”, “dontcare”) in new stack
– Goto (sub-record-check,recordcheck,3)
– Executing [recordcheck@sub-record-check:3] Return(“PJSIP/$TRUNKNAME-00025126”, “”) in new stack
– Executing [exten@sub-record-check:12] Return(“PJSIP/$TRUNKNAME-00025126”, “”) in new stack
– Executing [s@macro-exten-vm:19] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “1?macrodial”) in new stack
– Goto (macro-exten-vm,s,25)
– Executing [s@macro-exten-vm:25] GosubIf(“PJSIP/$TRUNKNAME-00025126”, “0?clrheader,1()”) in new stack
– Executing [s@macro-exten-vm:26] Macro(“PJSIP/$TRUNKNAME-00025126”, “dial-one,HhTtr,99”) in new stack
– Executing [s@macro-dial-one:1] Set(“PJSIP/$TRUNKNAME-00025126”, “DEXTEN=99”) in new stack
– Executing [s@macro-dial-one:2] Set(“PJSIP/$TRUNKNAME-00025126”, “__CRM_SOURCE=$CALLINGNUMBER”) in new stack
– Executing [s@macro-dial-one:3] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(__EXTTOCALL=99)”) in new stack
– Executing [s@macro-dial-one:4] Set(“PJSIP/$TRUNKNAME-00025126”, “DIALSTATUS_CW=”) in new stack
– Executing [s@macro-dial-one:5] GosubIf(“PJSIP/$TRUNKNAME-00025126”, “0?screen,1()”) in new stack
– Executing [s@macro-dial-one:6] GosubIf(“PJSIP/$TRUNKNAME-00025126”, “1?cf,1()”) in new stack
– Executing [cf@macro-dial-one:1] Set(“PJSIP/$TRUNKNAME-00025126”, “CFAMPUSER=$CALLINGNUMBER”) in new stack
– Executing [cf@macro-dial-one:2] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Return()”) in new stack
– Executing [cf@macro-dial-one:3] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(ARG1=0)”) in new stack
– Executing [cf@macro-dial-one:4] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “1?Set(ARG1=0)”) in new stack
– Executing [cf@macro-dial-one:5] Set(“PJSIP/$TRUNKNAME-00025126”, “DEXTEN=$CALLFORWARDNUMBER#”) in new stack
– Executing [cf@macro-dial-one:6] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “1?Return()”) in new stack
– Executing [s@macro-dial-one:7] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “1?skip1”) in new stack
– Goto (macro-dial-one,s,10)
– Executing [s@macro-dial-one:10] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:11] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “1?continue”) in new stack
– Goto (macro-dial-one,s,27)
– Executing [s@macro-dial-one:27] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:28] GosubIf(“PJSIP/$TRUNKNAME-00025126”, “0?dstring,1():dlocal,1()”) in new stack
– Executing [dlocal@macro-dial-one:1] Set(“PJSIP/$TRUNKNAME-00025126”, “DSTRING=Local/$CALLFORWARDNUMBER@from-internal/n”) in new stack
– Executing [dlocal@macro-dial-one:2] Set(“PJSIP/$TRUNKNAME-00025126”, “USEGOTO=0”) in new stack
– Executing [dlocal@macro-dial-one:3] Return(“PJSIP/$TRUNKNAME-00025126”, “”) in new stack
– Executing [s@macro-dial-one:29] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:30] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “1?skiptrace”) in new stack
– Goto (macro-dial-one,s,32)
– Executing [s@macro-dial-one:32] Set(“PJSIP/$TRUNKNAME-00025126”, “D_OPTIONS=HhTtr”) in new stack
– Executing [s@macro-dial-one:33] GosubIf(“PJSIP/$TRUNKNAME-00025126”, “0?func-set-sipheader,s,1(Alert-Info,)”) in new stack
– Executing [s@macro-dial-one:34] NoOp(“PJSIP/$TRUNKNAME-00025126”, "Blind Transfer: , Attended Transfer: , User: , Alert Info: ") in new stack
– Executing [s@macro-dial-one:35] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(ALERT_INFO=)”) in new stack
– Executing [s@macro-dial-one:36] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(ALERT_INFO=)”) in new stack
– Executing [s@macro-dial-one:37] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(ALERT_INFO=)”) in new stack
– Executing [s@macro-dial-one:38] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(ALERT_INFO=Normal;volume=)”) in new stack
– Executing [s@macro-dial-one:39] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(ALERT_INFO=Normal;volume=)”) in new stack
– Executing [s@macro-dial-one:40] GosubIf(“PJSIP/$TRUNKNAME-00025126”, “0?func-set-sipheader,s,1(Alert-Info,)”) in new stack
– Executing [s@macro-dial-one:41] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(CHANNEL(musicclass)=)”) in new stack
– Executing [s@macro-dial-one:42] GosubIf(“PJSIP/$TRUNKNAME-00025126”, “0?qwait,1()”) in new stack
– Executing [s@macro-dial-one:43] Set(“PJSIP/$TRUNKNAME-00025126”, “__CWIGNORE=”) in new stack
– Executing [s@macro-dial-one:44] Set(“PJSIP/$TRUNKNAME-00025126”, “__KEEPCID=TRUE”) in new stack
– Executing [s@macro-dial-one:45] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “0?usegoto,1”) in new stack
– Executing [s@macro-dial-one:46] GotoIf(“PJSIP/$TRUNKNAME-00025126”, “1?godial”) in new stack
– Goto (macro-dial-one,s,51)
– Executing [s@macro-dial-one:51] Macro(“PJSIP/$TRUNKNAME-00025126”, “dialout-one-predial-hook,”) in new stack
– Executing [s@macro-dialout-one-predial-hook:1] MacroExit(“PJSIP/$TRUNKNAME-00025126”, “”) in new stack
– Executing [s@macro-dial-one:52] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “1?Set(D_OPTIONS=HhtrI)”) in new stack
– Executing [s@macro-dial-one:53] NoOp(“PJSIP/$TRUNKNAME-00025126”, “”) in new stack
– Executing [s@macro-dial-one:54] ExecIf(“PJSIP/$TRUNKNAME-00025126”, “0?Set(D_OPTIONS=HhtrIg)”) in new stack
– Executing [s@macro-dial-one:55] Dial(“PJSIP/$TRUNKNAME-00025126”, “Local/$CALLFORWARDNUMBER@from-internal/n,0,HhtrIb(func-apply-sipheaders^s^1)”) in new stack
– Local/$CALLFORWARDNUMBER@from-internal-0001bd87;1 Internal Gosub(func-apply-sipheaders,s,1) start
– Executing [s@func-apply-sipheaders:1] ExecIf(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;1”, “1?Set(CHANNEL(hangup_handler_push)=crm-hangup,s,1)”) in new stack
– Executing [s@func-apply-sipheaders:2] NoOp(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;1”, “Applying SIP Headers to channel Local/$CALLFORWARDNUMBER@from-internal-0001bd87;1”) in new stack
– Executing [s@func-apply-sipheaders:3] Set(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;1”, “TECH=Local”) in new stack
– Executing [s@func-apply-sipheaders:4] Set(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;1”, “SIPHEADERKEYS=”) in new stack
– Executing [s@func-apply-sipheaders:5] While(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;1”, “0”) in new stack
– Jumping to priority 13
– Executing [s@func-apply-sipheaders:14] Return(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;1”, “”) in new stack
== Spawn extension (from-internal, 99, 1) exited non-zero on ‘Local/$CALLFORWARDNUMBER@from-internal-0001bd87;1’
– Local/$CALLFORWARDNUMBER@from-internal-0001bd87;1 Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL=
– Called Local/$CALLFORWARDNUMBER@from-internal/n
[2020-07-16 10:56:39] WARNING[57955][C-00009a0a]: app_dial.c:2721 dial_exec_full: Invalid timeout specified: ‘0’. Setting timeout to infinite
– Executing [$CALLFORWARDNUMBER@from-internal:1] Macro(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “user-callerid,LIMIT,EXTERNAL,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “TOUCH_MONITOR=1594889799.379958”) in new stack
– Executing [s@macro-user-callerid:2] Set(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “AMPUSER=$CALLINGNUMBER”) in new stack
– Executing [s@macro-user-callerid:3] Set(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “HOTDESCKCHAN=$CALLFORWARDNUMBER@from-internal-0001bd87;2”) in new stack
– Executing [s@macro-user-callerid:4] Set(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “HOTDESKEXTEN=$CALLFORWARDNUMBER@from”) in new stack
– Executing [s@macro-user-callerid:5] Set(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “HOTDESKCALL=0”) in new stack
– Executing [s@macro-user-callerid:6] ExecIf(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “0?Set(HOTDESKCALL=1)”) in new stack
– Executing [s@macro-user-callerid:7] ExecIf(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “0?Set(CALLERID(name)=)”) in new stack
– Executing [s@macro-user-callerid:8] GotoIf(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “0?report”) in new stack
– Executing [s@macro-user-callerid:9] ExecIf(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “1?Set(REALCALLERIDNUM=$CALLINGNUMBER)”) in new stack
– Executing [s@macro-user-callerid:10] Set(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “AMPUSER=”) in new stack
– Executing [s@macro-user-callerid:11] GotoIf(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “0?limit”) in new stack
– Executing [s@macro-user-callerid:12] Set(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “AMPUSERCIDNAME=”) in new stack
– Executing [s@macro-user-callerid:13] ExecIf(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “0?Set(__CIDMASQUERADING=TRUE)”) in new stack
– Executing [s@macro-user-callerid:14] GotoIf(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “1?report”) in new stack
– Goto (macro-user-callerid,s,28)
– Executing [s@macro-user-callerid:28] NoOp(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “Macro Depth is 1”) in new stack
– Executing [s@macro-user-callerid:29] GotoIf(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “1?report2:macroerror”) in new stack
– Goto (macro-user-callerid,s,30)
– Executing [s@macro-user-callerid:30] GotoIf(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,49)
– Executing [s@macro-user-callerid:49] Set(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “CALLERID(number)=$CALLINGNUMBER”) in new stack
– Executing [s@macro-user-callerid:50] Set(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “CALLERID(name)=$CALLINGNUMBER”) in new stack
– Executing [s@macro-user-callerid:51] GotoIf(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “0?cnum”) in new stack
– Executing [s@macro-user-callerid:52] Set(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “CDR(cnam)=$CALLINGNUMBER”) in new stack
– Executing [s@macro-user-callerid:53] Set(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “CDR(cnum)=$CALLINGNUMBER”) in new stack
– Executing [s@macro-user-callerid:54] Set(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “CHANNEL(language)=it”) in new stack
– Executing [$CALLFORWARDNUMBER@from-internal:2] NoCDR(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “”) in new stack
– Executing [$CALLFORWARDNUMBER@from-internal:3] Progress(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “”) in new stack
– Executing [$CALLFORWARDNUMBER@from-internal:4] Wait(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “1”) in new stack
– Local/$CALLFORWARDNUMBER@from-internal-0001bd87;1 is making progress passing it to PJSIP/$TRUNKNAME-00025126
– Executing [$CALLFORWARDNUMBER@from-internal:5] Playback(“Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2”, “silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer”) in new stack
– <Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2> Playing ‘silence/1.alaw’ (language ‘it’)
– <Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2> Playing ‘cannot-complete-as-dialed.alaw’ (language ‘it’)
– <Local/$CALLFORWARDNUMBER@from-internal-0001bd87;2> Playing ‘check-number-dial-again.alaw’ (language ‘it’)

I don’t understand what this has to do with programming your call forward button. There shouldn’t be an IVR involved in this process at all.

@cynjut : DTMF has nothing to do with call forward… i wrote it because it’s into the log i caught…
ignore those line … sorry

OK - so the logs don’t really help explain what you’re trying to do.

The process, normally, regardless of phone, is to do one of two things:

  1. Set up EPM (or whatever you’re using to configure the phone) and program a button that set the phone so that it does the call forward. I do this on my CUCM phone at my day job (which is why I’m explaining it as “a way” that phones do this). I press the “Forward All” button and it asks what number. I put in the number and the phone handles the forwarding. I press the same button later and it turns off the CW. I press it again and it presents the same number as last time, and I hit “Yes” to set it.

  2. Set up EPM (or whatever you are using to set up the phone) so that Call Forward All dials the number that the PBX will use to forward the call.

  3. Set up Find Me Follow Me so that when the phone rings more than 15 seconds, the call is automatically forwarded to all of the phones in your FMFM list. Remember to put a “#” on the end of the number if it’s outside your PBX (not an extension). To make the phone Call Forward immediately, you’ll turn on Do Not disturb on the phone.

There are a couple other ways to do this as well, including ways that aren’t technically CFA.

Note that the difference between these is where the call gets forwarded from. Each has its advantages and fans, so the choices really are pretty wide open. This call forwarding structure, with all of its options, is one of the places where what you want to do isn’t hard, but choosing which one you want to do is the hard part.

Hi,
it’s work…
Now, i save this config… and start to play with other options.
I think it’s funny … when the basic config works … lol

Thanks a lot

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.