[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:
https://reviewboard.asterisk.org/r/448/
-----------------------------------------------------------

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


Review request for Asterisk Developers.


Changes
-------

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.
 


Summary
-------

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.
    https://issues.asterisk.org/view.php?id=14504


Diffs (updated)
-----

  trunk/apps/app_dial.c 235418 

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


Testing
-------

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,,)


Thanks,

Alec




More information about the asterisk-dev mailing list