Call Us Today! 877.742.2583




Page tree
Skip to end of metadata
Go to start of metadata
Are you looking for inline actions in the dialplan?
 Click here to expand Table of Contents

Description

Allows you to specify a dialplan in code where you might normally specify an extension and dialplan.
Basic syntax is a comma-separated list of 'app:arg' pairs:

'app1:arg1,app2:arg2,app3:arg3' inline

Single quotes generally are necessary except in the case of a single app:arg pair with no spaces, e.g.:

uuid_transfer <uuid> playback:/foo.wav inline

The inline dialplan is a handy tool that allows for flexible application development.

Escaping

If you have a complicated inline dialplan, you can occasionally run afoul of issues with commas. To avoid this issue, the inline dialplan allows you define the application delimiter:

'm:^:app1:arg1^app2:arg2^bridge:{origination_uuid=asdf,ignore_early_media_true}/sofia/gateway/mygw/1234' inline

Examples

uuid_transfer

A simple uuid transfer might look like this:

uuid_transfer 2bde6598-0f1a-48fe-80bc-a457a31b0055 'set:test=blah blah,playback:foo.wav' inline

Another application is to grabbed a parked channel and bridge to another channel:

uuid_transfer <parked_uuid> intercept:<other_uuid> inline

Originate

A simple originate where the B leg is specified inline:

 originate sofia/gateway/my_gw/user@domain.com 'set:myvar=myvalue,info:,playback:foo.wav' inline

PortAudio

A handy way to use PortAudio from the FreeSWITCH CLI is this:

 originate {absolute_codec_string=XXXX}sofia/default/foo@bar.com bridge:portaudio/auto_answer inline

See also: Dialplan_XML#Getting_Fancy_With_PortAudio


Note the lack of a leading / in the bridge string above. If you tried to do bridge:/portaudio/auto_answer the bridge would fail with CHAN_NOT_IMPLEMENTED because FreeSWITCH™ assumes the string between the ':' and the first '/' to be the channel type, and so if you have a leading slash the channel type is an empty string.SIP Profile

The dialplan parameter in the SIP profile can also be an inline dialplan. The standard entry is this:

<param name="dialplan" value="XML"/>

Customize it like this:

<param name="dialplan" value="inline:playback:woohoo.wav,hangup:BUHbye"/>


Note that you specify "inline:" at the beginning of the parameter and not at the end like you do when using the command line.