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

Freepbx IVR и DTMF сигналы

0

Здравствуйте. Заменил я cisco на астер 11.5+freepbx 2.11. Все прекрасно. Внутренние номера 10-20, в IVR 0-5. Попадают в разные очереди, где забиты разные внутренние номера. Но через пару дней начали поступать жалобы от абонентов, что они попадают не туда. Начал разбираться и выяснил, что при попытке набрать 612(сразу после ответа IVR конечно) звонок поступает на 12 номер, а не отмечается как не существующий. В логах я понял так, набирается 6, срабатывает что такого номера не существует, затем астер не успевает даже сказать об этом как ему падает 1 и 2, человек же сразу набрал 612 и все тут у астера сработала железная логика что это номер 12 и он с коммутировал на него. Вопрос: как можно во freepbx сделать так, что бы номер 612 и другие похожие не онтерпритировались как 12. Я вижу такое решение, но как его реализовать на практике не знаю: Внести как-то задержку в наборе, допустим 1 секунду, что бы астер понял что это не 6 а 612.

Может кто мне помочь? Я не сильно разбираюсь в астере, но веб интерфейс осилить смог.

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

спросил 2014-08-07 10:03:18 +0400

baf Gravatar baf
11 1 1 2

Comments

почему набирают 612, если у вас номера 10-20?

Out ( 2014-08-07 10:14:18 +0400 )редактировать

а спроси их, мне внятного ответа никто не дал, офисный планктон одним словом.

baf ( 2014-08-07 10:21:09 +0400 )редактировать

Неправильно набран номер.

Сделайте так, при наборе 6, или другой неправильной цифры, go на IVR, и идет сообщение "наши номера начинаются с 10 до 29, прошу правильно набрать номер., и так до бесконечности ;)

Out ( 2014-08-07 10:24:49 +0400 )редактировать

ага введут 7788669998812 и попадут на 12, так же не должно быть, такого номера не существует. Может там какая галочка глубоко в настройках где есть? Это же элементарная ошибка.

baf ( 2014-08-07 10:28:08 +0400 )редактировать

"ага введут 7788669998812 и попадут на 12" . Ни ага , не попадут.

zzuz ( 2014-08-07 11:26:51 +0400 )редактировать

также необходим вывод dialplan show 612@from-did-direct-ivr

zzuz ( 2014-08-07 11:28:53 +0400 )редактировать

dialplan show 612@from-did-direct-ivr - такого диалплана нет

а вот такой dialplan show 12@from-did-direct-ivr есть.

[ Context 'from-did-direct-ivr' created by 'pbx_config' ]

'12' => 1. Macro(blkvm-clr,) [pbx_config]

                2. Set(__NODEST=)                             [pbx_config]

                3. Goto(from-did-direct,12,1)                 [pbx_config]

-= 1 extension (3 priorities) in 1 context. =-

baf ( 2014-08-07 12:33:20 +0400 )редактировать

Ввел такую команду dialplan show from-did-direct-ivr

'*11' => 1. Macro(blkvm-clr,) [pbx_config]

                2. Set(__NODEST=)                             [pbx_config]

                3. Macro(vm,11,DIRECTDIAL,${IVR_RETVM})       [pbx_config]

                4. GotoIf($["${IVR_RETVM}" = "RETURN" & "${IVR_CONTEXT}" != ""]?ext-local,vmret,playret) [pbx_config]

........

'11' => 1. Macro(blkvm-clr,) [pbx_config]

                2. Set(__NODEST=)                             [pbx_config]

                3. Goto(from-did-direct,11,1)                 [pbx_config]

Я понимаю что мне надо как-то убрать звездочки, так?

baf ( 2014-08-07 12:39:04 +0400 )редактировать

2 Ответа

1

Тут надо весь диалплан курить. Не должно быть такого. Если у тебя нет внутреннего номера 6, то не должен срабатывать набор на неверный номер.

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

ответил 2014-08-07 10:51:57 +0400

Yuriy_Y Gravatar Yuriy_Y
11

Comments

ну как, 6 не существует ни в меню ни в .... ни где, а 12 есть, он 6 говорит не существует, а на 12 спокойно звонит. Это логика железная, но как это исправить не пойму. ЧТо значит курить диалплан? Как затавить его понять что это не 6, а 612. Он же как то понимает 11, что это не 1 и 1, а конкретно 11 и звонит не на 1 а на 11.

baf ( 2014-08-07 11:07:05 +0400 )редактировать
1

Астериск так и воспринимает , как 612. Здесь Вы что-то не договариваете.

zzuz ( 2014-08-07 11:29:53 +0400 )редактировать

Возможно, что-то есть на 6. Может какой-то код, группа вызова или еще что-то. Это ведь не декадно-шаговая АТСка, чтоб глючить. Давай доступ к вебморде, я поглядеть смогу.

Yuriy_Y ( 2014-08-07 11:57:42 +0400 )редактировать

нету на 6 ничего, там только сообщение что номер не верный.

baf ( 2014-08-07 14:04:55 +0400 )редактировать
0

вот это читаем.

http://asterisk-support.ru/question/38386/kak-poniat-chto-proiskhodit-na-asteriske/

вообще наиболее вероятно - они 6 набирают когда идет announce(не воспринимает dtmf) или до попадания номер на астериск.

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

ответил 2014-08-07 12:39:54 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

Я знаю что приходит на астерикс, я же писал выше в шапке, что он реагирует на 612 так, 6 типа неверный номер, а 12 соединяю с абонентом. Он не ждет пока закончится фраза неверный номер, а сразу переходит к соединению на гоуту 12.

Вот пример обработки DTMF чтобы было видно что логи я читал

[2014-08-07 14:23:16] DTMF[55290][C-0000104f] channel.c: DTMF begin '5' received on SIP/501234_out-00000278

[2014-08-07 14:23:16] DTMF[55290][C-0000104f] channel.c: DTMF begin ignored '5' on SIP/501234_out-00000278

[2014-08-07 14:23:16] DTMF[55290][C-0000104f] channel.c: DTMF end '5' received on SIP/501234_out-00000278, duration 145 ms

[2014-08-07 14:23:16] DTMF[55290][C-0000104f] channel.c: DTMF end passthrough '5' on SIP/501234_out-00000278

[2014-08-07 14:23:29] DTMF[55293][C-00001050] channel.c: DTMF begin '5' received on SIP/501234_out-00000279

[2014-08-07 14:23:29] DTMF[55293][C-00001050] channel.c: DTMF begin ignored '5' on SIP/501234_out-00000279

baf ( 2014-08-07 12:51:07 +0400 )редактировать

Еще вот, набираю 511, а влогах мол 51 инвалид намбер и полетел звонок на 1, а это в ivr пункт.

baf ( 2014-08-07 12:56:23 +0400 )редактировать

ну так впишите 6XX. в ivr-x-custom и напишите туда мат. от нас вы чего хотите то? вам сказали как смотреть диалплан. астриск ничего магического НЕ делает. все как в даилплане прописано.

meral ( 2014-08-07 13:04:04 +0400 )редактировать

всегда есть человек на любом форуме, ктр обхаит, таких бы банить. Да я научился смотреть диалплан, да я вижу что мне надо в нем исправить, надо убрать все номера начинающиеся со *, но как это сделать я не знаю. А издеваться над тем что бы сидеть и прописывать в ivr все возможные комбинации весьма глупо и вас не красит.

baf ( 2014-08-07 13:11:04 +0400 )редактировать

Я думаю IVR криво сделали...

Ищите, лучше сами, с таким отношением к советам, вам перестанут отвечать.

Out ( 2014-08-07 13:25:18 +0400 )редактировать

комбинации с * это войсмейл. вы можете это все легко выключить убрав галочку с direct dial

meral ( 2014-08-07 13:28:25 +0400 )редактировать

так если я выключю direct dial то не смогу звонить напрямую на внутренние номера. А про то то * это голосовая почта не знал, спасибо. Тогда я не знаю как себе помочь, прошу помощи у сообщества.

baf ( 2014-08-07 13:38:22 +0400 )редактировать

Скорее всего в направлении i стоит злочастная галочка "Возвращать в IVR " , плюс нет сообщения о неверном выборе, вот и получается , что первая цифра в i уходит и остальные две возвращаются в IVR.

zzuz ( 2014-08-07 13:46:56 +0400 )редактировать

Есть сообщение о неверном выборе

-- Invalid extension '51' in context 'ivr-1' on SIP/501234_out-00000298

== CDR updated on SIP/501234_out-00000298

-- Executing [i@ivr-1:1] Set("SIP/501234_out-00000298", "INVALID_LOOPCOUNT=1") in new stack

-- Executing [i@ivr-1:2] GotoIf("SIP/501234_out-00000298", "0?final") in new stack

-- Executing [i@ivr-1:3] Set("SIP/501234_out-00000298", "IVR_MSG=custom/invalidnumber_002&custom/Privetstvie_002") in new stack

-- Executing [i@ivr-1:4] Goto("SIP/501234_out-00000298", "s,start") in new stack
-- Goto (ivr-1,s,10)

-- Executing [s@ivr-1:10] Set("SIP/501234_out-00000298", "TIMEOUT(digit)=3") in new stack
-- Digit timeout set to 3.000

-- Executing [s@ivr-1:11] ExecIf("SIP/501234_out-00000298", "1?Background(custom/invalidnumber_002&custom/Privetstvie_002)") in new stack

но пока оно играет уже начинается набор следующих символов, а это 2 и пошло поехоло.

baf ( 2014-08-07 13:58:44 +0400 )редактировать

'i' => 1. Set(INVALIDLOOPCOUNT=$[${INVALIDLOOPCOUNT}+1]) [pbx_config]

                2. GotoIf($[${INVALID_LOOPCOUNT} > 3]?final)  [pbx_config]

                3. Set(IVR_MSG=custom/invalidnumber_002&custom/Privetstvie_002) [pbx_config]

                4. Goto(s,start)                              [pbx_config]

 [final]        5. Playback(custom/invalidnumber_002)         [pbx_config]

                6. Goto(app-blackhole,hangup,1)               [pbx_config]

Это же не я придумал, это во freepbx так

baf ( 2014-08-07 14:01:02 +0400 )редактировать

непонятно что вы от нас хотите. вам написали что все работает так как задумано. хотите исключить неверный набор? поставьте по i переход на announce, по ка announce не доиграется ничего не будет. или уберите direct dial и пропишите екстеншены на которые можно звонить, если вам звездочки не нравятся. вобщем косяк у вас с настройкой.

meral ( 2014-08-07 16:01:28 +0400 )редактировать

Да все понятно что косяк у меня. Но как я могу это исправить? У меня freepbx и я не могу найти где там что исправить надо. Вот и написал сюда, вдруг сообщество подскажет где галочку нужно поменять в настройках.

baf ( 2014-08-08 07:20:43 +0400 )редактировать

ну я же вам написал как исправить. что непонятно в моем изложении? создаете announce(отдельно). ставите на нем галочку не прерывать от dtmf. ставите идит дальше на ваше ivr1. в ivr1 пишете i-> announce. все.

meral ( 2014-08-09 00:19:02 +0400 )редактировать

Ваш ответ

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)!
[скрыть предварительный просмотр]

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

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

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

Статистика

Задан: 2014-08-07 10:03:18 +0400

Просмотрен: 2,757 раз

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

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