VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

realtime extensions повторяющиеся префиксы

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

alvama
Сообщения: 8
Зарегистрирован: 27 фев 2017, 13:00

realtime extensions повторяющиеся префиксы

Сообщение alvama »

Здравствуйте. Настроил с помощью realtime extensions звонки на разных сотовых операторов через симки этих операторов. Штука работает. Стал попадать на деньги и обнаружил что виной перебежчики - те кто перешел на другого оператора сохранив номер. Если номер "любимый", то и сумма набегает приличная. При попытке добавить строку с более длинным префиксом обнаружил, что астериск не сортит найденные префиксы, а берет первый попавшийся. В итоге я не смог имея строку с exten = '_89111.' использовать другую строку с exten='_89111234567' и другой appdata. Не подскажете можно ли это забороть без выдумывания костылей? Спасибо. Будущее телефонии прочитал, тогда рилтайма не было ;-).
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: realtime extensions повторяющиеся префиксы

Сообщение virus_net »

alvama писал(а):exten='_89111234567'
не является шаблоном, это номер.
Что показывает:

Код: Выделить всё

*CLI> dialplan show 89111234567@context
смотрели ?
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
Repz
Сообщения: 169
Зарегистрирован: 04 мар 2015, 11:35

Re: realtime extensions повторяющиеся префиксы

Сообщение Repz »

он не первый попавшийся берет, а первый совпавший, если стоит _89111234567 , потом _89111. , то первый шаблон будет срабатывать при точном совпадении, а во второй пойдет все что не совпало с первым. Если первым будет стоять _89111., то до _89111234567 никогда не дойдет, всё будет обработано первым шаблоном.
alvama
Сообщения: 8
Зарегистрирован: 27 фев 2017, 13:00

Re: realtime extensions повторяющиеся префиксы

Сообщение alvama »

Спасибо за быстрый ответ. А что значит первый совпавший? Если бы я читал текстовый файл, то там все идет по порядку. Точно известно что вторая строка будет прочитана и использована после первой. А при работе с БД если ты напишешь select без order by то тебе никто не гарантирует порядка выдачи строк и скуль имеет право выдать как ему удобнее. Я не думаю что результат сортится по полю id :-).
Repz
Сообщения: 169
Зарегистрирован: 04 мар 2015, 11:35

Re: realtime extensions повторяющиеся префиксы

Сообщение Repz »

написали же как посмотреть в каком порядке хранится - *CLI> dialplan show
если скуль как хочет данные тянет, пиши в конфигурационном файле, рилтайм будет оттуда подтягивать тоже
Repz
Сообщения: 169
Зарегистрирован: 04 мар 2015, 11:35

Re: realtime extensions повторяющиеся префиксы

Сообщение Repz »

и что мешает сделать записи в таблице в том порядке какой нужен?
ded
Сообщения: 15629
Зарегистрирован: 26 авг 2010, 19:00

Re: realtime extensions повторяющиеся префиксы

Сообщение ded »

Для того, чтобы расписать порядок направлений по шаблонам
_89011ХХХХХХ
_89222ХХХХХХ
_8985ХХХХХХХ
вообще MySQL не нужен.
Такой файл extensions.conf не будет занимать много места, и будет полностью сидеть резидентно в памяти процесса Астериск. И обрабатываться моментально.
Или же подключаться к virus_net - базе данных перебежчиков, чтобы не сочинять свои костыли, со всеми вытекающими.
alvama
Сообщения: 8
Зарегистрирован: 27 фев 2017, 13:00

Re: realtime extensions повторяющиеся префиксы

Сообщение alvama »

virus_net писал(а):
alvama писал(а):exten='_89111234567'
не является шаблоном, это номер.
Что показывает:

Код: Выделить всё

*CLI> dialplan show 89111234567@context
смотрели ?
Да, конечно, exten='_89111234567' это номер, а не шаблон. Когда пытался побороть вопрос менял на exten='_8911123456.', но не помогло. Прошу прощения за серость, но команда которую Вы указали ничего не выдает. Более того, когда напишешь dialplan show то realtime диалплан не выводится. В конфиге есть строки

Код: Выделить всё

[rt-panasonic0]
exten => _X.,1,GoSub(sub-isallowed,s,1(${CALLERID(num)},${EXTEN}))
exten => _X.,n,Goto(rt-panasonic2,${EXTEN},1)

[rt-panasonic2]
switch => Realtime/rt-panasonic1@extensions
при наборе dialplan show rt-panasonic0 или rt-panasonic2 ничего интересного (то что в конфиге), при наборе dialplan show rt-panasonic1 идет ругань

Код: Выделить всё

aster2*CLI> dialplan show rt-panasonic1
There is no existence of 'rt-panasonic1' context
Command 'dialplan show rt-panasonic1' failed.
aster2*CLI>
alvama
Сообщения: 8
Зарегистрирован: 27 фев 2017, 13:00

Re: realtime extensions повторяющиеся префиксы

Сообщение alvama »

to ded:
Конечно можно уйти от рилтайма. Но правильно ли это? Уж больно подкупает удобство скуля, когда хочешь посмотреть существующие данные по какому-то префиксу (select ... where ... like...). Куда ни глянь все уходят от конфигов в тексте в конфиги в скуль. К тому-же удручает количество строк. Сейчас в таблице extensions около 500 строк, которые относятся к Питерским префиксам сотовых операторов. надо добавить еще около 100 для перебежчиков. И новые префиксы я добавляю в базу не руками, а апачем. Повторюсь, можно конечно сделать include текстовика, который наполнять любыми средставми, но хотелось "идти в ногу со временем".
april22
Сообщения: 2187
Зарегистрирован: 09 июл 2012, 09:47

Re: realtime extensions повторяющиеся префиксы

Сообщение april22 »

скуль умер - ни кто не куда не звонит :-)
Своими вопросами , вы загоняете меня в ГУГЛЬ.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH