I was not able to create a valid zero-length sound, but following solution seems to be good enough for me:
exten => s,1,<log it>
exten => s,n,Dial(SIP/address@somewhere.com, 600, A(beeperr))
exten => s,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?:callfail)
exten => s,n(callfail),<report call fail>
The most important part of code is Dial(SIP/address@somewhere.com, 600, A(beeperr))
.
Now, it works:
- A caller makes a call.
- A call to address@somewhere.com is created.
- Call to address@somewhere.com is answered by user.
- A short sound (i.e. beeperr) is played to address@somewhere.com
- The original call is answered and bridged.
In this case, the caller don't hear the beeperr sound. The sound is played only to address@somewhere.com. This makes a short pause between answering the call by address@somewhere.com and answering the original call. In the pause, beeperr is played.
Maybe directmedia=no is a part of the solution, but I am not sure.