Замена плана набора номера ARI для "динамических" входящих расширений

Я экспериментирую с интерфейсом ARI в Asterisk (v15.5). Мне удалось относительно хорошо разместить и управлять исходящими звонками, и сейчас я пытаюсь справиться с входящими звонками.

На моем тестовом сервере у меня нет плана набора номеров; в этом не было необходимости: я просто соединяюсь через ARI, каналы Originate и соединяю их вместе. Тем не менее, попытка отправить входящий вызов на сервер дает мне ошибку

chan_sip.c:26513 handle_request_invite: вызов от "upstreamserver" (192.168.xx:5060) к расширению "12345" отклонен, так как расширение не найдено в контексте "default".

Справедливо: Asterisk не знает о расширении 12345 или о том, что с ним делать. Я мог бы, конечно, добавить это в extensions.conf, поместить расширение в стазис и позволить моему приложению справиться с этим: однако, у этого есть два недостатка:

  • У нас есть потенциально сотни входящих номеров, и нам нужно было бы своевременно обновлять план набора
  • Мы хотели бы иметь несколько приложений ARI, подключающихся к серверу: кажется, нам нужно указать конкретное имя приложения для каждого расширения

В идеале, я хотел бы использовать ARI, чтобы программно сообщить Asterisk: эй, Asterisk, я приложение ARI, дайте мне знать, если есть какие-либо вызовы для расширения 12345, и я позабочусь о них для вас. Есть ли в настоящее время способ сделать это, или это вернулось к редактированию плана набора и ручному указанию его для моего приложения?

1 ответ

Если вы хотите контролировать все через ARI, вы должны сделать что-то вроде этого

[default]
exten => _.,1,Noop(need ban this <${CHANNEL(recvip)}>);use fail2ban
exten => h,1,Hangup
[from-trunk]
exten => _.,1,Stasis()
exten => h,1,Hangup

Вы не должны использовать контекст по умолчанию в ваших пирах / расширениях

Вы также можете использовать динамическое в реальном времени и fastagi для управления диалпланом.

Другие вопросы по тегам