<Call/>

Customize Execution Blocks with <Call/> Tag in Opentact XML

The <Call/> tag in Opentact XML introduces a powerful capability to filter execution blocks based on call-related values. This feature enables you to tailor the behavior of your call-handling applications dynamically.

Usage of <Call/> Tag:

The <Call/> tag serves as a key element for executing conditional logic within Opentact XML. It allows you to selectively activate or deactivate specific sections of your call-handling workflow based on various call-related parameters.

Hints for <Call/> Tag:

The value attribute associated with the <Call/> tag is a versatile parameter that can accept values of different types. These include:

  • string

  • integer

  • float

  • null

  • boolean (true/false)

Customizing Execution Blocks:

Utilize the <Call/> tag to tailor the execution of specific blocks in your Opentact XML based on the values associated with the ongoing call. This flexibility enhances the adaptability of your call-handling applications.

Dynamic Decision-Making:

By leveraging <Call/> tags with different value types, you can dynamically decide the course of action during call execution. Whether it's routing calls, modifying responses, or triggering specific functionalities, the <Call/> tag adds a layer of intelligence to your call-handling logic.

Integrate <Call/> tags into your Opentact XML to enhance the precision and responsiveness of your call-related workflows. This feature empowers you to create applications that intelligently adapt to varying call conditions.

The value attribute within the <Call/> tag opens up a spectrum of possibilities, allowing you to build sophisticated and context-aware call-handling applications.

<!-- Execute block only for a specific DNIS number -->
<Call field="to" value="18382050099">
    <Say text="Hi there!"/>
</Call>
<Say>Thanks for calling Opentact!</Say>
<Hangup/>

<!-- Execute block only for a specific ANI number -->
<Call field="from" value="+18382050099">
    <Say text="Hi there!"/>
</Call>
<Say>Thanks for calling Opentact!</Say>
<Hangup/>

<!-- Execute block for spam ANI -->
<Call field="spam" value="true" db="ftc,youmail"> 
<!-- db="ftc,youmail" is optional; by default, all databases are used -->
    <!-- Skip spam ANI calls -->
    <Hangup/>
</Call>
<Say>Thanks for calling Opentact!</Say>

<!-- Drop shaken non-signed calls -->
<Call field="attest" value="null">
    <!-- Skip STIR/SHAKEN non-signed calls -->
    <Hangup/>
</Call>
<Say>Thanks for calling Opentact!</Say>

<!-- Drop shaken signed attest < A level calls -->
<Call field="attest" condition="<" value="A">
    <!-- Drop STIR/SHAKEN signed attest < A level calls -->
    <Hangup/>
</Call>
<Say>Thanks for calling Opentact!</Say>

<!-- Execute block for STIR/SHAKEN signed level=A only calls -->
<Call field="attest" value="A">
    <Say>Hey, your call is signed with A attest level!</Say>
</Call>
<Say>Thanks for calling Opentact!</Say>

Last updated