> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cekura.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Import Plivo Phone Numbers

> Bring your own Plivo phone numbers to Cekura for inbound and outbound testing.

export const CopyPageButton = () => {
  if (typeof window !== 'undefined') {
    setTimeout(function () {
      if (document.getElementById('ck-tools')) return;
      var anchor = document.getElementById('content-area') || document.querySelector('.mdx-content');
      if (!anchor) return;
      if (!document.getElementById('ck-style')) {
        var s = document.createElement('style');
        s.id = 'ck-style';
        s.textContent = '#ck-tools{position:absolute;top:6px;right:0;z-index:100;font-family:inherit;}' + '.ck-row{display:inline-flex;align-items:stretch;border:1px solid rgba(0,0,0,0.15);border-radius:8px;overflow:hidden;background:#fff;}' + ':root.dark .ck-row{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.12);}' + '.ck-btn{padding:5px 12px;border:none;background:none;cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;color:#374151;}' + ':root.dark .ck-btn{color:#d1d5db;}' + '.ck-btn:hover{background:rgba(0,0,0,0.04);}' + ':root.dark .ck-btn:hover{background:rgba(255,255,255,0.06);}' + '.ck-chevron{padding:5px 8px;border:none;background:none;cursor:pointer;font-size:14px;font-family:inherit;color:#374151;}' + ':root.dark .ck-chevron{color:#d1d5db;}' + '.ck-chevron:hover{background:rgba(0,0,0,0.04);}' + ':root.dark .ck-chevron:hover{background:rgba(255,255,255,0.06);}' + '.ck-divider{width:1px;background:rgba(0,0,0,0.12);flex-shrink:0;}' + ':root.dark .ck-divider{background:rgba(255,255,255,0.12);}' + '.ck-dd{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:#fff;border:1px solid rgba(0,0,0,0.12);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.1);padding:4px;display:none;z-index:200;}' + ':root.dark .ck-dd{background:#1f2937;border-color:rgba(255,255,255,0.1);box-shadow:0 4px 16px rgba(0,0,0,0.35);}' + '.ck-item{display:block;width:100%;padding:7px 12px;border:none;background:none;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit;text-align:left;color:#374151;}' + ':root.dark .ck-item{color:#d1d5db;}' + '.ck-item:hover{background:rgba(0,0,0,0.05);}' + ':root.dark .ck-item:hover{background:rgba(255,255,255,0.07);}';
        document.head.appendChild(s);
      }
      var wrap = document.createElement('div');
      wrap.id = 'ck-tools';
      var row = document.createElement('div');
      row.className = 'ck-row';
      var mainBtn = document.createElement('button');
      mainBtn.className = 'ck-btn';
      mainBtn.textContent = 'Copy page';
      var divider = document.createElement('span');
      divider.className = 'ck-divider';
      var chevron = document.createElement('button');
      chevron.className = 'ck-chevron';
      chevron.textContent = '▾';
      var dd = document.createElement('div');
      dd.className = 'ck-dd';
      function closeDD() {
        dd.style.display = 'none';
      }
      function openDD() {
        dd.style.display = 'block';
      }
      chevron.onclick = function (e) {
        e.stopPropagation();
        if (dd.style.display === 'block') {
          closeDD();
        } else {
          openDD();
        }
      };
      document.addEventListener('click', function (e) {
        if (!e.target.closest('#ck-tools')) {
          closeDD();
        }
      });
      document.addEventListener('keydown', function (e) {
        if (e.key === 'Escape') {
          closeDD();
        }
      });
      function makeItem(label, fn) {
        var b = document.createElement('button');
        b.className = 'ck-item';
        b.textContent = label;
        b.onclick = function () {
          fn();
          closeDD();
        };
        return b;
      }
      function getMarkdown() {
        var walk = function (node) {
          if (!node) return '';
          if (node.nodeType === 3) return node.textContent || '';
          if (node.nodeType !== 1) return '';
          var tag = node.tagName.toLowerCase();
          var skip = ['script', 'style', 'svg', 'noscript', 'button', 'iframe'];
          if (skip.indexOf(tag) !== -1) return '';
          if (node.id === 'ck-tools') return '';
          var ch = Array.from(node.childNodes).map(walk).join('');
          if (tag === 'h1') return '\n# ' + ch.trim() + '\n\n';
          if (tag === 'h2') return '\n## ' + ch.trim() + '\n\n';
          if (tag === 'h3') return '\n### ' + ch.trim() + '\n\n';
          if (tag === 'p') return '\n' + ch.trim() + '\n\n';
          if (tag === 'pre') return '\n```\n' + node.textContent.trim() + '\n```\n\n';
          if (tag === 'li') return '- ' + ch.trim() + '\n';
          if (tag === 'code') return '`' + ch.trim() + '`';
          return ch;
        };
        var content = document.querySelector('.mdx-content') || document.getElementById('content-area') || document.body;
        return walk(content).replace(/\n\n\n+/g, '\n\n').trim();
      }
      function copyMd() {
        var md = getMarkdown();
        navigator.clipboard.writeText(md).then(function () {
          mainBtn.textContent = 'Copied!';
          setTimeout(function () {
            mainBtn.textContent = 'Copy page';
          }, 2000);
        });
      }
      function viewMd() {
        var md = getMarkdown();
        var safe = md.split('&').join('&amp;').split('<').join('&lt;').split('>').join('&gt;');
        var html = '<!DOCTYPE html><html><head><meta charset="utf-8"><style>body{font-family:monospace;max-width:860px;margin:40px auto;padding:0 24px;line-height:1.7;white-space:pre-wrap;word-wrap:break-word}</style></head><body>' + safe + '</body></html>';
        window.open(URL.createObjectURL(new Blob([html], {
          type: 'text/html'
        })), '_blank');
      }
      function openClaude() {
        var prompt = 'Can you read this Cekura docs page ' + window.location.href + ' so I can ask you questions?';
        window.open('https://claude.ai/new?q=' + encodeURIComponent(prompt), '_blank');
      }
      mainBtn.onclick = copyMd;
      dd.appendChild(makeItem('Copy page', copyMd));
      dd.appendChild(makeItem('View as Markdown', viewMd));
      dd.appendChild(makeItem('Open in Claude', openClaude));
      row.appendChild(mainBtn);
      row.appendChild(divider);
      row.appendChild(chevron);
      wrap.appendChild(row);
      wrap.appendChild(dd);
      anchor.style.position = 'relative';
      anchor.insertBefore(wrap, anchor.firstChild);
    }, 50);
  }
  return null;
};

<CopyPageButton />

## Overview

Importing your Plivo phone numbers into Cekura allows you to:

* **Test inbound calls** using your existing Plivo numbers
* **Run outbound tests** from your Plivo numbers
* **Maintain your existing phone infrastructure** while testing with Cekura
* **Access detailed call logs and metrics** from your Plivo-based tests
* **Use Send DTMF** for testing scenarios that involve keypress tones (IVR menus, voicemail systems)

<Info>
  **BYOP (Bring Your Own Phone):** Use your existing Plivo phone numbers without purchasing new numbers from Cekura.
</Info>

## Prerequisites

Before you begin, ensure you have:

* An active **Plivo account** with at least one phone number
* Your Plivo **Auth ID**
* Your Plivo **Auth Token**
* A phone number purchased in your Plivo account

<Note>
  If you don't have a Plivo phone number, you can purchase one from the [Plivo Console](https://console.plivo.com/).
</Note>

## Import Your Plivo Number

<Steps>
  <Step title="Retrieve Plivo Credentials">
    1. Log in to the [Plivo Console](https://console.plivo.com/).
    2. Navigate to **Account** section on the dashboard.
    3. Copy your **Auth ID** and **Auth Token**.

    <Warning>
      Keep your Auth Token secure and never share it publicly. It provides full access to your Plivo account.
    </Warning>
  </Step>

  <Step title="Get Your Phone Number">
    1. In the Plivo Console, go to **Phone Numbers → Your Numbers**.
    2. Select the phone number you want to import.
    3. Copy the phone number in E.164 format (e.g., `+12025551234`).
  </Step>

  <Step title="Import to Cekura">
    1. Log in to your [Cekura Dashboard](https://dashboard.cekura.ai).
    2. Navigate to **Settings** → **Phone Numbers**.
    3. Click **Import Phone Number**.
    4. Select **Plivo** as the provider.
    5. Fill in the required details:
       * **Phone Number**: Enter your Plivo number in E.164 format
       * **Auth ID**: Paste your Plivo Auth ID
       * **Auth Token**: Paste your Plivo Auth Token
       * **Friendly Name** (Optional): Add a label for easy identification
       * **Enable SMS** (Optional): Toggle on if you want to use this number for SMS testing
    6. Click **Import Number**.

    <Tip>
      Use descriptive friendly names like "Support Line" or "Sales Demo" to easily identify numbers in your dashboard.
    </Tip>
  </Step>

  <Step title="Verify Import">
    Once imported, your Plivo number will appear in the **Phone Numbers** list with:

    * Phone number
    * Provider (Plivo)
    * Status (Active)
    * Friendly name

    <Check>
      Your Plivo number is now ready to use with Cekura for testing!
    </Check>
  </Step>
</Steps>

## Using Your Imported Number

### For Inbound Testing

1. Navigate to **Agents** → Select your agent
2. In **Agent Settings**, set the imported Plivo number as the **Contact Number**
3. Cekura will automatically route test calls to your agent via Plivo

### For Outbound Testing

1. When creating an **Evaluator** or running tests
2. Select your imported Plivo number as the **Caller ID**
3. Outbound test calls will originate from your Plivo number

### For Send DTMF Testing

Plivo numbers support the **Send DTMF** tool, letting your testing agent send DTMF keypress tones during a call. This is useful for testing scenarios that involve:

* **IVR menus** with keypress navigation
* **Voicemail systems** with tone-based inputs
* **Authentication flows** requiring PIN or code entry

<Note>
  Send DTMF is only supported for Cekura and Plivo phone numbers. Use your Plivo number or a Cekura-provided number for this functionality.
</Note>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Import Failed: Invalid Credentials">
    **Solution:**

    * Verify your Auth ID and Auth Token are correct
    * Ensure the Auth Token hasn't been regenerated
    * Check that your Plivo account is active and in good standing
  </Accordion>

  <Accordion title="Phone Number Already Imported">
    **Solution:**

    * Each Plivo number can only be imported once per Cekura project
    * Check if the number is already in your **Phone Numbers** list
    * Contact support if you need to update an existing import
  </Accordion>

  <Accordion title="Calls Not Routing Correctly">
    **Solution:**

    * Ensure the phone number is in E.164 format (e.g., `+12025551234`)
    * Verify your Plivo number has voice capabilities enabled
    * Check the Plivo Console for any account restrictions or errors
  </Accordion>
</AccordionGroup>

## Best Practices

<CardGroup cols={2}>
  <Card title="Secure Your Credentials" icon="lock">
    Store Auth Tokens securely and rotate them periodically.
  </Card>

  <Card title="Use Friendly Names" icon="tag">
    Label each number descriptively to quickly identify its purpose.
  </Card>

  <Card title="Monitor Plivo Usage" icon="chart-line">
    Track your Plivo usage and billing to avoid unexpected charges.
  </Card>

  <Card title="Test Before Production" icon="flask">
    Test your imported numbers with sample calls before production use.
  </Card>
</CardGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Create an Agent" icon="robot" href="/documentation/key-concepts/agents/overview">
    Set up your first agent using your imported Plivo number.
  </Card>

  <Card title="Run Tests" icon="play" href="/documentation/guides/testing-agents/overview">
    Start testing your voice agents with automated scenarios.
  </Card>

  <Card title="Monitor Calls" icon="chart-simple" href="/documentation/guides/observability/custom">
    Track and analyze call performance in real-time.
  </Card>

  <Card title="Integrations" icon="plug" href="/documentation/integrations/retell/testing">
    Connect other providers like Retell, VAPI, and ElevenLabs.
  </Card>
</CardGroup>

## Need Help?

If you encounter any issues importing your Plivo numbers, contact our support team at [support@cekura.ai](mailto:support@cekura.ai).
