[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