Доброго времени суток. Целый день шерстю интернет в поисках решения проблемы. От провайдера приходят номера формата 7XXXXXXXXXX для корректной работы с адресной книгой внешней необходимо добавить к номерам "+" в начале. У транка используется контекст from-tunk. После изучения материалов в интернете сделал вывод что надо в файле extensions_custom.conf добавить раздел [from-pstn-custom] и там свершать манипуляции с номером.
exten=>_7XXXXXXXXXX,1,Set(CALLERID(num)=+${CALLERID(num)})
Вот такую строку создал (если ошибочная не ругайте только учусь астериску). Но делу это не помогло...
При входящем звонке в консоли вот такой выхлоп:
-- Executing [s@from-trunk:1] ExecIf("SIP/XXX335-0000011f", "1?Set(__FROM_DID=s)") in new stack
-- Executing [s@from-trunk:2] Gosub("SIP/XXX335-0000011f", "app-blacklist-check,s,1()") in new stack
-- Executing [s@app-blacklist-check:1] GotoIf("SIP/XXX335-0000011f", "0?blacklisted") in new stack
-- Executing [s@app-blacklist-check:2] Set("SIP/XXX335-0000011f", "CALLED_BLACKLIST=1") in new stack
-- Executing [s@app-blacklist-check:3] Return("SIP/XXX335-0000011f", "") in new stack
-- Executing [s@from-trunk:3] Set("SIP/XXX335-0000011f", "CDR(did)=s") in new stack
-- Executing [s@from-trunk:4] ExecIf("SIP/XXX335-0000011f", "0 ?Set(CALLERID(name)=7967XXXXXXX)") in new stack
-- Executing [s@from-trunk:5] Set("SIP/XXX335-0000011f", "CHANNEL(musicclass)=default") in new stack
-- Executing [s@from-trunk:6] Set("SIP/XXX335-0000011f", "__MOHCLASS=default") in new stack
-- Executing [s@from-trunk:7] Set("SIP/XXX335-0000011f", "__CALLINGPRES_SV=allowed_not_screened") in new stack
-- Executing [s@from-trunk:8] Set("SIP/XXX335-0000011f", "CALLERPRES()=allowed_not_screened") in new stack
-- Executing [s@from-trunk:9] Goto("SIP/XXX335-0000011f", "ext-group,600,1") in new stack
-- Goto (ext-group,600,1)
и т.д. Отсюда мне стало что мой контекст из from-pstn-custom был проигнорирован. Зато непонятно откуда взялось
-- Executing [s@from-trunk:4] ExecIf("SIP/XXX335-0000011f", "0 ?Set(CALLERID(name)=7967XXXXXXX)") in new stack
Вот тут я и застрял, друзья. Помогите пожалуйста разобраться куда дальше копать.
Вам в extensions_custom.conf нужно добавлять отдельные контексты, что вы и сделали, написав туда [from-pstn-custom], но ведь звонки с транка не попадают в этот контекст, раз вы указываете четко, что они попадают в контекст from-tunk. Кроме того, такого содержания контекста недостаточно для нормальной работы, так как после установки номера вызывающего со звонком ничего не произойдет.
В вашем случае нужно
[from-pstn-custom]
exten => s,1,Set(CALLERID(num)=+${CALLERID(num)})
exten => s,n,Goto(ext-did,${EXTEN},1)
а почему в последнем шаге не в контекст from-trunk отправить?
vanomel ( 2015-08-12 06:28:02 +0400 )редактироватьприйдем к указанному вами контексту, так что особо без разницы.
vanomel ( 2015-08-12 18:02:15 +0400 )редактироватьА Вы попробуйте у себя. Заодно узнаете , что такое логическая петля.
zzuz ( 2015-08-13 01:14:16 +0400 )редактироватьА зачем именно "+" ставить? Если приходит 7XXXXXXXXXX, то и отправляйте провайдеру 7XXXXXXXXXX.
А вот как у меня:
Иногда софтфон может быть на смартфоне. И перезванивать приходится через обычный телефон. Плюс мобильные контакты чаще всего записываются именно с +7 .
zzuz ( 2015-08-11 16:52:31 +0400 )редактироватьтогда на исходящем маршруте в elastix нужно сделать: (8) + +7 | [9XXXXXXXXX / XXX]. У меня с софтфона все работает из записной книжки, где номера начинаются с +7
Поправил свой ответ
zavulon ( 2015-08-11 21:03:33 +0400 )редактироватьА если исходящий не идет через астериск , но приходит с него?
zzuz ( 2015-08-12 00:45:17 +0400 )редактироватьЭто вы даете рецепт по исходящим звонкам, а в теме идет речь о модификации callerid при входящих.
vanomel ( 2015-08-12 06:26:45 +0400 )редактироватьЗадан: 2015-08-11 15:24:49 +0400
Просмотрен: 1,084 раз
Обновлен: Aug 11 '15
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.