freeswitchforum.com https://freeswitchforum.com/ |
|
mod_callcenter оповещение о позиции в очереди https://freeswitchforum.com/viewtopic.php?f=6&t=98 |
Страница 1 из 1 |
Автор: | joohny [ 30 авг 2012 10:57 ] |
Заголовок сообщения: | mod_callcenter оповещение о позиции в очереди |
Хочу поделиться скриптом, который начал делать для оповещения(announcement, prompt) о позиции в очереди для модуля mod_callcenter. Я его доделал, он даже работал, пока я не заметил, что от FreeSWITCH толком не получить информации - о том, чей звонок будет отвечен следующим. Я основывался на выводе команды Код: callcenter_config queue list members queue_name и далее прям поочередно смотрел кто как идет в списке и выводил оповещение, однако при нагрузочном тестировании, когда в секунду в очередь добавляется человек по 10, позиции в списке отличаются от реальной очередности ответов Скрипт выкладываю, вдруг кому-то придет идея как его можно улучшить Код: //script by Evgeniy Buchnev from http://freeswitchforum.com, mails to joohny on mail.ru //mod_callcenter queue position prompting(announcement) var queue_position = apiExecute("callcenter_config", "queue list members 3001"); var tmp_uuid =session.getVariable("uuid"); var tmp_caller_id_number =session.getVariable("caller_id_number"); var tmp_arr = queue_position.split("\n") tmp_arr.length = tmp_arr.length - 2; //Deleting abandoned users for (var i = 1; i <= tmp_arr.length - 1; i++) { if ((tmp_arr[i].indexOf("|Abandoned") + 1)) {tmp_arr.splice(i,1)}; }; for (var i = 1; i <= tmp_arr.length - 1; i++) { if ((tmp_arr[i].indexOf(tmp_uuid) + 1) ) { session.execute("log","INFO =======Position("+tmp_caller_id_number+"): "+i+" > ");//Queue member position session.execute("log","INFO =======All Members("+tmp_caller_id_number+"): "+(tmp_arr.length-1)+" > ");//Queue members count session.setVariable("fscc_memb_count",(tmp_arr.length-1));//Queue members count session.setVariable("fscc_memb_position",(i));//Queue member position } }; exit(); Далее значения переменных fscc_memb_count и fscc_memb_position можно использовать в синтезе фразы для оповещения. |
Страница 1 из 1 | Часовой пояс: UTC + 4 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |