freeswitchforum.com

Форум поддержки FreeSWITCH

FreeSWITCH is a registered trademark of Anthony Minessale. Official FreeSWITCH site.

Текущее время: 28 мар 2024 21:09

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
СообщениеДобавлено: 10 янв 2019 15:49 

Зарегистрирован: 04 янв 2016 18:27
Сообщения: 30
Добрый день!

Буду очень признателен за совет, никак не могу понять в чем тут дело. Есть сервер FS version: 1.6.6 64bit, с ресурсами все нормально. На нем организован callcenter, с помощью mod_fifo. В среднем там около 6 операторов, каждый принимает около 100-120 звонков за смену. Звонки приходят всем свободным операторам по очереди. Если оператор не принял звонок - он уходит следующему оператору. Примерно в 5% случаев происходит ситуация когда звонок принят, но сразу после этого инициируется вызов на следующего в очереди оператора. Когда тот поднимает трубку сессия, естественно, прерывается. Анализ логов и конфигурационных файлов ничего не дал. Сервер я периодически допиливаю, донастраиваю и понять в какой конкретно момент это началось не представляет возможности. "Мы думали, что так и надо, но сейчас что-то сильно часто стали идти эти вызовы" (с) операторы. Ниже прилагаю extension, в котором организована очередь.

[+] "Queue"
<extension name="ffCallCenter">
<condition field="destination_number" expression="^ffCallCenter$|^555$">
<action inline="true" application="set" data="slot_count=${fifo(count fifo_CallCenter@domain)}"/>
<action inline="true" application="set" data="slot_count=${slot_count:-7:2}"/>

Проверка, есть ли свободные операторы в очереди.

</condition>
<condition field="${slot_count}" expression="^\:0$">
<action application="transfer" data="ffCallCenter_Chief XML domain"/>

Если нет - уходим в следующую очередь. Но так бывает редко.

<anti-action application="python" data="Check_QLEN fifo_CallCenter"/>

Проверка длины очереди. Если очень много звонков (массовая авария) - проигрывается сообщение и завершаем звонок.

<anti-action application="answer"/>
<anti-action application="playback" data="ivr-my/Pozhaluysta_ostavaytes_na_linii.wav"/>
<anti-action application="set" data="RECORD_TITLE=Recording ${destination_number} ${caller_id_number} ${strftime(%Y-%m-%d %H:%M)}"/>
<anti-action application="set" data="RECORD_COPYRIGHT=(c) 2016"/>
<anti-action application="set" data="RECORD_SOFTWARE=FreeSwitch"/>
<anti-action application="set" data="RECORD_ARTIST=FreeSwitch"/>
<anti-action application="set" data="RECORD_COMMENT=FreeSwitch"/>
<anti-action application="set" data="RECORD_DATE=${strftime(%Y-%m-%d %H:%M)}"/>
<anti-action application="set" data="media_bug_answer_req=true"/>
<anti-action application="set" data="record_file_name=$${recordings_dir}/in_555/${strftime(%Y-%m-%d-%H-%M-%S)}_${destination_number}_${caller_id_number}_${uuid}.wav"/>
<anti-action application="record_session" data="${record_file_name}"/>
<anti-action application="export" data="record_file_name=${record_file_name}"/>
<anti-action application="set" data="fifo_orbit_exten=ffCallCenter_Chief:60"/>

Если никто не принял звонок - уходим в следующую очередь

<anti-action application="set" data="fifo_orbit_dialplan=XML"/>
<anti-action application="set" data="fifo_orbit_context=domain"/>
<anti-action application="set" data="fifo_caller_exit_key=#"/>
<anti-action application="set" data="fifo_caller_exit_to_orbit=true"/>
<anti-action application="fifo" data="fifo_CallCenter@domain in undef local_stream://moh"/>
</condition>
</extension>.


[+] "Log"
6c93d07a-141a-11e9-9aa5-2793cc7c0938 2019-01-09 16:25:41.450634 [INFO] switch_channel.c:3125 sofia/internal/318 Flipping CID from "Queue" <0661111122> to "Outbound Call" <318%domain>
6c93d07a-141a-11e9-9aa5-2793cc7c0938 2019-01-09 16:25:41.450634 [DEBUG] mod_fifo.c:1719 (sofia/internal/318) State Change CS_CONSUME_MEDIA -> CS_EXECUTE
6c93d07a-141a-11e9-9aa5-2793cc7c0938 2019-01-09 16:25:41.450634 [DEBUG] switch_core_state_machine.c:473 (sofia/internal/318) Running State Change CS_EXECUTE
6c93d07a-141a-11e9-9aa5-2793cc7c0938 2019-01-09 16:25:41.450634 [DEBUG] switch_core_state_machine.c:539 (sofia/internal/318) State EXECUTE
6c93d07a-141a-11e9-9aa5-2793cc7c0938 2019-01-09 16:25:41.450634 [DEBUG] mod_sofia.c:196 sofia/internal/318 SOFIA EXECUTE
6c93d07a-141a-11e9-9aa5-2793cc7c0938 2019-01-09 16:25:41.450634 [DEBUG] switch_core_state_machine.c:258 sofia/internal/318 Standard EXECUTE
6c93d07a-141a-11e9-9aa5-2793cc7c0938 EXECUTE sofia/internal/318 fifo(fifo_CallCenter@domain out nowait)

Звонок уходит оператору 318. В логе полная сессия, cdr тоже в норме.

2019-01-09 16:25:41.490620 [DEBUG] mod_local_stream.c:733 Opening Stream [moh/8000] 8000hz
2019-01-09 16:25:41.490620 [WARNING] switch_core_file.c:341 File has 2 channels, muxing to 1 channel will occur.
2019-01-09 16:25:41.490620 [DEBUG] switch_ivr_originate.c:2128 Parsing global variables
2019-01-09 16:25:41.490620 [DEBUG] switch_ivr_originate.c:2581 Parsing session specific variables
5774be48-141a-11e9-984c-2793cc7c0938 2019-01-09 16:25:41.490620 [DEBUG] switch_ivr_play_say.c:1359 Codec Activated L16@8000hz 1 channels 20ms
715a638a-141a-11e9-9bd9-2793cc7c0938 2019-01-09 16:25:41.490620 [NOTICE] switch_channel.c:1101 New Channel sofia/internal/312 [715a638a-141a-11e9-9bd9-2793cc7c0938]

А тут инициируется еще один вызов. :(

715a638a-141a-11e9-9bd9-2793cc7c0938 2019-01-09 16:25:41.490620 [DEBUG] mod_sofia.c:4776 (sofia/internal/312) State Change CS_NEW -> CS_INIT
2019-01-09 16:25:41.490620 [DEBUG] switch_ivr_originate.c:2875 sofia/internal/312 Setting leg timeout to 15
715a638a-141a-11e9-9bd9-2793cc7c0938 2019-01-09 16:25:41.490620 [DEBUG] switch_core_state_machine.c:473 (sofia/internal/312) Running State Change CS_INIT
715a638a-141a-11e9-9bd9-2793cc7c0938 2019-01-09 16:25:41.490620 [DEBUG] switch_core_state_machine.c:516 (sofia/internal/312) State INIT
715a638a-141a-11e9-9bd9-2793cc7c0938 2019-01-09 16:25:41.490620 [DEBUG] mod_sofia.c:88 sofia/internal/312 SOFIA INIT
715a638a-141a-11e9-9bd9-2793cc7c0938 2019-01-09 16:25:41.490620 [DEBUG] sofia_glue.c:1257 sofia/internal/312 sending invite version: 1.6.6 64bit


Заранее благодарен за советы и идеи.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 янв 2019 14:49 

Зарегистрирован: 04 янв 2016 18:27
Сообщения: 30
Неужели никто не поможет советом? Может нужны cdr-ы или чуть больше логов?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 45


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB