diff --git a/sip/asterisk-graph.py b/sip/asterisk-graph.py
new file mode 100755
index 00000000..9262ca41
--- /dev/null
+++ b/sip/asterisk-graph.py
@@ -0,0 +1,72 @@
+#!/usr/bin/env python
+from __future__ import print_function
+from sh import neato
+from sh import date
+from sh import dot
+
+tmp_file = '/tmp/graph.gv'
+exten_file = '/etc/asterisk/extensions.conf'
+start_nodes = ["crans-sip", "crans-from-external", "ovh-sip", "crans-sms" ]
+
+out = file(tmp_file,'w')
+arrow={}
+iarrow={}
+
+print("""digraph G {
+rankdir=LR
+edge [len=2.50, ratio=fill]
+""", file=out)
+for node in start_nodes:
+ print('"%s" [style=filled];' % node, file=out)
+
+file=open(exten_file).read()
+file=file.split('\n[')
+del(file[0])
+for context in file:
+ context=context.split('\n')
+ context_name = context[0].strip()[:-1]
+ arrow[context_name]= arrow.get(context_name, set())
+ iarrow[context_name]= iarrow.get(context_name, set())
+ del(context[0])
+ print('"%s";' % context_name, file=out)
+ for line in context:
+ if line.startswith('include'):
+ dest=line.split('=>', 1)[1].strip()
+ iarrow[context_name].add(dest)
+ line=line.split(',')
+ if len(line)>2 and line[2].strip().startswith('Goto('):
+ dest=line[2].strip()[5:]
+ arrow[context_name].add(dest)
+
+
+for (context_name, dests) in arrow.items():
+ for dest in dests:
+ print('"%s" -> "%s" [arrowhead=normal];' % (context_name, dest), file=out)
+for (context_name, dests) in iarrow.items():
+ for dest in dests:
+ print('"%s" -> "%s" [arrowhead=crow, style=dashed];' % (context_name, dest), file=out)
+
+print("""
+ node [shape=plaintext]
+ subgraph cluster_01 {
+ key [label=<
+ B inclus dans A : A |
+ Saut de A vers B : A |
+
>];
+ key2 [label=<>];
+ key:i1:e -> key2:j1:e [style=dashed, arrowhead=crow]
+ key:i2:e -> key2:j2:w []
+ }
+""", file=out)
+
+print("""
+label = "\\n\\nAsterisk extensions\\nLes Nounous\\n%s";
+}""" % str(date())[0:-1], file=out)
+
+out.close()
+
+dot("-Tsvg", tmp_file, "-o", "/usr/scripts/var/doc/asterisk/extensions.svg")
+#neato("-Tsvg", tmp_file, "-o", "/usr/scripts/var/doc/asterisk/extensions.svg")