Как позвонить на номер PSTN с программного SIP-телефона через Asterisk

Как позвонить на номер PSTN с программного SIP-телефона через Asterisk

Я начинаю работать с Asterisk. Все, что я хочу сделать, это позвонить на номер PSTN с SIP-софтфона. Я просмотрел последнее издание книги: Asterisk, the Definitive Guide и сделал обычный поиск решения в Google, но безрезультатно.

Вот что я уже сделал с помощью софтфона Ekiga.

Мне удалось зарегистрироваться с помощью программного телефона. Asterisk "sip show peers" правильно выводит список зарегистрированных расширений. Я настроил chan_dahdi.conf для карты PRI. Я настроил файл sip.conf. В обоих этих файлах я назвал контексты, которые затем определяются в файле extensions.conf.

Когда я пытаюсь позвонить на номер PRI извне, срабатывает расширение плана набора, которое соответствует общему шаблону. Я могу выполнить приложение Dial(DAHDI/g0/1234567890) на одном из шагов. Оно звонит на номер PSTN. Поэтому я знаю, что настройка оборудования и базовая установка драйверов Dahdi, драйверов карты PRI и т. д. выполнены.

Я не могу понять, как сделать внешний звонок через программный телефон. Что нужно сделать, чтобы подключить URI в SIP-телефоне к добавочному номеру Dahdi в плане набора для совершения звонка. Другими словами, как мне, например, достичь этого:

exten => _X.,1, Набрать(DAHDI/g0/1234567890)

с программного телефона?

Здесь номер статически указан в диалплане.

Если я установлю это как действие в другом расширении SIP, а затем попытаюсь обратиться к этому SIP URI с программного телефона, он выдаст сообщение о том, что пользователь недоступен.

решение1

Единого способа сделать это не существует.

Вот один из способов:

Я определил свои добавочные номера, начинающиеся с любой цифры, кроме 9, и использую 9 для обозначения того, что это звонок по телефонной сети общего пользования.

Добавьте extensions.confчто-то вроде этого:

exten => _9X.,1,NoOp(Call to PSTN)
exten => _9X.,n,Dial(DAHDI/g0/${EXTEN:1})

Поместите его в тот же контекст, куда вы помещаете диалплан для расширений. Контекст определяется в заголовке в скобках, например, [internal]или [default].

Это означает, что всякий раз, когда вы набираете номер, он 9+somethingотбрасывает первую цифру, берет остальную часть номера и набирает ее через DAHDI/g0.9снаружииндикатор.

Помните, что любой добавочный номер в том же контексте сможет звонить на PSTN.


Вот еще один способ сделать это:

Если вы знаете длину цифр для внешнего звонка (предположим, что это всегда 7 цифр), то вы можете сделать следующее:

exten => _XXXXXXX,1,NoOp(Call to PSTN)
exten => _XXXXXXX,n,Dial(DAHDI/g0/${EXTEN})

Всякий раз, когда вы набираете номер длиной в 7 цифр, он будет перенаправлен на PSTN. Ваши добавочные номера должны быть короче этого.

Связанный контент