Call Us Today! 877.742.2583




Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Add "See Also" title

...

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:

Code Block
'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.:

Code Block
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:

Code Block
'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:

Code Block
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:

Code Block
uuid_transfer <parked_uuid> intercept:<other_uuid> inline

Originate

A simple originate where the B leg is specified inline:

Code Block
 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:

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

See also: Dialplan_XML#Getting_Fancy_With_PortAudio


Info

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:

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

Customize it like this:

Code Block
<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.