Rate this page:

How to connect Voximplant with Dasha AI

Learn how to use Dasha conversational AI with Voximplant to automate customer conversations within a call center environment.

Dasha side

Make sure you have node.js version 13+ and npm installed. You also need the latest version of Visual Studio Code running to edit and test the Dasha app.

  1. Join Dasha Community – you will get your API key here automatically.
  2. Open VSCode and install the Dasha Studio Extension from the extension store. You’ll get all the DSL syntax highlighting and a GUI interface for debugging your conversation flow.
  3. Run npm i -g "@dasha.ai/cli@latest" to install the latest Dasha CLI.

Use the inbound tester app to test inbound calls and the outbound tester app to test outbound calls.

Voximplant side

  1. Log in to your Voximplant account or create an account if you don’t have one.
  2. Create a Voximplant application.
  3. Purchase a phone number in the Numbers section of the control panel.
  4. Go to your applications, click on the app you created. Click on Numbers > Available and Attach. This number will be used as a caller ID.

For outbound calls

  1. Go to Scenarios > Create scenario, name the scenario, and hit the “plus” sign. Then paste the following code in the scenario:
Outbound calls scenario

Outbound calls scenario

This is the scenario that will be run when we set everything up. On an incoming SIP call from Dasha, the phone number which we want to call is passed to the callPSTN method. This is how we connect two calls. Once the call is answered, Dasha will start the conversation. If you want to handle inbound calls to SIP, use your SIP URI as callerid and replace the callPSTN method with callSIP. If you are using SIP Registrations on your PBX, you need to create a SIP Registration and use it instead of the SIP URI.

  1. Go to the Users section and create a new user. Remember the username and password, they will be used for Dasha's config in the next step.

  2. Click on Routing in the left-hand menu. Create a new rule (leave the pattern as default), and attach your scenario to this rule.

  3. Connect your sip trunk with Dasha's using this command:

dasha sip create-outbound --server <ip_or_dns_of_server:port> [--domain <domain_name>] [--ask-password] --account <accountName> --transport [tcp|udp] <config_name>
  • accountName is the username you created in the Voximplant panel;

  • ip_or_dns_of_server:port is the name of our Voximplant app;

  • config_name is the name of the config we’ll use in the next step.

For example:

dasha sip create-outbound --server exampleApp.exampleAcc.n4.voximplant.com --account exampleUsername --ask-password vox_outbound

password: enter_your_password_here

For inbound calls

  1. Connect your sip trunk with Dasha's using this command:
dasha sip create-inbound --application-name <your_app_name> <config_name>
  • your_app_name is your Voximplant application name;

  • config_name is the name of the config we’ll use later.

    For example:

dasha sip create-inbound --application-name exampleApp vox_inbound

This command will give us a Dasha’s SIP URI to call. For example, sip:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx@sip.us.dasha.ai

To see the URI, write dasha sip list-inbound. Let’s put it in our Voximplant scenario instead of "your_SIP_URI".

  1. Create a scenario inside the app by pressing a plus icon and paste this code in there:
Outbound calls scenario

Outbound calls scenario

This is the scenario that will be run when we set everything up. We use the callSIP method to make a call to our SIP URI. On an incoming SIP call from Voximplant, the SIP URI that we want to call is passed to the callSIP method. This is how we connect two call legs. Once the call is answered, Dasha will start a conversation.

If you are using SIP Registrations on your PBX, you need to create a SIP Registration and use it instead of the SIP URI.

  1. Click on Routing in the left-hand menu. Create a new rule (leave the pattern as default), and attach your scenario to this rule.

Get your backend in order and start calling

The setup is ready, now we need a local app or backend to run our Voximplant scenario using Dasha.

Placing outbound calls

  1. Open your VS Code Dasha conversational AI app project. Open the index.js file and replace configName in dasha.sip.Endpoint with your config name. Do the same with the name field in package.json. To see all the available configs, run the dasha sip list-outbound command.
  2. In the outbound.dashaapp file, change the name field so it matches our config name.
  3. Run node index.js <the number to call in international format e.g. 12223334455>. Now you can watch the application deployment and registration process in the console.

Taking inbound calls

  1. Open up your VS Code with the Dasha project open.
  2. In the package.json file, replace the name field with your config name. To see all the available configs, run the dasha sip list-inbound command. In the inbound.dashaapp file, change the name field so that it matches your config name.
  3. To test the integration, run npm i from your folder.
  4. Run node main.js. Now you can call the phone number that you purchased earlier. You’ll be able to track application deployment in the console.

Congrats, you’ve successfully connected your Voximplant app to Dasha conversational AI. You can call anyone in the world now.