90 просмотров
от (150 баллов) в категории Тонкая настройка
редактировать от

Добрый день, облазил весь FAQ и прочитал все ответы на подобные вопросы на форуме но решения своей проблемы не нашел.
Задача классическая, предопределить исходящий CID для каждого сотрудника или в моем случае для группы сотрудников.
Воспользовался решением из FAQ где в extensions.conf добавил 

[SIP-1598090504-outgoing-custom]

exten => _.!,1,NoOp(callerid settings)

    same => n,ExecIf($["${MIKO_CALLERID_NUM}x" != "x"]?Set(CALLERID(num)=${MIKO_CALLERID_NUM}))

    same => n,ExecIf($["${MIKO_CALLERID_NUM}x" != "x"]?Set(CALLERID(name)=${MIKO_CALLERID_NUM}))  

    same => n,return

а в доп параметрах учетки сотрудника добави

setvar=MIKO_CALLERID_NUM=74952293333

Но по итогу все равно не получаю никаких изменений. 
outgoing-custom насклько я понимаю настроил нормально, потому что при звонке вызов заходит в данный контекст, но ExecIF не исполняется, а возвращает 0.

    -- Executing [79161111111@SIP-1598090504-outgoing-custom:2] ExecIf("PJSIP/201-00000020", "0?Set(CALLERID(num)=)") in new stack

    -- Executing [79161111111@SIP-1598090504-outgoing-custom:3] ExecIf("PJSIP/201-00000020", "0?Set(CALLERID(name)=)") in new stack


Подскажите пожалуйста в чем может быть проблема.

Советы вроде установить шлюзовый номер на весь транк в после fromuser не подойдут, так как через единый транк должно выходить несколько номеров в зависимости от того сотрудник какого отдела звонит.

UPD 1


При убирании ExecIF и принудительном SET ситуация сохраняется.
 

    same => n,Set(CALLERID(num)=${MIKO_CALLERID_NUM})

    same => n,Set(CALLERID(name)=${MIKO_CALLERID_NUM}) 

Такое ощущение что setvar не отрабатывает.

 

1 Ответ

от (66.2 тыс. баллов)
выбран от
 
Лучший ответ

Задача решается установкой дополнительного модуля:

Провайдер должен поддерживать функцию изменения callerid. 

Если не работает, снимите дамп звонка и вышлите провайдеру для комментариев с его стороны:

от (150 баллов)
Спасибо большое за ответ, сегодня протестирую. Мы и есть провайдер, так что с этим проблем возникнуть не должно.
Подскажите, а старый вариант который я описал в самом вопросе более не функционирует или я неправильно понял схему его работы?
от (66.2 тыс. баллов)

Согласно вашему логу переменная "MIKO_CALLERID_NUM" не определена. 

Старые инструкции в целом могут быть использованы, но в новой версии АТС используется chan_pjsip. В нем отличается принцип установки переменных для пира (endpoint).

Нужно попробовать что то вроде:

[endpoint]

set_var=MIKO_CALLERID_NUM=7925...

На этом сайте можно бесплатно задать вопрос разработчикам MikoPBX и другим членам сообщества. Время ответа не регламентированно, но мы стараемся несколько раз в день заглядывать сюда. Для срочного решения проблем обращайтесь на платную линию поддержки

Популярные теги

askozia настройка входящие-вызовы провайдер запись-разговоров маршрутизация ivr провайдеры askozia7 очередь маршрут askozia6 запись очередь-вызовов исходящие-звонки обновление переадресация факс перевод-вызова транк callerid перехват-вызова веб-интерфейс перевод ascozia история мобильный интеграция установка логи редактор звонок nat настройка-провайдер релиз goip аон маршруты провайдеров голосовая-почта панель-телефонии-1с разговоров битрикс телефонная-книга диалплан тишина smtp почта gsm вызовы asterisk лицензия панель askozia-5 bitrix24 донабор переадресация-мобильный префиксы время исходящие голосовая парковка перехват вызовов номер vmware мультифон мегафон внешние-номера запись-разговора задержки статистика monitoring звонков ошибка меню skype sip ssh 2 телеграм консольное web-интерфейс нерабочее-время mikopbx дополнительный-диск распределение память проброс-портов битрикс24 beta настройка-исходящие-исходящих-вызов-вызовов сетевые подменю goip4 отправка-факса демо-версия железо grandstream

1.7 тыс. вопросов

1.5 тыс. ответов

3.7 тыс. комментариев

4.2 тыс. пользователей

...