<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Lucida Console'; font-size:9pt; font-weight:400; font-style:normal;">On Dienstag, 8. Dezember 2009, Bruce McAlister wrote:<br>
&gt; We are looking to integrate SIPRouter/Kamailio into our existing<br>
&gt; infrastructure. Currently we have a sip proxy and registrar that handles<br>
&gt; registration and routing.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Hello Bruce,<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>&gt; The main issue we have with integrating SIPRouter/Kamailio into our<br>
&gt; environment is that the table structure for kamailio's tables are vastly<br>
&gt; different to our existing database tables.<br>
&gt;<br>
&gt; We have several application built around our current database structure<br>
&gt; so I think it is fair to assume that we will be forced to use the<br>
&gt; existing structures.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>I understand.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>&gt; I had a look at perlvdb which seems to do what I had in plan, where the<br>
&gt; table structure is transparent to kamailio. so for example, when a<br>
&gt; registration request comes in and we then authenticate the user and want<br>
&gt; to save the location, could we use the perlvdb module to intercept the<br>
&gt; save and manipulate it so that it inserts/updates/reads data from a<br>
&gt; table structure that is different to what it is expecting?<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>I think you could use the perlvdb module as a kind of virtual DB module. To quote from the docs:<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>"The Perl Virtual Database (VDB) provides a virtualization framework for Kamailio's database access. It does not handle a particular database engine itself but lets the user relay database requests to arbitrary Perl functions."<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>&gt; I've been trying to find an example of how to use perlvdb but have been<br>
&gt; unsucessfull in my google searches and mailing list searches.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>I never used it so far, so i can't give you examples or similar. But you can find probably additional informations about the design and the usage of the module in the (diploma) thesis from the author of this code, especially in the chapters 8-10:<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>http://www.bastian-friedrich.de/study/diploma/Diploma-BastianFriedrich.pdf<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>And do you already checked the samples in the module directory at <br>
perlvdb/doc/samples/ ?<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Regards,<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Henning</p></body></html>