Call transfer and parking

For some reason asterisk will not respond to call forwarding or parking. I should be able to press the # from either my sip phones or my zap phones and it should tell me to enter an extention. It does not, and I am sure its something silly.

Here is my extensions.conf



ignorepat => 9

exten => _91NXXNXXXXXX,1,SetCallerID(13044693414)
exten => _91NXXNXXXXXX,2,SetCIDName(“James Richardson”)
exten => _91NXXNXXXXXX,3,Dial(SIP/${EXTEN:1}@sipphone)
exten => _91NXXNXXXXXX,4,Congestion

exten => _1NXXNXXXXXX,1,Dial(Zap/1/${EXTEN})

exten => _NXXNXXXXXX,1,Dial(Zap/1/1${EXTEN})

exten => _9NXXXXXX,1,SetCallerID(13044693414)
exten => _9NXXXXXX,2,SetCIDName(“James Richardson”)
exten => _9NXXXXXX,3,Dial(SIP/1304${EXTEN:1}@sipphone)
exten => _9NXXXXXX,4,Congestion

exten => _NXXXXXX,1,Dial(Zap/1/${EXTEN})

exten => _8NXXXXXX,1,Dial(IAX2/rsn:pbxiaxrsn@gbs/${EXTEN:1})

exten => _8ZXXX,1,Dial(IAX2/rsn:pbxiaxrsn@gbs/${EXTEN:1})

exten => _5XX,1,Dial,IAX2/rsn:pbxiaxrsn@home/${EXTEN},Tt
exten => _5XX,2,Hangup
exten => _5000,1,Dial,IAX2/rsn:pbxiaxrsn@home/1000,Tt
exten => _5000,2,Hangup

exten => _3XX,1,Dial,IAX2/rsn:pbxiaxrsn@gbs/${EXTEN},Tt
exten => _3XX,2,Hangup
exten => _3000,1,Dial,IAX2/rsn:pbxiaxrsn@gbs/1000,Tt
exten => _3000,2,Hangup

; Unconditional Call Forward
exten => _21X.,1,Answer
exten => _21X.,2,DBput(CFIM/${CALLERIDNUM}=${EXTEN:4})
exten => _21X.,3,Playback(enabled)
exten => _21X.,4,SayDigits(${EXTEN:4})
exten => _21X.,5,Hangup

exten => _21,1,DBdel(CFIM/${CALLERIDNUM})
exten => _21,2,Playback(disabled)
exten => _21,3,Hangup

; Call Forward on Busy or Unavailable
exten => _61X.,1,Answer
exten => _61X.,2,DBput(CFBS/${CALLERIDNUM}=${EXTEN:4})
exten => _61X.,3,Playback(enabled)
exten => _61X.,4,SayDigits(${EXTEN:4})
exten => _61X.,5,Hangup

exten => _61,1,DBdel(CFBS/${CALLERIDNUM})
exten => _61,2,Playback(disabled)
exten => _61,3,Hangup

; Repeat last dialled number
exten = *5,1,DBget(temp=RepeatDial/${CALLERIDNUM})
exten = *5,2,Dial(Local/${temp}@router) ; Last known

; No RepeatDial key
exten = *5,102,Congestion


exten=s,3,DBget(temp=CFIM/${ARG1}) ; Get CFIM key, if not existing, goto 104
exten=s,4,Dial(Local/${temp}@pbx/n) ; Unconditional forward
; t on the line below allows the user to transfer the call
exten=s,5,Dial(${ARG2},60,tT) ; 20sec timeout
exten=s,6,DBget(temp=CFBS/${ARG1}) ; Get CFBS key, if not existing, goto 107
exten=s,7,Dial(Local/${temp}@pbx/n) ; Forward on busy or unavailable

; No CFIM key

; exten=s,107,Busy
exten => s,107,Goto(s-${DIALSTATUS},1)

exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w/ unavail announce
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start

exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to voicemail w/ busy announce
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start

exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer

exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain

include = apps
include = dialpbx

exten = _X.,1,Macro(dial)

include = extensions
include = apps
include = outbound

exten = t,1,Busy

include => trunk-national
include => trunk-national-sip
include => trunk-national-w1
include => trunk-local
include => trunk-local-gbs
include => trunk-local-gbs1
include => trunk-local-sip
include => fwd-gbs
include => fwd-home

exten = s,1,DBput(RepeatDial/${CALLERIDNUM}=${MACRO_EXTEN})
exten = s,2,Dial(Local/${MACRO_EXTEN}@router)
exten = s,3,Busy

exten = s,1,DBput(RepeatDial/${CALLERIDNUM}=${ARG1})
exten = s,2,Dial(Zap/1/${ARG1})
exten = s,3,Busy


include => macro-stdexten
include => apps
include => pbx
include => extensions

include => parkedcalls


;handle conard’s extension
exten => 802,1,Macro(stdexten,802,SIP/conard)

;handle karen’s extesion
exten => 801,1,Macro(stdexten,801,SIP/karen)

;1000 Extension calls everybody
exten => 1000,1,Macro(stdexten,1000,SIP/conard&SIP/karen)

;Call the person that called last
exten => *69,1,DBget(number=lastcaller/number)
exten => *69,2,Answer
exten => *69,3,SayDigits(${number})
exten => *69,4,Dial(Local/${number}@pbx/n)
exten => *69,5,Hangup

exten => 1001,1,VoicemailMain
exten => 1001,2,Hangup

exten => s,1,Wait(1)
exten => s,2,DBput(lastcaller/number=${CALLERIDNUM})
;exten => s,3,Goto(local,1000,1) ; sends the call to extension 1000

exten => s,1,Wait(1)
exten => s,2,DBput(lastcaller/number=${CALLERIDNUM})
exten => s,3,Goto(local,${MACRO_EXTEN},1)

I have looked and looked and can not find any suggestions, somebody has to have run in to this…

your on the phone want to transfer, and it does nothing …

Nobody else has this problem? Am I missing something?

Um… I don’t really know anything about call parking, and i’m not entirely sure which particular calls you’re trying to park, but not many of the “Dial” statements in your extensions.conf seem to have a T/t/Tt option.

Could that have anything to do with it?

Nope. I just tried adding Tt to all the dial lines. Still didn’t help. Thanks though.

You say you are pressing # and waiting for a prompt. As far as I am aware Asterisk does not listen to the RTP for DTMF prompts, except when you are calling an Asterisk media service, like Voicemail, queues, etc. To park a call, you do a supervised transfer to 700, (or 70) and wait for the IVR to tell you the park extension.


Ahh. Ok. I used *2 to start transfers, or by pressing the flash on the phone. This is not well documented anywhere.