Debugging in Yate
This page purpose is to show you the methods of debugging in Yate. You can use logging in a file at startup or modules like rmanager to see debug output in telnet client or msgsniff to dump the Yate messages to output console or log into file.
Debug logged in file
At startup Yate can be started with logging in a file so that you can see the errors in the specified file.
To increase the visible debug level you have to add -v option more than once to the command line or to service start script:
yate -vvvvv -l logfile -d -s -r
To see what all the other options are please run
yate --help
Debug using rmanager module
This module allows controlling Yate using a simple telnet client.
Use telnet in console:
telnet localhost 5038
To:
- enable debugging and to increase the level of debugging:
telnet localhost 5038 debug on debug level 10 debug sip level 10
- to colorize the output in console:
color on
- see output for scripts by setting in PHP script:
Yate::Debug(true);
- stop/start a script, useful when changers are done in a script to reload the code in Yate:
external stop scriptname.php external start scriptname.php
- see the status of modules use command:
status
- view logs in console:
logview
Debug using msgsniff module
The module will dump the Yate messages to output console or log into file.
This module is loaded but not started by default. To start this module you must enable it in yate.conf as you can see below.
- First enable the module in yate.conf:
[general] msgsniff=yes modload=no ;Don't forget to load the sniffer module if modload parameter value is 'no'. [modules] ;for debugging yate rmanager.yate=yes msgsniff.yate=yes
- Start Yate with logging:
./run -vvvvv -l logfile
- Enable / Disable sniffer in telnet:
The module must be loaded so that you can use this commands from telnet:
telnet 0 5038 ;enable sniffer: sniffer on ;and disabled with: sniffer off
- Filters can be applied by specifying regex to match in telnet:
sniffer filter ^\(chan\.\|engine\.halt$\)
- or in yate.conf:
[default] ; filtersniff: regexp: Default filter to apply to message sniffer at initialization ; If empty it will match all messages except engine.timer which is never displayed ; Example for a filter matching all chan.Anything messages and engine.halt: filtersniff=^\(chan\.\|engine\.halt$\)
See also