Решение проблемы

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


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

Я для примера возьму конфигурацию из своей статьи по настройке 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, и указан номер звонящего. Таким образом, вы можете пометить все необходимые транки в контексте входящих звонков. При входящем звонке будет явно видно, через какой канал позвонили.


СМОТРИ ТАКЖЕ