# Исходящий с набором внутреннего номера

Допустим есть некий номер **8-495-000-00-00**, позвонив на который и набрав добавочный можно попасть на конкретного сотрудника. Это бывает крайне удобно, особенно если добавочный номер длиннее 3х символов. Далее опишем пример реализации задачи.

1. Для решения задачи следует описать дополнительные контексты через меню [Кастомизация системных файлов](/mikopbx/manual/system/custom-files.md).

<figure><img src="/files/tPQEBdHWkKgFsxm0VAYp" alt=""><figcaption><p>меню <a href="/pages/om5RDUAyZBVmZDagy8Sv">Кастомизация системных файлов</a>.</p></figcaption></figure>

2. Править будем файл **extensions.conf**.

<figure><img src="/files/pYGn6zD1o22AfWcA9Xjd" alt=""><figcaption><p>Правка файла "<strong>extensions.conf"</strong></p></figcaption></figure>

3. Добавьте в конец файла следующий текст:

   ```php
   [z-outgoing]
   exten => _X!,1,Ringing()
     same => n,Gosub(${ISTRANSFER}dial,${EXTEN},1)
     same => n,Dial(PJSIP/${EXTEN}@${ZPROVIDERID},600,${DOPTIONS}TKU(z-dial-answer)b(dial_create_chan,s,1))
     same => n,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))
     same => n,Set(pt1c_UNIQUEID=${EMPTY_VALUE})
     same => n,ExecIf($["${BLINDTRANSFER}x" != "x"]?AGI(check_redirect.php,${BLINDTRANSFER}))
     same => n,Hangup()

   [z-dial-answer]
   exten => s,1,NoOp(Answered send DTMF...)
     same => n,Gosub(dial_answer,${EXTEN},1)
     same => n,SendDTMF(${ZDTMF})
     same => n,return
   ```

<figure><img src="/files/EZ7FYDCFS2Wvt4isOT9a" alt=""><figcaption><p>Добавление кода в конец файла файл "<strong>extensions.conf"</strong></p></figcaption></figure>

4. Далее необходимо описать [Приложения диалпланов](/mikopbx/manual/modules/dialplan-applications.md)

<figure><img src="/files/w7LfnLElWrzdpT6aC9Yx" alt=""><figcaption><p>Создание нового <a href="/pages/ThcqK9A8IArLNkWCoXx5">Приложения диалпланов</a></p></figcaption></figure>

5. Выберите «**Тип кода**» - «**Диалплан Asterisk**»

<figure><img src="/files/1zwbYR1jEj1caZz1hIvq" alt=""><figcaption><p>Указание типа кода Диалплана</p></figcaption></figure>

6. Допустим «донабрать» нужно номер **3542331**, установим это значение в «**Номер для вызова приложения**»

<figure><img src="/files/HMVClFTJbO1OP865mPB8" alt=""><figcaption><p>Указание номера "донабора" для вызова приложения</p></figcaption></figure>

7. Перейдите во вкладку "Программный код" Вставьте шаблон:

```php
1,Set(_ZDTMF=${EXTEN})
n,Set(_ZDST=84950000000)
n,Set(_ZPROVIDERID=SIP-1601534775)
n,Goto(z-outgoing,${ZDST},1)
```

<figure><img src="/files/vqlHwvYGaRX7cwKtODkz" alt=""><figcaption><p>Вставка шаблона во вкладку "Программный код"</p></figcaption></figure>

* Если в поле «**Номер для вызова приложения**» указать шаблон **9XXXX**, то станет возможно «донабрать» любые пятизначные номера, начинающиеся с цифры «**9**»
* В приложении переменной «**ZDST**» присвойте номер, на который следует совершить вызов
* В переменной «**ZDTMF**» следует указать номер для дополнительного набора
* В переменной «**ZPROVIDERID**» укажите идентификатор провайдера, через которого следует совершить исходящий вызов. ID можно подсмотреть в адресной строке браузера при редактировании провайдера


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mikopbx.com/mikopbx/faq/outbound-routing/outgoing-with-internal-number-dialing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
