[Asterisk-Dev] Blind transferred user does not hear phone ring while waiting for phone to be picked up.

Chuck Bunn chuck.bunn at networkdoc.com
Wed Dec 14 08:44:14 MST 2005


Hi,

Please excuse the double post but I am about to report this as a bug and 
I want to verify that others are having the same problem. Also I have 
seen numerous bugs reported that are not bugs but just misconfiguration, 
etc. and I do not want to burden the developers with a frivolus bug 
report if the problem is mine. I have found several postings addressing 
this issue but no solution. I have done a partial work around but I do 
not like the results. Here is the problem - when I blind transfer a user 
the transferred user does not here the phone ringing despite adding the 
'r' option to the Dial statement (I will provide all of my files in a 
moment..). I have also tried the dial statement without the 'r' option 
and I get the same results. If I place a the 'm' option in the dial 
statement the transferred user does here musiconhold but this also means 
that users doing inter office calls hear musiconhold when calling one 
another user instead of ringing (thus my work around that is not 
desirable). I also am using a macro to handle dialing and voicemail and 
perhaps there is a problem here. In my menus I created a separate macro 
that does use the 'm' option as it does seem appropriate here. There is 
nothing in the CLI output that appears to show a problem so that further 
confuses the issue. Here are my files:

********************extensions.conf
[general]
#include macros.incl
#include incoming-home.incl
#include extensions-home.incl
#include phrase.incl
#include menu.incl
#include outgoing.incl

[globals]
OUTBOUNDTRUNK=Zap/g1
PSTN1=Zap/1
PSTN2=Zap/2
PHONE1=Zap/3
PHONE2=Zap/4

*********************extensions-hone.incl
[extensions-home]
;Operator queue, Operator Console, and Receptionist Phone
exten => s,1,Answer()
exten => s,2,SetMusicOnHold(default)
exten => s,3,DigitTimeout(5)
exten => s,4,ResponseTimeout(15)
exten => s,5,Queue(extensions-home|tr|||20)
exten => s,6,Goto(mainmenu,s,1)

include => mainmenu

;Office Personnel
exten => _30[0-1],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
exten => _31[0-4],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
exten => _399,1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
exten => _40[0-1],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
exten => _499,1,Macro(stdexten,${EXTEN},SIP/${EXTEN})

;Spa Personnel
exten => _500,1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
exten => _51[0-2],1,Macro(stdexten,${EXTEN},SIP/${EXTEN})
exten => _590,1,Macro(novmail,${EXTEN},ZAP/3)

;Voicemail Main
exten => 800,1,Answer
exten => 800,2,VoicemailMain(@extensions-home)

;Agent Login
exten => 801,1,AgentCallbackLogin(||@extensions-home)

;Recording Interface
exten => 820,1,Goto(phrase-menu,s,1)

;Voice Conferencing
exten => _85X,1,Answer
exten => _85X,2,MeetMe(${EXTEN})

;Music on Hold
exten => 870,1,Answer
exten => 870,2,SetMusicOnHold(default)
exten => 870,3,WaitMusicOnHold(420)
exten => 870,4,Hangup

********************macros.incl
[macro-stdexten]
exten => s,1,Set(DYNAMIC_FEATURES=automon)
exten => s,2,Dial(${ARG2},20,Ttrw)
exten => s,3,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Voicemail(u${ARG1}@extensions-home)
exten => s-NOANSWER,2,Playback(thank-you-for-calling&goodbye)
exten => s-NOANSWER,3,Hangup
exten => s-BUSY,1,Voicemail(b${ARG1}@extensions-home)
exten => s-BUSY,2,Playback(thank-you-for-calling&goodbye)
exten => s-BUSY,3,Hangup
exten => s-CHANUNAVAIL,1,Voicemail(u${ARG1}@extensions-home)
exten => s-CHANUNAVAIL,2,Playback(thank-you-for-calling&goodbye)
exten => s-CHANUNAVAIL,3,Hangup
exten => _s-.,1,Goto(s-NOANSWER,1)

[macro-menuexten]
exten => s,1,Set(DYNAMIC_FEATURES=automon)
exten => s,2,Dial(${ARG2},20,Ttmw)
exten => s,3,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Voicemail(u${ARG1}@extensions-home)
exten => s-NOANSWER,2,Playback(thank-you-for-calling&goodbye)
exten => s-NOANSWER,3,Hangup
exten => s-BUSY,1,Voicemail(b${ARG1}@extensions-home)
exten => s-BUSY,2,Playback(thank-you-for-calling&goodbye)
exten => s-BUSY,3,Hangup
exten => s-CHANUNAVAIL,1,Voicemail(u${ARG1}@extensions-home)
exten => s-CHANUNAVAIL,2,Playback(thank-you-for-calling&goodbye)
exten => s-CHANUNAVAIL,3,Hangup
exten => _s-.,1,Goto(s-NOANSWER,1)

[macro-novmail]
exten => s,1,Dial(${ARG2},20,Ttrw)
exten => s,2,Playback(thank-you-for-calling&goodbye)
exten => s,3,Hangup
exten => s,102,Playback(thank-you-for-calling&goodbye)
exten => s,103,Hangup

********************menu.incl
[mainmenu]
exten => s,1,Answer()
exten => s,2,SetMusicOnHold(default)
exten => s,3,DigitTimeout(5)
exten => s,4,ResponseTimeout(15)
exten => s,5,Background(custom/welcome-main)

exten => 2,1,Goto(spa,s,1)
exten => 3,1,Goto(ageless,s,1)
exten => 4,1,Directory(extensions-home,extensions-home,f)
exten => 5,1,Directory(extensions-home,extensions-home)

exten => t,1,Playback(please-try-again)
exten => t,2,Goto(mainmenu,s,1)
exten => i,1,Playback(pbx-invalid)
exten => i,2,Goto(mainmenu,s,1)

exten => 0,1,Goto(operator,s,1)

[operator]
exten => s,1,Answer()
exten => s,2,SetMusicOnHold(default)
exten => s,3,DigitTimeout(5)
exten => s,4,ResponseTimeout(15)
exten => s,5,Background(custom/operator)
exten => s,6,Macro(menuexten,300,SIP/300)

exten => t,1,Playback(please-try-again)
exten => t,2,Goto(operator,s,1)
exten => i,1,Playback(pbx-invalid)
exten => i,2,Goto(operator,s,1)

exten => 1,1,Goto(mainmenu,s,1)
exten => 0,1,Goto(operator,s,1)


[spa]
exten => s,1,Answer()
exten => s,2,SetMusicOnHold(default)
exten => s,3,DigitTimeout(5)
exten => s,4,ResponseTimeout(15)
exten => s,5,Background(custom/welcome-spa)
exten => s,6,Macro(menuexten,500,SIP/500)

exten => t,1,Playback(please-try-again)
exten => t,2,Goto(spa,s,1)
exten => i,1,Playback(pbx-invalid)
exten => i,2,Goto(spa,s,1)

exten => 1,1,Goto(mainmenu,s,1)
exten => 0,1,Goto(operator,s,1)


[ageless]
exten => s,1,Answer()
exten => s,2,SetMusicOnHold(default)
exten => s,3,DigitTimeout(5)
exten => s,4,ResponseTimeout(15)
exten => s,5,Background(custom/welcome-ageless)
exten => s,6,Macro(menuexten,300,SIP/300)

exten => t,1,Playback(please-try-again)
exten => t,2,Goto(ageless,s,1)
exten => i,1,Playback(pbx-invalid)
exten => i,2,Goto(ageless,s,1)

exten => 1,1,Goto(mainmenu,s,1)
exten => 0,1,Goto(operator,s,1)

********************features.conf
[general]
parkext => 700            ; What ext. to dial to park
parkpos => 701-720        ; What extensions to park calls on
context => parkedcalls        ; Which context parked calls are in
parkingtime => 45        ; Number of seconds a call can be parked for
                ; (default is 45 seconds)
transferdigittimeout => 3    ; Number of seconds to wait between digits 
when transfering a call
courtesytone = beep        ; Sound file to play to the parked caller
                ; when someone dials a parked call
xfersound = beep        ; to indicate an attended transfer is complete
xferfailsound = beeperr    ; to indicate a failed transfer
;adsipark = yes            ; if you want ADSI parking announcements
;findslot => next        ; Continue to the 'next' parking space. 
Defaults to 'first' available
pickupexten = *8        ; Configure the pickup extension.  Default is *8
;featuredigittimeout = 500    ; Max time (ms) between digits for
                ; feature activation.  Default is 500


[featuremap]
blindxfer => ##        ; Blind transfer
;disconnect => *0        ; Disconnect
automon => *1            ; One Touch Record
atxfer => *2            ; Attended transfer
****************************

Thanks





More information about the asterisk-dev mailing list