Leon de Rooij wrote:
Hi John,
I've been trying to get your mod_xml_ldap module running, but didn't get very far yet..
What is the official way to get the module built ?
The official way to build all fs modules is to uncomment the entry in modules.conf. If you want to build a specific module there are targets make mod_name-clean make mod_name-install as for mod_xml_ldap, I really do not feel that it is as quality as I would expect a production quality module to be.
I tried modifying trunk/freeswitch.spec so that
XML_INT_MODULES contains xml_int/mod_xml_ldap
There's also a directories/mod_ldap in DISABLED_MODULES in the same file, but I don't suppose it's necessary to enable it, or is it ?
mod_ldap is a separate module, implementing the directory interface, not to be confused with the "directory", which is queried for user + domain configuration (e.g., conf/directory/default.xml). perhaps it should be renamed to mod_dbi?
The mod_xml_ldap doesn't get built by running make make or dpkg- buildpackage from trunk/
Also I tried building it from the module directory itself, but then I get the following error:
fsbuilder@sv:~/trunk/src/mod/xml_int/mod_xml_ldap$ make Compiling mod_xml_ldap.c... cc1: warnings being treated as errors mod_xml_ldap.c: In function 'xml_ldap_search': mod_xml_ldap.c:356: warning: cast from pointer to integer of different size make[1]: *** [mod_xml_ldap.o] Error 1 make: *** [all] Error 1
I have been working on a new module called mod_entity that works off a simple description of an xml entitiy (domain, user, extension, condition, action, anti-action currently) querying a db backend via the directory interface for fields used to build the entity. It still needs a bit of work but I am hoping to get a patch together this weekend. I will post it to the freeswitch-dev list asking for comments. Off the top of my head at least the wishlist TODO is: implement connection pooling for mod_directory implement a cache either as a module used by an xml_int mod or in switch_xml to cache a switch_xml_t
(Also I had to apt-get install libsasl2 libsasl2-dev, otherwise make from this dir errored with missing sasl/sasl.h)
Can you see what I'm doing wrong ?
(I'm using svn rev 11560)
thanks & regards,
Leon
On Jan 6, 2009, at 4:55 AM, John Skopis (Lists) wrote:
Vinicius Kobashi wrote:
hi ppl.
i tried hard to make it work, but still i couldnt find a complete openldap scheme that provides these information, and i still could't find out where to put these configuration...
can anyone help me?
thankz!
vinicius escreveu:
thankz!
ill set my openldap to provide these information..
but these about these binding settings... where should i set them?
best regards
John Skopis (Lists) wrote:
vinicius wrote:
hi ppl.. i tried to find something at google, but i couldnt manage to find anything. i still dont know what to do to make the mod_xml_ldap work. i couldnt find information about how to build a config file for the module, and where to store it...
can anyone give me a help?
Be advised mod_xml_ldap is probably not production quality and will undoubtedly change, eventually at least.
Here is what I used once:
<bindings>
<binding name="directory"> <!--%s is populated with the extension --> <param name="filter" value="(FSid=%s)" bindings="directory"/> <!--basedn for the searches %s is replaced with domain--> <param name="basedn" value="ou=people,dc=example" /> <param name="url" value="ldap://172.16.75.129" /> <param name="binddn" value="cn=admin,dc=example" /> <param name="bindpass" value="secret" />
<trans> <!-- we need to translate these attrs into FS attrs --> <tran name="id" mapfrom="FSid" /> <tran name="mailbox" mapfrom="FSmailbox" /> <tran name="password" mapfrom="FSPassword" /> <tran name="vm-password" mapfrom="FSvm-password" /> <tran name="email-addr" mapfrom="FSemail-addr" /> <tran name="vm-email-all-messages" mapfrom="FSvm-email-all- messages" /> <tran name="vm-delete-file" mapfrom="FSvm-delete-file" /> <tran name="vm-attach-file" mapfrom="FSvm-attach-file" /> </trans> </binding>
<binding name="configuration"> <param name="filter" value="(%s=%s)" bindings="configuration"/> <param name="basedn" value="name=%s,dc=example" /> <param name="url" value="ldap://172.16.75.129" /> <param name="binddn" value="cn=admin,dc=example" /> <param name="bindpass" value="secret" /> </binding> </bindings>
which should/probably/might work with ldap objects like these:
dn: cn=John Skopis,ou=people,dc=example objectClass: person objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: FreeSWITCH-Exten-Object objectClass: top cn: John Skopis sn: Skopis givenName: John FSid: 1001 FSmailbox: 1001 FSpassword: 1234 FSvm-password: 1001 FSemail-addr: john+fs@skopis.com FSvm-email-all-messages: TRUE FSvm-delete-file: TRUE FSvm-attach-file: TRUE
dn: SIPIdentityUserName=1001,ou=h350,dc=example objectClass: person objectClass: SIPIdentity objectClass: top cn: 1001 sn: 1001 SIPIdentitySIPURI: sip:1001@172.16.75.129 SIPIdentityRegistrarAddress: 172.16.75.128 SIPIdentityProxyAddress: 172.16.75.128 SIPIdentityPassword: 1234 SIPIdentityUserName: 1001 SIPIdentityServiceLevel: premium
Again, the module is not production quality. Hopefully I will conjurer the time and know-how to put something decent together eventually.
To load configuration for any fs module you need to define the XML configuration element under the section "configuration".
A good starting point is the file $PREFIX/conf/freeswitch.xml
http://wiki.freeswitch.org/wiki/Freeswitch.xml
Also take a look at $PREFIX/logs/freeswitch.xml.fsxml
to load mod_xml_ldap you would need to add something like this to modules.conf.xml
<load module="mod_xml_ldap" />
and create an xml_ldap.conf.xml in $PREFIX/autoload_configs/xml_ldap.conf.xml
<configuration name="xml_ldap.conf"> ... </configuration>
The ITU is doing some work called h.350: http://www.itu.int/ITU-T/studygroups/com16/h350/index.html
Here is what I was working with: attributetype ( 1.3.6.1.4.1.65535.2.1.1 NAME 'FSid' DESC 'FreeSWITCH Extension ID' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
attributetype ( 1.3.6.1.4.1.65535.2.1.2 NAME 'FSmailbox' DESC 'FreeSWITCH Extension Mailbox' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
attributetype ( 1.3.6.1.4.1.65535.2.1.3 NAME 'FSpassword' DESC 'FreeSWITCH Password' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.65535.2.1.4 NAME 'FSa1hash' DESC 'FreeSWITCH Crypted Password' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.65535.2.1.5 NAME 'FSvm-password' DESC 'FreeSWITCH VoiceMail Password' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.65535.2.1.6 NAME 'FSemail-addr' DESC 'E-mail address to send voicemail' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
attributetype ( 1.3.6.1.4.1.65535.2.1.7 NAME 'FSvm-email-all-messages' DESC 'FreeSWITCH Email All Mesages' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.65535.2.1.8 NAME 'FSvm-delete-file' DESC 'FreeSWITCH VoiceMail Delete File' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.65535.2.1.9 NAME 'FSvm-attach-file' DESC 'FreeSWITCH VoiceMail Attach file' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )
objectclass ( 1.3.6.1.4.1.65535.2.2.1 NAME 'FreeSWITCH-Exten-Object' SUP top AUXILIARY DESC '%obj_desc%' MUST ( FSid $ FSpassword ) MAY ( FSmailbox $ FSa1hash $ FSvm-password $ FSemail-addr $ FSvm-email-all-messages $ FSvm-delete-file $ FSvm-attach-file ) )
hth
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org