アスタリスクIVRを使用して誰かがAまたはBまたはC(私は既にグーグルでこれを行いました)を呼び出すことができますが、私がブロックしているのは選択を記録することだけですMySQLのデータベースで。どうすればいいですかアスタリスクIVRレコードの選択
0
A
答えて
0
最初に理解しておきたいことは、Asterisk Gateway Interface(AGI)の仕組みです。 AGIは基本的に、スクリプト間の通信のために双方向のテキストチャネルを実装します。このテキストチャネルの通信に基づいて何が起こる必要があるかを実装することができます。スクリプトは、DTMF値を検出するアスタリスクに基づいて選択された番号を取得し、適切な応答を返すことができます。
あなたが作業している言語を指定していません。そこから選択を記録して次のステップに戻します。あなたの言語に応じて、これを別のスレッドに渡して、バックグラウンドでレコードコマンドを実行させることさえできます。
それ以外の場合は、選択した言語でコードを記述し、AGIライブラリを使用してAsteriskサーバーからの入力と出力を提供してください。
0
この簡単なタスクでは、AGI(追加のプロセスを生成する)を使用する必要はありません。
ivrを選択した後、func_odbcを使用して必要なテーブルに記録してください。 func_odbc.conf
[save_record]
dsn=mysql1
writesql=insert into SAVE_TABLE_HERE (uniqueid,cid,result) values('${ARG1}','${ARG2}','${VAL1}');
で
[ivr]
exten => s,1,Background(press-1-or-2-or-3)
same => n,Wait(20);
exten =>1,1,Set(ODBC_save_record(${CDR(uniqueid)},${CALLERID(num)})=1);
same =>n,Dial(SIP/101,,or);
exten =>2,1,Set(ODBC_save_record(${CDR(uniqueid)},${CALLERID(num)})=2);
same =>n,Dial(SIP/102,,or);
exten =>3,1,Set(ODBC_save_record(${CDR(uniqueid)},${CALLERID(num)})=3);
same =>n,Dial(SIP/103,,or);
は確かにあなたもsomethignをチェックし、res_config_odbc.confを変更し、acordinly
不要維持conenctionを/etc/odbc.ini必要です。 dialplanでその関数を使用するだけです。
関連する問題
- 1. アスタリスク:マルチレベルのIVRの例を作成
- 2. レコードの選択
- 3. レコードを選択
- 4. 選択したレコード
- 5. Crystal Reportsのレコード選択式
- 6. YiiのレコードIDを選択
- 7. 順次レコード数の選択
- 8. レコードのリストから選択
- 9. アスタリスクのIVRメニューに関するヘルプを参照してください。
- 10. LINQ Entity Frameworkレコードを選択
- 11. バッチでレコードを選択
- 12. 異なるレコードを選択
- 13. 選択のすべてのレコードを選択し
- 14. テーブルの最後のレコードを選択
- 15. dataobjects.netの各ページのレコードを選択
- 16. 子供のレコードの動的選択
- 17. 今後のレコードを選択する
- 18. SQL Serverの2014レコードを選択
- 19. 最新のレコードを選択するsession_id
- 20. エンティティフレームワーク4:単一レコードの選択
- 21. 長方形のレコードを選択
- 22. 選択したレコードは、Railsの
- 23. 合計のMySQLレコードから選択
- 24. ノックアウトのテーブルからobsservableArrayレコードを選択
- 25. MySQLすべてのレコードを選択
- 26. 条件のレコードを選択する - Joomla
- 27. サブレコードの親レコードへの一致レコードの選択
- 28. NレコードのファイルからランダムにMレコードを選択する
- 29. 1つのMySQLコマンドでMaxレコードとMinレコードを選択する
- 30. レコード選択データをサブレポートに渡す