Страница 2 из 3

Re: Модификация номера

Добавлено: 07 июн 2017, 10:43
Huawei05
shamil писал(а):Привет 05 регион

я бы сделал так

exten => _11X.,1,Goto(manage-prefix,${CALLERID(num)},1)

[manage-prefix]
exten => _XXXXXX,1,Goto(78722${EXTEN},1)) ; Для коротких номеров

exten => _[78]XXXXXXXXXX,1,Dial(SIP/mtt/7${EXTEN:1}) ; Для национальных номеров
same => n,Hangup
shamil писал(а):С коротким номером 7465044 не сработало потому что там 7 знаков, а не 6. Почему?
7 символов потому что номер приходит от станции с 7кой спереди (7460000).Я добавил в это еще один Х для коротких номеров, но все равно не получилось, вот лог:

-- Executing [119288780430@from-trunk:1] Goto("SIP/softx-00005a28", "manage-prefix,7456777,1") in new stack
-- Goto (manage-prefix,7456777,1)
-- Executing [7456777@manage-prefix:1] Goto("SIP/softx-00005a28", "787227456777,1)") in new stack
-- Goto (manage-prefix,787227456777,1)
В чем может быть проблема, почему синтаксис не подходит?Спасибо за помощь!

Re: Модификация номера

Добавлено: 07 июн 2017, 13:14
Huawei05
Что то вроде, если CALLERID(num):0:1=9?def:fix, в ветке def меняете callerid как хотите, в fix, что то типа callerid=78722${exten}:5.

Подскажите пожалуйста как правильно написать это правило?

Re: Модификация номера

Добавлено: 08 июн 2017, 10:19
shamil
> Goto (manage-prefix,787227456777,1)
Здесь получается одна цифра лишняя, 7 скорее всего надо отбрасывать, так? Тогда попробуй след. вариант


exten => _11X.,1,Goto(manage-prefix,${CALLERID(num)},1)

[manage-prefix]
exten => _XXXXXXX,1,Goto(78722${EXTEN:1},1)) ; Для коротких номеров
exten => _[78]XXXXXXXXXX,1,Dial(SIP/mtt/7${EXTEN:1}) ; Для национальных номеров
same => n,Hangup

Re: Модификация номера

Добавлено: 08 июн 2017, 10:53
Huawei05
Не сработало.Вот что выходит. То что выходит в логах "manage-prefix" означает что не понимает переменную?

-- Executing [119280546375@from-trunk:1] Goto("SIP/softx-00000072", "manage-prefix,7466777,1") in new stack
-- Goto (manage-prefix,7466777,1)
-- Executing [7466777@manage-prefix:1] Goto("SIP/softx-00000072", "78722466777,1)") in new stack
-- Goto (manage-prefix,78722466777,1)
-- Executing [78722466777@manage-prefix:1] Dial("SIP/softx-00000072", "SIP/mtt/78722466777") in new stack


А если вообще убрать все правила то выходит следующее:

-- Executing [119280546375@from-trunk:1] Set("SIP/softx-00000078", "__FROM_DID=119280546375") in new stack
-- Executing [119280546375@from-trunk:2] NoOp("SIP/softx-00000078", "Received an unknown call with DID set to 119280546375") in new stack
-- Executing [119280546375@from-trunk:3] Goto("SIP/softx-00000078", "s,a2") in new stack

Re: Модификация номера

Добавлено: 08 июн 2017, 11:02
Huawei05
Почему то не видно в логах номера Б. Звонок идет ко мне же

Re: Модификация номера

Добавлено: 08 июн 2017, 11:19
shamil
Huawei05 писал(а):Не сработало.Вот что выходит. То что выходит в логах "manage-prefix" означает что не понимает переменную?

-- Executing [119280546375@from-trunk:1] Goto("SIP/softx-00000072", "manage-prefix,7466777,1") in new stack
-- Goto (manage-prefix,7466777,1)
-- Executing [7466777@manage-prefix:1] Goto("SIP/softx-00000072", "78722466777,1)") in new stack
-- Goto (manage-prefix,78722466777,1)
-- Executing [78722466777@manage-prefix:1] Dial("SIP/softx-00000072", "SIP/mtt/78722466777") in new stack


А если вообще убрать все правила то выходит следующее:

-- Executing [119280546375@from-trunk:1] Set("SIP/softx-00000078", "__FROM_DID=119280546375") in new stack
-- Executing [119280546375@from-trunk:2] NoOp("SIP/softx-00000078", "Received an unknown call with DID set to 119280546375") in new stack
-- Executing [119280546375@from-trunk:3] Goto("SIP/softx-00000078", "s,a2") in new stack
Что значит не сработало? В логах нет сообщений об ошибке

Re: Модификация номера

Добавлено: 08 июн 2017, 11:26
Huawei05
Звонок не совершается, а когда я звоню с сип звонилки , то вижу что вызов осуществляется сам к себе, тоесть я слышу сам свое же голосовое приветствие

Re: Модификация номера

Добавлено: 08 июн 2017, 12:23
Huawei05
exten => _11X.,1,Goto(manage-prefix,${CALLERID(num)},1)

[manage-prefix]
exten => _XXXXXXX,1,Goto(78722${EXTEN:1},1)) ; Для коротких номеров
exten => _[78]XXXXXXXXXX,1,Dial(SIP/mtt/7${EXTEN:1}) ; Для национальных номеров
same => n,Hangup
Не может ли быть что правило которое вы написали работает только для национальных номеров?
Ранее в правилах для набора вот что стояло:

exten => _11X.,1,Set(CALLERID(num)=78722${CALLERID(num):1})
exten => _11X.,n,Noop(callerid is '${CALLERID(num)}')
exten => _11X.,n,Dial(SIP/mtt/7${EXTEN:2})
exten => _11X.,n,Hangup

Re: Модификация номера

Добавлено: 08 июн 2017, 12:50
fecyt
Человек Вас не понял и предложил правило, где звонок зацикливается. Я привел ссылки, почитайте, разберитесь и составьте свое правило, иначе будете долго и мучительно тестировать чужой код, который Вам не подходит.

Re: Модификация номера

Добавлено: 08 июн 2017, 13:08
fecyt
Но вот такой код должен подойти.

exten => _11X.,1,Set(CALLERID(num)=${IF($[LEN(${CALLERID(num)})=7]?77822${CALLERID(num)})})
same => n,Noop(callerid is '${CALLERID(num)}')
same => n,Dial(SIP/mtt/7${EXTEN:2})
same => n,Hangup()

В этом случае, если 7 значный CID, произойдет подстановка. Дальше думайте сами о возможных последствиях при несовпадении 7 знаков.