GTR0123 Ответов: 0

Хранимая процедура Asterisk func_odbc имеет более 1 аргумента


привет ребята я использую asterisk и func_odbc так что у меня есть проблемы с хранимой процедурой plz помогите мне так что проблема вот такая

Итак, это мой func_odbc:
[PRESENCE]

dsn=concon

EXEC dbo.[Check] @Bnum = '${SQL_ESC(${ARG1})}',    @Anum = '${SQL_ESC(${ARG2})}'


а вот и моя хранимая процедура
[dbo].[Check]
( @Bnum VARCHAR(250),@Anum VARCHAR(250)
)
AS
BEGIN

select TOP 1 Exten from dbo.Des where @Bnum like '%' + LEFT(Num,3)+'%' ORDER BY LEN(LEFT(Num,3)) DESC
select TOP 1 [Se(City)] from dbo.Num where @Anum like '%' + LEFT(Num,3) + '%' ORDER BY LEN(LEFT(Num,3)) DESC
select Pern from dbo.Num where Num=@Anum



проблема в том, что extentions.conf не получает этот аргумент 2, он получает только 1
если я выполняю эту процедуру локально в базе данных со значениями, введенными вручную, она работает, но из
Extention.conf
нет

Что я уже пробовал:

поэтому я попробовал этот код в Extention.conf
exten => mobiles,1,NoOp(${ODBC_PRESENCE(${ARG1}=${NUMMOB})})})
same => n,NoOp(${ARG1})
same => n,NoOp(${CALLERID(number)})
same => n,NoOp(${NUMMOB})
same => n,Set(${EXTEN}=${NUMMOB})
same => n,Set(NUMB2=${NUMMOB})
same => n,Set(CDR(bnumb)=${NUMMOB})
same => n,Set(NUMB3=${ODBC_PRESENCE(${ARG2}=${CALLERID(number)})})
same => n,Set(NUMB=${ODBC_PRESENCE(${ARG1}=${NUMB2})})
same => n,Dial(SIP/${NUMB}${NUMMOB}@pss,,S(${NUMB3}))
same => n,Hangup()

0 Ответов