[asterisk-dev] [Code Review] Allow app_dial to play 'indication tone while ringing' like 'option m' which will provide music on hold while ringing

Alec Davis sivad.a at paradise.net.nz
Thu Dec 17 03:07:28 CST 2009

This is an automatically generated e-mail. To reply, visit:

(Updated 2009-12-17 03:07:28.290875)

Review request for Asterisk Developers.


change as requested.

Also fixed situation where no option 'r' is present, the OPT_ARG_RINGBACK wasn't null, required nulling!

at line 921 the ast_channel_make_compatible(..) needs to be in the if RINGBACK or MUSICBACK, otherwise you get 100's of 
"Asked to transmit frame type slin, while native formats is 0x4 (ulaw) read/write = 0x4 (ulaw)/0x4 (ulaw"
I believe this ast_channel_make_compatible at line 921, is a bug in itself, we will execute another ast_channel_make_compatible when the called channel is answered.


This senario is based on an ETSI ISDN installation, but I'm sure applies to others.

option 'r' sends a Ringing Indication to the network, which informs the network we can deliver the call, but ultimately we may not be able to, and need to issue Congestion.
option 'm' sends a Proceeding Indication, which allows us to indicate Congestion and let the call go, and let the network providor try the next provider.

The current ugly solution, is to record a music file, of Ringing, and play it, something like.
  exten => 80,1,Dial(DAHDI/2,30,m(myring))
  exten => 80,n,Congestion()

This patch provides an optional argument for option 'r' as in 'r(vodaring)'

Now a tidy and customizable way to play out any tones from the indications.conf file like.
  exten => 80,1,Dial(DAHDI/2,30,r(vodaring))
  exten => 80,n,Congestion()

This addresses bug 14504.

Diffs (updated)

  trunk/apps/app_dial.c 235418 

Diff: https://reviewboard.asterisk.org/r/448/diff


100% test results with examples below.

exten => 80,1,Dial(DAHDI/2,,r(vodaring))
exten => 80,1,Dial(DAHDI/2,,r)
exten => 80,1,Dial(DAHDI/2,,m)
exten => 80,1,Dial(DAHDI/2,,)



More information about the asterisk-dev mailing list