Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / Манипуляция CALLERID

Манипуляция CALLERID

Как бы мне все это завернуть :-\
Откуда: Astana
Сообщений: 48

Манипуляция CALLERID

Привет всем!!!
Есть небольшой вопросик.
Схемка: PSTN <--> АТС<-->Cisco 3725<-->Astersik
На АТС пул номеров(около 100) завернут на Циску, с Циски они направляются на Астериск.
На сколько я понял, пул номеров идет с перфиксом города (7172)и далее 6 циферок. Другими словами на Астериск приходит набранный номер 7172654321, я хочу внутри Астериска использовать только 6 цифр т.е 654321.
Я хочу контролировать called(куда) и calling(кто) номера. Например:
1) Если звонят на номера расположенные на Астериске то при входящем звонке вырезать префикс 7172, и далее пускать только 6 циферок.
2) Если человек набирает звонок по городу(т.е. без 8ки и префикса 7172) то добавлять этот префикс(7172) и изменять номер звонящего (добавляя 7172).
Из документации я узнал, что функция CALLERID(datatype[,optional-CID]) имеет несколько типов данных : all, name, num, ani, dnid, or rdnis.
Насколько я понял мне нужно использовать только эти: num, ani.
Но вот как мне загнать в строчку этот префикс на выходе с Астериска??? :-(
Вот небольшой пример конфига:

[from-cisco]
exten => _7172654XXX,1,Set(CALLERID(num)=${EXTEN:-6:6})
exten => _7172654XXX,2,Goto(local)

[local]
exten => 654180,1,Dial(SIP/andrey,20)
exten => 654180,2,Hangup()

[before-to-cisco]
exten => _XXXXXX,1,Set(CALLERID(num)=7172${EXTEN})<< вот здесь мне нужно както добавить префикс 7172
exten => _XXXXXX,2,Set(CALLERID(ani)=7172${EXTEN})
exten => _XXXXXX,3,Goto(to-cisco| 1)
[to-cisco]
exten => _XXXXXXXXXX,1,Dial(SIP/${EXTEN}@192.168.8.1,20)
exten => _8XXXXXXXXXX,1,Dial(SIP/${EXTEN:1}@192.168.8.1,20)




2008-10-08 14:56

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Манипуляция CALLERID

ну в принципе все верно, но:
[from-cisco]
exten => _7172654XXX,1,Set(CALLERID(num)=${EXTEN:6})
exten => _7172654XXX,2,Goto(local)

[local]
exten => 654180,1,Dial(SIP/andrey,20)
exten => 654180,2,Hangup()

[before-to-cisco]
exten => _XXXXXX,1,Set(CALLERID(num)=7172${EXTEN})<< вот здесь мне нужно както добавить префикс 7172
;exten => _XXXXXX,2,Set(CALLERID(ani)=7172${EXTEN})
exten => _XXXXXX,2,Goto(to-cisco,7172${EXTEN},1)
[to-cisco]
exten => _XXXXXXXXXX,1,Dial(SIP/${EXTEN}@192.168.8.1,20)
exten => _8XXXXXXXXXX,1,Dial(SIP/${EXTEN:1}@192.168.8.1,20)
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2008-10-08 17:29

Откуда: Astana
Сообщений: 48

Re: Манипуляция CALLERID

switch:

ну в принципе все верно, но:
[from-cisco]
exten => _7172654XXX,1,Set(CALLERID(num)=${EXTEN:6})
exten => _7172654XXX,2,Goto(local)
Здравствуйте switch, ОГРОМНОЕ СПАСИБО что ответили на мой вопросик, но меня немножко настораживает то что нужно использовать ${EXTEN:6} вместо ${EXTEN:-6:6} ведь мне нужны последние 6 цифр, об этих возможностях я узнал тут http://voip.rus.net/tiki-index.php?page=Asterisk+Variables, возможно я еще что то недопонимаю или не знаю :-(
2008-10-09 07:34

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Манипуляция CALLERID

по синтаксису конструкция ${EXTEN:6} убирает первые 6 символов. в общем, выражения
${EXTEN:6}
и
${EXTEN:-6:6}
эквивалентны
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2008-10-09 07:50

Откуда: Astana
Сообщений: 48

Re: Манипуляция CALLERID

И еще вопросик, вот эту строчку Вы закоментировали, можно узнать почему?

switch:

;exten => _XXXXXX,2,Set(CALLERID(ani)=7172${EXTEN})

В этой строчке насколько я понимаю, я пытаюсь заменить номер звонящего с простого шестизначного номера на номер с префиксом города.
2008-10-09 10:01

Сообщений: 1573

Re: Манипуляция CALLERID

switch:

по синтаксису конструкция ${EXTEN:6} убирает первые 6 символов. в общем, выражения
${EXTEN:6}
и
${EXTEN:-6:6}
эквивалентны
Не совсем, потому что если использовать ${EXTEN:6} с номером 1234567890, то получиться - 7890.
А если - ${EXTEN:-6:6}, то - 567890

P.S. конструкция - ${EXTEN:-6:6} равнозначна ${EXTEN:-6}
2008-10-09 17:57

Откуда: Astana
Сообщений: 48

Re: Манипуляция CALLERID

Результаты тестов:
1)
[before-to-cisco]
exten => _XXXXXX,1,Set(CALLERID(num)=7172${EXTEN})
;exten => _XXXXXX,2,Set(CALLERID(ani)=7172${EXTEN})
exten => _XXXXXX,2,Goto(to-cisco,7172${EXTEN},1)

При использовании конфига с закоментированной второй строчкой (где используется CALLERID(ani) )
АТС показывает что номер вызываемого абонента идентичен вызывающему. При этом я звоню с софтового телефона на аппаратный, но звонка не происходит.
2)
[before-to-cisco]
exten => _XXXXXX,1,Set(CALLERID(num)=7172${EXTEN})
exten => _XXXXXX,2,Set(CALLERID(ani)=7172${EXTEN})
exten => _XXXXXX,3,Goto(to-cisco,7172${EXTEN},1)

Когда я разкоментировал вторую строчку, то АТС показывает вызываемый номер, а номер звонящего отсутсвует. При этом тоже звонка не происходит.
Складывается впечатление что звонок проходит только в одном направлении, и сам софтовый телефон неотвечает, (как бы цепь незамыкается) :-(
2008-10-09 20:11

Сообщений: 1573

Re: Манипуляция CALLERID

vanek82:

АТС показывает что номер вызываемого абонента идентичен вызывающему.
Так вы сами его выставляете:

vanek82:

exten => _XXXXXX,1,Set(CALLERID(num)=7172${EXTEN})


Если вы хотите добавить цифры 7172 к текущему 6-значному CALLERID, то должно быть так:

exten => _XXXXXX,1,Set(CALLERID(num)=7172${CALLERID(num)})
exten => _XXXXXX,2,Goto(to-cisco,7172${EXTEN},1)


Вообще, еще раз объясните, что вы хотите?
2008-10-09 20:52

Откуда: Astana
Сообщений: 48

Re: Манипуляция CALLERID

cron333:

vanek82:

АТС показывает что номер вызываемого абонента идентичен вызывающему.
Так вы сами его выставляете:

vanek82:

exten => _XXXXXX,1,Set(CALLERID(num)=7172${EXTEN})


Если вы хотите добавить цифры 7172 к текущему 6-значному CALLERID, то должно быть так:

exten => _XXXXXX,1,Set(CALLERID(num)=7172${CALLERID(num)})
exten => _XXXXXX,2,Goto(to-cisco,7172${EXTEN},1)

Вообще, еще раз объясните, что вы хотите?
Спасибо ОГРОМНОЕ, Вы расставили все точки над i. Именно это мне и нужно было.
2008-10-10 06:20

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru