gavexe
08.02.2012, 17:29
Добрый день, коллеги. Дурацкая, может, проблема, но не получается реализовать через KNMAT. В общем, нужно, чтобы из номера абонента убиралась первая цифра и прибавлялся некоторый набор цифр.
---------------------------------------------------------------------------
NODE MATRIX FOR NPI = ISDN, LEVEL = 0
---------------------------------------------------------------------------
ONNO /|DNNO /|CONN|MODCON| NUMEXT | NUMRED
ONNOL |DNNOL | | | |

50 | 9 | A |ALL | 4855290 | 1
------+------+----+------+------------------------+------------------------

Вот так убирается цифра "1" из номера абонента, но номер абонента может начинаться с "1", а может и с "2". Как убрать любую первую цифру, а не только конкретную через KNMAT? И возможно ли?

sharikoff
09.02.2012, 08:00
А если добавить строчку 50 | 9 | A |ALL | 4855290 | 2 то прокатывает?

gavexe
09.02.2012, 08:33
А если добавить строчку 50 | 9 | A |ALL | 4855290 | 2 то прокатывает?
Неа, ADD-KNMAT - такой команды нет, а если запустить
CHA-KNMAT:ISDN,0,50,,9,,A,ALL,4855290,2;
то строка "50 | 9 | A |ALL | 4855290 | 1" просто заменится на "50 | 9 | A |ALL | 4855290 | 2"

maxab
09.02.2012, 10:02
Попробуйте не ALL поставить а REPEXT, и соответственно подберите номер, который хотите видеть в вашем АОНе

Nicola
09.02.2012, 11:19
Разбить на 2 рихта.
2 кнмата.

gavexe
09.02.2012, 11:52
Попробуйте не ALL поставить а REPEXT, и соответственно подберите номер, который хотите видеть в вашем АОНе
Спасибо! Проблема решилась. Сделал так:
CHANGE-KNMAT:NPI=ISDN,LEVEL=0,ONNO=125,DNNO=9,CONN=A,MODC ON=ALL&REPEXT,
NUMEXT=4855290*000,NUMRED=1;
Соответственно, у кого SSTNO не ONLYEXT (это номера, начищающиеся с "1") трансформируются с убиранием этой "1". А номера с SSTNO ONLYEXT (это те номера с "2", кому разрешено ходить через этот транк) транфсформируются в 4855290000
Минус такого решения - что все номера с двойки ходят через один номер. Но у меня пока один такой номер нужно пускать, поэтому пока не актуально.