790 просмотров
от (470 баллов) в категории Тонкая настройка
Добрый день!

Подскажите, как можно настроить формат вывода входящего CallerID?

К примеру поступает звонок с номера +74995554433, а я хочу что бы ко мне приходил (на телефон, 1с, софтфон и т.д.) номер без когда страны и города. Т.е. 5554433

Но это только к примеру если будут идти с Московских кодов (495, 499), а остальные, к примеру с СпБ (812) или с сотовых, пусть показываются в полном формате

1 Ответ

от (123 тыс. баллов)

См; инструкции https://wiki.mikopbx.com/faq:cid_norm

Строка удаления префикса может иметь вид:
    same => n,Set(CALLERID(num)=${REPLACE(CALLERID(num),"+7499")})
от (470 баллов)
Спасибо, будем изучать.
от (470 баллов)
Посмотрел инструкцию https://wiki.mikopbx.com/faq:cid_norm , возник вопрос
Не раскрыто что надо таки писать в скобках exten => _.!,1,NoOp ()
по по пункту 4-ре идет (---), далее на картинке идет (from_did)
В любой случае, как я не добавляю, если есть строка exten => _.!,1,NoOp, то звонок не проходит.
Без это строки и просто с same => n,Set(CALLERID(num)=${REPLACE(CALLERID(num),"3919")}) не происходит нормализация как мне надо входящего номера.
В данном случае мне приходит вызов в формате 3919ХХХХХХ, я хочу что бы оставалось только ХХХХХХ

Лог снятый с помощью https://wiki.mikopbx.com/faq:putty_log
Лежит тут https://yadi.sk/d/elVc9ZiEbL9NFw
от (123 тыс. баллов)
согласно инструкции вам предложено описать свой контекст в формате
[ID-ПРОВАЙДЕРА-incoming-custom]

Из лога, видно:

-- Executing [3919405569@SIP-1564522102-incoming:11] GosubIf("SIP/SIP-1564522102-00000018", "0?SIP-1564522102-incoming-custom,3919405569,1") in new stack

Сообщение означает, что контекст "SIP-1564522102-incoming-custom" не определен на вашей АТС.

Пробуйте описать что то вроде:

[SIP-1564522102-incoming-custom]
exten => _.!,1,NoOp(---)
    same => n,Set(CALLERID(num)=${REPLACE(CALLERID(num),"3919")})
    same => n,return

Первая (exten) и последняя (return) строка обязательно должны присутствовать.
от (470 баллов)
добавление same => n,return помогло
Как-то начало работать, но не совсем.
В истории звонков видно, что вызов проходит
Историю звонков написал в файле
Лог добавил
Все там же на https://yadi.sk/d/elVc9ZiEbL9NFw

И подскажите пожалуйста, как будет если надо добавить +7
Так как все номера приход в 10-ти значном формате, а я хочу что бы на телефонах отображалось +7хххххххххх

В инструкции там есть пример, но по добавлению только цифр, а тут знак +
от (123 тыс. баллов)
Если нужно исключить подстроку +7499
same => n,Set(CALLERID(num)=${REPLACE(CALLERID(num),"+7499")})

Если нужно исключить подстроку 3919
same => n,Set(CALLERID(num)=${REPLACE(CALLERID(num),"3919")})

Если нужно исключить подстроку 913
same => n,Set(CALLERID(num)=${REPLACE(CALLERID(num),"913")})

Для 11ти значного номера отсекаем первую цифру и добавляем +7
    same => n,ExecIf($[ ${LEN(${CALLERID(num)})} == 11 ]?Set(CALLERID(num)=+7${CALLERID(num):1}))
от (470 баллов)
Исключить надо только 3919 в начале 10-ти значного номера.
И правило задано только на это
same => n,Set(CALLERID(num)=${REPLACE(CALLERID(num),"3919")})

Но в итоге удаляется 913 из 10-ти значного номера, а из 10-ти значного номера 3919416ХХХ остается только 4-ре цифры.
В файле я же это описал.

По +7. Отсекать ничего не надо. Приходят номера 10-ти значные. Надо только добавить +7
от (123 тыс. баллов)
Для 10ти значного номера  добавляем +7
    same => n,ExecIf($[ ${LEN(${CALLERID(num)})} == 10 ]?Set(CALLERID(num)=+7${CALLERID(num)}))


// Но в итоге удаляется 913 из 10-ти значного номера

По логу не видно какой dialplan используется. Приложите вывод команды
dialplan show SIP-1564522102-incoming-custom
от (470 баллов)
Попробуем с добавлением.

Команду dialplan show SIP-1564522102-incoming-custom где дать?
Если захожу по PuTTY
То пишется
-sh: dialplan: not found
от (123 тыс. баллов)
Это команда консоли asterisk.
Чтобы перейти в консоль необходимо выполнить команду
asterisk -r

Либо можно выполнить команду без перехода в консоль:
asterisk -rx'dialplan show SIP-1564522102-incoming-custom'
от (470 баллов)
Дав эту команду, я виду собственно то что я добавил в extensions.conf
а именно
[ Context 'SIP-1564522102-incoming-custom' created by 'pbx_config' ]
  '_.!' =>          1. NoOp(---)                                  [pbx_config]
                    2. Set(CALLERID(num)=${REPLACE(CALLERID(num),"3919")}) [pbx_config]
                    3. return()                                   [pbx_config]

-= 1 extension (3 priorities) in 1 context. =-
от (470 баллов)
Какие варианты?
от (470 баллов)
Обновился на версию 7.3.13.155
Тоже самое. (
от (470 баллов)
И в версии 7.3.13.160 не работает
На этом сайте можно бесплатно задать вопрос разработчикам MikoPBX и другим членам сообщества. Время ответа не регламентированно, но мы стараемся несколько раз в день заглядывать сюда. Для срочного решения проблем обращайтесь на платную линию поддержки

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

askozia входящие-вызовы настройка исходящие маршрутизация провайдер запись-разговоров входящие ivr исходящие-звонки обновление ошибка очередь битрикс24 провайдеры очередь-вызовов переадресация запись установка маршрут история-звонков mikopbx транк панель-телефонии-1с перевод-вызова перевод askozia7 askozia6 битрикс callerid интеграция голосовая-почта логи перехват-вызова ростелеком нерабочее-время bitrix24 факс модуль nat docker запись-разговора веб-интерфейс goip настройка-провайдер история диалплан почта журнал-звонков релиз gsm вызовы звонок внешние-номера web-интерфейс zabbix маршруты cdr sip панель pjsip переадресация-мобильный voicemail ascozia телефонная-книга аон мобильный звонков лицензирование вызовов редактор номер asterisk лицензия ami регистрация оповещения провайдеров время голосовая fax trunk разговоров группы-пользователей #mikopbx пропущенные-звонки донабор beeline monitoring тишина smtp cisco мобильные мультифон мегафон шлюз не-работает электронная-почта не-слышно-звук

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

2.4 тыс. ответов

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

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

...