У меня появилась задача вывести на экран телефона не только номер звонящего, но и транк, через который идет звонок. Эта задача актуальна, если у вас несколько входящих номеров и вы хотите видеть во время звонка на экране телефона не только номер звонящего, но и на какой номер он звонит. В asterisk это сделать совсем не сложно. Ниже я расскажу как.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Для отладки и тестирования работы 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:
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
- Установка и настройка астериск с нуля
- Мониторинг asterisk в zabbix
- Соединение двух серверов астериск
- Анализ SIP трафика
- Замена +7 на 8 и наоборот
- Ограничение на звонки для группы номеров
Помогите разобраться. У меня есть 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)})
Здравствуйте! А как увидеть транк в журнале звонков? На софтфонах Zoiper, CSipSimple номер транка не попадает в журнал звонков.
Идею не озвучить? Чтобы было от чего оттолкнуться
Первое, что пришло в голову - при звонке сохранять пару звонивший/ответивший, а потом ее передавать при переадресации (это будет уже новый звонок), заменяя то, что будет в CALLERID нового звонка. Но надо еще понимать, что переадресация бывает условная и безусловная. Так что задача не простая, надо разбираться.
Спасибо! Прошел курить мантры)
Добрый день!
Есть возможность провернуть похожий трюк при переводе звонка, чтобы показать кто перевел вызов?
А разве по-умолчанию не видно, от кого переводят? Я уже не помню таких подробностей, давно астериски не настраивал. Думаю, что можно вывести.
Вот совсем я не спец в астериске... У меня только переводимый номер светится (как-будто прямо мне и звонят), а хотелось бы ещё понимать кто перевел (при слепом переводе звонка)
Есть идеи как настроить?
Идеи есть, но готового решения нет. Если вы не спец, вряд ли сами сделаете. Надо немного разбираться.
Добрый день ! Не подскажите, как организовать транк Астериск и ATC SIS 3000?
Добрый день! А как такую штуку во FreePBX 13 реализовать?
Не знаю, с freepbx не работаю.