Size: a a a

2021 February 23

h

halt✯ in Asterisker-ы
Roman Roman
Интересует только вот эта строчка same => n(mob),Set(__reg=${SHELL(/etc/asterisk/scripts/region.sh ${num})})
А меня больше это строка интересует

exten => _7X.,1,GotoIf($["${CALLERID(num):0:1}"!="7"]?mob)
источник

RR

Roman Roman in Asterisker-ы
halt✯
А меня больше это строка интересует

exten => _7X.,1,GotoIf($["${CALLERID(num):0:1}"!="7"]?mob)
а что в ней, её по хорошему вообще убрать можно наверно
источник

h

halt✯ in Asterisker-ы
Загляни в CLI
источник

RR

Roman Roman in Asterisker-ы
halt✯
Загляни в CLI
пошёл, закоментировал, пробую
источник

RR

Roman Roman in Asterisker-ы
halt✯
Загляни в CLI
не, без неё вообще не срабатывает скрипт, до него дело не доходит даже
источник

RR

Roman Roman in Asterisker-ы
halt✯
Загляни в CLI
?mob - сделал, чтобы дальше пошло и подстановки, чтобы отображалось на IP телефонах, далее n(mob) везде указываю
источник

Ab

Alexey b_aalexx in Asterisker-ы
Roman Roman
не, без неё вообще не срабатывает скрипт, до него дело не доходит даже
указать нужно один раз, это метка для перехода
дальше идёт построчно.
источник

RR

Roman Roman in Asterisker-ы
вот в конце что пишет: [2021-02-23 22:29:43] NOTICE[7111]: chan_sip.c:28758 handle_request_register: Registration from '<sip:****@мой ip
источник

RR

Roman Roman in Asterisker-ы
Alexey b_aalexx
указать нужно один раз, это метка для перехода
дальше идёт построчно.
сейчас поробую убрать в остальных строчках
источник

h

halt✯ in Asterisker-ы
Ты бы хоть вывод cli выложил на пастебин
источник

RR

Roman Roman in Asterisker-ы
halt✯
Ты бы хоть вывод cli выложил на пастебин
сейчас выложу
источник

Ab

Alexey b_aalexx in Asterisker-ы
Roman Roman
сейчас выложу
в пастебин плиз
источник

C

Chewbacca in Asterisker-ы
Roman Roman
Не идёт. Блин. Вот мой кусок кода:[mobile_in]

exten => _7X.,1,GotoIf($["${CALLERID(num):0:1}"!="7"]?mob)
same => n(mob),NoOp(!!!!!!!!!!!!!!!MOBILE!!!!!!!!!!!!!!!!!!!!)
same => n(mob),NoOp(CALLERID(all) --- ${CALLERID(all)})
same => n(mob),NoOp(CALLERID(num) --- ${CALLERID(num)})
same => n(mob),NoOp(CALLERID(name) --- ${CALLERID(name)})
same => n(mob),Set(num=${CALLERID(num):1})
same => n(mob),Set(__reg=${SHELL(/etc/asterisk/scripts/region.sh ${num})})
same => n(mob),Noop(${reg})
same => n(mob),Set(CALLERID(name)=${reg})
same => n(mob),NoOp(CALLERID(all)_NOW --- ${CALLERID(all)})
same => n,Goto(from-trunk,${EXTEN},1)
include => from-trunk
Наркомания :)
1). Мобильные номера прилетают с 7, а городские - нет?
2). Правило не имеет смысла, т.к. любой результат ведёт на следующую строчку диалплана
3). метки должны быть разными. Раз указали метку mob, и достаточно.
4). Set(num=${CALLERID(num):1})  = Зачем это?
Чтобы узнать регион (считаем, что все вызовы из России, напишите ОДНУ строчку
Set(__reg=${SHELL(/etc/asterisk/scripts/region.sh ${CALLERID(num):-10})})
источник

RR

Roman Roman in Asterisker-ы
Chewbacca
Наркомания :)
1). Мобильные номера прилетают с 7, а городские - нет?
2). Правило не имеет смысла, т.к. любой результат ведёт на следующую строчку диалплана
3). метки должны быть разными. Раз указали метку mob, и достаточно.
4). Set(num=${CALLERID(num):1})  = Зачем это?
Чтобы узнать регион (считаем, что все вызовы из России, напишите ОДНУ строчку
Set(__reg=${SHELL(/etc/asterisk/scripts/region.sh ${CALLERID(num):-10})})
так я и сделал специально ЧТОБЫ ВСЕ номера показывало область! 9 после 7 убрал! Так как раньше только мобильные работали
источник

C

Chewbacca in Asterisker-ы
не нужно городить огород) возьми 10 с конца цифр и используй их
источник

C

Chewbacca in Asterisker-ы
/var/lib/asterisk/agi-bin/get-operator.sh

#!/bin/bash
CURL_RESULT=$(curl --max-time 2 -f -s --request GET --url "http://num.voxlink.ru/get/?num=$1")
OPERATOR=$(echo $CURL_RESULT | jq '.operator')
REGION=$(echo $CURL_RESULT | jq '.region' | sed s/'|'/" и "/g | sed s/'г. '/"г."/g)
OLD_OPERATOR=$(echo $CURL_RESULT | jq '.old_operator')

if [ ${OLD_OPERATOR} = "null" ]; then
               OLD_OPERATOR=""
fi
echo SET VARIABLE PSTN_OPERATOR ${OPERATOR}
echo SET VARIABLE PSTN_OLD_OPERATOR ${OLD_OPERATOR}
echo SET VARIABLE PSTN_REGION ${REGION}
exit 0
источник

C

Chewbacca in Asterisker-ы
На баше для себя делал, работает
источник

C

Chewbacca in Asterisker-ы
same => n,GoSub(Оператор и регион,s,1())

[Оператор и регион]
exten => s,1,NoOp(== Оператор и регион (VoxLink) ==)
same => n,AGI(get-operator.sh,${CALLERID(num):-10})
same => n,Set(CDR(operator)=${PSTN_OLD_OPERATOR})
same => n,Set(CDR(moved2operator)=${PSTN_OPERATOR})
same => n,Set(CDR(currentoperator)=${PSTN_OPERATOR})
same => n,Set(CDR(region)=${PSTN_REGION})
same => n,Return()
источник

RR

Roman Roman in Asterisker-ы
вот что у меня в cli: https://pastebin.com/J7yKT5xE
источник

RR

Roman Roman in Asterisker-ы
Chewbacca
same => n,GoSub(Оператор и регион,s,1())

[Оператор и регион]
exten => s,1,NoOp(== Оператор и регион (VoxLink) ==)
same => n,AGI(get-operator.sh,${CALLERID(num):-10})
same => n,Set(CDR(operator)=${PSTN_OLD_OPERATOR})
same => n,Set(CDR(moved2operator)=${PSTN_OPERATOR})
same => n,Set(CDR(currentoperator)=${PSTN_OPERATOR})
same => n,Set(CDR(region)=${PSTN_REGION})
same => n,Return()
супер! Спасибо, сдёрнул. А [Оператор и регион] тоже в транк подставляете?
источник