Javascript Rmanager commands
Line 45: | Line 45: | ||
[[Category:Javascript]] [[Category:Rmanager]] | [[Category:Javascript]] [[Category:Rmanager]] | ||
+ | |||
+ | ==See message handlers== | ||
+ | You can use even use '''eval''' to see installed handlers for a script. | ||
+ | |||
+ | |||
+ | javascript eval=roaming Engine.print_t(Message.handlers()) | ||
+ | name priority handler trackName filterName filterValue | ||
+ | ----------------- -------- -------------- ------------- ---------- ------------ | ||
+ | call.update 90 onChanUpdate javascript:90 | ||
+ | sip.options 90 onSipOptions javascript:90 | ||
+ | sip.info 90 onSipInfo javascript:90 | ||
+ | module.update 90 onModuleUpdate javascript:90 module ybts | ||
+ | user.register 80 onRegister roaming:80 | ||
+ | user.unregister 80 onUnregister roaming:80 | ||
+ | call.route 80 onRoute roaming:80 | ||
+ | auth 80 onAuth roaming:80 callto smsc_yatebts | ||
+ | msg.execute 80 onMoSMS roaming:80 module ybts | ||
+ | chan.disconnected 40 onDisconnected roaming:40 module ybts | ||
+ | chan.hangup 80 onHangup roaming:80 module ybts | ||
+ | call.execute 80 onExecute roaming:80 module ybts | ||
+ | call.progress 50 addPhyInfo roaming:50 module ybts | ||
+ | call.ringing 50 addPhyInfo roaming:50 | ||
+ | call.answered 50 addPhyInfo roaming:50 module roaming | ||
+ | chan.dtmf 50 addPhyInfo roaming:50 | ||
+ | engine.command 120 onCommand roaming:120 | ||
+ | engine.help 150 onHelp roaming:150 | ||
+ | engine.debug 150 onDebug roaming:150 | ||
+ | engine.init 110 onReload roaming:110 |
Revision as of 11:16, 7 August 2014
You can interact with Javascript scripts from rmanager.
To connect to Yate's rmanager interface
telnet 127.0.0.1 5038
Contents |
See running scripts
javascript info
Ex output:
javascript info nib = ./share/scripts/nib.js sip/74: ReRoute
nib.js is a global script and sip/74 is a sip channel that is assisted by the configured routing script
Reload scripts
You can use this to reload a script after you have modified it.
javascript reload script_name
Evaluate expresion
Ask Javascript interpretor to evaluate expresion:
javascript eval Engine.debug("test")
Ask Javascript interpretor to evaluate expresion in the context of a specific script. In this case you will be able to access global variables from that script.
javascript eval=script_name Engine.debug("test"+var_name)
Ask Javascript interpretor to evaluate expresion in the context of a specific routing script instance. In this case you will be able to access global variables from that script instance.
javascript eval=chan_id Engine.debug("test"+var_name)
Ex:
javascript eval=sip/74 Engine.debug("test"+var_name)
You can use the eval functionality to test javascript expressions and in some cases it's very useful when debugging.
Inspecting variables
Inspect variable in running script:
javascript eval=script_name Engine.print_r(var_name)
View Object or Array in JSON format:
javascript eval=script_name JSON.stringify(var_name,null,2)
See message handlers
You can use even use eval to see installed handlers for a script.
javascript eval=roaming Engine.print_t(Message.handlers()) name priority handler trackName filterName filterValue ----------------- -------- -------------- ------------- ---------- ------------ call.update 90 onChanUpdate javascript:90 sip.options 90 onSipOptions javascript:90 sip.info 90 onSipInfo javascript:90 module.update 90 onModuleUpdate javascript:90 module ybts user.register 80 onRegister roaming:80 user.unregister 80 onUnregister roaming:80 call.route 80 onRoute roaming:80 auth 80 onAuth roaming:80 callto smsc_yatebts msg.execute 80 onMoSMS roaming:80 module ybts chan.disconnected 40 onDisconnected roaming:40 module ybts chan.hangup 80 onHangup roaming:80 module ybts call.execute 80 onExecute roaming:80 module ybts call.progress 50 addPhyInfo roaming:50 module ybts call.ringing 50 addPhyInfo roaming:50 call.answered 50 addPhyInfo roaming:50 module roaming chan.dtmf 50 addPhyInfo roaming:50 engine.command 120 onCommand roaming:120 engine.help 150 onHelp roaming:150 engine.debug 150 onDebug roaming:150 engine.init 110 onReload roaming:110