Excellent! This could maybe be extended to an analysis of message types
too?!
Would be great to be able to see:
INVITE - Main
|
\- ROUTE_RPC (method=="XMLRPC")
| |
| \- ROUTE_ERROR_REPLY (!handle_rpc())
|
\- ROUTE_PROXYINIT (uri=~"sip:something")
| |
And so on, where each condition for entering a route is picked from the if's.
Multiple ifs must be handled some way though, maybe:
INVITE - Main
|
(some if found in script)
| \- ROUTE_RPC (method=="XMLRPC")
| | |
| | \- ROUTE_ERROR_REPLY (!handle_rpc())
|
\- ROUTE_PROXYINIT (uri=~"sip:something")
| |
And of course, the dream would also be to be able to see the "decision path" for
a specific SIP message...
However, this means that data must be collected from an actual execution and a special
debug mode must be created where each call to if and routes etc are traced in a stack and
printed to the debug log when break or end is reached...
Dangerous to add cool stuff, you get too many suggestions!! ;-)
g-)
Nils Ohlmeier wrote:
Hello,
in case you are not following the CVS commit log messages: I just checked in a
small python script which should be able to print a dependency graph in ASCII
of the route blocks of a SER config file.
When you try to understand more complex configuration files this tool might be
helpfull. But be warned: this is still alpha code!
It will not eat your config file, but the output might not meet your
expectations :-)
If you run it with the default configuration file the output will look like
this:
./route_graph.py ../../etc/ser.cfg
Main
|
\- 1
|
\- 1
|
\- 1
|
\- 1
A more complex scenario (from a config with named routes) could look like
this:
./route_graph.py ./ser.cfg
Main
|
\- ROUTE_RPC
| |
| \- ROUTE_ERROR_REPLY
|
\- ROUTE_PROXYINIT
| |
| \- ROUTE_ERROR_REPLY
|
\- ROUTE_INDIALOG
| |
| \- ROUTE_ERROR_REPLY
| |
| \- ROUTE_ST
| |
| \- ROUTE_FORWARD
| | |
| | \- ROUTE_LI
| | |
| | \- ROUTE_RTPPROXY
| | |
| | \- ROUTE_RR
|
\- ROUTE_DOMAINPOLICY
| |
| \- ROUTE_ERROR_REPLY
|
\- ROUTE_REGISTRAR
| |
| \- ROUTE_ERROR_REPLY
|
\- ROUTE_AUTHENTICATION
| |
[... omitted bigger parts...]
Send routes
-----------
onsend
Failure routes
--------------
FAILURE_ROUTE
|
\- ROUTE_RTPPROXY
|
\- ROUTE_VOICEMAIL
| |
| \- ROUTE_SEMS
| | |
| | \- ROUTE_LI
| | |
| | \- ROUTE_RR
| |
| \- ROUTE_ERROR_REPLY
|
[... omitted bigger parts...]
Onreply routes
--------------
REPLY_ROUTE
Feedback is welcome. Patches even more! :-)
Greetings
Nils
_______________________________________________
Serusers mailing list
Serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers