Good evening to all experts on an asterisk, there is such a very interesting problem:

exten => _X.,1,Verbose(4,CALL recognation) same => n(record),agi(speech-recog-sv.agi,sv-SE) same => n,Verbose(1,Script returned: ${confidence} , ${utterance}) same => n,Set(GLOBAL(FOO)=${utterance}) same => n,NoOp(${FOO}) same => n,MYSQL(${connectMysql}) same => n,MYSQL(Query resultid ${connid} SELECT number FROM recognation WHERE text='${FOO}') same => n,MYSQL(Fetch fetchid ${resultid} number) same => n,Noop(number:${number}) 

The answer is

 Verbose("SIP/core-00000004", "1,Script returned: 0.87228245 , Hej och välkommen trycket oss med") in new stack Set("SIP/core-00000004", "GLOBAL(FOO)=Hej och välkommen trycket oss med") in new stack Setting global variable 'FOO' to 'Hej och välkommen trycket oss med' NoOp("SIP/core-00000004", "Hej och välkommen trycket oss med") in new stack MYSQL("SIP/core-00000004", "Connect connid 127.0.0.1 root xxxx xxxx") in new stack MYSQL("SIP/core-00000004", "Query resultid 1 SELECT number FROM recognation WHERE text='Hej och välkommen trycket oss med'") in new stack MYSQL("SIP/core-00000004", "Fetch fetchid 2 number") in new stack NoOp("SIP/core-00000004", "number:") in new stack 

In the database

 SELECT number FROM recognation WHERE text='Hej och välkommen trycket oss med' -> ; +-------+ | number| +-------+ | 1 | +-------+ 1 row in set (0.00 sec) 

Who faced such problems? Tell me where to dig! Thank you in advance

  • Possible problems with the encoding. Try a query like "SELECT number FROM recognation WHERE text! = '' LIMIT 1" Something should return. - StuxForce

1 answer 1

 MYSQL(Query resultid ${connid} query-string) Executes standard MySQL query contained in query-string using established connection identified by ${connid}. Result of query is stored in ${resultid}. MYSQL(Nextresult resultid ${connid} If last query returned more than one result set, it stores the next result set in ${resultid}. It's useful with stored procedures MYSQL(Fetch fetchid ${resultid} var1 var2 ... varN) Fetches a single row from a result set contained in ${result_identifier}. Assigns returned fields to ${var1} ... ${varn}. ${fetchid} is set TRUE if additional rows exist in result set. 

The result will be in the variable $ {resultid} and not in $ {number}

  • No, the same thing doesn't work - Andrei
  • and SELECT produces one value or ARRAY? - Alexcr