8(499)-709-97-83
Работаем с 8:00 до 19:00

Команды CLI FreeSWITCH (FS_CLI)

  • 20 августа 2015

Команды CLI FreeSWITCH (FS_CLI), profile, gateways, debug, reloadxml.

В этой статье мы расскажем, как пользоваться FreeSWITCH CLI (Command Line Interface) (FS_CLI) и приведем основные команды, которые помогут вам в процессе эксплуатации FreeSWITCH. CLI необходима для дебага ошибок и управления FreeSWITCH .

Для захода в FreeSWITCH CLI (FS_CLI) необходимо ввести следующие команды:

fs_cli

если у вас не установлена ссылка на fs_cli, то

/usr/local/freeswitch/bin/fs_cli
 

Параметры командной строки для запуска FreeSWITCH

 -?,-h --help Помощь. Cписок доступных параметров командной строки
-H, --host=hostname Хост, к которому нужно подключится
-P, --port=port Порт для подключения (1 - 65535)
-u, --user=user@domain user@domain
-p, --password=password Пароль
-i,    Разрешить использовать Ctrl-C, чтобы выйти из консоли
-x,   "<команда CLI>" Для выполнения команд из консоли Linux. Например, fs_cli -x "sofia status profile internal"


 


-l,    Уровень ведения журнала
-U,  Включить UUID на выходе журнала
-S,  Включить укороченный UUID в выходе журнала
-q,  Отключить ведение журнала
-r,   В случае неудачного соединения попытка повторного соединения


  


-R,  Повторное подключение при отключении
-d,  Уровень Отладки (0 - 7)
-b,  Пакетный режим
-t,   Тайм-аут для команды API (в миллисекундах)
-T,  Таймаут для сокет соединения (в миллисекундах)
-n,  Отключить цветовое оформление



  


Для выхода из консоли необходимо нажать Ctrl-D или ввести /exit,/quit,/bye.

  

Теперь перейдем непосредственно к командам в CLI.

Запуск нового профиля

Если вы создали новый профиль, необходимо запустить его из консоли:

freeswitch> sofia profile  start
 

Перегрузка профилей(profiles) и шлюзов (gateways)

Вы можете перегрузить определенные профили, выполнив в консоли команду restart/rescan.

freeswitch> sofia profile  [|] reloadxml

Разница между rescan и restart в том, что rescan просто загрузит новый конфиг, и не будет останавливать FreeSWITCH , так что все текущие вызовы (разговоры) не оборвутся.

 

Удаление шлюзов (gateways)

Если вам требуется удалить определенный шлюз, можно воспользоваться командой killgw.

freeswitch> sofia profile  killgw 
 

Перезагрузка шлюза (gateways)

Для принудительной перезагрузки шлюза используйте комбинацию команд killgw и rescan. При этом сохранятся текущие вызовы.

freeswitch> sofia profile  killgw 
freeswitch> sofia profile rescan
 

Добавление/изменение существующих шлюзов (gateways)

Будем считать, что все ваши шлюзы находятся в директории: /usr/local/freeswitch/conf/sip_profiles/external, и вы только что создали новый шлюз. Команды rescan, reloadxml добавят новый шлюз, но не повлияют на текущие вызовы.

freeswitch> sofia profile external rescan reloadxml

Предположим, что вы ошиблись с данными в созданном шлюзе (gateways), и нужно внести изменения (исправить). Вы вносите нужные изменения, и теперь нужно убить существующую регистрацию командой killgw, а затем командами rescan и reloadxml перечитать конфиг и поднять шлюз.

freeswitch> sofia profile external killgw  
freeswitch> sofia profile external rescan reloadxml
 Просмотр SIP регистраций

Если вы хотите посмотреть все устройства, зарегистрированные в системе, выполните следующие команды:

freeswitch> sofia status profile  reg
freeswitch> sofia status profile default reg
freeswitch> sofia status profile outbound reg

Если вы хотите посмотреть статус зарегистрированных устройств в формате XML, выполните следующие команды:

freeswitch> sofia xmlstatus profile  reg
freeswitch> sofia xmlstatus profile default reg
freeswitch> sofia xmlstatus profile outbound reg
 

Отобразить статус шлюзов

Отобразить статус активных шлюзов:

freeswitch> sofia profile  gwlist up

Отобразить статус неактивных шлюзов:

freeswitch> sofia profile  gwlist down
 

Дебаг и отладка

FreeSWITCH может выводить отладочную информацию следующих уровней:

- 0 SU_DEBUG_0() - fatal errors, panic
- 1 SU_DEBUG_1() - critical errors, minimal progress at subsystem level
- 2 SU_DEBUG_2() - non-critical errors
- 3 SU_DEBUG_3() - warnings, progress messages
- 5 SU_DEBUG_5() - signaling protocol actions (incoming packets, ...)
- 7 SU_DEBUG_7() - media protocol actions (incoming packets, ...)
- 9 SU_DEBUG_9() - entering/exiting functions, very verbatim progress

Дебаги бывают следующих видов (перевод смысла не имеет, так как все и так понятно):

- #SOFIA_DEBUG Default debug level (0..9)
- #NUA_DEBUG User Agent engine (nua) debug level (0..9)
- #SOA_DEBUG SDP Offer/Answer engine (soa) debug level (0..9)
- #NEA_DEBUG Event engine (nea) debug level (0..9)
- #IPTSEC_DEBUG HTTP/SIP authentication module debug level (0..9)
- #NTA_DEBUG Transaction engine debug level (0..9)
- #TPORT_DEBUG Transport event debug level (0..9)
- #TPORT_LOG If set, print out all parsed SIP messages on transport layer
- #TPORT_DUMP Filename for dumping unparsed messages from transport
- #SU_DEBUG su module debug level (0..9)

Уровень детальности сообщений и дебаг можно задать с помощью команды:

freeswitch> sofia loglevel 
[0-9]

Уровень 0 отключает отладку. Отключить отладку у всех можно с помощью команды:

freeswitch> sofia loglevel all 0
 

Теперь перейдем к Sip debug

Включить общий SIP debug :

sofia global siptrace [on|off]

Включить SIP debug для определенного профиля:

freeswitch> sofia profile  siptrace on|off

Если вы хотите получать SIP debug в файл /usr/local/freeswitch/log/freeswitch.log, введите команду:

freeswitch> sofia tracelevel info           (or any other loglevel name or number)

Если хотите включить в общий лог SIP дебага по умолчанию, добавьте в sofia.conf.xml следующую опцию

nano /usr/local/freeswitch/conf/autoload_configs/sofia.conf.xml  

<global_settings>
    ...
        <param name="tracelevel" value="DEBUG"/>
    ...
</global_settings>

А так же нужно добавить в настройки нужного нам sip профиля:

<profiles> 
    ...
    <profile name="...">
    ...
    <param name="sip-trace" value="yes"/>
    ...
    </profile>
    ...
</profiles>

После чего в консоли FS делаем

reload mod_sofia и reloadxml
 

Sofia SIP Stack Watchdog

Иногда (в редких случаях) модуль Sofia может перестать отвечать на запросы или просто зависнет, можно включить опцию контроля watchdog. Эта опция позволяет контролировать модуль Sofia, и, в случае не ответа на запросы, в течении указанного кол-ва миллисекунд watchdog перезагрузит FreeSWITCH.

<param name="watchdog-enabled" value="no"/>
<param name="watchdog-step-timeout" value="30000"/>
<param name="watchdog-event-timeout" value="30000"/>

В FS CLI Watchdog может быть включен или выключен глобально или для конкретного профиля:

sofia profile internal watchdog off
sofia profile internal watchdog on
sofia global watchdog off
sofia global watchdog on

На этом наш небольшой "экскурс" в CLI FreeSWITCH закончен.Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.

 
Powered by SEO CMS ver.: 23.1 TOP 2 (opencartadmin.com)
 
Метки: FreeSWITCH