Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

asterisk caller id транзитных звонков

0

Есть примерно такая структура:

PBX1 -> E1 ->

PBX2 -> E1 -> Asterisk -> PSTN

2-ве АТС по E1 подключены к Asterisk, который уже рулит исходящими вызовами в город, плюсом есть достаточное количество IP телефонов.

Сейчас Caller ID звонков, идущих от PBX1/2, задан на самих АТС в виде для PSTN. Это вызывает несколько проблем, в частности - на IP телефоны звонки внутренних АТС приходят с городским Caller ID, а не со внутренним, что создает некоторую путаницу. Второй проблемой является одинаковый Caller ID у некоторых экстеншенов АТС, что тоже путает пользователей IP телефонов. Есть желание проставить Caller ID на обоих АТС равными внутренним номерам АТС, а при звонке наружу модифицировать их на Asterisk.

Собственно вопрос: какой способ модификации Caller ID при исходящем звонке наиболее правилен в данной ситуации ?

Вот такой, например, работает

[pstn]
exten => s,1,NoOp(${CALLERID(num)})
exten => s,n,ExecIf($[${CALLERID(num)}=2555]?Set(CALLERID(num)=8127972222))

Смущает количество ExecIf равное количеству номеров внутренних АТС, то есть при звонке наружу будет очень длинная проверка.

Есть второй вариант - прописать на АТС Caller ID в виде внутреннийномер+внешнийномер, например вот так 25558127972222 и далее уже при звонке наружу отрезать правые цифры Caller ID для PSTN, при звонке внутри отрезать левые цифры внутреннего номера, технически это будет работать быстрее, но базы Caller ID остаются на АТС, хотелось бы их держать на Asterisk, чтобы рулить всем из одного места.

В общем посоветуйте, как наиболее правильно сделать ?

удалить закрыть спам изменить тег редактировать

спросил 2014-09-06 20:23:34 +0400

xorand Gravatar xorand
51 1 3

обновил 2014-09-06 20:27:59 +0400

1 Ответ

1

Правильней будет устанавливать номер при выходе звонка в город. Если номера привязаны к внутренним , то используйте БД для назначения. Например

exten=> _X.,ExecIf($[${DB_EXISTS(CID/${CALLERID(num)})]?Set(CALLERID(num)=${DB(CID/${CALLERID(num)})})
exten=> _X.,Dial(TECH/OUT_TRUNK/NUM)
ссылка удалить спам редактировать

ответил 2014-09-07 00:50:41 +0400

zzuz Gravatar zzuz flag of Russian Federation
6744 2 6 69
http://line24.ru/

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2014-09-06 20:23:34 +0400

Просмотрен: 266 раз

Обновлен: Sep 07 '14

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.