Size: a a a

2021 April 23

ГБ

Глеб Белоусов... in ru_freeswitch
Здравствуйте

Может, пожалуйста, кто-то подсказать, как при использовании odbc из БД дернуть значение и записать его в переменную какую-нибудь ?

Сейчас в lua запрос выглядит так и в БД всего 1 строка:
local test_query = string.format("SELECT PHONE_num FROM table1")
assert(dbh:query(test_query))
источник

V

Viktor in ru_freeswitch
Доброе утро. Изначально в через odbc в бд итак пишутся готовые переменные канала. Так что гуглите freeswitch channel variables.
источник

V

Viktor in ru_freeswitch
Или вам не в реальном времени нужно доставать данные?
источник

ГБ

Глеб Белоусов... in ru_freeswitch
Спасибо!
источник

ГБ

Глеб Белоусов... in ru_freeswitch
Хочу получить переменную и просто ниже по коду ее использовать
источник

AK

Andrey Kryukov in ru_freeswitch
result_table = {}
assert(dbh:connected())
local sql_query = "SELECT column1, column2, column2, column3, column4, column5 FROM sometablename"
assert(dbh:query(sql_query, function(qrow)
   local row = {}
   for key, val in pairs(qrow) do
       row[key] = val
   end
   table.insert(result_table, row)
end))

-- [[как итог будет в таблице получено
result_table = {
   [1] = {["column1_name"] = column1_value,
       ["column2_name"] = column2_value
       }
   [2] = {["column1_name"] = column1_value,
       ["column2_name"] = column2_value
       }            
}
]]      

my_data = result_table[2]["column2_name"]      

https://freeswitch.org/confluence/display/FREESWITCH/Lua+FreeSWITCH+Dbh
больше примеров вот тут
источник

ГБ

Глеб Белоусов... in ru_freeswitch
Спасибо большое!
источник

AK

Andrey Kryukov in ru_freeswitch
my_data = result_table[2]["column2_name"]     означает
что мы хотим получить доступ к переменной во второй строке результата к колонке с именем column2_name
источник

AK

Andrey Kryukov in ru_freeswitch
ну и соответственно для того чтобы проверить число вернувшихся строк
#result_table
источник

ГБ

Глеб Белоусов... in ru_freeswitch
Большое спасибо за развернутый ответ)
источник

AK

Andrey Kryukov in ru_freeswitch
dbh:query(sql_query, function(qrow)  - здесь суть такая, что вы выполняеете запрос и на каждую возвращенную строку будет выполнена функция по ссылке вполне доходчиво объяснено как это работает
источник
2021 April 26

A

Aleksandr in ru_freeswitch
Подскажите без использования отдельного контекста и ivr можно такое реализовать? Есть транк через который будут приходить звонки.  Нужно чтобы звонки приходящие через него ограничивались  двумя условиями по входящим номерам, без обхода других extension. Номер 1 - condtion 1 и номер 2 -condition -2, если вызывают 3 то просто сбрасывается звонок без поиска в других  condition.
источник

rt

ros tel in ru_freeswitch
break=on-false?
источник

A

Aleksandr in ru_freeswitch
В случае одного номера могут сделать transfer на конкретный condition, а вот как быть со вторым.
источник

A

Aleksandr in ru_freeswitch
на extension можно сделать transfer? тогда бы у меня как раз условиями в этом extension обрабатывались.
источник

A

Aleksandr in ru_freeswitch
не правильно описал наверно. Сначала отлавливаю звонки с этого транка и вот потом надо сделать трансфер на описанную схему выше
источник

AK

Andrey Kryukov in ru_freeswitch
что мешает при переводе выставить канальную переменную, а в диалплане проверять ее наличие  или отсутствие(соответственно если вызов попал через перевод делать по-одному, без перевода делать подругому )
источник

A

Aleksandr in ru_freeswitch
затупил, можно же два условия сделать в одном extension и просто два разных extension с трансферами куда мне нужно. Надо будет попробовать.
источник

SY

Serge Yuriev in ru_freeswitch
Только контекст тот или иной всё равно будет. И два экстеншена с условиями.
источник

A

Aleksandr in ru_freeswitch
кроме default и public не хочется ещё один делать
источник