Music On Hold

Im having a little problem with Music on hold and wondering if there may be a workaround or if Im just stuck with my problem. My setup is as follows :-

Asterisk 1.4.18 on Ubuntu LInux

Attached to my Asterisk Network is a Multivoip IP Gateway which registers with asterisk and attached to the Gateway is a GSM Gateway. The basic concept is calls being directed to certain mobile number are routed out the GSM gateway as it is a free call.

The problem I am having is there is a period of silence (about 5 - 7 seconds) between when the ringing stops on the user handset (The caller) and when they start to hear ringing again.

I know what is causing the problem but wondering if a solution exists. The problem is the user hears ringing untill the Multivoip Gateway answers the call. So if I change the Dial command to be “m” for music on Hold or “r” for ringing it performs either up to this phase. Once the multivoip answers and starts dialling out the FXS port (This is where the silence is) , I hear the ringing from the GSM Gateway. So to clarify the silence comes after the multivoip answers the SIP call from the Handset until I hearing the ringing which is obviously the Phone ringing from teh GSM Gateway

I hope this makes sense. Im hoping there may be a way to play music on hold or ringing until the person answers. But im also thinking that maybe it isnt possible as technically the call has been answered by the Multivoip gateway.

Anyway here is the sample code from the Extensions File and the console Output :-

exten => s,1,Set(CHANNEL(musicclass)=em)
exten => s,2,Dial(SIP/multivoip/${EXTEN},60,tTr)
exten => s,3,Goto(s-${DIALSTATUS},1)

– Executing [115@internal:1] Macro(“SIP/15-084f27c0”, “dialoutmobile|0414499222”) in new stack
– Executing [s@macro-dialoutmobile:1] Set(“SIP/15-084f27c0”, “CHANNEL(musicclass)=em”) in new stack
– Executing [s@macro-dialoutmobile:2] Dial(“SIP/15-084f27c0”, “SIP/multivoip/10414499222|60|tTm”) in new stack
– Called multivoip/10414499222
– Started music on hold, class ‘em’, on SIP/15-084f27c0
[Jun 5 14:03:13] WARNING[26012]: mp3/interface.c:215 decodeMP3: Junk at the beginning of frame 49443303
– SIP/multivoip-082136f8 is making progress passing it to SIP/15-084f27c0
– SIP/multivoip-082136f8 answered SIP/15-084f27c0
– Stopped music on hold on SIP/15-084f27c0

Ignore the fact that the COnsole indicates a macro, I just copied the relevant lines.

Any feedback or comments would be appreciated.


I don’t think there is much that you can do since onces your gateway picks up and sends the answer supervision asterisk see’s the call and passes through the “audio” (which is silence) from the gateway. A hack work around would be to use a macro that plays to the caller a ringing sound, calls the SIP gateway, keeps playing the ringing and then bridges the call 5-7 seconds later. You can also look in to the gateway to see if it can play a ringing sound as soon as it gets a call or maybe have it set to not send answer supervision to the call is answered.