Methods overview
Methods in SWML control the program flow and execute functions. This includes setting and unsetting variables, conditional statements, making calls, and sending faxes etc.
The AI
method
The ai
method is an incredibly powerful tool to instantiate an AI agent
that holds a natural conversation with the caller, and perform actions based on their input.
Control-flow methods
execute
and return
The execute
method is similar to a function call in most languages. It can be sent parameters,
and it can return values using the return
object. The SWML function to be executed can
exist as a subsection in the same SWML document, but it can also be a separate SWML document hosted on
an internet-accessible web-server.
transfer
The transfer
statement transfers the execution to a different section or
a different SWML document. Unlike the execute
statement, the transfer
statement doesn't return
back to the calling section.
goto
and label
The goto
statement can jump to a specified label
either depending on a
given condition or unconditionally, and repeatedly for a specified number of repetitions.
cond
and switch
The cond
statement is a general purpose conditional branching statement that
executes SWML code based on the evaluation of a JavaScript expression.
The switch
statement allows switch-case like conditional execution depending on whether a certain variable is
a certain value.
Call related methods
answer
and hangup
Use these methods to decide when to answer
the call
and when to hangup
. Some other methods (like play
)
will automatically answer calls, but you can use these methods to be more
specific about when it happens.
denoise
and stop_denoise
The denoise
method starts the noise reduction filter and the
stop_denoise
method stops it.
play
and prompt
The play
method can be used to send TTS speech, play audio files, send different rings etc.
The prompt
method also plays TTS or URLs like play
but it can receive
keypad or speech input in response.
connect
Use the connect
method to connect the caller to other phone or SIP calls.
You can set it up to dial multiple numbers in series, parallel or a combination of the two.
join_room
The join_room
method seamlessly connects your call to a
video room, enabling participants to
join from various sources, including mobile apps, web browsers, or phone calls.
receive_fax
The receive_fax
method will interpret the call as a fax and process it.
record
, record_call
and stop_record_call
The record
and the record_call
methods will record
the call. The record
method, however, waits for the recording to terminate before continuing
execution. The record_call
method starts a call recording in the
background, and it stops recording when you call stop_record_call
.
tap
and stop_tap
The tap
method starts streaming the call to an RTP or a web socket sink.
The stop_tap
method stops it.
sip_refer
The sip_refer
method transfer a SIP call by sending a SIP REFER
message.
send_sms
Use send_sms
to send an SMS to a phone number.
send_digits
Use send_digits
to send digits as DTMF tones.