From 86906cc6e3b721fe0f0ce1e3b2d17585af07234d Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Mon, 11 Nov 2013 17:37:20 +0100 Subject: [PATCH] [sip] Alias dynamiques --- sip/alias_to_num | 12 ++++++++++++ sip/asterisk.py | 13 ++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100755 sip/alias_to_num diff --git a/sip/alias_to_num b/sip/alias_to_num new file mode 100755 index 00000000..395d5b77 --- /dev/null +++ b/sip/alias_to_num @@ -0,0 +1,12 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import sys +from asterisk import Profile + +if __name__ == '__main__' : + if len(sys.argv)>1: + profile = Profile() + sys.stdout.write(profile.alias_to_num(sys.argv[1])) + else: + print >> sys.stderr, "Usage %s {alias}" % sys.argv[0] diff --git a/sip/asterisk.py b/sip/asterisk.py index 1c0ed218..29c022cd 100644 --- a/sip/asterisk.py +++ b/sip/asterisk.py @@ -23,7 +23,7 @@ class AsteriskError(ValueError): pass class Profile(object): - def __init__(self, sql_params, database): + def __init__(self, sql_params=None, database=None): self.sql_params = sql_params self.database =database @@ -34,6 +34,17 @@ class Profile(object): conn.commit() cur.close() conn.close() + + def alias_to_num(self, alias): + try: + conn=lc_ldap.shortcuts.lc_ldap_readonly() + ret=conn.search(u"(|(uid=%(alias)s)(mailAlias=%(alias)s@crans.org)(canonicalAlias=%(alias)s@crans.org))" % {'alias' : alias}) + if len(ret) == 1: + return "1" + str(ret[0]['aid'][0]) + else: + return "NONE" + except: + return "NONE" def num_to_callerid(self, num): try: