Using Playtones() or MusicOnHold

Hi,

Being new to Asterisk, I’ve come across something, I can’t figure out. I haven’t been able to find the correct search keywords, so please bear with me of this has been discussed before.

To explain it shortly - I have an incoming SIP “trunk” from my SIP provider with two registered SIP-extensions on the “inside”, which are to be called when calls enter the SIP trunk. Basically, I’ve gotten almost everything to work, but I’m struggling with MusicOnHold. My incoming extension is setup as followed:

exten => s,1,Answer()
exten => s,n,Dial(SIP/cisco1&SIP/test,m)
exten => s,n,Hangup()

The call gets setup perfectly etc., but there is absolutely no audio sent to the calling party - as I use Answer(), I signal to the SIP provider, that the call has been picked up, so they do not inject ringing tones etc. to the RTP stream. A tcpdump has revealed that no RTP streams get sent, until I actually pick up the call on one of the inside SIP clients. According to the CLI, the MusicOnHold ressource is starting to play, and I have no errors at all.

I’ve found a work around for my problem by inserting a Playback() before the Dial():

exten => s,1,Answer()
exten => s,n,Playback(en/vm-youhave)
exten => s,n,Dial(SIP/cisco1&SIP/test,m)
exten => s,n,Hangup()

If I do this, the “youhave” audio file is played immediately (and audio is available at the calling party). After the file has played, the MusicOnHold starts to play as expected. Is this expected behaviour, or do I need to call other applications to initialize the audio streaming part of asterisk, or is it a bug in Asterisk?

It sounds like this bug-report: http://bugs.digium.com/view.php?id=14690
, and since I’m running 1.6.0.9, it could be related.

What do you all think? :smile:

Cheers,
Mark