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

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

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

Теоретический курс "Сетевые технологии для системных администраторов" позволит системным администраторам упорядочить и восполнить пробелы в знаниях. Цена очень доступная, есть ознакомительные уроки. Все подробности по ссылке. Можно пройти тест на знание сетей, бесплатно и без регистрации.

Для отладки и тестирования работы voip я рекомендую сервис Zadarma. Плюс его в том, что после регистрации вы получите настройки пира для внутренней сети оператора. И внутри этой сети вы можете бесплатно звонить. Например, я одного пира регистрирую на sip клиенте смартфона и с него звоню на второй аккаунт, пир от которого настроен в астериске. Таким образом эмулирую внешний звонок. Удобно отлаживать различные конфигурации звонков, не требуя платного подключения.

Я для примера возьму конфигурацию из своей статьи по настройке 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:

Онлайн курcы по Mikrotik

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курcы по программе, основанной на информации из официального курcа MikroTik Certified Network Associate. Помимо официальной программы, в курcах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте Курcы по ИТ. Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области. Особенности курcов:
  • Знания, ориентированные на практику;
  • Реальные ситуации и задачи;
  • Лучшее из международных программ.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

12 комментариев

  1. Richard Faraday

    Помогите разобраться. У меня есть 2 астера, сединены iax2, разные номерные планы (1XX и 2XX) и второй может через первый выходить в город. Вопрос такой, если я звоню с одного на другой по внутренним номерам (например с номера 201 на 102), то я могу на принимающем телефоне видеть номер вызывающего, если : exten => _1XX,1,Set(CALLERID(all)=${CALLERID(num)}) и при этом могу перезвонить обратно. Как сделать так, чтобы при входящем показывало не просто номер, а например Office-2 201 т.е. номер с названием и чтобы можно было перезвонить назад (иначе он звонит не по номеру, а на asterisk и не находит такого). Может быть это от сипфона зависит?
    exten => _1XX,1,Set(CALLERID(all)=Ast-2 ${CALLERID(num)})

  2. Здравствуйте! А как увидеть транк в журнале звонков? На софтфонах Zoiper, CSipSimple номер транка не попадает в журнал звонков.

  3. Михаил

    Идею не озвучить? Чтобы было от чего оттолкнуться

    • Первое, что пришло в голову - при звонке сохранять пару звонивший/ответивший, а потом ее передавать при переадресации (это будет уже новый звонок), заменяя то, что будет в CALLERID нового звонка. Но надо еще понимать, что переадресация бывает условная и безусловная. Так что задача не простая, надо разбираться.

  4. Михаил

    Добрый день!
    Есть возможность провернуть похожий трюк при переводе звонка, чтобы показать кто перевел вызов?

    • А разве по-умолчанию не видно, от кого переводят? Я уже не помню таких подробностей, давно астериски не настраивал. Думаю, что можно вывести.

      • Михаил

        Вот совсем я не спец в астериске... У меня только переводимый номер светится (как-будто прямо мне и звонят), а хотелось бы ещё понимать кто перевел (при слепом переводе звонка)
        Есть идеи как настроить?

        • Идеи есть, но готового решения нет. Если вы не спец, вряд ли сами сделаете. Надо немного разбираться.

  5. Добрый день ! Не подскажите, как организовать транк Астериск и ATC SIS 3000?

  6. Добрый день! А как такую штуку во FreePBX 13 реализовать?

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar