IVR и донабор номеров...
Сообщений: 32
|
IVR и донабор номеров...
Исходные данные:
Asterisk 1.4, FreePBX 2.7, по SIP прицеплен COMSTAR (выход через 9) ,
по E1 - NEC-7400, и к нему ПТС (выход через 0 - резерв)
Что нужно: Позвонить скайпом на Asterisk и донабором номера позвонить на
нужный городской телефон совершенно бесплатно. :)
Стык Skype-Asterisk организован посредством SIPNET (http://wiki.sipnet.ru/index.php/Skype).
Работает прекрасно в обе стророны. Для звонков в скайп сделаны экстеншены:
[4321]
secret=SuperPassWord
dtmfmode=rfc2833
context=from-internal
host=dynamic
type=friend
nat=yes
port=5060
dial=SIP/username_in_skype@skype.sipnet.ru
Ой, отвлекся... Итак. Сейчас у меня сдалана IVR посредством FreePBX.
Чтобы с ее помощью можно было звонить на местные номера, которых нет
на астериске, пришлось сделать следующее:
asterisk*CLI> dialplan show ivr-какой-то_номер (см. диалплан - у меня 5)
[ Context 'ivr-5' created by 'pbx_config' ]
'#' => 1. dbDel(${BLKVM_OVERRIDE}) [pbx_config]
2. Set(__NODEST=) [pbx_config]
3. Goto(app-directory|#|1) [pbx_config]
'1' => 1. dbDel(${BLKVM_OVERRIDE}) [pbx_config]
2. Set(__NODEST=) [pbx_config]
3. Goto(ext-miscdests|9|1) [pbx_config]
.........
.........
.........
't' => 1. Set(MSG=ru/invalid) [pbx_config]
2. Set(LOOPCOUNT=$[${LOOPCOUNT} + 1]) [pbx_config]
3. GotoIf($[${LOOPCOUNT} <= 3]?s|begin) [pbx_config]
4. dbDel(${BLKVM_OVERRIDE}) [pbx_config]
5. Set(__NODEST=) [pbx_config]
6. Goto(ext-miscdests|1|1) [pbx_config]
Include => 'ivr-5-custom' [pbx_config]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
!!!!!!!!!!!!!!!!!!!!!!!!ВОТ ТО, ЧТО НАМ НАДО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Include => 'from-did-direct-ivr' [pbx_config]
Include => 'app-directory' [pbx_config]
(Похоже, что FreePBX делает сквозную нумерацию IVR. До этого для тестов создавались и
удалялись IVR... У вас, скорее всего, будет ivr-другая_цифра.)
Включить пользовательские контекст:
[user]# cat extensions_custom.conf
[ivr-5-custom]
include => from-nec ; на другую местную АТС
include => local ; звонить в город через Комстар (префикс 9)
include => through_nec ; звонить в город через ПТС (префикс 0)
(Сожержание контекстов см. ниже)
Если эти контексты не включить, то донабрать можно будет только номер,
заведенный на Астериске.. И это правильно..
Дабы злодеи не воспользовались межгородом, лишнее все убрал. Но...
Осталось разрешить городские мобильники. Посмотрел номерные планы
операторов - у кого что. Кошмар. Взял отсюда -
http://www.mtt.ru/info/def/index.wbp питерские мобильники. Сделал
шаблоны. Получилось следующее ( выход через 9):
дарю.. :)
;BEELINE
9|89062[4-7]XXXXX
9|890957[7-9]XXXX
9|890958XXXXX
9|890959[0-3]XXXX
9|89062[3-8]XXXXX
9|896268XXXXX
9|896269XXXXX
9|89627[0-2]XXXXX
9|896324[1-9]XXXX
9|890309[2-9]XXXX
9|89643[2-3]XXXXX
9|896434XXXXX
9|89643[6-9]XXXXX
9|89650XXXXXX
9|89633[0-2][0-1]XXXX
9|89657[5-9]XXXXX
9|89052[0-3][0-6]XXXX
9|89052[5-8]XXXXX
9|890622[5-9]XXXX
9|89618[0-1][0-1]XXXX
9|8963[2-9]XXXXX
9|896334XXXXX
;TELE2
9|890433XXXXX
9|890455XXXXX
9|89046[0-1]XXXXX
9|89046[3-4]XXXXX
9|89500[0-3]XXXXX
9|89516[6-8]XXXXX
9|89523[8-9]XXXXX
9|89522[0-2]XXXXX
9|89533[6-7]XXXXX
9|89533[4-5]XXXXX
9|89522[2-4]XXXXX
9|89523[5-7]XXXXX
9|890451XXXXX
9|895004XXXXX
9|89516[4-5]XXXXX
;MTS
9|89110[0-3]XXXXX
9|8911[0-1][89]XXXXX
9|89117XXXXXX
9|89118[1-4]XXXXX
9|89119XXXXXX
9|89817[0-4]XXXXX
9|89817[5-9]XXXXX
9|89818[0-1]XXXXX
;Megafon
9|89291[0-1]XXXXX
9|892109XXXXX
9|8921111XXXX
9|892118XXXXX
9|8921[3-4][0-4]XXXXX
9|89215[5-9]XXXXX
9|893132[0-4]XXXX
9|89216[3-5]XXXXX
9|89217[4-9]XXXXX
9|892184[5-9]XXXX
9|8921[89][5-9][5-9]XXXX
9|89312[0-4]XXXXX
9|89312[5-9]XXXXX
9|89313[0-1]XXXXX
;DeltaTelecom-SkyLink
9|890197XXXXX
9|89013[0-2]XXXXX
9|890137XXXXX
Исходящие роуты сделал во FreePBX - там это не сложно...
Разбил на опрераторов в прицеле на GSM-шлюзы.. С Астериска
звонится прекрасно...
А вот чтобы можно было звонить на эти телефоны через IVR,
надо включать туда правильный контекст, как например
[from-nec] ; на другую местную АТС
exten => _4XXX,1,Set(CHANNEL(language)=ru)
exten => _4XXX,n,Dial(SIP/${EXTEN},,tTr)
exten => _4XXX,n,Hangup
[local] ; звонить в город через Комстар (префикс 9)
exten => _9[0-79].,1,Goto(from-internal,${EXTEN},1)
exten => _9[0-79].,n,Hangup()
[through_nec] ; звонить в город через ПТС (префикс 0)
exten => _0[0-79].,1,Goto(from-internal,${EXTEN},1)
exten => _0[0-79].,n,Hangup()
Ибо сделав так
exten => _.,1,Goto(from-internal,${EXTEN},1)
exten => _.,n,Hangup()
Можно попасть в неприятность... :)
Т.е. надо сделать какой-то контекст типа
[piter_mobile_phones]
включить его в IVR
include => piter_mobile_phones ; звонить на Питерские мобильники
И писать туда что?
[piter_mobile_phones]
exten => _989062[4-7]XXXXX,1,Goto(from-internal,${EXTEN},1)
exten => _9890957[7-9]XXXX,n,Goto(from-internal,${EXTEN},1)
exten => _9890958XXXXX,n,Goto(from-internal,${EXTEN},1)
exten => _9890959[0-3]XXXX,n,Goto(from-internal,${EXTEN},1)
.......
Или как там быть с очередностью? Как правильно написать?
Или, простите за бред, на каждый шаблон по контексту?
Или плюнуть, и написать
exten => _989.,1,Goto(from-internal,${EXTEN},1)
exten => _989.,n,Hangup()
Что не есть правильно ....
Или вообще все неправильно?? =\
|
Откуда: Уфа
Сообщений: 5856
|
Re: IVR и донабор номеров...
|
Сообщений: 32
|
Re: IVR и донабор номеров...
switch:
Это немного не то... Мне надо на Питерских звонить через один транк, на остальные - через другой...
|
Откуда: SPb
Сообщений: 1307
|
Re: IVR и донабор номеров...
А чем не утсраивает настроить это через веб морду?
|
Сообщений: 32
|
Re: IVR и донабор номеров...
zzuz: А чем не утсраивает настроить это через веб морду?
Э-э-э.. А как? Что-то я не нашел способа... Т.е. исходящие маршруты я создал с помощью веб-морды... А вот как уговорить IVR (или DISA) с помощью веб-лица звонить ТОЛЬКО по Питеру - мне не понятно.. :(
|
Откуда: Уфа
Сообщений: 5856
|
Re: IVR и донабор номеров...
да никак не уговорить
надо сделать кастомный контекст, который перенаправит вызов из ivr в город через ваши маршруты, которые вы в морде сделали.
и все дела.
|
Сообщений: 6521
|
Re: IVR и донабор номеров...
IVR - обычно для входящих.
В город звонить (по Питеру или ещё куда) - это что-то исходящее. В чём смысл IVR на исходящие? Наберите 1 если хотите позвонить по Питеру, 2 - если хотите по Москве?
ТОЛЬКО НЕ НАДО ЦИТИРОВАТЬ ПОЛНОСТЬЮ ЭТОТ ОТВЕТ!
|
Откуда: Уфа
Сообщений: 5856
|
Re: IVR и донабор номеров...
ded, он тебя не поймет
|
Сообщений: 32
|
Re: IVR и донабор номеров...
Не могу отказать себе в удовольствии...
ded: ТОЛЬКО НЕ НАДО ЦИТИРОВАТЬ ПОЛНОСТЬЮ ЭТОТ ОТВЕТ!
:)
На самом деле все просто:
Звонок приходит на IVR. А пока грамотность не поголовная, то там говорится:
Чтобы позвонить туда - нажмите 1, сюда - 2. Или ничего не жмите - попадете на секретаря.
НО! Если жать не 1 или 2, а набрать нормальный Питерский номер с префиксом 9 или 0, то можно звонить по городу.
Это нигде не говорится. Это "тайное знание" передается из уст в уста.. :)
И я хочу, что бы этим "знанием" нельзя было пользоваться во зло... :)
switch: ded, он тебя не поймет
Чукча не только писатель... :)
По делу...
Я, конечно, понимаю, много букв и все такое...
Но, если внимательно глянуть в конец моего поста, то там будет содержаться собственно вопрос:
И писать туда что?
[piter_mobile_phones]
exten => _989062[4-7]XXXXX,1,Goto(from-internal,${EXTEN},1)
exten => _9890957[7-9]XXXX,n,Goto(from-internal,${EXTEN},1)
exten => _9890958XXXXX,n,Goto(from-internal,${EXTEN},1)
exten => _9890959[0-3]XXXX,n,Goto(from-internal,${EXTEN},1)
Эта штука будет работать, если я перечислю все шаблоны?
|
Откуда: SPb
Сообщений: 1307
|
Re: IVR и донабор номеров...
Поддержу деда , оверквотинг для тех, кому ответы не нужны.
|
|