По порядку:
Установил FreePBX 2.7.0.2.
Настроил две входящие аналоговые линии.
Настроил 4 ИП/сип транка. Все с провайдером uiscom.ru.
Теперь бьюсь со следующими задачами.
Когда приходит звонок от uiscom, на телефоне определяется внутренний номер uiscom. А надо чтобы писалось имя компании которой принадлежит этот номер. Пробовал делать по этой инструкции: http://www.freepbx.org/support/documenta ... g-callerid
Однако либо я что-либо не понимаю, либо инструкция устарела.
Так-же у меня стоит модуль Set CallerID, однако нигде не нашел как его настраивать и как им пользоваться вообще. Я так понимаю, что надо создать callerid, затем на него перевести входящую маршрутизацию, а после этого в callerid указать куда переводить звонок. Однако входящая маршрутизация так и идет по правилу "любой DID / любой CID". А по правилу ХХХХ58 / ХХХХ58 так ничего и не приходит.
Буду очень признателен, если дадите ссылки на темы, где это уже поднималось или обсуждалось.
Ну а так-же буду очень признателен за советы или пояснения, какие конфиг файлы в freepbx за что отвечают. А то там сам чорт ногу сломит, какие-то генеряться, какие-то пустые. Может быть есть какой-нибудь мануал на русском по freepbx?
_________________
Gentoo Linux || Asterisk 11.2-cert3
Решения телефонии на базе Asterisk || http://it-need.ru
| aven писал(а): |
| Поиск -> AFOT |
Нашел, скачал, обязательно осилю за выходные. Спасибо огромное.
А по насущным вопросам подскажите?
_________________
Gentoo Linux || Asterisk 11.2-cert3
Решения телефонии на базе Asterisk || http://it-need.ru
У меня для входящей связи используется оператор Урал связь информ. Я не понимаю почему им не позволяет религия, но звонки из России они присылают без кода страны. То-есть например звонок с сотового приходит начиная с 9. А звонки из других стран присылают нормально, с кодом страны.
Я хочу сделать систему callback. И для того чтобы получалось перезвонить по номеру звонившего, мне надо поправить его номер. Модулем setCalledId я воспользовался. Добавляю к входящему номеру 8, но при звонке из другой страны, надо бы добавить 810. В правилах inbound routes в поле callerid, как я понимаю, не возможно использование переменных. Вот и вопрос, как же мне распознать откуда пришёл звонок, чтобы применить разные правила для setCallerid?
Версия * 1.6.2.9, freepbx 2.8.0
Можно в inbound routes создать два правила. В одном Caller ID Number: XXXXXXXXXX это Россия и надо добавить 8. А во втором Caller ID Number: XXXXXXXXXXX, то это из-за пределов страны и надо перенаправлять в другой setcallerid, где дописать 810.
Но переменные в поле Caller ID Number: не работают.
UPD: чё то не совсем то что надо.
Не хочется просто переносить входящие звонки в отдельный context. Их тогда из freepbx вообще конфигурировать будет нельзя. Ну да видимо придётся.
Последний раз редактировалось: ColdSUN (Пт Июл 23, 2010 09:47)
В этом контексте только три строки
exten => s,n,ExecIf($[${LEN("${CALLERID(number)}")} s,n,ExecIf($[${LEN("${CALLERID(number)}")} > 10] ?Set(CALLERID(number)=810${CALLERID(number)}))
exten => s,n(dest-ext),Goto(from-trunk)
И тогда уже обрабатывать это как обычный входящий.
Как бы получается, что этот контекст у меня в промежутке между входом из транка и inbound routes.
Спасибо за помощь.
Added after 30 minutes:
Не взлетело. Звонок приходит в астериск, и затыкается.
Видимо не уходит по этой строке.
exten => s,n(dest-ext),Goto(from-trunk)
Added after 3 hours 23 minutes:
В общем для тех кто может быть столкнётся с похожей проблемой, я решил её так:
Не стал прописывать контекст в транке, а оставил там from-trunk.
Далее добавил Custom Destination: app-setcid-custom,1,1
На этот custom destination отправил звонок в inbound routes.
До этого у меня уже был SetCallerID в котором было прописано добавлять 8 и куда после этого дальше отправлять звонок.
в extensions_custom.conf прописал следующее:
[app-setcid-custom]
exten => 1,1,Noop(Changing Callerid; (add prefix))
exten => 1,n,ExecIf($[${LEN(${CALLERID(num)})} 1,n,Set(CALLERID(name)=${CALLERID(num)})
exten => 1,n,Goto(app-setcid,1,4)
Последняя строка это отправка на Destination из прописанного SetCallerID. "1" означает первый SetCallerID, их ведь может быть несколько.
Таким образом можно направление звонка после добавления префикса изменять из web интерфейса FreePBX.
Всем спасибо.
[from-pstn-custom]
exten => _X!,1,Noop(Changing Callerid; (add prefix))
exten => _X!,n,ExecIf($[${LEN(${CALLERID(num)})} from-pstn
| Цитата: | |
| ExecIf($[${LEN(${CALLERID(num)})}
| |
| В данном конкретном случае короткие международные номера не интересовали. Когда абонент начнет на других АТС набирать 0 или 00, тогда и здесь поменяю, сославшись на глобальные изменения в правилах набора номеров. А вот с адресными книгами будут проблемы. Но это уже другая тема. | |