[Serusers] New route graph utility
Greger V. Teigre
greger at teigre.com
Fri Oct 27 10:48:26 CEST 2006
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 at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
>
>
More information about the sr-users
mailing list