I’m experimenting problems with Dial() function using this scenario.
Phone 1 Call ---------> phone 2 Answer (Phone 2, dial to extensions 0 to redirect the call to the receptionist)… (Phone 1 hear a total SILENCE…)
BUG: At the point phone2 dial to 0 and then transfer the call to the receptionist, the phone 1 can’t hear "Ring Back Tone"
the tipicall Ring… Ring… and i tested using MOH during the call redirection and it just keep in silent, so: No ring back tone, no moh works in that point.
Case: The main dialplan to call the receptionist was this:
exten=>0,1,Answer()
exten=>0,2,Dial(SIP/reception)
So, i try using this:
exten=>0,1,Answer()
exten=>0,2,Dial(SIP/reception,tr)
With this one too:
exten=>0,1,Answer()
exten=>0,2,Dial(SIP/reception,m)
Any of this dialplans fix the trouble… WTF! So, How i fix that?? [Simple =D]
I just add this to the dial plan:
exten=>0,1,Answer()
exten=>0,2,Dial(SIP/reception,1)
exten=>0,2,Dial(SIP/reception,21)
Now, when someone dial 0, it will call SIP/reception for 1 seconds, then call again using the timeout we want.
The 1st seconds is a fake that fix the situation, Now everybody’s fine 
Now looking back again, the problem was this
Phone 1 Call ---------> phone 2 Answer (Phone 2, dial to extensions 0 to redirect the call to the receptionist)… (Phone 1 hear a total SILENCE…)
Now the solution give this:
Phone 1 Call ---------> phone 2 Answer (Phone 2, dial to extensions 0 to redirect the call to the receptionist)… (Phone 1 hear a Ring…Ring…) [Or the music on hold if you decide to use the option m in the dial options]
Hope Asterisk developers compile this, for now my solution is totally working 100%.