freeswitchforum.com https://freeswitchforum.com/ |
|
FreeSWITCH FAQ и HOWTO https://freeswitchforum.com/viewtopic.php?f=6&t=2 |
Страница 1 из 2 |
Автор: | joohny [ 11 июл 2012 10:09 ] |
Заголовок сообщения: | Re: FreeSWITCH FAQ |
Что такое FreeSWITCH? FreeSWITCH - это масштабируемая, кросс платформенная система, позволяющая распределять, обрабатывать и совершать голосовые и видеовызовы |
Автор: | joohny [ 11 июл 2012 10:14 ] |
Заголовок сообщения: | Re: FreeSWITCH FAQ |
Какие платформы поддерживает FreeSWITCH? FreeSWITCH может "из коробки" собираться и работать на Windows, Mac OS X, Linux, Solaris и *BSD. |
Автор: | joohny [ 11 июл 2012 10:44 ] |
Заголовок сообщения: | Re: FreeSWITCH FAQ |
Минимальные, рекомендованные требования к системе?
- 512 Мб оперативной памяти (1 Гб рекомендовано). - 50 Мб пространства на жестком диске. |
Автор: | joohny [ 13 июл 2012 11:57 ] |
Заголовок сообщения: | Re: FreeSWITCH FAQ |
Как подключаться к freeswitch Для подключения к локальному, а также удаленному freeswitch удобно использовать утилиту fs_cli. В таком случае можно подключаться к freeswitch с любой операционной системы(поддерживаемой), главное скомпилировать или скачать для нее fs_cli. Для подключения данная утилита использует модуль Mod_event_socket, в настройках которого нужно указать ip адрес 0.0.0.0 (или другой, специфичный для вашей системы) если планируете удаленно подключаться. Так же стоит помнить про безопасность и изменить в настройках данные для авторизации. Использование: Код: fs_cli [-H <host>] [-P <port>] [-p <secret>] [-d <level>] [-x command] [profile]
|
Автор: | joohny [ 13 июл 2012 12:03 ] |
Заголовок сообщения: | Re: FreeSWITCH FAQ |
Как исполнить удаленную команду Например попытка подключиться к freeswitch и выполнить команду sofia status profile internal может выглядеть так: Код: fs_cli -H 10.10.10.10 -x "sofia status profile internal"
|
Автор: | joohny [ 05 авг 2013 20:55 ] |
Заголовок сообщения: | Re: FreeSWITCH FAQ и HOWTO |
Команды Asterisk и FreeSWITCH |
Автор: | joohny [ 15 авг 2013 10:36 ] |
Заголовок сообщения: | Re: FreeSWITCH FAQ и HOWTO |
Как сделать исходяший звонок на пользователя, который является SIP сервером Код: <context name="out-gw">
<extension name="OUT"> <condition field="destination_number" expression="^.+$"> <action application="set" data="gw=telecom" /> <action application="set" data="accountcode=${user_data(${gw}@${domain_name} var accountcode)}"/> <action application="bridge" data="${regex(${sofia_contact(*/${gw}@${dialed_domain})}|(^\w+/\w+)/|%1)}/sip:${destination_number}@${regex(${sofia_contact(*/${gw}@${dialed_domain})}|(\d+.\d+.\d+.\d+:\d+.*)|%1)}"/> <action application="hangup" /> </condition> </extension> </context> |
Автор: | joohny [ 24 сен 2013 13:00 ] |
Заголовок сообщения: | Re: FreeSWITCH FAQ и HOWTO |
Пока не пропала информация - анонс позиции звонящего в очереди mod_callcenter http://wiki.freeswitch.org/wiki/Mod_callcenter#Lua_Script_to_announce_members_position Lua Script to announce members position This is the script to place in $PREFIX/scripts: Код: -- Initialization of variables api = freeswitch.API() -- First argument is caller uuid. caller_uuid = argv[1] if caller_uuid==nil then return end -- Second argument is callcenter name. queue_name = argv[2] if queue_name==nil then return end -- Third argument is repeating interval in miliseconds. mseconds = argv[3] if mseconds==nil then return end while (true) do freeswitch.msleep(mseconds) -- Pause before announcing position members = api:executeString("callcenter_config queue list members "..queue_name) pos=1 -- Variable to count position exists=false -- Variable to allow script termination when member leaves queue for line in members:gmatch("[^\r\n]+") do if (string.find(line,"Trying")~=nil or string.find(line,"Waiting")~=nil) then -- Members have a position when their state is Waiting or Trying if string.find(line,caller_uuid,1,true)~=nil then exists=true -- Member still in queue so script must continue api:executeString("uuid_broadcast "..caller_uuid.." ivr/ivr-you_are_number.wav aleg") api:executeString("uuid_broadcast "..caller_uuid.." digits/"..pos..".wav aleg") end pos=pos+1 end end if exists==false then return end -- If member was not found in queue, or it's status is Aborted - terminate script end Пример плана набора Код: <extension name="callcenter-example">
<condition field="destination_number" expression="^callcenter$" break="on-false"> <!-- limit 3 calls to this destination number per 1 second, otherwise give congestion message --> <action application="limit" data="hash inbound ${destination_number} 3/1 !NORMAL_CIRCUIT_CONGESTION"/> </condition> <condition> <!-- play a message before entering the queue. --> <action application="playback" data="ivr/ivr-welcome.wav"/> <action application="playback" data="ivr/ivr-one_moment_please.wav"/> <!-- hangup after successful bridge to agent --> <action application="set" data="hangup_after_bridge=true"/> <!-- queue caller --> <action application="set" data="result=${luarun(callcenter-announce-position.lua ${uuid} example@default 10000)}"/> <action application="callcenter" data="example@default"/> <!-- if no agent was reached and using max-wait-time - send to general voicemail --> <action application="playback" data="ivr/ivr-please_state_your_name_and_reason_for_calling2.wav"/> <action application="answer"/> <action application="set" data="skip_greeting=true"/> <action application="set" data="skip_instructions=true"/> <action application="voicemail" data="default ${domain_name} callcenter"/> <action application="hangup"/> </condition> </extension> |
Автор: | Vlad1983 [ 07 ноя 2013 14:41 ] |
Заголовок сообщения: | Re: FreeSWITCH FAQ и HOWTO |
после приближения числа пользователей онлайн к 2 тысячам стал замечать в конце рабочего дня повышение загрузки CPU в ходе расследования выяснилось что у кучи пользователей ноутбуки они их засылали в спящий режим не выключая софтфоны, соответственно регистрация не обнулялась. если такой пользователь за NAT FS продолжал пытаться доставить пакеты OPTIONS (<param name="nat-options-ping" value="true"/>) ситуация усугублялась тем, что подавляющее большинство регалась по TCP решение нашлось сразу же в профиле sofia <param name="unregister-on-options-fail" value="true"/> через несколько минут убилась несколько сотен регистраций и загрузка упала до нормы |
Страница 1 из 2 | Часовой пояс: UTC + 4 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |