Home » Asterisk » Вывод транка вместе с номером звонящего в asterisk

Вывод транка вместе с номером звонящего в asterisk

У меня появилась задача вывести на экран телефона не только номер звонящего, но и транк, через который идет звонок. Эта задача актуальна, если у вас несколько входящих номеров и вы хотите видеть во время звонка на экране телефона не только номер звонящего, но и на какой номер он звонит. В asterisk это сделать совсем не сложно. Ниже я расскажу как.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти .

Я для примера возьму конфигурацию из своей статьи по настройке asterisk. Допустим, у нас есть контекст call-in, в который приходит входящий звонок с одного из транков:

[call-in]
exten => 397945,1,Dial(SIP/100)

Здесь явно не задано, что отображать на экране аппарата, поэтому скорее всего мы увидим номер звонящего, хотя это будет зависеть от настроек провайдера, но чаще всего это так. В данном случае 397945 — транк провайдера zadarma. Теперь сделаем так, чтобы при звонке от провайдера, мы увидели его явно на экране телефона:

[call-in]
exten => 397945,1,Set(CALLERID(name)=Zadarma ${CALLERID(num)})
exten => 397945,n,Dial(SIP/100)

Вместо Zadarma вы можете вывести любую строку. Если полное название транка и номера звонящего не влезает на экран аппарата, то используйте не имена транков, а условные обозначения в виде цифр или буквенных сокращений. Перечитываем dialplan и проверяем:

Отображение на экране транка входящего звонка

В данном случае я позвонил с другого аккаунта задарма с номером 675393. На экране софтфона видно, что звонок идет с транка, который я обозвал Zadarma, и указан номер звонящего. Таким образом, вы можете пометить все необходимые транки в контексте входящих звонков. При входящем звонке будет явно видно, через какой канал позвонили.

Другие материалы по asterisk:

Онлайн курс "Data Engineer"

Онлайн-курс Data Engineer – для разработчиков, администраторов СУБД и всех, кто стремится повысить профессиональный уровень, освоить новые инструменты и заниматься интересными задачами в сфере работы с большими данными. Курс не для новичков – нужно пройти вступительный тест. Выпускники курса смогут:
  • разворачивать, налаживать и оптимизировать инструменты обработки данных;
  • адаптировать датасеты для дальнейшей работы и аналитики;
  • создавать сервисы, которые используют результаты обработки больших объемов данных;
  • отвечать за архитектуру данных в компании.
Проверьте себя на вступительном тесте и смотрите программу детальнее по .

Помогла статья? Есть возможность отблагодарить автора

Автор Zerox

Zerox
Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству.

Добавить комментарий

Ваш e-mail не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.