Коммандные потоки в *
Задача: При звонке на определённый номер нужно проиграть начало фразы, цифирю взятую из удалённого источника и окончание фразы.
Если сделать это просто, последовательно, то после начальной фразы может возникнуть неприятная пауза (цифиря добывается из удалённого источника).
Если сперва добывать цифирю, а потом проигрывать начало фразы, цифирю и окончание, то неприятная пауза может возникнуть в самом начале - человек подумает, что ему молчат в трубку и может бросить трубку. Ставить answer после добывания цифири тоже не хочется, может несколько гудков проийти до поднятия трубки.
Но начало фразы проигрывается достаточно долго 5-7 сек. За это время цифрю можно было бы даже не напрягаясь добыть и с запасного источника, если основной временно не доступен.
Вопрос: Как в * запустить отдельный поток для добывания данных, в основном потоке этим временем что-либо проигрывать, а потом когда закончится проигрывание использовать данные полученные в том отдельном потоке?
Как данные добываются не важно, самое главное не мгновенно, и не за точно установленное время, для примера пусть это будет результат (avg) команды "ping -c 4 www.asterisk-support.ru".
Можно ли это сделать в extension.conf или для этого нужно AGI,...
Если можно пример (с AGI я ещё не разобрался).
|